]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/cp/parse.c
cplus-dem.c (work_stuff): Replace const_type and volatile_type with type_quals.
[thirdparty/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 283 "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 1625
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, 571, 572, 574, 576, 577, 579, 581, 585,
282 587, 589, 591, 593, 595, 597, 599, 601, 603, 605,
283 607, 611, 613, 617, 618, 620, 622, 623, 631, 633,
284 635, 639, 644, 648, 649, 653, 655, 659, 663, 667,
285 671, 673, 675, 677, 680, 683, 686, 689, 692, 695,
286 698, 703, 706, 711, 714, 718, 722, 727, 733, 740,
287 747, 755, 758, 763, 769, 772, 775, 777, 778, 783,
288 788, 792, 794, 798, 801, 805, 810, 812, 815, 821,
289 823, 827, 831, 835, 839, 843, 847, 851, 855, 859,
290 863, 867, 871, 875, 879, 883, 887, 891, 895, 899,
291 905, 909, 913, 915, 918, 922, 926, 928, 930, 932,
292 934, 936, 937, 943, 949, 955, 961, 967, 969, 971,
293 973, 975, 978, 980, 983, 986, 990, 995, 1000, 1002,
294 1004, 1006, 1010, 1012, 1014, 1016, 1018, 1022, 1026, 1030,
295 1031, 1036, 1041, 1044, 1049, 1052, 1057, 1060, 1063, 1065,
296 1070, 1072, 1080, 1088, 1096, 1104, 1109, 1114, 1117, 1120,
297 1123, 1125, 1130, 1133, 1136, 1142, 1146, 1149, 1152, 1158,
298 1162, 1168, 1172, 1177, 1184, 1187, 1189, 1192, 1194, 1197,
299 1199, 1201, 1203, 1206, 1207, 1210, 1213, 1217, 1221, 1225,
300 1228, 1231, 1234, 1236, 1238, 1240, 1243, 1246, 1249, 1252,
301 1254, 1256, 1258, 1260, 1263, 1266, 1270, 1274, 1278, 1283,
302 1285, 1288, 1291, 1294, 1296, 1298, 1300, 1303, 1306, 1309,
303 1311, 1313, 1316, 1319, 1323, 1325, 1328, 1330, 1332, 1334,
304 1339, 1344, 1349, 1354, 1356, 1358, 1360, 1362, 1366, 1368,
305 1372, 1374, 1378, 1379, 1384, 1385, 1392, 1396, 1397, 1402,
306 1404, 1408, 1412, 1413, 1418, 1422, 1423, 1425, 1427, 1430,
307 1437, 1439, 1443, 1444, 1446, 1451, 1458, 1463, 1465, 1467,
308 1469, 1471, 1473, 1477, 1478, 1481, 1483, 1486, 1490, 1495,
309 1497, 1499, 1503, 1508, 1512, 1518, 1520, 1525, 1529, 1533,
310 1534, 1538, 1542, 1546, 1547, 1550, 1553, 1554, 1562, 1567,
311 1568, 1575, 1579, 1582, 1585, 1588, 1589, 1590, 1600, 1602,
312 1603, 1605, 1606, 1608, 1610, 1613, 1616, 1619, 1622, 1625,
313 1628, 1631, 1634, 1637, 1641, 1646, 1650, 1653, 1657, 1659,
314 1660, 1664, 1665, 1669, 1672, 1674, 1676, 1677, 1680, 1684,
315 1686, 1691, 1693, 1697, 1699, 1701, 1706, 1711, 1714, 1717,
316 1721, 1725, 1727, 1728, 1730, 1733, 1737, 1740, 1743, 1745,
317 1748, 1751, 1754, 1757, 1760, 1763, 1766, 1768, 1771, 1774,
318 1778, 1781, 1784, 1789, 1794, 1797, 1799, 1805, 1810, 1812,
319 1813, 1815, 1819, 1820, 1822, 1826, 1828, 1830, 1832, 1834,
320 1839, 1844, 1849, 1854, 1859, 1863, 1868, 1873, 1878, 1883,
321 1887, 1889, 1893, 1895, 1899, 1902, 1904, 1912, 1913, 1916,
322 1918, 1921, 1922, 1925, 1930, 1935, 1938, 1943, 1947, 1951,
323 1954, 1957, 1961, 1963, 1965, 1968, 1970, 1972, 1975, 1978,
324 1983, 1988, 1992, 1996, 1999, 2001, 2003, 2006, 2010, 2014,
325 2017, 2020, 2024, 2026, 2030, 2034, 2037, 2040, 2044, 2046,
326 2051, 2055, 2060, 2064, 2066, 2069, 2072, 2075, 2078, 2081,
327 2083, 2086, 2091, 2096, 2099, 2101, 2103, 2105, 2107, 2110,
328 2115, 2118, 2121, 2124, 2127, 2129, 2132, 2135, 2138, 2141,
329 2145, 2147, 2150, 2154, 2159, 2162, 2165, 2168, 2171, 2174,
330 2177, 2182, 2185, 2187, 2190, 2193, 2197, 2199, 2203, 2206,
331 2210, 2213, 2216, 2220, 2222, 2226, 2231, 2235, 2238, 2241,
332 2243, 2247, 2250, 2253, 2255, 2258, 2262, 2264, 2268, 2270,
333 2277, 2282, 2287, 2291, 2297, 2301, 2305, 2309, 2312, 2314,
334 2316, 2319, 2322, 2325, 2326, 2328, 2330, 2333, 2337, 2339,
335 2342, 2343, 2347, 2348, 2349, 2355, 2357, 2358, 2361, 2363,
336 2365, 2367, 2370, 2371, 2376, 2378, 2379, 2380, 2386, 2387,
337 2388, 2396, 2397, 2398, 2399, 2400, 2413, 2414, 2415, 2423,
338 2424, 2430, 2431, 2439, 2440, 2445, 2448, 2451, 2454, 2458,
339 2465, 2474, 2485, 2498, 2503, 2507, 2510, 2513, 2515, 2517,
340 2519, 2521, 2523, 2524, 2525, 2532, 2533, 2534, 2540, 2542,
341 2545, 2546, 2547, 2553, 2555, 2557, 2561, 2565, 2568, 2571,
342 2574, 2577, 2580, 2582, 2585, 2586, 2588, 2589, 2591, 2593,
343 2594, 2596, 2598, 2602, 2607, 2609, 2613, 2614, 2616, 2618,
344 2620, 2623, 2626, 2629, 2631, 2634, 2637, 2638, 2642, 2644,
345 2646, 2648, 2651, 2654, 2657, 2662, 2665, 2668, 2671, 2674,
346 2677, 2680, 2682, 2685, 2687, 2690, 2692, 2694, 2695, 2696,
347 2698, 2699, 2704, 2707, 2709, 2711, 2715, 2716, 2720, 2724,
348 2728, 2730, 2733, 2736, 2739, 2742, 2745, 2748, 2751, 2754,
349 2757, 2760, 2763, 2766, 2769, 2772, 2775, 2778, 2781, 2784,
350 2787, 2790, 2793, 2796, 2799, 2803, 2806, 2809, 2812, 2815,
351 2819, 2822, 2825, 2830, 2835, 2839
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, 218, 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, 208, 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, 208, 0, 313, 0, 327, 313, 0, 327,
368 208, 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, 267, 137, 0,
371 45, 137, 0, 134, 267, 137, 0, 138, 0, 138,
372 64, 224, 0, 390, 0, 390, 64, 203, 0, 139,
373 0, 139, 64, 183, 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, 235, 60, 0, 228, 234, 60, 0, 225,
377 233, 60, 0, 260, 60, 0, 235, 60, 0, 228,
378 234, 60, 0, 225, 233, 60, 0, 228, 60, 0,
379 166, 60, 0, 225, 60, 0, 1, 60, 0, 1,
380 109, 0, 60, 0, 219, 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, 178, 93, 152, 381,
387 108, 299, 393, 0, 318, 178, 47, 299, 393, 0,
388 0, 327, 318, 178, 93, 153, 381, 108, 299, 393,
389 0, 327, 318, 178, 47, 299, 393, 0, 225, 222,
390 0, 228, 310, 0, 310, 0, 228, 149, 0, 149,
391 0, 5, 93, 381, 108, 299, 393, 0, 5, 47,
392 299, 393, 0, 178, 93, 381, 108, 299, 393, 0,
393 178, 47, 299, 393, 0, 228, 155, 0, 155, 0,
394 225, 222, 0, 228, 310, 0, 310, 0, 228, 149,
395 0, 149, 0, 25, 3, 0, 157, 252, 0, 157,
396 93, 195, 108, 0, 157, 47, 0, 62, 160, 161,
397 0, 0, 0, 162, 0, 161, 59, 162, 0, 161,
398 1, 0, 93, 195, 108, 0, 47, 0, 164, 93,
399 195, 108, 0, 164, 47, 0, 305, 93, 195, 108,
400 0, 305, 47, 0, 320, 93, 195, 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, 231, 60, 167,
404 176, 0, 0, 48, 175, 225, 222, 168, 176, 0,
405 0, 48, 175, 310, 169, 176, 0, 0, 48, 175,
406 149, 170, 176, 0, 0, 7, 48, 175, 231, 60,
407 171, 176, 0, 0, 7, 48, 175, 225, 222, 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, 181, 180, 179, 0, 4, 74, 181, 180,
411 179, 0, 178, 0, 5, 74, 181, 180, 179, 0,
412 0, 75, 0, 77, 0, 0, 182, 0, 183, 0,
413 182, 59, 183, 0, 224, 0, 56, 0, 203, 0,
414 79, 0, 78, 0, 86, 0, 87, 0, 110, 0,
415 194, 0, 203, 0, 47, 0, 93, 185, 108, 0,
416 47, 0, 93, 189, 108, 0, 0, 189, 0, 1,
417 0, 0, 371, 222, 236, 245, 64, 190, 253, 0,
418 185, 0, 109, 0, 334, 332, 109, 0, 334, 332,
419 1, 109, 0, 334, 1, 109, 0, 0, 58, 193,
420 191, 0, 346, 0, 203, 59, 203, 0, 203, 59,
421 1, 0, 194, 59, 203, 0, 194, 59, 1, 0,
422 203, 0, 194, 0, 213, 0, 118, 202, 0, 80,
423 202, 0, 70, 202, 0, 88, 202, 0, 184, 202,
424 0, 67, 163, 0, 13, 196, 0, 13, 93, 224,
425 108, 0, 29, 196, 0, 29, 93, 224, 108, 0,
426 215, 298, 0, 215, 298, 200, 0, 215, 199, 298,
427 0, 215, 199, 298, 200, 0, 215, 93, 198, 224,
428 197, 0, 215, 93, 198, 224, 197, 200, 0, 215,
429 199, 93, 198, 224, 197, 0, 215, 199, 93, 198,
430 224, 197, 200, 0, 216, 202, 0, 216, 94, 111,
431 202, 0, 216, 94, 185, 111, 202, 0, 34, 202,
432 0, 35, 202, 0, 108, 0, 0, 93, 198, 195,
433 108, 0, 58, 198, 195, 109, 0, 93, 195, 108,
434 0, 47, 0, 93, 231, 108, 0, 64, 253, 0,
435 93, 224, 108, 0, 201, 93, 224, 108, 0, 196,
436 0, 201, 196, 0, 201, 58, 254, 265, 109, 0,
437 202, 0, 203, 83, 203, 0, 203, 84, 203, 0,
438 203, 78, 203, 0, 203, 79, 203, 0, 203, 80,
439 203, 0, 203, 81, 203, 0, 203, 82, 203, 0,
440 203, 76, 203, 0, 203, 77, 203, 0, 203, 73,
441 203, 0, 203, 74, 203, 0, 203, 75, 203, 0,
442 203, 72, 203, 0, 203, 71, 203, 0, 203, 70,
443 203, 0, 203, 68, 203, 0, 203, 69, 203, 0,
444 203, 67, 203, 0, 203, 66, 203, 0, 203, 65,
445 376, 62, 203, 0, 203, 64, 203, 0, 203, 63,
446 203, 0, 61, 0, 61, 203, 0, 88, 391, 163,
447 0, 88, 391, 177, 0, 206, 0, 398, 0, 3,
448 0, 56, 0, 57, 0, 0, 6, 74, 205, 181,
449 180, 0, 398, 74, 205, 181, 180, 0, 48, 163,
450 74, 181, 180, 0, 48, 6, 74, 181, 180, 0,
451 48, 398, 74, 181, 180, 0, 204, 0, 4, 0,
452 5, 0, 210, 0, 246, 210, 0, 204, 0, 80,
453 209, 0, 70, 209, 0, 93, 209, 108, 0, 3,
454 74, 181, 180, 0, 57, 74, 182, 180, 0, 312,
455 0, 204, 0, 211, 0, 93, 209, 108, 0, 204,
456 0, 10, 0, 217, 0, 218, 0, 93, 185, 108,
457 0, 93, 209, 108, 0, 93, 1, 108, 0, 0,
458 93, 214, 338, 108, 0, 204, 93, 195, 108, 0,
459 204, 47, 0, 213, 93, 195, 108, 0, 213, 47,
460 0, 213, 94, 185, 111, 0, 213, 86, 0, 213,
461 87, 0, 40, 0, 9, 93, 195, 108, 0, 316,
462 0, 50, 74, 224, 75, 93, 185, 108, 0, 51,
463 74, 224, 75, 93, 185, 108, 0, 52, 74, 224,
464 75, 93, 185, 108, 0, 53, 74, 224, 75, 93,
465 185, 108, 0, 49, 93, 185, 108, 0, 49, 93,
466 224, 108, 0, 327, 3, 0, 327, 206, 0, 327,
467 398, 0, 315, 0, 315, 93, 195, 108, 0, 315,
468 47, 0, 220, 207, 0, 220, 207, 93, 195, 108,
469 0, 220, 207, 47, 0, 220, 208, 0, 220, 315,
470 0, 220, 208, 93, 195, 108, 0, 220, 208, 47,
471 0, 220, 315, 93, 195, 108, 0, 220, 315, 47,
472 0, 220, 88, 8, 47, 0, 220, 8, 54, 88,
473 8, 47, 0, 220, 1, 0, 39, 0, 327, 39,
474 0, 38, 0, 327, 216, 0, 42, 0, 43, 0,
475 11, 0, 218, 11, 0, 0, 213, 92, 0, 213,
476 91, 0, 231, 233, 60, 0, 225, 233, 60, 0,
477 228, 234, 60, 0, 225, 60, 0, 228, 60, 0,
478 118, 221, 0, 304, 0, 310, 0, 47, 0, 223,
479 47, 0, 229, 330, 0, 300, 330, 0, 231, 330,
480 0, 229, 0, 300, 0, 229, 0, 226, 0, 228,
481 231, 0, 231, 227, 0, 231, 230, 227, 0, 228,
482 231, 227, 0, 228, 231, 230, 0, 228, 231, 230,
483 227, 0, 7, 0, 227, 232, 0, 227, 7, 0,
484 227, 246, 0, 246, 0, 300, 0, 7, 0, 228,
485 9, 0, 228, 7, 0, 228, 246, 0, 246, 0,
486 231, 0, 300, 231, 0, 231, 230, 0, 300, 231,
487 230, 0, 232, 0, 230, 232, 0, 260, 0, 8,
488 0, 306, 0, 28, 93, 185, 108, 0, 28, 93,
489 224, 108, 0, 30, 93, 185, 108, 0, 30, 93,
490 224, 108, 0, 8, 0, 9, 0, 260, 0, 241,
491 0, 233, 59, 237, 0, 242, 0, 234, 59, 237,
492 0, 243, 0, 235, 59, 237, 0, 0, 119, 93,
493 218, 108, 0, 0, 222, 236, 245, 64, 238, 253,
494 0, 222, 236, 245, 0, 0, 245, 64, 240, 253,
495 0, 245, 0, 222, 236, 239, 0, 310, 236, 239,
496 0, 0, 310, 236, 244, 239, 0, 149, 236, 245,
497 0, 0, 246, 0, 247, 0, 246, 247, 0, 31,
498 93, 93, 248, 108, 108, 0, 249, 0, 248, 59,
499 249, 0, 0, 250, 0, 250, 93, 3, 108, 0,
500 250, 93, 3, 59, 195, 108, 0, 250, 93, 195,
501 108, 0, 163, 0, 7, 0, 8, 0, 9, 0,
502 163, 0, 251, 59, 163, 0, 0, 64, 253, 0,
503 203, 0, 58, 109, 0, 58, 254, 109, 0, 58,
504 254, 59, 109, 0, 1, 0, 253, 0, 254, 59,
505 253, 0, 94, 203, 111, 253, 0, 163, 62, 253,
506 0, 254, 59, 163, 62, 253, 0, 97, 0, 255,
507 146, 145, 337, 0, 255, 146, 361, 0, 255, 146,
508 1, 0, 0, 257, 256, 147, 0, 102, 203, 107,
509 0, 102, 1, 107, 0, 0, 259, 258, 0, 259,
510 1, 0, 0, 14, 163, 58, 261, 296, 266, 109,
511 0, 14, 163, 58, 109, 0, 0, 14, 58, 262,
512 296, 266, 109, 0, 14, 58, 109, 0, 14, 163,
513 0, 14, 325, 0, 45, 320, 0, 0, 0, 275,
514 281, 283, 109, 245, 263, 259, 264, 257, 0, 275,
515 0, 0, 59, 0, 0, 59, 0, 36, 0, 267,
516 7, 0, 267, 8, 0, 267, 9, 0, 267, 36,
517 0, 267, 246, 0, 267, 163, 0, 267, 165, 0,
518 268, 58, 0, 268, 62, 0, 267, 318, 163, 0,
519 267, 327, 318, 163, 0, 267, 327, 163, 0, 267,
520 177, 0, 267, 318, 177, 0, 268, 0, 0, 269,
521 272, 276, 0, 0, 270, 273, 276, 0, 267, 58,
522 0, 274, 0, 271, 0, 0, 62, 391, 0, 62,
523 391, 277, 0, 278, 0, 277, 59, 391, 278, 0,
524 279, 0, 280, 391, 279, 0, 320, 0, 305, 0,
525 30, 93, 185, 108, 0, 30, 93, 224, 108, 0,
526 37, 391, 0, 7, 391, 0, 280, 37, 391, 0,
527 280, 7, 391, 0, 58, 0, 0, 282, 0, 282,
528 285, 0, 283, 284, 285, 0, 283, 284, 0, 37,
529 62, 0, 286, 0, 285, 286, 0, 287, 60, 0,
530 287, 109, 0, 156, 62, 0, 156, 95, 0, 156,
531 25, 0, 156, 58, 0, 60, 0, 118, 286, 0,
532 134, 286, 0, 134, 225, 60, 0, 225, 288, 0,
533 228, 289, 0, 310, 236, 245, 252, 0, 149, 236,
534 245, 252, 0, 62, 203, 0, 1, 0, 228, 155,
535 236, 245, 252, 0, 155, 236, 245, 252, 0, 127,
536 0, 0, 290, 0, 288, 59, 291, 0, 0, 293,
537 0, 289, 59, 295, 0, 292, 0, 293, 0, 294,
538 0, 295, 0, 304, 236, 245, 252, 0, 4, 62,
539 203, 245, 0, 310, 236, 245, 252, 0, 149, 236,
540 245, 252, 0, 3, 62, 203, 245, 0, 62, 203,
541 245, 0, 304, 236, 245, 252, 0, 4, 62, 203,
542 245, 0, 310, 236, 245, 252, 0, 3, 62, 203,
543 245, 0, 62, 203, 245, 0, 297, 0, 296, 59,
544 297, 0, 163, 0, 163, 64, 203, 0, 371, 328,
545 0, 371, 0, 93, 198, 224, 197, 94, 185, 111,
546 0, 0, 299, 9, 0, 9, 0, 300, 9, 0,
547 0, 301, 185, 0, 301, 93, 195, 108, 0, 301,
548 93, 381, 108, 0, 301, 47, 0, 301, 93, 1,
549 108, 0, 80, 300, 304, 0, 70, 300, 304, 0,
550 80, 304, 0, 70, 304, 0, 326, 299, 304, 0,
551 308, 0, 317, 0, 327, 317, 0, 305, 0, 307,
552 0, 327, 307, 0, 318, 317, 0, 308, 303, 299,
553 393, 0, 308, 94, 302, 111, 0, 308, 94, 111,
554 0, 93, 304, 108, 0, 318, 317, 0, 317, 0,
555 310, 0, 246, 310, 0, 80, 300, 309, 0, 70,
556 300, 309, 0, 80, 309, 0, 70, 309, 0, 326,
557 299, 309, 0, 212, 0, 80, 300, 309, 0, 70,
558 300, 309, 0, 80, 311, 0, 70, 311, 0, 326,
559 299, 309, 0, 312, 0, 212, 303, 299, 393, 0,
560 93, 311, 108, 0, 212, 94, 302, 111, 0, 212,
561 94, 111, 0, 314, 0, 318, 211, 0, 318, 208,
562 0, 318, 207, 0, 318, 204, 0, 318, 207, 0,
563 314, 0, 327, 314, 0, 231, 93, 195, 108, 0,
564 231, 93, 209, 108, 0, 231, 223, 0, 4, 0,
565 5, 0, 177, 0, 319, 0, 318, 319, 0, 318,
566 48, 324, 54, 0, 4, 54, 0, 5, 54, 0,
567 57, 54, 0, 177, 54, 0, 321, 0, 327, 321,
568 0, 322, 163, 0, 322, 177, 0, 322, 324, 0,
569 322, 48, 324, 0, 323, 0, 322, 323, 0, 322,
570 324, 54, 0, 322, 48, 324, 54, 0, 4, 54,
571 0, 5, 54, 0, 177, 54, 0, 56, 54, 0,
572 3, 54, 0, 57, 54, 0, 163, 74, 181, 180,
573 0, 327, 317, 0, 307, 0, 327, 307, 0, 318,
574 80, 0, 327, 318, 80, 0, 54, 0, 80, 299,
575 328, 0, 80, 299, 0, 70, 299, 328, 0, 70,
576 299, 0, 326, 299, 0, 326, 299, 328, 0, 329,
577 0, 94, 185, 111, 0, 329, 94, 302, 111, 0,
578 80, 300, 330, 0, 80, 330, 0, 80, 300, 0,
579 80, 0, 70, 300, 330, 0, 70, 330, 0, 70,
580 300, 0, 70, 0, 326, 299, 0, 326, 299, 330,
581 0, 331, 0, 93, 330, 108, 0, 90, 0, 331,
582 93, 381, 108, 299, 393, 0, 331, 47, 299, 393,
583 0, 331, 94, 302, 111, 0, 331, 94, 111, 0,
584 93, 382, 108, 299, 393, 0, 201, 299, 393, 0,
585 223, 299, 393, 0, 94, 302, 111, 0, 94, 111,
586 0, 345, 0, 333, 0, 332, 345, 0, 332, 333,
587 0, 1, 60, 0, 0, 335, 0, 336, 0, 335,
588 336, 0, 33, 251, 60, 0, 338, 0, 1, 338,
589 0, 0, 58, 339, 191, 0, 0, 0, 15, 341,
590 187, 342, 343, 0, 338, 0, 0, 344, 346, 0,
591 338, 0, 346, 0, 221, 0, 185, 60, 0, 0,
592 340, 16, 347, 343, 0, 340, 0, 0, 0, 17,
593 348, 187, 349, 192, 0, 0, 0, 18, 350, 343,
594 17, 351, 186, 60, 0, 0, 0, 0, 0, 19,
595 352, 93, 374, 353, 188, 60, 354, 376, 108, 355,
596 192, 0, 0, 0, 20, 356, 93, 189, 108, 357,
597 343, 0, 0, 21, 203, 62, 358, 345, 0, 0,
598 21, 203, 12, 203, 62, 359, 345, 0, 0, 22,
599 62, 360, 345, 0, 23, 60, 0, 24, 60, 0,
600 25, 60, 0, 25, 185, 60, 0, 119, 375, 93,
601 218, 108, 60, 0, 119, 375, 93, 218, 62, 377,
602 108, 60, 0, 119, 375, 93, 218, 62, 377, 62,
603 377, 108, 60, 0, 119, 375, 93, 218, 62, 377,
604 62, 377, 62, 380, 108, 60, 0, 26, 80, 185,
605 60, 0, 26, 163, 60, 0, 373, 345, 0, 373,
606 109, 0, 60, 0, 364, 0, 129, 0, 128, 0,
607 125, 0, 0, 0, 95, 362, 145, 338, 363, 367,
608 0, 0, 0, 95, 365, 338, 366, 367, 0, 368,
609 0, 367, 368, 0, 0, 0, 96, 369, 372, 370,
610 338, 0, 229, 0, 300, 0, 93, 12, 108, 0,
611 93, 390, 108, 0, 3, 62, 0, 56, 62, 0,
612 4, 62, 0, 5, 62, 0, 376, 60, 0, 221,
613 0, 58, 191, 0, 0, 9, 0, 0, 185, 0,
614 1, 0, 0, 378, 0, 379, 0, 378, 59, 379,
615 0, 11, 93, 185, 108, 0, 11, 0, 380, 59,
616 11, 0, 0, 382, 0, 224, 0, 386, 0, 387,
617 12, 0, 386, 12, 0, 224, 12, 0, 12, 0,
618 386, 62, 0, 224, 62, 0, 0, 64, 384, 385,
619 0, 101, 0, 253, 0, 388, 0, 390, 383, 0,
620 387, 389, 0, 387, 392, 0, 387, 392, 64, 253,
621 0, 386, 59, 0, 224, 59, 0, 226, 222, 0,
622 229, 222, 0, 231, 222, 0, 226, 330, 0, 226,
623 0, 228, 310, 0, 390, 0, 390, 383, 0, 388,
624 0, 224, 0, 0, 0, 310, 0, 0, 61, 93,
625 395, 108, 0, 61, 47, 0, 224, 0, 394, 0,
626 395, 59, 394, 0, 0, 80, 299, 396, 0, 70,
627 299, 396, 0, 326, 299, 396, 0, 41, 0, 397,
628 80, 0, 397, 81, 0, 397, 82, 0, 397, 78,
629 0, 397, 79, 0, 397, 70, 0, 397, 68, 0,
630 397, 69, 0, 397, 88, 0, 397, 59, 0, 397,
631 73, 0, 397, 74, 0, 397, 75, 0, 397, 72,
632 0, 397, 63, 0, 397, 64, 0, 397, 76, 0,
633 397, 77, 0, 397, 86, 0, 397, 87, 0, 397,
634 67, 0, 397, 66, 0, 397, 110, 0, 397, 65,
635 62, 0, 397, 71, 0, 397, 91, 0, 397, 83,
636 0, 397, 47, 0, 397, 94, 111, 0, 397, 39,
637 0, 397, 38, 0, 397, 39, 94, 111, 0, 397,
638 38, 94, 111, 0, 397, 371, 396, 0, 397, 1,
639 0
640 };
641
642 #endif
643
644 #if YYDEBUG != 0
645 static const short yyrline[] = { 0,
646 336, 338, 346, 349, 350, 354, 356, 359, 364, 368,
647 374, 378, 381, 385, 388, 390, 392, 395, 397, 400,
648 403, 405, 407, 409, 411, 412, 414, 415, 419, 422,
649 431, 434, 436, 440, 443, 445, 449, 452, 464, 471,
650 479, 481, 482, 484, 488, 491, 497, 500, 502, 507,
651 510, 514, 517, 520, 523, 527, 532, 542, 544, 546,
652 548, 550, 563, 566, 570, 573, 575, 577, 580, 583,
653 587, 589, 591, 593, 598, 600, 602, 604, 606, 607,
654 614, 615, 616, 619, 622, 626, 628, 629, 632, 634,
655 637, 640, 642, 646, 649, 651, 655, 657, 659, 663,
656 665, 667, 671, 673, 675, 681, 685, 688, 691, 694,
657 699, 702, 704, 706, 712, 724, 727, 732, 737, 740,
658 745, 750, 759, 762, 764, 768, 781, 801, 804, 806,
659 807, 810, 817, 823, 825, 827, 829, 831, 834, 839,
660 841, 842, 843, 844, 847, 849, 850, 853, 855, 856,
661 859, 864, 864, 868, 868, 871, 871, 874, 874, 878,
662 878, 883, 883, 886, 886, 889, 891, 894, 901, 905,
663 908, 911, 917, 926, 928, 936, 939, 942, 945, 949,
664 952, 954, 957, 960, 962, 964, 966, 970, 973, 976,
665 981, 985, 990, 994, 997, 998, 1002, 1021, 1028, 1031,
666 1033, 1034, 1035, 1038, 1042, 1043, 1047, 1051, 1054, 1056,
667 1060, 1063, 1066, 1070, 1073, 1075, 1077, 1079, 1082, 1086,
668 1088, 1090, 1092, 1098, 1101, 1104, 1107, 1119, 1124, 1128,
669 1132, 1137, 1139, 1143, 1147, 1149, 1158, 1162, 1165, 1168,
670 1173, 1176, 1178, 1186, 1199, 1204, 1210, 1212, 1214, 1227,
671 1230, 1232, 1234, 1236, 1238, 1240, 1242, 1244, 1246, 1248,
672 1250, 1252, 1254, 1256, 1258, 1260, 1262, 1264, 1266, 1268,
673 1270, 1274, 1276, 1278, 1295, 1298, 1300, 1301, 1302, 1303,
674 1304, 1307, 1310, 1313, 1317, 1320, 1322, 1327, 1329, 1330,
675 1333, 1335, 1343, 1345, 1347, 1349, 1353, 1356, 1360, 1364,
676 1365, 1366, 1370, 1378, 1379, 1380, 1394, 1396, 1399, 1401,
677 1412, 1417, 1419, 1421, 1423, 1425, 1427, 1429, 1432, 1434,
678 1451, 1452, 1456, 1460, 1464, 1468, 1470, 1474, 1476, 1478,
679 1486, 1488, 1490, 1492, 1496, 1498, 1500, 1502, 1507, 1509,
680 1511, 1513, 1516, 1518, 1520, 1564, 1567, 1571, 1574, 1578,
681 1581, 1586, 1588, 1592, 1605, 1608, 1615, 1622, 1627, 1629,
682 1634, 1636, 1643, 1645, 1649, 1653, 1659, 1663, 1666, 1669,
683 1672, 1682, 1684, 1687, 1691, 1694, 1697, 1700, 1703, 1709,
684 1715, 1717, 1722, 1724, 1733, 1736, 1738, 1741, 1747, 1749,
685 1759, 1763, 1766, 1769, 1774, 1777, 1785, 1787, 1789, 1791,
686 1794, 1797, 1812, 1831, 1834, 1836, 1839, 1841, 1845, 1847,
687 1851, 1853, 1857, 1860, 1864, 1870, 1871, 1883, 1890, 1893,
688 1899, 1903, 1908, 1914, 1915, 1923, 1926, 1930, 1933, 1937,
689 1942, 1945, 1949, 1952, 1954, 1956, 1958, 1965, 1967, 1968,
690 1969, 1973, 1976, 1980, 1983, 1989, 1991, 1994, 1997, 2000,
691 2006, 2009, 2012, 2014, 2016, 2020, 2026, 2034, 2036, 2040,
692 2042, 2047, 2050, 2053, 2055, 2057, 2061, 2066, 2073, 2077,
693 2081, 2088, 2092, 2095, 2098, 2104, 2116, 2118, 2121, 2141,
694 2143, 2146, 2148, 2153, 2155, 2157, 2159, 2161, 2163, 2167,
695 2175, 2178, 2180, 2184, 2190, 2195, 2200, 2202, 2206, 2209,
696 2213, 2219, 2222, 2239, 2245, 2247, 2250, 2253, 2255, 2259,
697 2261, 2265, 2270, 2276, 2279, 2280, 2301, 2324, 2326, 2330,
698 2341, 2355, 2360, 2367, 2369, 2370, 2371, 2374, 2389, 2394,
699 2400, 2402, 2407, 2409, 2411, 2413, 2415, 2417, 2420, 2430,
700 2437, 2462, 2468, 2471, 2474, 2476, 2487, 2492, 2495, 2500,
701 2503, 2510, 2520, 2523, 2530, 2540, 2542, 2545, 2547, 2550,
702 2557, 2565, 2572, 2578, 2584, 2592, 2596, 2601, 2605, 2608,
703 2617, 2619, 2623, 2626, 2631, 2635, 2641, 2652, 2655, 2659,
704 2663, 2671, 2676, 2682, 2685, 2687, 2689, 2695, 2698, 2700,
705 2702, 2704, 2708, 2711, 2729, 2739, 2741, 2742, 2746, 2751,
706 2754, 2756, 2758, 2760, 2764, 2770, 2772, 2780, 2783, 2785,
707 2787, 2789, 2793, 2796, 2799, 2801, 2803, 2805, 2809, 2812,
708 2815, 2817, 2819, 2821, 2823, 2830, 2834, 2839, 2843, 2848,
709 2850, 2854, 2857, 2859, 2862, 2864, 2865, 2868, 2870, 2872,
710 2878, 2893, 2899, 2905, 2919, 2921, 2925, 2939, 2941, 2943,
711 2947, 2953, 2966, 2968, 2972, 2985, 2991, 2993, 2994, 2995,
712 3003, 3008, 3017, 3018, 3022, 3025, 3031, 3037, 3040, 3042,
713 3044, 3046, 3050, 3054, 3058, 3061, 3066, 3069, 3071, 3073,
714 3075, 3077, 3079, 3081, 3083, 3087, 3091, 3095, 3099, 3100,
715 3102, 3104, 3106, 3108, 3110, 3112, 3114, 3116, 3124, 3126,
716 3127, 3128, 3131, 3137, 3139, 3144, 3146, 3149, 3163, 3166,
717 3169, 3173, 3176, 3183, 3185, 3188, 3190, 3192, 3195, 3198,
718 3201, 3204, 3206, 3209, 3213, 3215, 3221, 3223, 3224, 3226,
719 3231, 3233, 3235, 3237, 3239, 3242, 3243, 3245, 3248, 3249,
720 3252, 3252, 3255, 3255, 3258, 3258, 3260, 3262, 3264, 3266,
721 3272, 3278, 3281, 3284, 3290, 3292, 3294, 3298, 3300, 3301,
722 3302, 3304, 3307, 3314, 3319, 3327, 3331, 3333, 3336, 3338,
723 3341, 3345, 3347, 3350, 3352, 3355, 3372, 3378, 3386, 3388,
724 3390, 3394, 3397, 3398, 3406, 3410, 3414, 3417, 3418, 3424,
725 3427, 3430, 3432, 3436, 3441, 3444, 3454, 3459, 3460, 3467,
726 3470, 3473, 3475, 3478, 3480, 3490, 3504, 3508, 3511, 3513,
727 3517, 3521, 3524, 3527, 3529, 3533, 3535, 3542, 3549, 3552,
728 3555, 3559, 3563, 3569, 3573, 3578, 3580, 3583, 3588, 3594,
729 3605, 3608, 3610, 3614, 3619, 3621, 3628, 3631, 3633, 3635,
730 3641, 3646, 3649, 3651, 3653, 3655, 3657, 3659, 3661, 3663,
731 3665, 3667, 3669, 3671, 3673, 3675, 3677, 3679, 3681, 3683,
732 3685, 3687, 3689, 3691, 3693, 3695, 3697, 3699, 3701, 3703,
733 3705, 3707, 3709, 3711, 3714, 3716
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 "self_template_type",".finish_template_type","template_close_bracket","template_arg_list_opt",
766 "template_arg_list","template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null",
767 "xcond","condition","@20","compstmtend","already_scoped_stmt","@21","nontrivial_exprlist",
768 "nonnull_exprlist","unary_expr",".finish_new_placement",".begin_new_placement",
769 "new_placement","new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas",
770 "notype_unqualified_id","do_id","template_id","object_template_id","unqualified_id",
771 "expr_or_declarator_intern","expr_or_declarator","notype_template_declarator",
772 "direct_notype_declarator","primary","@22","new","delete","boolean.literal",
773 "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
774 "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
775 "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
776 "nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0",
777 "notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute",
778 "attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init",
779 "init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again",
780 "pending_defargs","structsp","@26","@27","@28","@29","maybecomma","maybecomma_warn",
781 "aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
782 "named_complex_class_head_sans_basetype","named_class_head","@30","@31","unnamed_class_head",
783 "class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
784 "base_class_access_list","left_curly","self_reference","opt.component_decl_list",
785 "access_specifier","component_decl_list","component_decl","component_decl_1",
786 "components","notype_components","component_declarator0","component_declarator",
787 "after_type_component_declarator0","notype_component_declarator0","after_type_component_declarator",
788 "notype_component_declarator","enumlist","enumerator","new_type_id","cv_qualifiers",
789 "nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr","maybe_parmlist",
790 "after_type_declarator","nonnested_type","complete_type_name","nested_type",
791 "direct_after_type_declarator","notype_declarator_intern","notype_declarator",
792 "complex_notype_declarator","complex_direct_notype_declarator","qualified_id",
793 "notype_qualified_id","overqualified_id","functional_cast","type_name","nested_name_specifier",
794 "nested_name_specifier_1","typename_sub","typename_sub0","typename_sub1","typename_sub2",
795 "explicit_template_type","complex_type_name","ptr_to_mem","global_scope","new_declarator",
796 "direct_new_declarator","absdcl","direct_abstract_declarator","stmts","errstmt",
797 "maybe_label_decls","label_decls","label_decl","compstmt_or_error","compstmt",
798 "@32","simple_if","@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt",
799 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48",
800 "@49","function_try_block","@50","@51","try_block","@52","@53","handler_seq",
801 "handler","@54","@55","type_specifier_seq","handler_args","label_colon","for.init.statement",
802 "maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
803 "asm_clobbers","parmlist","complex_parmlist","defarg","@56","defarg1","parms",
804 "parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
805 "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
806 "operator_name", NULL
807 };
808 #endif
809
810 static const short yyr1[] = { 0,
811 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
812 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
813 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
814 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
815 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
816 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
817 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
818 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
819 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
820 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
821 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
822 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
823 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
824 161, 162, 162, 162, 162, 162, 162, 162, 162, 163,
825 163, 163, 163, 163, 164, 164, 164, 165, 165, 165,
826 167, 166, 168, 166, 169, 166, 170, 166, 171, 166,
827 172, 166, 173, 166, 174, 166, 175, 176, 177, 177,
828 177, 178, 179, 180, 180, 181, 181, 182, 182, 183,
829 183, 183, 184, 184, 184, 184, 184, 185, 185, 186,
830 186, 187, 187, 188, 188, 188, 190, 189, 189, 191,
831 191, 191, 191, 193, 192, 192, 194, 194, 194, 194,
832 195, 195, 196, 196, 196, 196, 196, 196, 196, 196,
833 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
834 196, 196, 196, 196, 196, 196, 197, 198, 199, 199,
835 200, 200, 200, 200, 201, 201, 202, 202, 202, 203,
836 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
837 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
838 203, 203, 203, 203, 204, 204, 204, 204, 204, 204,
839 204, 205, 206, 206, 207, 207, 207, 208, 208, 208,
840 209, 209, 210, 210, 210, 210, 211, 211, 212, 212,
841 212, 212, 213, 213, 213, 213, 213, 213, 213, 214,
842 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
843 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
844 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
845 213, 213, 213, 213, 213, 215, 215, 216, 216, 217,
846 217, 218, 218, 219, 220, 220, 221, 221, 221, 221,
847 221, 221, 222, 222, 223, 223, 224, 224, 224, 224,
848 224, 225, 225, 226, 226, 226, 226, 226, 226, 227,
849 227, 227, 227, 227, 228, 228, 228, 228, 228, 228,
850 229, 229, 229, 229, 230, 230, 231, 231, 231, 231,
851 231, 231, 231, 232, 232, 232, 233, 233, 234, 234,
852 235, 235, 236, 236, 238, 237, 237, 240, 239, 239,
853 241, 242, 244, 243, 243, 245, 245, 246, 246, 247,
854 248, 248, 249, 249, 249, 249, 249, 250, 250, 250,
855 250, 251, 251, 252, 252, 253, 253, 253, 253, 253,
856 254, 254, 254, 254, 254, 255, 256, 256, 256, 257,
857 257, 258, 258, 259, 259, 259, 261, 260, 260, 262,
858 260, 260, 260, 260, 260, 263, 264, 260, 260, 265,
859 265, 266, 266, 267, 267, 267, 267, 267, 267, 268,
860 269, 269, 269, 270, 270, 270, 270, 270, 271, 272,
861 271, 273, 271, 274, 275, 275, 276, 276, 276, 277,
862 277, 278, 278, 279, 279, 279, 279, 280, 280, 280,
863 280, 281, 282, 283, 283, 283, 283, 284, 285, 285,
864 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
865 287, 287, 287, 287, 287, 287, 287, 287, 287, 288,
866 288, 288, 289, 289, 289, 290, 290, 291, 291, 292,
867 292, 293, 293, 293, 293, 294, 294, 295, 295, 295,
868 296, 296, 297, 297, 298, 298, 298, 299, 299, 300,
869 300, 301, 302, 303, 303, 303, 303, 304, 304, 304,
870 304, 304, 304, 305, 305, 306, 306, 306, 307, 308,
871 308, 308, 308, 308, 308, 309, 309, 310, 310, 310,
872 310, 310, 310, 311, 311, 311, 311, 311, 311, 312,
873 312, 312, 312, 312, 312, 313, 313, 314, 314, 315,
874 315, 316, 316, 316, 317, 317, 317, 318, 318, 318,
875 319, 319, 319, 319, 320, 320, 321, 321, 321, 321,
876 322, 322, 322, 322, 323, 323, 323, 323, 323, 323,
877 324, 325, 325, 325, 326, 326, 327, 328, 328, 328,
878 328, 328, 328, 328, 329, 329, 330, 330, 330, 330,
879 330, 330, 330, 330, 330, 330, 330, 331, 331, 331,
880 331, 331, 331, 331, 331, 331, 331, 331, 332, 332,
881 332, 332, 333, 334, 334, 335, 335, 336, 337, 337,
882 339, 338, 341, 342, 340, 343, 344, 343, 345, 345,
883 346, 346, 347, 346, 346, 348, 349, 346, 350, 351,
884 346, 352, 353, 354, 355, 346, 356, 357, 346, 358,
885 346, 359, 346, 360, 346, 346, 346, 346, 346, 346,
886 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
887 346, 346, 362, 363, 361, 365, 366, 364, 367, 367,
888 369, 370, 368, 371, 371, 372, 372, 373, 373, 373,
889 373, 374, 374, 374, 375, 375, 376, 376, 376, 377,
890 377, 378, 378, 379, 380, 380, 381, 381, 381, 382,
891 382, 382, 382, 382, 382, 382, 384, 383, 385, 385,
892 386, 386, 386, 386, 386, 387, 387, 388, 388, 388,
893 388, 388, 388, 389, 389, 390, 390, 391, 392, 392,
894 393, 393, 393, 394, 395, 395, 396, 396, 396, 396,
895 397, 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, 398, 398, 398,
898 398, 398, 398, 398, 398, 398
899 };
900
901 static const short yyr2[] = { 0,
902 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
903 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
904 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
905 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
906 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
907 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
908 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
909 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
910 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
911 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
912 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
913 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
914 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
915 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
916 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
917 0, 6, 0, 6, 0, 5, 0, 5, 0, 7,
918 0, 7, 0, 6, 0, 6, 0, 0, 5, 5,
919 1, 5, 0, 1, 1, 0, 1, 1, 3, 1,
920 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
921 3, 1, 3, 0, 1, 1, 0, 7, 1, 1,
922 3, 4, 3, 0, 3, 1, 3, 3, 3, 3,
923 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
924 4, 2, 4, 2, 3, 3, 4, 5, 6, 6,
925 7, 2, 4, 5, 2, 2, 1, 0, 4, 4,
926 3, 1, 3, 2, 3, 4, 1, 2, 5, 1,
927 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
928 3, 3, 3, 3, 3, 3, 3, 3, 3, 5,
929 3, 3, 1, 2, 3, 3, 1, 1, 1, 1,
930 1, 0, 5, 5, 5, 5, 5, 1, 1, 1,
931 1, 2, 1, 2, 2, 3, 4, 4, 1, 1,
932 1, 3, 1, 1, 1, 1, 3, 3, 3, 0,
933 4, 4, 2, 4, 2, 4, 2, 2, 1, 4,
934 1, 7, 7, 7, 7, 4, 4, 2, 2, 2,
935 1, 4, 2, 2, 5, 3, 2, 2, 5, 3,
936 5, 3, 4, 6, 2, 1, 2, 1, 2, 1,
937 1, 1, 2, 0, 2, 2, 3, 3, 3, 2,
938 2, 2, 1, 1, 1, 2, 2, 2, 2, 1,
939 1, 1, 1, 2, 2, 3, 3, 3, 4, 1,
940 2, 2, 2, 1, 1, 1, 2, 2, 2, 1,
941 1, 2, 2, 3, 1, 2, 1, 1, 1, 4,
942 4, 4, 4, 1, 1, 1, 1, 3, 1, 3,
943 1, 3, 0, 4, 0, 6, 3, 0, 4, 1,
944 3, 3, 0, 4, 3, 0, 1, 1, 2, 6,
945 1, 3, 0, 1, 4, 6, 4, 1, 1, 1,
946 1, 1, 3, 0, 2, 1, 2, 3, 4, 1,
947 1, 3, 4, 3, 5, 1, 4, 3, 3, 0,
948 3, 3, 3, 0, 2, 2, 0, 7, 4, 0,
949 6, 3, 2, 2, 2, 0, 0, 9, 1, 0,
950 1, 0, 1, 1, 2, 2, 2, 2, 2, 2,
951 2, 2, 2, 3, 4, 3, 2, 3, 1, 0,
952 3, 0, 3, 2, 1, 1, 0, 2, 3, 1,
953 4, 1, 3, 1, 1, 4, 4, 2, 2, 3,
954 3, 1, 0, 1, 2, 3, 2, 2, 1, 2,
955 2, 2, 2, 2, 2, 2, 1, 2, 2, 3,
956 2, 2, 4, 4, 2, 1, 5, 4, 1, 0,
957 1, 3, 0, 1, 3, 1, 1, 1, 1, 4,
958 4, 4, 4, 4, 3, 4, 4, 4, 4, 3,
959 1, 3, 1, 3, 2, 1, 7, 0, 2, 1,
960 2, 0, 2, 4, 4, 2, 4, 3, 3, 2,
961 2, 3, 1, 1, 2, 1, 1, 2, 2, 4,
962 4, 3, 3, 2, 1, 1, 2, 3, 3, 2,
963 2, 3, 1, 3, 3, 2, 2, 3, 1, 4,
964 3, 4, 3, 1, 2, 2, 2, 2, 2, 1,
965 2, 4, 4, 2, 1, 1, 1, 1, 2, 4,
966 2, 2, 2, 2, 1, 2, 2, 2, 2, 3,
967 1, 2, 3, 4, 2, 2, 2, 2, 2, 2,
968 4, 2, 1, 2, 2, 3, 1, 3, 2, 3,
969 2, 2, 3, 1, 3, 4, 3, 2, 2, 1,
970 3, 2, 2, 1, 2, 3, 1, 3, 1, 6,
971 4, 4, 3, 5, 3, 3, 3, 2, 1, 1,
972 2, 2, 2, 0, 1, 1, 2, 3, 1, 2,
973 0, 3, 0, 0, 5, 1, 0, 2, 1, 1,
974 1, 2, 0, 4, 1, 0, 0, 5, 0, 0,
975 7, 0, 0, 0, 0, 12, 0, 0, 7, 0,
976 5, 0, 7, 0, 4, 2, 2, 2, 3, 6,
977 8, 10, 12, 4, 3, 2, 2, 1, 1, 1,
978 1, 1, 0, 0, 6, 0, 0, 5, 1, 2,
979 0, 0, 5, 1, 1, 3, 3, 2, 2, 2,
980 2, 2, 1, 2, 0, 1, 0, 1, 1, 0,
981 1, 1, 3, 4, 1, 3, 0, 1, 1, 1,
982 2, 2, 2, 1, 2, 2, 0, 3, 1, 1,
983 1, 2, 2, 2, 4, 2, 2, 2, 2, 2,
984 2, 1, 2, 1, 2, 1, 1, 0, 0, 1,
985 0, 4, 2, 1, 1, 3, 0, 3, 3, 3,
986 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
987 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
988 2, 2, 2, 2, 3, 2, 2, 2, 2, 3,
989 2, 2, 4, 4, 3, 2
990 };
991
992 static const short yydefact[] = { 3,
993 12, 12, 5, 0, 4, 0, 279, 635, 636, 0,
994 386, 398, 580, 0, 11, 0, 0, 0, 10, 484,
995 841, 0, 0, 0, 167, 667, 280, 281, 83, 0,
996 0, 828, 0, 45, 0, 0, 13, 25, 0, 27,
997 8, 0, 16, 15, 89, 110, 86, 0, 637, 171,
998 300, 277, 301, 613, 0, 373, 0, 372, 391, 0,
999 411, 390, 428, 397, 0, 499, 500, 502, 506, 505,
1000 479, 385, 596, 399, 597, 108, 299, 624, 594, 0,
1001 638, 578, 0, 0, 278, 81, 82, 176, 641, 176,
1002 642, 176, 282, 167, 140, 141, 142, 143, 144, 470,
1003 473, 0, 663, 0, 474, 0, 0, 0, 0, 141,
1004 142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
1005 0, 475, 645, 0, 651, 0, 0, 0, 37, 0,
1006 0, 31, 0, 0, 47, 0, 176, 643, 0, 0,
1007 0, 611, 606, 0, 0, 0, 610, 0, 0, 0,
1008 0, 300, 0, 291, 582, 0, 0, 299, 578, 28,
1009 0, 26, 3, 46, 0, 64, 386, 0, 0, 8,
1010 67, 63, 66, 89, 0, 0, 0, 397, 90, 14,
1011 0, 426, 0, 0, 444, 87, 79, 644, 582, 0,
1012 578, 80, 0, 0, 0, 106, 0, 407, 363, 593,
1013 364, 605, 0, 578, 388, 387, 78, 109, 374, 0,
1014 409, 389, 107, 380, 404, 405, 375, 393, 395, 384,
1015 406, 0, 75, 429, 485, 486, 487, 488, 504, 149,
1016 148, 150, 490, 491, 497, 489, 0, 0, 492, 493,
1017 507, 507, 522, 523, 581, 392, 0, 423, 636, 0,
1018 665, 171, 628, 629, 625, 599, 639, 0, 598, 595,
1019 0, 876, 872, 871, 869, 851, 856, 857, 0, 863,
1020 862, 848, 849, 847, 866, 855, 852, 853, 854, 858,
1021 859, 845, 846, 842, 843, 844, 868, 860, 861, 850,
1022 867, 0, 864, 774, 391, 775, 837, 282, 279, 580,
1023 304, 352, 0, 0, 0, 0, 348, 346, 319, 350,
1024 351, 0, 0, 0, 0, 0, 280, 281, 273, 0,
1025 0, 184, 183, 0, 185, 186, 0, 0, 187, 0,
1026 0, 177, 178, 0, 247, 0, 250, 182, 303, 213,
1027 0, 0, 305, 306, 0, 180, 370, 391, 371, 630,
1028 331, 321, 0, 0, 0, 0, 176, 0, 472, 0,
1029 467, 0, 664, 662, 0, 188, 189, 0, 0, 0,
1030 433, 3, 21, 29, 659, 655, 656, 658, 660, 657,
1031 140, 141, 142, 0, 143, 144, 647, 648, 652, 649,
1032 646, 0, 289, 290, 288, 627, 626, 33, 32, 49,
1033 0, 157, 0, 0, 391, 155, 0, 0, 607, 609,
1034 0, 608, 141, 142, 275, 276, 295, 0, 617, 294,
1035 0, 616, 0, 302, 280, 281, 0, 0, 0, 293,
1036 292, 621, 0, 0, 12, 0, 167, 9, 9, 70,
1037 0, 65, 0, 0, 71, 74, 0, 425, 427, 122,
1038 93, 127, 763, 0, 85, 84, 92, 125, 0, 0,
1039 123, 88, 623, 0, 0, 586, 0, 831, 0, 591,
1040 0, 590, 0, 0, 0, 0, 578, 426, 0, 77,
1041 582, 578, 604, 0, 377, 378, 0, 76, 426, 382,
1042 381, 383, 376, 396, 413, 412, 494, 498, 496, 0,
1043 828, 501, 503, 0, 0, 394, 426, 578, 94, 0,
1044 0, 0, 0, 578, 100, 579, 612, 636, 666, 171,
1045 0, 0, 865, 870, 393, 578, 578, 0, 578, 875,
1046 176, 0, 0, 0, 220, 0, 0, 222, 235, 236,
1047 0, 0, 0, 0, 0, 274, 219, 216, 215, 217,
1048 0, 0, 0, 0, 0, 303, 0, 0, 0, 214,
1049 174, 175, 297, 0, 218, 0, 0, 248, 0, 0,
1050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1052 313, 0, 315, 317, 318, 356, 355, 0, 0, 238,
1053 238, 0, 224, 576, 0, 232, 353, 345, 0, 0,
1054 828, 334, 337, 338, 0, 0, 365, 684, 680, 689,
1055 0, 582, 578, 578, 578, 367, 687, 0, 634, 369,
1056 0, 0, 368, 333, 0, 328, 347, 329, 349, 631,
1057 0, 330, 173, 173, 0, 165, 0, 391, 163, 573,
1058 482, 571, 469, 0, 0, 400, 0, 0, 401, 402,
1059 403, 439, 440, 441, 438, 0, 431, 434, 0, 3,
1060 0, 650, 176, 653, 0, 41, 42, 0, 53, 0,
1061 0, 57, 61, 50, 827, 822, 0, 370, 391, 53,
1062 371, 826, 59, 168, 153, 151, 168, 173, 298, 615,
1063 614, 302, 0, 618, 0, 18, 20, 89, 9, 9,
1064 73, 72, 0, 128, 354, 0, 711, 91, 709, 450,
1065 0, 446, 445, 212, 0, 211, 583, 622, 0, 804,
1066 0, 799, 391, 0, 798, 800, 829, 811, 0, 0,
1067 620, 589, 588, 0, 0, 603, 0, 421, 420, 408,
1068 602, 0, 831, 592, 379, 410, 422, 426, 495, 508,
1069 546, 636, 0, 537, 0, 0, 549, 0, 121, 116,
1070 0, 171, 550, 553, 0, 529, 0, 119, 0, 426,
1071 0, 424, 831, 797, 176, 176, 640, 176, 831, 797,
1072 578, 97, 578, 103, 874, 873, 837, 837, 837, 0,
1073 0, 0, 0, 634, 0, 0, 0, 0, 391, 0,
1074 0, 0, 309, 0, 307, 308, 0, 245, 179, 279,
1075 635, 636, 280, 281, 0, 0, 451, 480, 0, 272,
1076 271, 789, 788, 0, 269, 268, 266, 267, 265, 264,
1077 263, 260, 261, 262, 258, 259, 253, 254, 255, 256,
1078 257, 251, 252, 0, 0, 0, 0, 0, 238, 226,
1079 242, 0, 0, 225, 578, 578, 0, 578, 575, 674,
1080 0, 0, 0, 0, 0, 336, 0, 340, 0, 342,
1081 0, 683, 682, 679, 678, 827, 0, 0, 698, 0,
1082 0, 831, 366, 831, 685, 578, 797, 582, 684, 680,
1083 0, 0, 578, 0, 390, 0, 0, 0, 0, 170,
1084 172, 283, 168, 161, 159, 168, 0, 483, 0, 482,
1085 210, 209, 208, 207, 433, 0, 0, 24, 0, 0,
1086 654, 0, 38, 44, 43, 55, 52, 53, 0, 48,
1087 0, 0, 684, 680, 0, 818, 578, 821, 823, 0,
1088 819, 820, 54, 490, 0, 158, 168, 168, 156, 169,
1089 296, 17, 19, 69, 89, 414, 145, 635, 636, 133,
1090 146, 147, 0, 126, 129, 0, 637, 0, 0, 0,
1091 0, 710, 704, 447, 0, 124, 587, 584, 803, 817,
1092 806, 0, 585, 802, 816, 805, 801, 830, 813, 824,
1093 814, 807, 812, 833, 0, 418, 601, 600, 417, 828,
1094 0, 828, 509, 510, 512, 828, 515, 514, 578, 797,
1095 545, 538, 550, 539, 426, 426, 535, 536, 533, 534,
1096 578, 797, 279, 635, 0, 413, 117, 541, 551, 556,
1097 557, 413, 413, 0, 0, 413, 115, 542, 554, 413,
1098 530, 531, 532, 426, 528, 476, 0, 96, 0, 0,
1099 0, 0, 102, 0, 831, 797, 831, 797, 839, 838,
1100 840, 284, 320, 221, 223, 326, 327, 0, 0, 0,
1101 0, 308, 311, 0, 0, 0, 0, 246, 0, 312,
1102 314, 316, 0, 0, 0, 0, 227, 244, 0, 0,
1103 671, 669, 0, 672, 582, 233, 0, 0, 176, 343,
1104 0, 0, 0, 681, 677, 688, 578, 697, 695, 696,
1105 686, 831, 0, 693, 0, 632, 633, 0, 332, 166,
1106 168, 168, 164, 574, 572, 471, 0, 432, 430, 279,
1107 0, 22, 30, 661, 56, 51, 58, 62, 683, 679,
1108 684, 680, 0, 594, 0, 578, 685, 60, 154, 152,
1109 68, 0, 131, 0, 135, 0, 137, 0, 139, 0,
1110 764, 0, 200, 712, 0, 705, 706, 0, 448, 684,
1111 680, 0, 303, 0, 630, 825, 0, 0, 834, 835,
1112 0, 0, 415, 519, 0, 518, 828, 828, 828, 0,
1113 831, 0, 540, 444, 444, 831, 0, 0, 0, 426,
1114 426, 0, 426, 426, 0, 426, 0, 444, 464, 578,
1115 286, 285, 287, 578, 99, 0, 105, 0, 0, 0,
1116 0, 0, 0, 454, 0, 452, 249, 270, 240, 239,
1117 237, 228, 0, 241, 243, 670, 668, 675, 673, 0,
1118 234, 0, 0, 335, 339, 341, 831, 691, 578, 692,
1119 162, 160, 468, 0, 435, 437, 683, 679, 599, 685,
1120 132, 130, 0, 0, 0, 0, 442, 0, 0, 279,
1121 635, 636, 713, 726, 729, 732, 737, 0, 0, 0,
1122 0, 0, 0, 0, 0, 280, 758, 766, 0, 785,
1123 762, 761, 760, 0, 721, 0, 0, 391, 0, 700,
1124 719, 725, 699, 720, 759, 0, 707, 449, 0, 633,
1125 815, 809, 810, 808, 0, 832, 419, 0, 0, 0,
1126 0, 521, 520, 513, 112, 578, 544, 548, 114, 578,
1127 426, 426, 565, 444, 279, 635, 0, 552, 558, 559,
1128 413, 413, 444, 444, 0, 444, 555, 543, 0, 831,
1129 831, 578, 578, 0, 0, 0, 0, 453, 0, 0,
1130 229, 230, 676, 344, 285, 694, 831, 0, 134, 136,
1131 138, 771, 765, 769, 0, 708, 703, 203, 778, 780,
1132 781, 0, 0, 717, 0, 0, 0, 744, 746, 747,
1133 748, 0, 0, 0, 0, 0, 0, 0, 779, 0,
1134 362, 786, 0, 722, 360, 413, 0, 361, 0, 413,
1135 0, 0, 0, 201, 702, 701, 723, 757, 756, 308,
1136 836, 416, 516, 517, 511, 831, 831, 564, 561, 563,
1137 0, 0, 426, 426, 426, 560, 562, 547, 466, 0,
1138 465, 460, 95, 101, 831, 831, 322, 323, 324, 325,
1139 455, 0, 231, 690, 436, 0, 770, 443, 192, 0,
1140 714, 727, 716, 0, 0, 0, 0, 0, 740, 0,
1141 749, 0, 755, 39, 144, 34, 144, 0, 35, 767,
1142 0, 358, 359, 0, 0, 0, 357, 202, 717, 111,
1143 113, 426, 426, 570, 444, 444, 0, 0, 478, 98,
1144 104, 577, 0, 772, 199, 0, 391, 0, 717, 0,
1145 730, 718, 704, 783, 733, 0, 0, 0, 0, 745,
1146 754, 40, 36, 0, 0, 724, 569, 567, 566, 568,
1147 463, 462, 456, 86, 89, 0, 0, 0, 193, 413,
1148 715, 204, 728, 206, 0, 784, 0, 782, 738, 742,
1149 741, 768, 790, 0, 0, 461, 776, 777, 773, 426,
1150 704, 190, 0, 0, 196, 0, 195, 717, 0, 0,
1151 0, 791, 792, 750, 459, 0, 458, 0, 205, 0,
1152 731, 734, 739, 743, 0, 790, 0, 0, 457, 197,
1153 191, 0, 0, 0, 751, 793, 0, 0, 794, 0,
1154 0, 198, 735, 795, 0, 752, 0, 0, 0, 736,
1155 796, 753, 0, 0, 0
1156 };
1157
1158 static const short yydefgoto[] = { 1623,
1159 435, 2, 436, 165, 707, 330, 181, 3, 4, 37,
1160 670, 372, 1301, 671, 767, 1302, 1303, 392, 1407, 675,
1161 41, 768, 401, 681, 936, 682, 683, 684, 43, 172,
1162 173, 44, 454, 184, 180, 45, 46, 784, 1066, 790,
1163 1068, 47, 770, 771, 185, 186, 455, 714, 974, 975,
1164 650, 976, 234, 48, 958, 957, 697, 694, 1132, 1131,
1165 916, 913, 136, 956, 49, 50, 910, 563, 331, 332,
1166 333, 334, 1304, 1574, 1471, 1576, 1516, 1607, 1174, 1553,
1167 1571, 366, 902, 335, 1242, 857, 602, 864, 336, 337,
1168 367, 339, 357, 52, 254, 676, 417, 154, 53, 54,
1169 340, 558, 341, 342, 343, 344, 456, 345, 1305, 495,
1170 624, 346, 1306, 56, 217, 687, 347, 218, 536, 219,
1171 197, 210, 60, 478, 496, 1328, 748, 1192, 198, 211,
1172 61, 507, 749, 62, 63, 666, 667, 668, 1278, 461,
1173 827, 828, 1544, 1545, 1509, 1451, 1359, 64, 654, 360,
1174 1219, 1452, 1087, 919, 65, 66, 67, 68, 69, 241,
1175 242, 70, 71, 502, 1013, 1014, 1015, 1016, 244, 504,
1176 505, 781, 775, 776, 777, 1038, 1048, 1039, 1348, 1040,
1177 1041, 1349, 1350, 651, 652, 603, 892, 349, 464, 465,
1178 191, 199, 73, 74, 75, 200, 142, 143, 157, 77,
1179 132, 350, 351, 352, 79, 353, 81, 1018, 123, 124,
1180 125, 512, 105, 82, 354, 869, 870, 887, 627, 1309,
1181 1310, 1175, 1176, 1177, 718, 1311, 983, 1312, 1392, 1519,
1182 1474, 1475, 1313, 1314, 1499, 1393, 1520, 1394, 1555, 1395,
1183 1557, 1602, 1617, 1396, 1578, 1529, 1579, 1480, 457, 715,
1184 1276, 1315, 1410, 1534, 1383, 1384, 1466, 1548, 1518, 1514,
1185 1316, 1525, 1413, 834, 1581, 1582, 1583, 1615, 734, 735,
1186 1003, 1188, 1324, 736, 737, 738, 999, 739, 148, 1001,
1187 741, 1190, 1191, 530, 84, 85
1188 };
1189
1190 static const short yypact[] = { 126,
1191 129,-32768,-32768, 10615,-32768, 110, 77, 203, 259, 176,
1192 247,-32768,-32768, 1079,-32768, 22, 232, 273,-32768,-32768,
1193 -32768, 418, 1052, 1404, 336,-32768, 357, 452,-32768, 2484,
1194 2484,-32768, 2672,-32768, 10615, 351,-32768,-32768, 422,-32768,
1195 175, 4517,-32768,-32768, 391, 209, 478, 488, 455,-32768,
1196 -32768,-32768,-32768, 458, 1898,-32768, 5536,-32768, 938, 211,
1197 -32768, 523,-32768,-32768, 331, 509,-32768,-32768,-32768,-32768,
1198 533, 3647,-32768,-32768,-32768, 1224,-32768,-32768,-32768, 409,
1199 -32768,-32768, 800, 7914, 527,-32768,-32768, 9681,-32768, 9681,
1200 -32768, 9681,-32768,-32768,-32768, 203, 259, 357, 541, 510,
1201 605, 455,-32768, 815,-32768, 800, 9767, 9767, 530,-32768,
1202 -32768,-32768,-32768,-32768, 284, 631, 457, 577, 624, 638,
1203 641,-32768,-32768, 686,-32768, 982, 203, 259,-32768, 357,
1204 541,-32768, 1244, 1418, 570, 10888, 9681,-32768, 9681, 3446,
1205 2986,-32768,-32768, 832, 877, 2986,-32768, 1464, 3204, 3204,
1206 2672, 597, 602,-32768, 643, 1348, 639, 642,-32768,-32768,
1207 688,-32768, 645,-32768, 1818,-32768,-32768, 336, 5424, 659,
1208 -32768,-32768,-32768, 391, 5857, 10943, 475, 703,-32768,-32768,
1209 680, 523, 785, 76, 67, 732,-32768,-32768, 700, 191,
1210 -32768,-32768, 4646, 4646, 5138, 1224, 959,-32768,-32768, 535,
1211 -32768,-32768, 1359,-32768,-32768,-32768,-32768,-32768, 938, 1020,
1212 -32768, 523, 1224,-32768,-32768,-32768, 2418, 938,-32768, 523,
1213 -32768, 5857,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1214 -32768,-32768,-32768,-32768, 455, 523, 1277, 1579,-32768,-32768,
1215 755, 755,-32768,-32768,-32768, 1057, 800,-32768, 674, 1215,
1216 -32768, 236,-32768,-32768,-32768,-32768,-32768, 4780,-32768,-32768,
1217 517,-32768, 731, 734,-32768,-32768,-32768,-32768, 782,-32768,
1218 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1219 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1220 -32768, 739,-32768,-32768, 1057, 3647, 988,-32768,-32768, 762,
1221 -32768,-32768, 10375, 10461, 10547, 10547,-32768,-32768,-32768,-32768,
1222 -32768, 777, 801, 810, 818, 824, 343, 541, 9853, 1772,
1223 10547,-32768,-32768, 10547,-32768,-32768, 10547, 7116,-32768, 10547,
1224 712, 817,-32768, 10547,-32768, 9939,-32768, 11183, 263, 1821,
1225 4581, 10025,-32768, 890, 3298,-32768, 1940, 1624, 2321,-32768,
1226 335,-32768, 2792, 1755, 712, 712, 9681, 10888,-32768, 1772,
1227 804, 1772,-32768,-32768, 813, 859, 11116, 831, 845, 853,
1228 900, 645,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1229 631, 457, 577, 1772, 624, 638, 849, 641,-32768, 909,
1230 -32768, 2246, 203, 259,-32768,-32768,-32768,-32768,-32768,-32768,
1231 10997,-32768, 5857, 11054, 2230,-32768, 712, 802,-32768,-32768,
1232 584,-32768, 891, 903,-32768,-32768,-32768, 2986,-32768,-32768,
1233 2986,-32768, 896,-32768,-32768,-32768, 1348, 1348, 1348,-32768,
1234 -32768,-32768, 4780, 112, 899, 901,-32768,-32768,-32768,-32768,
1235 10888,-32768, 1062, 1102,-32768,-32768, 688,-32768, 523,-32768,
1236 -32768,-32768,-32768, 115,-32768,-32768,-32768,-32768, 7574, 9853,
1237 -32768,-32768,-32768, 9853, 916,-32768, 6915, 101, 4970,-32768,
1238 4970,-32768, 5273, 5273, 5138, 923,-32768, 523, 5857,-32768,
1239 918,-32768,-32768, 5303, 2418, 938, 5857,-32768, 523,-32768,
1240 -32768, 523, 2418,-32768, 1022,-32768,-32768, 455,-32768, 1277,
1241 -32768,-32768,-32768, 5647, 100, 1057, 523,-32768,-32768, 973,
1242 980, 1007, 998,-32768,-32768,-32768,-32768, 753,-32768, 394,
1243 958, 963,-32768,-32768, 1057,-32768,-32768, 661,-32768,-32768,
1244 9681, 9853, 762, 7116,-32768, 449, 7116,-32768,-32768,-32768,
1245 9767, 4022, 4022, 4022, 4022, 11161,-32768,-32768,-32768,-32768,
1246 979, 10117, 10117, 7116, 983, 168, 987, 1042, 1006,-32768,
1247 -32768,-32768,-32768, 9681,-32768, 6244, 7116,-32768, 9853, 9853,
1248 7665, 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853,
1249 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853,
1250 -32768, 9853,-32768,-32768,-32768,-32768,-32768, 9853, 9853,-32768,
1251 -32768, 886, 378, 524, 8274,-32768,-32768,-32768, 1064, 1215,
1252 1108, 499, 578, 587, 2940, 877,-32768, 2114, 2114,-32768,
1253 5068, 1019, 1061, 1109,-32768,-32768, 565, 8964, 1214,-32768,
1254 995, 800,-32768,-32768, 9853,-32768,-32768,-32768,-32768,-32768,
1255 355, 527,-32768,-32768, 712,-32768, 5857, 2362,-32768, 1099,
1256 1118,-32768,-32768, 1772, 849,-32768, 8006, 8097,-32768,-32768,
1257 -32768,-32768,-32768,-32768,-32768, 137,-32768, 1090, 1081, 645,
1258 2246, 1140, 9681,-32768, 1145,-32768,-32768, 1418, 1440, 1164,
1259 395, 1143, 1148,-32768,-32768, 2103, 10943, 2103, 4337, 331,
1260 3702,-32768, 1158,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1261 -32768, 1117, 1119,-32768, 1168,-32768,-32768, 391,-32768,-32768,
1262 -32768,-32768, 116, 318, 1167, 1042,-32768,-32768,-32768,-32768,
1263 7006, 11161,-32768, 859, 1126, 11116,-32768,-32768, 1127,-32768,
1264 1128, 384, 6051, 1130,-32768, 314, 5716, 1175, 1177, 607,
1265 -32768,-32768,-32768, 4970, 4970,-32768, 5303,-32768, 1179,-32768,
1266 -32768, 1134, 101,-32768, 2418,-32768,-32768, 523,-32768, 2778,
1267 -32768, 921, 456,-32768, 9853, 10693,-32768, 10693, 121, 121,
1268 177, 665, 3193, 10761, 8342,-32768, 169, 121, 1182, 523,
1269 8412,-32768, 101, 6183, 9681, 9681,-32768, 9681, 101, 6183,
1270 -32768,-32768,-32768,-32768,-32768,-32768, 699, 699, 699, 712,
1271 1149, 1151, 9332, 1109, 1152, 1155, 1157, 1194, 2848, 1199,
1272 1202, 1204,-32768, 1178,-32768,-32768, 1185,-32768,-32768, 1228,
1273 620, 791, 66, 96, 9853, 1235,-32768, 1239, 1196, 11161,
1274 11161,-32768,-32768, 1248, 3488, 6078, 4671, 6829, 11090, 6609,
1275 4141, 2007, 2007, 2007, 2386, 2386, 941, 941, 748, 748,
1276 748,-32768,-32768, 1198, 1203, 1206, 9853, 9767,-32768, 378,
1277 -32768, 7574, 9853,-32768,-32768,-32768, 9853,-32768,-32768, 1219,
1278 10547, 1207, 1227, 1246, 1281,-32768, 9853,-32768, 9853,-32768,
1279 9853, 2551,-32768, 2551,-32768, 82, 1221, 1222,-32768, 1229,
1280 4022, 101,-32768, 101, 3146,-32768, 6183, 1232, 9148, 9148,
1281 6469, 1230, 9939, 1231, 1348, 2216, 1755, 1072, 1238,-32768,
1282 -32768,-32768,-32768,-32768,-32768,-32768, 9853, 1772, 1236, 1118,
1283 -32768, 11161,-32768, 11161, 900, 1245, 10203,-32768, 1243, 1287,
1284 -32768, 712,-32768,-32768,-32768,-32768,-32768, 1968, 10997,-32768,
1285 4022, 9681, 2122, 2122, 5193,-32768,-32768,-32768,-32768, 1359,
1286 -32768,-32768,-32768, 932, 9853,-32768,-32768,-32768,-32768,-32768,
1287 -32768,-32768,-32768,-32768, 391,-32768, 631, 457, 577,-32768,
1288 624, 638, 9853, 1296,-32768, 668, 641, 682, 705, 1813,
1289 1042,-32768, 78,-32768, 155,-32768,-32768,-32768,-32768,-32768,
1290 -32768, 9056,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1177,
1291 1295,-32768,-32768,-32768, 4022,-32768,-32768,-32768, 1297,-32768,
1292 1267,-32768, 1307,-32768,-32768, 106,-32768,-32768,-32768, 6183,
1293 11161,-32768, 1692,-32768, 523, 523,-32768,-32768,-32768,-32768,
1294 -32768, 6183, 496, 904, 9853, 1022,-32768, 1310,-32768,-32768,
1295 -32768, 224, 586, 409, 877, 772, 121, 1311,-32768, 816,
1296 -32768,-32768,-32768, 523,-32768,-32768, 8482,-32768, 1263, 712,
1297 712, 712,-32768, 1268, 101, 6183, 101, 6183,-32768,-32768,
1298 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1284, 1288, 1291,
1299 1292, 1117,-32768, 11049, 7574, 7207, 1271,-32768, 9853,-32768,
1300 -32768,-32768, 1282, 1285, 1286, 4022,-32768,-32768, 1290, 212,
1301 1777, 1777, 1279, 1777,-32768,-32768, 10547, 1387, 9681,-32768,
1302 1293, 1298, 1303,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1303 -32768, 101, 1304,-32768, 1306,-32768,-32768, 2930,-32768,-32768,
1304 -32768,-32768,-32768, 11161,-32768,-32768, 1294,-32768,-32768, 173,
1305 1312,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 3044, 3044,
1306 3592, 3592, 5193,-32768, 1359,-32768, 4042, 11183,-32768,-32768,
1307 -32768, 1317,-32768, 318,-32768, 9853,-32768, 9853,-32768, 9853,
1308 -32768, 1772,-32768,-32768, 6696, 1363,-32768, 7298,-32768, 9240,
1309 9240, 6804, 196, 1318, 400,-32768, 7574, 7389,-32768,-32768,
1310 188, 7574,-32768,-32768, 9767,-32768,-32768,-32768,-32768, 1595,
1311 101, 1321,-32768, 1350, 1350, 101, 1325, 9853, 9853, 4694,
1312 523, 4333, 523, 523, 1094, 523, 5812, 1350,-32768,-32768,
1313 -32768, 1380,-32768,-32768,-32768, 1329,-32768, 1332, 9853, 9853,
1314 9853, 9853, 7574,-32768, 1389,-32768,-32768, 11161,-32768,-32768,
1315 -32768, 521, 1286,-32768,-32768,-32768,-32768,-32768,-32768, 1331,
1316 -32768, 1402, 712,-32768,-32768,-32768, 101,-32768,-32768,-32768,
1317 -32768,-32768,-32768, 9853,-32768,-32768, 3044, 3044,-32768, 4042,
1318 -32768,-32768, 1344, 1345, 1349, 1360,-32768, 1106, 241, 1400,
1319 1049, 1093,-32768,-32768,-32768,-32768,-32768, 9853, 1401, 1405,
1320 1417, 9418, 376, 1772, 347, 502,-32768,-32768, 9509, 1455,
1321 -32768,-32768,-32768, 1419,-32768, 5314, 10829, 3813, 6585,-32768,
1322 -32768, 1462,-32768,-32768,-32768, 8575,-32768,-32768, 1373, 608,
1323 -32768,-32768,-32768,-32768, 4022,-32768,-32768, 7574, 1375, 1381,
1324 2778,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1325 4694, 4694,-32768, 1350, 614, 1122, 9853,-32768,-32768,-32768,
1326 1022, 1022, 1350, 1350, 753, 1350,-32768,-32768, 6341, 101,
1327 101,-32768,-32768, 1383, 1385, 1391, 1399,-32768, 7574, 9853,
1328 -32768, 521,-32768,-32768,-32768,-32768, 101, 1407,-32768,-32768,
1329 -32768,-32768, 1360,-32768, 1772,-32768,-32768,-32768,-32768,-32768,
1330 -32768, 754, 754, 1042, 1395, 1424, 3882,-32768,-32768,-32768,
1331 -32768, 1450, 9853, 1459, 1460, 1472, 1879, 1890,-32768, 1042,
1332 -32768,-32768, 1439,-32768,-32768, 1022, 1113,-32768, 1133, 1022,
1333 9595, 1156, 248,-32768,-32768,-32768,-32768,-32768,-32768, 514,
1334 -32768,-32768,-32768,-32768,-32768, 101, 101,-32768,-32768,-32768,
1335 9853, 9853, 4694, 523, 523,-32768,-32768,-32768,-32768, 8188,
1336 -32768,-32768,-32768,-32768, 101, 101,-32768,-32768,-32768,-32768,
1337 -32768, 1431,-32768,-32768,-32768, 1453,-32768,-32768,-32768, 9767,
1338 -32768,-32768,-32768, 1526, 8871, 4910, 9767, 9853,-32768, 8683,
1339 -32768, 1489,-32768,-32768, 1496,-32768, 1472, 1879,-32768,-32768,
1340 688,-32768,-32768, 10289, 10289, 7483,-32768,-32768, 1042,-32768,
1341 -32768, 4694, 4694,-32768, 1350, 1350, 1444, 11071, 1457,-32768,
1342 -32768,-32768, 11010,-32768,-32768, 1447, 591, 5857, 1042, 8777,
1343 -32768,-32768, 78,-32768,-32768, 1492, 1454, 11139, 8683,-32768,
1344 -32768,-32768,-32768, 1360, 97,-32768,-32768,-32768,-32768,-32768,
1345 -32768,-32768,-32768, 478, 391, 1458, 1461, 1042,-32768, 1022,
1346 -32768,-32768,-32768,-32768, 769,-32768, 7756,-32768,-32768,-32768,
1347 -32768, 1360, 1550, 1507, 179,-32768,-32768,-32768,-32768, 523,
1348 78,-32768, 9853, 1513,-32768, 1516,-32768, 1042, 8683, 1484,
1349 760, 1520,-32768,-32768,-32768, 115,-32768, 1524,-32768, 1483,
1350 -32768,-32768,-32768,-32768, 9853, 1550, 1530, 1550,-32768,-32768,
1351 -32768, 7847, 1485, 778,-32768,-32768, 7574, 1493,-32768, 1569,
1352 1532,-32768,-32768,-32768, 189,-32768, 8777, 1591, 1544,-32768,
1353 -32768,-32768, 1605, 1606,-32768
1354 };
1355
1356 static const short yypgoto[] = {-32768,
1357 1608,-32768, -321, 1441, -379, 83, 7, 1607,-32768, 1575,
1358 -32768,-32768, 348,-32768, 423,-32768, 480,-32768, 206, 945,
1359 57, 5,-32768,-32768, -629,-32768,-32768, 681, 59, 1465,
1360 1181, 1466, -705, 79, -172, 23, 40,-32768,-32768,-32768,
1361 -32768,-32768, 852,-32768,-32768,-32768,-32768,-32768,-32768, 466,
1362 2100,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1363 -32768,-32768, 1545, -614, 5775, -55, -535, -49, -63, 1501,
1364 -518,-32768, 365,-32768, 250,-32768, -1375,-32768, -1306, 30,
1365 -32768, 2949, 1841, -282, 407, -544,-32768, -816, 3540, 783,
1366 1482, 4109, 1355, -330, -66, -85, 49, -139, -54, 6,
1367 -32768,-32768,-32768, -341,-32768, -160,-32768,-32768, -1210, 50,
1368 -328, 1691, 149, 747, -145, 10, 58, -203, -4, -122,
1369 -167, -169, 14, -10, 323,-32768, -353,-32768,-32768,-32768,
1370 -32768,-32768, 592, 1237, 55,-32768, 736,-32768,-32768, -1098,
1371 -443, 935,-32768,-32768,-32768,-32768,-32768, 221,-32768,-32768,
1372 -32768,-32768,-32768, 743, -364,-32768,-32768,-32768,-32768,-32768,
1373 -32768,-32768,-32768, 1425,-32768, 328, 468,-32768,-32768,-32768,
1374 -32768,-32768, 892, -697,-32768,-32768,-32768,-32768,-32768,-32768,
1375 898,-32768, 459, 1025, 766, 1083, 2985, 28, 31, -453,
1376 1487, 1849, -681,-32768, 41,-32768, 1256, 1077, -146, 17,
1377 -99, 4676, 1343,-32768, 5050, 2478, 109, -18, -114,-32768,
1378 1566, -52,-32768, 4867, 3296, -120,-32768, 2722,-32768,-32768,
1379 382,-32768,-32768, 525, 107, -324,-32768,-32768,-32768,-32768,
1380 -1380,-32768, -1218, -1399,-32768,-32768,-32768,-32768,-32768,-32768,
1381 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 134,-32768,
1382 -32768,-32768,-32768,-32768, 171, -1308,-32768,-32768, -43,-32768,
1383 -32768,-32768,-32768, -1395, 111,-32768, 104,-32768, -580, -598,
1384 709,-32768,-32768,-32768,-32768, -386,-32768, -382, -467,-32768,
1385 2023, 388,-32768, 346,-32768, -232
1386 };
1387
1388
1389 #define YYLAST 11267
1390
1391
1392 static const short yytable[] = { 59,
1393 434, 442, 419, 422, 122, 486, 444, 443, 42, 981,
1394 36, 391, 639, 57, 692, 723, 431, 513, 693, 629,
1395 535, 538, 888, 638, 252, 255, 355, 752, 356, 888,
1396 59, 72, 978, 760, 399, 182, 690, 59, 155, 42,
1397 297, 36, 506, 1097, 57, 819, 42, 397, 398, 158,
1398 669, 176, 209, 568, 103, 177, 858, 141, 146, 708,
1399 953, 58, 72, 485, 174, 248, 396, 246, 1022, 72,
1400 1024, 390, 493, 407, 1467, 1522, 451, 1051, 1017, 295,
1401 1526, 153, 959, 348, 190, 348, 35, 348, 1411, 255,
1402 1426, 525, 58, 989, 491, 494, 208, 1429, 170, 58,
1403 171, 1527, 348, 348, 196, 1337, 1338, 607, 911, 516,
1404 1172, 296, 1198, 458, 107, 716, 224, 35, 1536, 1358,
1405 1554, 642, 607, 259, 169, -1, 607, -143, -2, 719,
1406 459, 405, 348, -354, 348, 757, 779, 452, 1551, 137,
1407 990, 294, 1199, 991, 525, 404, 363, 15, 255, 138,
1408 88, -413, 55, 782, 155, 155, 155, -144, 1563, 460,
1409 59, 740, 960, 72, 59, 158, 158, 158, 890, 86,
1410 453, 209, 717, 42, 57, 402, 418, 421, 176, 1585,
1411 -413, 1577, 177, 55, -413, 190, 1173, 439, 257, 818,
1412 175, 174, 72, 58, 224, 925, 72, 1593, 420, 423,
1413 155, 1027, 489, 1059, 1564, 520, 1608, 804, 780, 1064,
1414 224, 158, 257, 1178, 591, 208, 1556, 1554, 87, 705,
1415 469, 471, 58, 966, 196, 170, 58, 171, 1052, -413,
1416 190, 1264, 163, 817, 1028, 15, -354, 466, 1029, -413,
1417 452, 257, -300, 153, 926, 1440, 1325, 1618, -363, 93,
1418 15, 169, 257, 1467, 1446, 1447, 89, 1448, 617, 613,
1419 592, 1530, 178, 1179, 1589, 1524, 224, -413, -413, 222,
1420 223, 1030, 164, 453, 224, -293, 90, 1053, 612, 221,
1421 1265, -363, 514, 467, 403, -363, 713, 259, -300, -300,
1422 224, 246, 677, 645, 94, 1326, 1619, 604, 1130, 639,
1423 1387, 1133, 888, -293, 803, 643, 644, 1387, 1145, 591,
1424 1561, 257, 91, 55, 1096, 938, 1123, 175, -363, 1245,
1425 967, 968, 969, 348, 108, 994, 419, 422, 515, 964,
1426 965, 672, 92, 95, 96, 97, 295, 225, 226, 227,
1427 755, 373, 1159, 1160, 246, 257, 888, 374, 929, 1388,
1428 692, 38, 348, 648, 1000, 592, 1498, 698, 699, 1051,
1429 1594, 18, 491, 494, 970, 109, 228, 404, 296, 257,
1430 491, 26, 995, 971, 972, 996, 557, 513, 95, 110,
1431 111, 634, 38, 494, 26, 72, 98, 99, 229, 178,
1432 129, 982, 307, 888, 259, 989, 689, 646, 294, 209,
1433 26, -181, 494, 1406, 629, 680, 1539, 1540, 26, 135,
1434 973, 7, 8, 249, 10, 58, 137, -181, 1098, -181,
1435 95, 110, 111, 1148, 861, 1371, 39, 635, 691, 221,
1436 137, 112, 113, 230, 231, 232, 59, 221, 221, 1202,
1437 793, 862, 990, 161, 1125, 991, -624, -827, 772, 21,
1438 176, 1207, 695, 939, 177, 1403, 250, 39, 688, 127,
1439 128, 257, 733, 710, 27, 28, 221, 800, 72, 940,
1440 863, 365, 369, 112, 113, 114, 420, 703, 155, 155,
1441 155, 162, 978, 40, 758, 1226, 794, 1228, 251, 158,
1442 158, 158, -624, -624, 691, 617, 32, 179, 58, 59,
1443 744, 745, 183, 224, -582, 138, 647, -624, 188, 26,
1444 376, 130, 131, 774, 40, 221, 1261, 1262, 1017, 257,
1445 8, 518, 420, 423, 688, 139, 348, 127, 128, 348,
1446 90, 72, 348, 222, 445, 963, 348, 809, 809, 809,
1447 809, 803, 1194, 769, 1196, 876, 224, 187, 1200, 348,
1448 -582, 189, 692, 18, 888, 1463, 693, 1208, 604, 348,
1449 -302, 58, 348, 1409, 362, 639, 239, 861, 221, 88,
1450 240, 677, 130, 131, 690, 137, 638, 26, 935, 130,
1451 131, -582, 557, 888, 862, 557, 766, 127, 128, 175,
1452 243, 877, 934, 865, 138, 912, 519, 295, 215, 216,
1453 298, 420, 814, 866, 14, 525, -302, -302, 257, 932,
1454 -364, 896, 15, 863, 1370, 557, 689, 867, 359, -302,
1455 568, -296, 371, 733, 878, 221, 20, -582, 481, 296,
1456 377, 362, 491, 880, -302, 23, 257, 617, -302, 130,
1457 131, 1234, 1236, -364, 400, 882, 884, -364, 691, 1017,
1458 92, 1250, 773, 1004, -302, 691, 1171, 897, 898, 294,
1459 122, 178, 361, 519, 127, 128, -302, -302, 348, -302,
1460 879, -302, 259, 89, 642, 1441, 904, 378, 688, 881,
1461 -364, -141, 209, 803, 375, 688, 246, 88, 381, 382,
1462 383, 379, 555, 90, 380, 979, 914, 137, 302, 1005,
1463 -302, -302, 127, 128, -293, 221, 221, 516, 362, 424,
1464 772, 1031, 772, 221, 1165, -302, 130, 131, 772, 772,
1465 508, 1060, 1061, 257, 1062, 772, 221, 91, 1167, 1331,
1466 1332, 1333, 689, 384, 1236, 946, 189, 951, 952, 257,
1467 251, 385, 386, 1321, 1323, 221, 432, 92, 1327, -619,
1468 1072, 1169, 26, -7, 130, 131, 164, 1032, 1025, 1026,
1469 1166, 59, 446, 59, 691, 431, 509, 1054, 526, 209,
1470 59, 804, 447, 448, 1168, 774, 59, 774, 527, 689,
1471 348, 348, 952, 348, 774, 689, 561, 450, 562, 1368,
1472 774, 462, 1161, 72, 688, 72, -120, 1170, 15, 791,
1473 1469, 750, 72, 8, 9, 769, 91, 769, 72, 756,
1474 463, 691, 1036, 1046, 769, 1572, 501, 691, 8, 9,
1475 769, 1596, 1037, 58, 521, 58, 92, 522, 727, -120,
1476 589, 590, 58, -120, 7, 127, 128, 10, 58, 1610,
1477 -118, 688, 15, 523, 91, 792, 1470, 688, 766, 524,
1478 766, 904, -142, 348, 532, 130, 131, 766, 1100, 1586,
1479 564, 1573, 362, 766, 92, 391, -120, 1597, 221, 541,
1480 130, 131, 21, -118, 542, 564, 561, -118, 562, 250,
1481 127, 128, 1144, 543, 1432, 1611, 809, 27, 28, 8,
1482 9, 544, 689, 12, 13, 255, 733, 545, 555, 14,
1483 607, 555, 95, 110, 111, 806, 662, 663, 664, 221,
1484 -118, 251, 653, 16, 773, 17, 1023, 657, 555, 32,
1485 656, 20, 673, 773, 691, 1461, 882, 884, 691, 773,
1486 23, 555, 130, 131, 689, 833, 809, 348, 659, 26,
1487 689, 130, 131, 680, 214, 215, 216, 259, 420, 814,
1488 155, 14, 660, 221, 688, 112, 113, 89, 688, 224,
1489 661, 158, 674, 856, 90, 1209, 691, 1019, 18, 872,
1490 1149, 1150, 691, 20, 91, 221, 92, 90, 859, 804,
1491 1246, 1247, 23, 1249, 116, 117, 118, 733, 252, 255,
1492 -52, 127, 128, 153, 92, -52, 688, 155, 8, 9,
1493 809, 772, 688, 702, 419, 422, -52, -6, 158, 706,
1494 1221, 1222, 1223, 1020, 257, 689, 257, 479, 480, 691,
1495 586, 587, 588, 589, 590, 1211, 728, 689, 751, 221,
1496 746, 1213, 1214, 419, 422, 1211, 1216, 119, 120, 1214,
1497 1184, 26, 362, 130, 131, 1253, 785, 691, 15, 688,
1498 130, 131, 59, 786, 116, 117, 118, 526, 257, 691,
1499 787, 689, 1036, 689, 215, 216, 774, 527, 795, 1473,
1500 14, 788, 1037, 796, 251, 8, 9, 688, 487, 488,
1501 76, 95, 96, 97, 72, 1490, 813, 539, 540, 688,
1502 815, 809, 20, 691, 816, 691, 769, 127, 1355, 717,
1503 255, 23, 89, 548, 348, 26, 549, 119, 120, 550,
1504 1390, 76, 560, 818, 58, 875, 565, 873, 76, 362,
1505 479, 711, 90, 688, 606, 688, 692, 130, 131, 889,
1506 1547, 201, 26, 213, 98, 99, 100, 1419, 1417, 766,
1507 1422, 362, 1069, 1070, 1071, 979, 91, 686, 689, 130,
1508 131, 519, 257, 891, 1391, 893, 155, 155, 155, 520,
1509 487, 712, 917, 1612, 1385, 1386, 92, 158, 158, 158,
1510 1308, 479, 1492, 519, 1473, 89, 918, 733, 1267, 1268,
1511 691, 1300, 927, 1442, 1307, 155, 155, 155, 804, 928,
1512 348, 487, 1493, 931, 1473, 90, 158, 158, 158, 20,
1513 420, 423, 72, 1375, 933, 773, 941, 1267, 1268, 691,
1514 688, 942, 406, 686, 479, 1497, 409, 95, 110, 111,
1515 510, 955, -578, 1569, -296, -578, 961, 962, 452, 420,
1516 1319, 1103, 58, 986, 987, 988, 257, 993, -826, 688,
1517 1002, 76, 1006, 1055, 1007, 76, 299, 393, 394, 10,
1518 15, 201, 213, 1473, -413, 21, 1073, 1299, 1074, 1075,
1519 893, 719, 1076, 257, 1077, 555, 140, 140, 1078, 156,
1520 112, 113, -578, 1079, -578, -578, 1080, -578, 1081, 95,
1521 96, 97, -413, -413, 21, 1082, 147, -413, -578, -140,
1522 -578, 250, 1083, 212, 1308, 220, 1085, 1086, 201, 27,
1523 318, 236, 209, 1088, 1308, 1090, -578, -578, 1307, 1089,
1524 1091, 1308, 1105, 525, 1108, 1300, 1092, 1107, 1307, 1109,
1525 809, -578, 1300, 257, 362, 1307, 72, 1110, 1116, 1117,
1526 1535, 32, 98, 99, 548, 549, 72, 1126, 1127, 1118,
1527 1444, 1445, 1124, 72, 1136, 1129, 1143, 419, 422, 1009,
1528 299, 1142, 1139, 10, 1164, 1416, 58, 1416, 1187, 1195,
1529 1193, 7, 8, 9, 10, 1197, 58, 686, 1212, 1217,
1530 1220, 1056, 1566, 58, 686, 1224, 1229, 140, 18, 1237,
1531 1230, 1299, 140, 1231, 1232, 156, 156, 156, 21, 1248,
1532 1239, 1299, 1240, 1241, 1252, 1172, 410, 1244, 1299, 21,
1533 1254, 412, 1263, 425, 426, 1255, 250, 127, 128, 489,
1534 1256, 1259, 212, 459, 27, 28, 1260, 427, 449, 1266,
1535 299, 393, 394, 10, 1271, 1320, 155, 428, 1336, 140,
1536 140, 156, 1340, -661, 649, 32, 1362, 158, 251, 1363,
1537 429, 1373, 381, 382, 383, 220, 32, 129, 1374, 147,
1538 1369, 1379, 1380, 492, 220, 1382, 1381, 26, 21, 130,
1539 131, 1389, 1398, 1412, 1399, 1517, 95, 413, 414, 1184,
1540 1308, 1308, 1517, 27, 318, 1308, 1400, 1427, 1414, 201,
1541 1430, 1300, 1433, 686, 1307, 1307, 1300, 1476, 1434, 1307,
1542 1457, 348, 1458, 26, 140, 385, 386, 296, 1459, 155,
1543 155, 155, 72, 72, 296, 32, 1460, 72, 689, 1481,
1544 158, 158, 158, 517, 1465, 1308, 1477, 76, 1483, 98,
1545 113, 744, 745, 374, 1308, 1484, 1300, 294, 221, 1307,
1546 686, 1491, 58, 58, 294, 1300, 686, 58, 1307, 1570,
1547 691, 1512, 1521, 420, 1319, 1513, 555, 72, 1531, 1532,
1548 1541, 1558, 1517, 1543, 1549, 201, 72, 1299, 1299, 1329,
1549 1580, 1559, 1299, 201, 156, 1567, 1584, 1550, 1568, 338,
1550 688, 338, 1591, 338, 1308, 1592, 1595, 58, 1598, 1614,
1551 778, 95, 96, 97, 296, 1300, 58, 1600, 1307, 1605,
1552 1601, 1616, 1609, 1364, 1365, 1366, 1367, 116, 968, 969,
1553 1613, 1621, 1299, 1622, 1624, 1625, 72, 1, 5, 160,
1554 441, 1299, 1308, 1488, 294, 930, 1204, 1205, 338, 1146,
1555 338, 709, 1565, 1300, 1011, 1047, 1307, 127, 128, 1272,
1556 438, 215, 216, 440, 98, 99, 58, 14, 358, 408,
1557 212, 220, 1472, 686, 72, 1218, 1620, 686, 26, 1372,
1558 119, 120, 531, 1106, 140, 985, 1402, 140, 1435, 20,
1559 1138, 1299, 1137, 156, 156, 156, 503, 1334, 23, 140,
1560 617, 1049, 1057, 700, 58, 1357, 701, 26, 920, 130,
1561 131, 548, 549, 1135, 860, 686, 482, 614, 704, 389,
1562 1425, 686, 1599, 618, 1033, 1034, 9, 10, 1587, 1299,
1563 1317, 1606, 0, 619, 1562, 140, 1604, 140, 1186, 156,
1564 156, 156, 1431, 620, 449, 0, 628, 622, 0, 0,
1565 140, 492, 220, 201, 410, 449, 412, 0, 0, 492,
1566 0, 0, 21, 0, 1462, 0, 0, 221, 686, 517,
1567 0, 0, 0, 449, 0, 26, 0, 27, 28, 0,
1568 0, 1203, 0, 1035, 0, 0, 0, 636, 8, 9,
1569 10, 193, 201, 949, 201, 201, 686, 1482, 0, 0,
1570 156, 194, 0, 156, 95, 110, 111, 0, 686, 32,
1571 127, 128, 0, 0, 195, 516, 0, 0, 156, 156,
1572 156, 0, 307, 637, 0, 21, 0, 368, 370, 0,
1573 546, 1343, 1344, 156, 1353, 1354, 0, 1356, 26, 201,
1574 130, 131, 686, 998, 686, 116, 968, 969, 6, 0,
1575 7, 8, 9, 10, 11, 12, 13, 112, 113, 0,
1576 26, 14, 130, 131, 1515, 0, 0, 0, 338, 0,
1577 833, 1515, 778, 0, 778, 16, 865, 17, 18, 1043,
1578 1050, 778, 0, 20, 0, 0, 866, 778, 21, 0,
1579 555, 0, 23, 0, 905, 437, 0, 593, 119, 120,
1580 867, 26, 0, 27, 28, 0, 0, 29, 0, 0,
1581 0, 95, 110, 111, 220, 0, 0, 30, 0, 1251,
1582 0, 0, 95, 110, 111, 0, 0, 31, 0, 686,
1583 7, 8, 9, 10, 0, 32, 594, 595, 0, 0,
1584 33, 596, 597, 598, 599, 0, 0, 0, 0, 0,
1585 0, 1515, 0, 212, 0, 220, 236, 0, 686, 0,
1586 0, 0, 1438, 1439, 112, 1485, 0, 1590, 21, 0,
1587 722, 726, 0, 127, 128, 112, 1487, 0, 726, 0,
1588 0, 26, 0, 27, 28, 0, 0, 192, 0, 1603,
1589 0, 0, 548, 549, 0, 0, 833, 193, 0, 220,
1590 95, 110, 111, 0, 225, 226, 227, 194, 0, 0,
1591 140, 140, 0, 140, 0, 32, 617, 0, 0, 0,
1592 195, 492, 0, 26, 449, 130, 131, 0, 18, 700,
1593 701, 0, 704, 228, 0, 0, 0, 0, 0, 618,
1594 212, 0, 338, 726, 0, 0, 449, 0, 559, 619,
1595 0, 0, 0, 112, 113, 0, 0, 0, 0, 620,
1596 0, 0, 621, 622, 1504, 1505, 1506, 0, 0, 156,
1597 0, 470, 472, 476, 0, 338, 0, 722, 0, 0,
1598 830, 831, 0, 835, 836, 837, 838, 839, 840, 841,
1599 842, 843, 844, 845, 846, 847, 848, 849, 850, 851,
1600 852, 853, 0, 726, 0, 0, 0, 0, 0, 726,
1601 0, 560, 582, 583, 584, 585, 586, 587, 588, 589,
1602 590, 685, 0, 1537, 1538, 0, 0, 0, 0, 1043,
1603 0, 0, 0, 0, 0, 7, 8, 9, 10, 726,
1604 0, 0, 0, 101, 0, 0, 726, 127, 128, 0,
1605 0, 115, 13, 0, 7, 8, 9, 10, 0, 0,
1606 13, 0, 0, 778, 0, 156, 156, 905, 922, 924,
1607 0, 0, 0, 21, 0, 0, 0, 0, 0, 617,
1608 0, 0, 18, 0, 338, 0, 26, 732, 27, 28,
1609 617, 1588, 21, 0, 233, 0, 0, 26, 617, 130,
1610 131, 0, 943, 0, 236, 26, 0, 27, 28, 140,
1611 140, 905, 944, 618, 0, 0, 0, 0, 0, 0,
1612 32, 943, 620, 619, 0, 945, 622, 0, 0, 147,
1613 0, 944, 722, 620, 0, 0, 621, 622, 0, 32,
1614 0, 620, 0, 0, 945, 622, 0, 0, 299, 8,
1615 9, 10, 0, 387, 802, 0, 0, 805, 905, 0,
1616 0, 807, 808, 810, 811, 812, 214, 215, 216, 0,
1617 0, 0, 0, 14, 559, 0, 1021, 415, 299, 393,
1618 394, 10, 0, 0, 0, 0, 21, 829, 0, 686,
1619 18, 449, 449, 250, 0, 20, 338, 338, 0, 338,
1620 0, 27, 318, 0, 23, 0, 548, 549, 0, 0,
1621 0, 0, 0, 0, 726, 0, 21, 0, 1352, 696,
1622 449, 0, 0, 1352, 0, 251, 0, 0, 0, 26,
1623 725, 27, 318, 32, 0, 0, 1084, 731, 0, 0,
1624 0, 886, 0, 0, 0, 0, 0, 742, 886, 743,
1625 0, 470, 472, 476, 8, 9, 0, 0, 12, 245,
1626 0, 0, 754, 32, 14, 0, 497, 499, 726, 726,
1627 0, 0, 0, 722, 726, 0, 0, 0, 16, 511,
1628 17, 0, 0, 0, 0, 0, 20, 0, 726, 0,
1629 726, 0, 726, 0, 0, 23, 0, 617, 214, 215,
1630 216, 0, 801, 0, 26, 14, 130, 131, 0, 0,
1631 0, 0, 201, 1420, 201, 140, 140, 156, 156, 905,
1632 618, 0, 18, 140, 0, 0, 0, 20, 1134, 0,
1633 619, 0, 0, 0, 410, 412, 23, 0, 726, 0,
1634 620, 0, 517, 621, 622, 0, 156, 156, 905, 547,
1635 0, 915, 0, 338, 490, 215, 216, 685, 0, 0,
1636 0, 14, 854, 0, 0, 0, 1158, 0, 855, 0,
1637 0, 0, 0, 0, 0, 0, 449, 449, 18, 449,
1638 449, 0, 449, 20, 726, 0, 0, 0, 0, 0,
1639 0, 655, 23, 584, 585, 586, 587, 588, 589, 590,
1640 665, 0, 0, 726, 732, 909, 0, 0, 0, 0,
1641 732, 80, 0, 655, 0, 0, 7, 127, 128, 10,
1642 0, 104, 13, 0, 0, 0, 0, 0, 0, 0,
1643 0, 133, 0, 140, 140, 0, 140, 144, 144, 0,
1644 144, 0, 80, 0, 18, 0, 1210, 0, 0, 80,
1645 0, 0, 700, 701, 21, 704, 0, 0, 0, 0,
1646 0, 0, 203, 0, 80, 0, 0, 26, 0, 27,
1647 28, 0, 237, 212, 220, 0, 0, 0, 1095, 104,
1648 0, 0, 0, 30, 127, 128, 0, 0, 0, 245,
1649 261, 104, 0, 31, 0, 0, 722, 722, 0, 0,
1650 1238, 32, 0, 0, 0, 0, 33, 449, 449, 0,
1651 0, 829, 0, 104, 0, 0, 0, 732, 0, 0,
1652 338, 886, 742, 743, 201, 754, 0, 617, 0, 759,
1653 0, 0, 0, 0, 26, 0, 130, 131, 0, 0,
1654 0, 133, 0, 80, 0, 0, 0, 144, 144, 0,
1655 618, 1042, 411, 144, 0, 0, 144, 144, 144, 685,
1656 619, 1147, 0, 0, 0, 886, 0, 0, 0, 0,
1657 620, 0, 80, 621, 622, 0, 80, 726, 0, 726,
1658 0, 726, 203, 80, 0, 0, 0, 156, 0, 722,
1659 0, 0, 0, 0, 0, 826, 0, 0, 722, 722,
1660 203, 203, 203, 722, 7, 127, 128, 10, 0, 449,
1661 449, 449, 886, 0, 0, 0, 0, 0, 0, 1341,
1662 1342, 0, 0, 0, 0, 1189, 0, 1093, 1094, 203,
1663 0, 0, 18, 1099, 0, 0, 0, 0, 0, 874,
1664 732, 0, 21, 0, 722, 500, 0, 1111, 0, 1112,
1665 0, 1113, 732, 0, 104, 26, 0, 27, 28, 0,
1666 156, 156, 156, 0, 0, 144, 0, 0, 449, 449,
1667 0, 149, 0, 0, 0, 726, 0, 0, 0, 0,
1668 0, 150, 0, 0, 0, 0, 732, 0, 732, 32,
1669 0, 0, 0, 0, 151, 0, 0, 1141, 0, 1397,
1670 0, 0, 0, 104, 528, 1008, 0, 0, 937, 0,
1671 116, 968, 969, 0, 1010, 0, 1243, 0, 0, 954,
1672 0, 470, 472, 476, 299, 8, 9, 10, 0, 0,
1673 0, 0, 0, 0, 0, 1058, 449, 1011, 0, 722,
1674 0, 1063, 0, 1162, 1012, 0, 0, 0, 104, 0,
1675 826, 0, 615, 0, 528, 528, 631, 0, 1443, 0,
1676 0, 26, 21, 119, 120, 80, 0, 0, 0, 250,
1677 476, 0, 0, 886, 0, 0, 0, 27, 318, 0,
1678 722, 127, 128, 0, 0, 215, 216, 0, 0, 0,
1679 0, 14, 0, 0, 0, 0, 0, 0, 0, 133,
1680 0, 1042, 886, 0, 0, 0, 0, 0, 104, 32,
1681 203, 104, 0, 20, 0, 1330, 0, 0, 0, 0,
1682 0, 0, 23, 0, 617, 144, 0, 0, 144, 0,
1683 0, 26, 726, 130, 131, 0, 0, 0, 0, 0,
1684 144, 0, 0, 0, 1119, 0, 1120, 618, 80, 0,
1685 0, 0, 1502, 1503, 0, 0, 0, 619, 0, 0,
1686 0, 1508, 299, 8, 9, 10, 0, 620, 0, 0,
1687 621, 622, 299, 127, 128, 10, 203, 0, 203, 0,
1688 203, 203, 203, 0, 0, 0, 203, 0, 0, 1528,
1689 0, 203, 0, 0, 203, 0, 0, 0, 0, 0,
1690 21, 0, 0, 0, 0, 0, 0, 250, 0, 0,
1691 21, 80, 0, 0, 0, 27, 318, 250, 7, 127,
1692 128, 10, 0, 0, 245, 27, 318, 742, 743, 470,
1693 472, 476, 0, 0, 0, 754, 1273, 0, 1274, 519,
1694 1275, 0, 0, 0, 0, 1189, 18, 32, 0, 104,
1695 104, 104, 104, 0, 665, 0, 21, 32, 470, 472,
1696 476, 0, 0, 0, 0, 0, 0, 937, 0, 26,
1697 0, 27, 28, 0, 0, 0, 7, 8, 9, 10,
1698 0, 0, 245, 0, 0, 30, 0, 0, 0, 0,
1699 1351, 0, 0, 0, 0, 31, 258, 0, 626, 630,
1700 633, 0, 0, 32, 18, 0, 0, 0, 33, 104,
1701 0, 528, 0, 0, 21, 0, 0, 1225, 722, 1227,
1702 617, 0, 0, 615, 0, 528, 528, 26, 631, 27,
1703 28, 0, 0, 0, 1378, 906, 0, 0, 0, 908,
1704 0, 0, 0, 943, 0, 742, 743, 0, 754, 0,
1705 0, 0, 0, 944, 203, 0, 0, 0, 0, 0,
1706 0, 32, 0, 620, 0, 0, 945, 622, 0, 0,
1707 0, 0, 0, 433, 1258, 0, 0, 0, 133, 127,
1708 128, 0, 0, 0, 516, 133, 0, 0, 0, 0,
1709 0, 0, 0, 203, 950, 203, 203, 237, 631, 0,
1710 0, 0, 0, 0, 0, 468, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 1235, 559, 0, 484, 0,
1712 0, 0, 617, 0, 0, 1033, 1034, 9, 10, 26,
1713 0, 130, 131, 685, 0, 0, 7, 127, 128, 10,
1714 203, 0, 13, 0, 950, 618, 0, 0, 0, 0,
1715 0, 203, 203, 1335, 203, 619, 0, 0, 1339, 0,
1716 0, 0, 0, 21, 18, 620, 0, 0, 621, 622,
1717 133, 0, 0, 80, 21, 80, 26, 0, 27, 28,
1718 1044, 80, 80, 0, 1035, 0, 0, 26, 80, 27,
1719 28, 104, 193, 0, 0, 0, 0, 104, 0, 476,
1720 0, 1277, 194, 149, 528, 528, 528, 1235, 0, 1376,
1721 32, 0, 0, 150, 0, 195, 528, 0, 0, 0,
1722 0, 32, 0, 0, 0, 0, 151, 0, 608, 83,
1723 299, 393, 394, 10, 0, 609, 0, 0, 0, 106,
1724 0, 0, 0, 0, 0, 0, 0, 0, 126, 134,
1725 0, 0, 0, 0, 0, 145, 145, 0, 145, 0,
1726 83, 0, 0, 0, 0, 0, 0, 83, 21, 883,
1727 885, 0, 470, 472, 476, 610, 0, 0, 0, 0,
1728 145, 26, 83, 27, 318, 0, 0, 0, 0, 528,
1729 238, 528, 0, 0, 0, 0, 0, 247, 104, 0,
1730 0, 0, 528, 0, 104, 0, 906, 906, 906, 247,
1731 0, 0, 1453, 1454, 1128, 611, 0, 0, 0, 0,
1732 0, 0, 1404, 1405, 0, 0, 0, 0, 0, 1464,
1733 0, 0, 0, 0, 0, 0, 0, 948, 724, 626,
1734 630, 0, 633, 0, 0, 724, 104, 0, 104, 0,
1735 203, 203, 1155, 0, 0, 0, 0, 0, 0, 0,
1736 0, 83, 0, 0, 0, 145, 145, 0, 0, 0,
1737 0, 145, 0, 0, 145, 145, 145, 0, 7, 127,
1738 128, 10, 0, 0, 630, 0, 0, 0, 1500, 1501,
1739 83, 747, 0, 0, 83, 0, 753, 0, 0, 1155,
1740 145, 83, 0, 0, 0, 0, 18, 1510, 1511, 0,
1741 724, 0, 104, 0, 1468, 0, 21, 0, 145, 145,
1742 145, 0, 783, 0, 0, 0, 0, 104, 789, 26,
1743 1044, 27, 28, 0, 0, 0, 1486, 1489, 0, 104,
1744 797, 798, 0, 799, 0, 30, 0, 145, 0, 0,
1745 0, 0, 1215, 0, 0, 31, 0, 0, 0, 0,
1746 630, 0, 0, 32, 80, 0, 0, 0, 33, 0,
1747 724, 0, 0, 104, 0, 104, 724, 0, 0, 0,
1748 0, 0, 0, 145, 573, 574, 575, 576, 577, 578,
1749 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
1750 589, 590, 0, 104, 0, 0, 724, 0, 528, 528,
1751 0, 528, 0, 724, 0, 0, 0, 1533, 0, 0,
1752 0, 247, 145, 0, 7, 8, 9, 10, 0, 0,
1753 13, 0, 0, 1114, 0, 1115, 0, 0, 894, 895,
1754 0, 0, 0, 894, 0, 0, 1121, 0, 0, 0,
1755 883, 885, 18, 0, 0, 0, 203, 203, 203, 203,
1756 1155, 0, 21, 0, 203, 0, 247, 0, 617, 0,
1757 616, 0, 145, 145, 632, 26, 0, 27, 28, 641,
1758 8, 9, 0, 83, 12, 245, 0, 1155, 1155, 1155,
1759 14, 1151, 0, 0, 883, 885, 0, 0, 0, 0,
1760 0, 1152, 0, 0, 16, 0, 17, 0, 0, 32,
1761 0, 620, 20, 0, 1153, 622, 0, 678, 0, 203,
1762 0, 23, 0, 0, 144, 0, 247, 0, 145, 247,
1763 26, 0, 130, 131, -385, 8, 9, -385, -385, 12,
1764 245, 0, 0, 145, 0, 14, 145, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 145, 16,
1766 0, 17, -385, 0, 0, 0, 83, 20, 0, 0,
1767 0, 0, -385, 0, 203, 203, 23, 203, 617, 0,
1768 0, 724, 0, 0, 0, 26, 0, 130, 131, 0,
1769 0, 0, 0, 0, 145, 0, 145, 0, 145, 145,
1770 145, 618, 0, 0, 145, 1065, 0, 1067, 0, 145,
1771 0, 619, 145, 203, 950, 203, 0, 0, 0, -385,
1772 0, 620, 0, 0, 621, 622, 0, 0, 0, 83,
1773 0, 0, 104, 0, 0, 724, 724, 0, 0, 0,
1774 0, 724, 0, 0, 0, 7, 8, 9, 10, 214,
1775 215, 216, 0, 0, 0, 724, 14, 724, 0, 724,
1776 0, 0, 0, 0, 0, 0, 0, 247, 247, 247,
1777 247, 0, 0, 18, 0, 0, 0, 0, 20, 1101,
1778 1102, 0, 1104, 21, 0, 0, 0, 23, 0, 617,
1779 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1780 1114, 1115, 883, 885, 0, 724, 0, 0, 1121, 0,
1781 1122, 0, 193, 0, 0, 0, 623, 623, 623, 0,
1782 0, 0, 194, 1478, 0, 0, 0, 247, 1155, 145,
1783 32, 883, 885, 0, 0, 1421, 0, 0, 0, 0,
1784 0, 0, 0, 145, 145, 0, 632, 0, 0, 0,
1785 0, 724, 0, 907, 0, 0, 0, 0, 0, 0,
1786 0, 1157, 0, 0, 0, 0, 641, 0, 0, 0,
1787 724, 0, 145, 1479, 569, 570, 571, 572, 573, 574,
1788 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
1789 585, 586, 587, 588, 589, 590, 678, 0, 0, 0,
1790 0, 1155, 1155, 1155, 126, 0, 0, 0, 0, 0,
1791 0, 145, 632, 145, 145, 238, 632, 0, 1114, 1115,
1792 104, 1121, 0, 0, 0, 203, 0, 0, 0, 0,
1793 0, 0, 0, 1201, 0, 0, 0, 0, 0, 980,
1794 0, 0, 0, 0, 0, 1206, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 8, 9, 0, 145, 12,
1796 13, 0, 632, 0, 0, 14, 0, 0, 0, 145,
1797 145, 0, 145, 0, 7, 8, 9, 10, 0, 16,
1798 516, 17, 0, 0, 0, 980, 0, 20, 134, 0,
1799 0, 83, 0, 83, 0, 0, 23, 0, 1045, 83,
1800 83, 0, 18, 0, 0, 26, 83, 130, 131, 247,
1801 0, 0, 21, 0, 0, 247, 0, 0, 617, 0,
1802 0, 0, 145, 145, 145, 26, 0, 27, 28, 0,
1803 0, 1257, 0, 0, 145, 0, 0, 0, 0, 0,
1804 0, 943, 51, 0, 724, 0, 724, 0, 724, 0,
1805 0, 944, 0, 0, 0, 0, 0, 0, 0, 32,
1806 0, 620, 0, 0, 945, 622, 0, 0, 51, 51,
1807 1270, 152, 0, 51, 0, 0, 0, 0, 0, 0,
1808 51, 0, 0, 0, 0, 0, 0, 623, 623, 0,
1809 623, 0, 0, 51, 0, 51, 0, 903, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 145, 0, 145,
1811 0, 0, 0, 0, 0, 0, 247, 0, 253, 0,
1812 145, 0, 247, 0, 907, 907, 907, 0, 0, 0,
1813 0, 0, 641, 0, 1360, 0, 0, 0, 1361, 0,
1814 0, 0, 724, 579, 580, 581, 582, 583, 584, 585,
1815 586, 587, 588, 589, 590, 623, 0, 623, 623, 0,
1816 623, 0, 0, 0, 247, 0, 247, 0, 145, 145,
1817 632, 395, 395, 1377, 51, 0, 0, 0, 51, 51,
1818 0, 0, 253, 0, 51, 0, 0, 152, 152, 152,
1819 0, 0, 0, 0, 430, 0, 0, 0, 0, 0,
1820 0, 0, 623, 51, 0, 0, 0, 51, 0, 0,
1821 0, 0, 0, 51, 51, 0, 0, 907, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 247, 51, 51, 152, 0, 0, 0, 0, 0, 0,
1824 0, 253, 0, 0, 0, 247, 0, 0, 1045, 0,
1825 1436, 0, 0, 0, 1437, 0, 0, 247, 0, 0,
1826 51, 0, 0, 0, 0, 1345, 1346, 9, 10, 7,
1827 8, 9, 10, 214, 215, 216, 1455, 1456, 623, 0,
1828 14, 0, 83, 0, 0, 0, 0, 0, 0, 0,
1829 0, 247, 0, 247, 0, 0, 51, 18, 0, 724,
1830 0, 0, 20, 21, 0, 0, 0, 21, 0, 0,
1831 0, 23, 0, 617, 0, 0, 26, 0, 27, 28,
1832 26, 247, 27, 28, 1347, 0, 145, 145, 0, 145,
1833 0, 0, 193, 0, 0, 0, 943, 0, 0, 0,
1834 0, 0, 194, 0, 0, 0, 944, 0, 0, 0,
1835 32, 623, 0, 623, 32, 195, 620, 0, 0, 945,
1836 622, 0, 0, 0, 623, 0, 556, 0, 903, 903,
1837 903, 0, 0, 0, 145, 145, 145, 145, 632, 0,
1838 0, 0, 145, 395, 0, 0, 0, 0, 0, 980,
1839 0, 253, 0, 0, 0, 0, 51, 0, 0, 0,
1840 0, 0, 0, 0, 0, 907, 907, 907, 0, 0,
1841 0, 0, 623, 623, 623, 0, 0, 0, 0, 0,
1842 0, 0, 0, 0, 0, 980, 0, 0, 0, 0,
1843 395, 0, 0, 0, 0, 0, 0, 145, 0, 0,
1844 0, 51, 145, 0, 0, 0, 0, 166, 0, 7,
1845 8, 9, 10, 167, 12, 13, 51, 0, 0, 51,
1846 14, 903, 0, 0, 0, 430, 430, 430, 0, 0,
1847 0, 51, 0, 0, 16, 0, 17, 18, 19, 51,
1848 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
1849 0, 23, 145, 145, 168, 145, 0, 0, 0, 0,
1850 26, 0, 27, 28, 0, 0, 0, 51, 0, 51,
1851 0, 152, 152, 152, 8, 9, 30, 51, 12, 13,
1852 1408, 0, 51, 0, 14, 51, 31, 0, 0, 0,
1853 0, 145, 632, 145, 32, 0, 0, 0, 16, 33,
1854 17, 0, 51, 0, 34, 0, 20, 0, 0, 0,
1855 247, 0, 0, 0, 0, 23, 980, 0, 0, 0,
1856 0, 0, 0, 0, 26, 0, 130, 131, 600, 0,
1857 0, 0, 556, 0, 0, 556, 0, 0, 7, 8,
1858 9, 10, 0, 0, 13, 0, 0, 0, 0, 0,
1859 556, 556, 556, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 601, 0, 556, 18, 0, 0, 78,
1861 0, 0, 0, 0, 0, 0, 21, 0, 623, 623,
1862 623, 623, 623, 0, 0, 0, 623, 0, 0, 26,
1863 0, 27, 28, 0, 0, 78, 78, 0, 78, 0,
1864 78, 0, 0, 0, 0, 193, 907, 78, 0, 903,
1865 903, 903, 0, 253, 18, 194, 0, 0, 0, 0,
1866 78, 0, 78, 32, 0, 0, 556, 0, 195, 575,
1867 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
1868 586, 587, 588, 589, 590, 51, 569, 570, 571, 572,
1869 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
1870 583, 584, 585, 586, 587, 588, 589, 590, 0, 395,
1871 0, 0, 7, 127, 128, 10, 395, 0, 516, 907,
1872 907, 907, 0, 0, 51, 51, 51, 51, 0, 0,
1873 0, 0, 0, 0, 0, 0, 623, 623, 247, 623,
1874 18, 78, 0, 145, 0, 78, 78, 0, 0, 0,
1875 21, 78, 0, 0, 78, 78, 78, 0, 0, 0,
1876 0, 0, 0, 26, 0, 27, 28, 0, 0, 0,
1877 78, 51, 0, 0, 78, 51, 0, 0, 0, 30,
1878 78, 78, 51, 51, 0, 51, 0, 0, 0, 31,
1879 0, 0, 0, 0, 0, 0, 0, 32, 78, 78,
1880 78, 0, 33, 0, 51, 0, 51, 0, 0, 0,
1881 0, 51, 51, 51, 0, 0, 0, 0, 0, 51,
1882 0, 0, 0, 0, 0, 0, 0, 78, 0, 159,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 832, 556, 299, 8, 9, 10, 167, 12, 300, 301,
1885 302, 204, 303, 14, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 78, 0, 0, 0, 16, 304, 17,
1887 18, 19, 0, 305, 306, 20, 0, 307, 308, 309,
1888 21, 310, 311, 0, 23, 0, 0, 0, 312, 313,
1889 314, 315, 316, 26, 0, 27, 318, 1523, 0, -787,
1890 319, 0, 7, 8, 9, 10, 320, 0, 245, 321,
1891 0, 0, 0, 0, 0, 0, 0, 322, 323, 324,
1892 0, 0, 0, 0, 0, 325, 326, 327, 0, 0,
1893 18, 0, 328, 0, 0, 0, 0, 556, 556, 556,
1894 21, 0, 0, 430, 253, 159, 159, 159, 0, 329,
1895 0, 0, 0, 26, 0, 27, 28, 0, 0, 640,
1896 0, 0, 0, 78, 0, 0, 0, 0, 0, 193,
1897 0, 204, 0, 0, 0, 0, 0, 0, 0, 194,
1898 0, 51, 51, 152, 0, 0, 0, 32, 253, 204,
1899 204, 477, 195, 0, 0, 0, 0, 0, 0, 0,
1900 0, 8, 9, 0, 167, 12, 13, 0, 78, 730,
1901 0, 14, 0, 0, 0, 0, 0, 0, 204, 0,
1902 0, 0, 0, 78, 0, 16, 78, 17, 18, 0,
1903 1183, 0, 0, 20, 202, 0, 0, 0, 78, 0,
1904 0, 0, 23, 0, 617, 0, 78, 0, 0, 0,
1905 0, 26, 0, 130, 131, 0, 0, 0, 0, 256,
1906 0, 51, 260, 0, 0, 0, 0, 618, 0, 0,
1907 7, 8, 9, 10, 78, 0, 78, 619, 78, 78,
1908 78, 0, 253, 256, 78, 364, 0, 620, 0, 78,
1909 621, 622, 78, 529, 0, 51, 0, 0, 18, 0,
1910 0, 0, 0, 0, 0, 0, 0, 0, 21, 78,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 0, 26, 0, 27, 28, 7, 8, 9, 10, 167,
1913 12, 13, 0, 0, 730, 0, 14, 473, 0, 0,
1914 0, 0, 0, 625, 625, 625, 0, 474, 0, 0,
1915 16, 0, 17, 18, 202, 32, 0, 0, 20, 0,
1916 475, 0, 0, 21, 0, 0, 253, 23, 0, 617,
1917 0, 0, 202, 202, 202, 0, 26, 0, 27, 28,
1918 0, 0, 483, 0, 0, 0, 0, 51, 51, 152,
1919 152, 152, 1151, 253, 0, 51, 0, 0, 0, 204,
1920 0, 202, 1152, 0, 0, 7, 8, 9, 10, 0,
1921 32, 13, 620, 0, 0, 1153, 622, 0, 1183, 1183,
1922 1183, 640, 0, 0, 0, 0, 260, 0, 0, 0,
1923 0, 0, 0, 18, 0, 7, 8, 9, 10, 0,
1924 256, 516, 0, 21, 0, 0, 7, 8, 9, 10,
1925 51, 0, 78, 0, 0, 51, 26, 0, 27, 28,
1926 0, 0, 0, 18, 0, 204, 0, 204, 0, 477,
1927 477, 477, 473, 21, 0, 204, 0, 0, 0, 0,
1928 204, 0, 474, 204, 21, 0, 26, 0, 27, 28,
1929 32, 78, 78, 78, 78, 475, 0, 26, 0, 27,
1930 28, 0, 193, 1415, 0, 51, 51, 0, 51, 0,
1931 0, 0, 194, 193, 0, 0, 0, 0, 0, 0,
1932 32, 0, 0, 194, 0, 195, 0, 0, 0, 0,
1933 0, 32, 256, 260, 0, 0, 195, 0, 78, 0,
1934 0, 0, 78, 0, 51, 51, 51, 0, 0, 78,
1935 78, 0, 78, 0, 0, 0, 7, 8, 9, 10,
1936 167, 12, 13, 0, 0, 0, 0, 14, 0, 0,
1937 0, 78, 0, 78, 0, 0, 0, 0, 78, 78,
1938 78, 16, 202, 17, 18, 19, 78, 0, 0, 20,
1939 0, 0, 0, 0, 21, 0, 0, 0, 23, 0,
1940 868, 168, 0, 0, 0, 0, 0, 26, 0, 27,
1941 28, 0, 0, 0, 625, 625, 0, 625, 0, 0,
1942 0, 0, 0, 30, 625, 0, 0, 0, 0, 0,
1943 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
1944 0, 32, 0, 204, 0, 0, 33, 0, 202, 0,
1945 202, 34, 202, 202, 202, 0, 0, 0, 202, 1183,
1946 0, 0, 0, 202, 0, 0, 202, 0, 7, 8,
1947 9, 10, 205, 12, 206, 0, 0, 0, 0, 14,
1948 0, 0, 947, 0, 947, 947, 0, 625, 0, 0,
1949 0, 0, 0, 16, 0, 17, 18, 0, 0, 0,
1950 0, 20, 0, 0, 0, 0, 21, 0, 0, 0,
1951 23, 0, 640, 0, 0, 0, 0, 0, 0, 26,
1952 0, 27, 28, 0, 0, 207, 0, 0, 0, 947,
1953 0, 0, 1183, 1183, 1183, 30, 0, 0, 0, 0,
1954 204, 204, 0, 204, 0, 31, 0, 0, 78, 78,
1955 78, 0, 0, 32, 0, 0, 51, 0, 33, 0,
1956 0, 0, 0, 0, 0, 0, 0, 0, 0, 204,
1957 0, 0, 0, 0, 0, 0, 0, 761, 0, 7,
1958 8, 762, 10, 167, 12, 13, 0, 0, 0, 0,
1959 14, 0, 0, 529, 529, 529, 0, 1185, 0, 0,
1960 0, 0, 0, 0, 16, 625, 17, 18, 19, 0,
1961 256, 260, 20, -524, 0, 0, 0, 21, 0, 0,
1962 0, 23, 763, 0, 168, 0, 202, 0, 78, 0,
1963 26, 0, 27, 28, 0, 0, 764, 0, 765, 0,
1964 0, 0, 0, 0, 0, 0, 30, 0, 7, 8,
1965 9, 10, 167, 12, 13, 0, 31, 997, 0, 14,
1966 0, 0, 78, 0, 32, 202, 0, 202, 202, 33,
1967 0, 0, 0, 16, 0, 17, 18, 0, 625, 0,
1968 625, 20, 0, 0, 0, -524, 21, 0, 0, 0,
1969 23, 625, 0, 0, 0, 625, 625, 625, 0, 26,
1970 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
1971 0, 0, 202, 0, 0, 30, 0, 0, 102, 0,
1972 0, 0, 0, 202, 202, 31, 202, 121, 102, 0,
1973 0, 0, 0, 32, 102, 102, 0, 102, 33, 947,
1974 947, 1156, 0, 0, 1345, 127, 128, 10, 0, 0,
1975 0, 0, 202, 0, 78, 78, 78, 78, 78, 0,
1976 0, 0, 78, 0, 0, 0, 0, 0, 0, 235,
1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 21, 0, 0, 1185, 1185, 1185, 1156, 7,
1979 8, 9, 10, 0, 0, 26, 0, 27, 28, 0,
1980 0, 0, 0, 1347, 0, 0, 0, 0, 0, 0,
1981 0, 30, 0, 0, 0, 0, 0, 78, 0, 204,
1982 0, 31, 78, 0, 0, 0, 0, 21, 388, 32,
1983 121, 0, 0, 0, 33, 0, 0, 102, 102, 0,
1984 26, 0, 27, 28, 102, 102, 0, 0, 102, 102,
1985 102, 0, 416, 102, 102, 102, 193, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 194, 0, 0, 0,
1987 0, 0, 78, 78, 32, 78, 0, 0, 0, 195,
1988 0, 0, 0, 0, 0, 256, 260, 256, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 868, 868, 0,
1990 868, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1991 0, 78, 78, 78, 0, 0, 0, 0, 0, 0,
1992 0, 0, 202, 202, 1154, 0, 0, 0, 0, 256,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 498, 102, 0, 0, 947, 947, 1156, 1156, 1156,
1995 0, 0, 0, 947, 0, 0, 0, 0, 0, 260,
1996 0, 0, 102, 0, 0, 0, 0, 0, 0, 0,
1997 0, 1154, 0, 0, 0, 0, 1156, 1156, 1156, 0,
1998 0, 0, 0, 7, 8, 9, 10, 214, 215, 216,
1999 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
2000 0, 102, 202, 0, 0, 0, 0, 0, 204, 0,
2001 0, 18, 0, 0, 0, 0, 20, 0, 0, 0,
2002 0, 21, 0, 483, 0, 23, 1185, 617, 0, 0,
2003 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
2005 943, 102, 102, 0, 0, 0, 0, 0, 0, 0,
2006 944, 0, 0, 947, 947, 0, 947, 0, 32, 0,
2007 620, 0, 0, 992, 622, 574, 575, 576, 577, 578,
2008 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
2009 589, 590, 0, 0, 0, 0, 102, 0, 0, 1185,
2010 1185, 1185, 204, 0, 204, 0, 0, 256, 0, 0,
2011 0, 0, 0, 0, 0, 102, 8, 9, 0, 167,
2012 12, 13, 102, 78, 730, 102, 14, 0, 202, 202,
2013 202, 202, 1154, 0, 1269, 0, 202, 102, 0, 0,
2014 16, 0, 17, 18, 0, 0, 0, 0, 20, 0,
2015 0, 0, 0, 0, 0, 0, 0, 23, 0, 1154,
2016 1154, 1154, 0, 0, 0, 0, 26, 0, 130, 131,
2017 0, 0, 0, 0, 720, 0, 820, 821, 822, 10,
2018 0, 12, 533, 301, 302, 0, 303, 14, 0, 0,
2019 0, 202, 0, 0, 0, 0, 0, 0, 0, 0,
2020 0, 16, 304, 17, 102, 19, 0, 305, 306, 20,
2021 0, 307, 308, 309, 21, 310, 311, 477, 23, 0,
2022 0, 0, 312, 313, 314, 315, 316, 26, 0, 823,
2023 824, 721, 102, 0, 319, 0, 0, 0, 0, 0,
2024 320, 0, 0, 321, 0, 0, 202, 202, 0, 202,
2025 0, 322, 323, 324, 0, 0, 0, 0, 0, 325,
2026 326, 327, 0, 0, 0, 0, 328, 825, 0, 0,
2027 0, 1449, 0, -477, -477, -477, -477, -477, -477, -477,
2028 0, 0, -477, 329, -477, 202, 0, 202, 0, 0,
2029 477, 477, 477, 0, 0, -477, 0, -477, 0, 0,
2030 0, -477, 0, 0, 0, 0, -477, 0, 102, 0,
2031 0, -477, 0, 0, 204, -477, 0, -477, 0, 102,
2032 102, 0, 102, 102, -477, 0, -477, -477, -477, -477,
2033 -477, 0, -477, -477, -477, -477, -477, -477, -477, -477,
2034 -477, -477, -477, -477, -477, -477, -477, -477, -477, -477,
2035 -477, -477, -477, -477, -477, 0, -477, -477, -477, 0,
2036 -477, -477, -477, -477, -477, -477, 0, -477, 0, 0,
2037 0, 0, 1450, 0, 0, 102, 0, -477, -477, -477,
2038 0, -477, 102, 121, 0, 0, 0, 0, 0, 0,
2039 0, 0, 0, 0, 235, 0, 0, 0, 0, 551,
2040 1154, 299, 8, 9, 10, 167, 12, 300, 301, 302,
2041 730, 303, 14, 0, 0, 0, 0, 0, 977, 0,
2042 0, 0, 0, 0, 0, 0, 16, 304, 17, 18,
2043 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
2044 310, 311, 0, 23, 0, 617, 0, 312, 313, 314,
2045 315, 316, 26, 0, 27, 318, -310, 0, 0, 319,
2046 0, 0, 0, 0, 977, 320, 0, 102, 899, 0,
2047 0, 0, 0, 1154, 1154, 1154, 322, 323, 900, 0,
2048 0, 0, 0, 0, 325, 326, 327, 0, 620, 0,
2049 0, 901, 622, 0, 0, 0, 0, 202, 0, 0,
2050 0, 102, 102, 102, 0, 0, 0, 0, 329, 0,
2051 0, 0, 0, 102, 0, 1423, 0, 1280, 1281, 1282,
2052 10, 167, 12, 300, 301, 302, 0, 303, 14, 1283,
2053 0, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
2054 1293, 15, 16, 304, 17, 18, 19, 0, 305, 306,
2055 20, 0, 307, 308, 309, 21, 310, 311, 1294, 23,
2056 1295, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2057 1296, 318, 717, 0, 1297, 319, 0, 0, 0, 0,
2058 0, 320, 0, 0, 321, 0, 102, 0, 102, 0,
2059 0, 0, 322, 323, 324, 0, 0, 0, 0, 102,
2060 325, 326, 327, 0, 0, 0, 0, 328, 0, 1298,
2061 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
2062 588, 589, 590, 1424, 329, 0, 1279, 0, 1280, 1281,
2063 1282, 10, 167, 12, 300, 301, 302, 0, 303, 14,
2064 1283, 0, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291,
2065 1292, 1293, 15, 16, 304, 17, 18, 19, 0, 305,
2066 306, 20, 0, 307, 308, 309, 21, 310, 311, 1294,
2067 23, 1295, 0, 0, 312, 313, 314, 315, 316, 26,
2068 0, 1296, 318, 717, 977, 1297, 319, 0, 0, 0,
2069 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
2070 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2071 0, 325, 326, 327, 0, 0, 0, 0, 328, 0,
2072 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2073 0, 0, 0, 0, 551, 329, 7, 8, 9, 10,
2074 167, 12, 300, 301, 302, 730, 303, 14, 0, 102,
2075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2076 0, 16, 304, 17, 18, 19, 0, 305, 306, 20,
2077 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
2078 617, 0, 312, 313, 314, 315, 316, 26, 0, 27,
2079 28, -310, 0, 0, 319, 0, 0, 0, 0, 0,
2080 320, 0, 0, 1180, 0, 102, 102, 0, 102, 0,
2081 0, 322, 323, 1181, 0, 0, 0, 0, 0, 325,
2082 326, 327, 0, 620, 0, 0, 1182, 622, 576, 577,
2083 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
2084 588, 589, 590, 329, 0, 729, 0, 299, 8, 9,
2085 10, 167, 12, 300, 301, 302, 730, 303, 14, 0,
2086 0, 0, 0, 0, 0, 0, 0, 0, 977, 0,
2087 0, 0, 16, 304, 17, 18, 19, 0, 305, 306,
2088 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
2089 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2090 27, 318, 0, 0, 977, 319, 0, 0, 0, 0,
2091 0, 320, 0, 0, 321, 0, 0, 0, 0, 102,
2092 0, 102, 322, 323, 324, 0, 0, 0, 0, 0,
2093 325, 326, 327, 0, 0, 0, 720, 328, 820, 821,
2094 822, 10, 0, 12, 533, 301, 302, 0, 303, 14,
2095 0, 0, -797, 0, 329, 0, 0, 0, 0, 0,
2096 0, 0, 0, 16, 304, 17, 0, 19, 0, 305,
2097 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
2098 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
2099 0, 823, 824, 721, 0, 0, 319, 0, 0, 0,
2100 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
2101 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2102 0, 325, 326, 327, 0, 0, 0, 0, 328, 825,
2103 0, 0, 0, 0, 0, 977, 0, 0, 0, 0,
2104 0, 0, 0, 0, 984, 329, 551, 0, 299, 8,
2105 9, 10, 0, 12, 300, 301, 302, 0, 303, 14,
2106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2107 0, 0, 0, 16, 304, 17, 18, 19, 0, 305,
2108 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
2109 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
2110 0, 27, 318, -310, 0, 0, 319, 0, 0, 0,
2111 0, 0, 320, 0, 0, 552, 0, 0, 0, 0,
2112 0, 0, 0, 322, 323, 553, 0, 0, 0, 0,
2113 0, 325, 326, 327, 0, 0, 0, 720, 554, 820,
2114 821, 822, 10, 0, 12, 533, 301, 302, 0, 303,
2115 14, 0, 0, 0, 0, 329, 0, 0, 0, 0,
2116 0, 0, 0, 0, 16, 304, 17, 0, 19, 0,
2117 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2118 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
2119 26, 0, 823, 824, 721, 0, 0, 319, 0, 0,
2120 0, 0, 0, 320, 0, 0, 321, 0, 0, 0,
2121 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2122 0, 0, 325, 326, 327, 0, 0, 0, 720, 328,
2123 820, 821, 822, 10, 0, 12, 533, 301, 302, 0,
2124 303, 14, 0, 0, 0, -481, 329, 0, 0, 0,
2125 0, 0, 0, 0, 0, 16, 304, 17, 0, 19,
2126 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
2127 311, 0, 23, 0, 0, 0, 312, 313, 314, 315,
2128 316, 26, 0, 823, 824, 721, 0, 0, 319, 0,
2129 0, 0, 0, 0, 320, 0, 0, 321, 0, 0,
2130 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2131 0, 0, 0, 325, 326, 327, 0, 0, 0, 720,
2132 328, 299, 8, 9, 10, 0, 12, 533, 301, 302,
2133 0, 303, 14, 0, 0, 0, 1318, 329, 0, 0,
2134 0, 0, 0, 0, 0, 0, 16, 304, 17, 0,
2135 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
2136 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
2137 315, 316, 26, 0, 27, 318, 721, 0, 0, 319,
2138 0, 0, 0, 0, 0, 320, 0, 0, 321, 0,
2139 0, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2140 0, 0, 0, 0, 325, 326, 327, 0, 0, 0,
2141 0, 328, 0, 551, 0, 7, 8, 9, 10, 1322,
2142 12, 300, 301, 302, 0, 303, 14, 0, 329, 0,
2143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2144 16, 304, 17, 18, 19, 0, 305, 306, 20, 0,
2145 307, 308, 309, 21, 310, 311, 0, 23, 0, 0,
2146 0, 312, 313, 314, 315, 316, 26, 0, 27, 28,
2147 -310, 0, 0, 319, 0, 0, 0, 0, 0, 320,
2148 0, 0, 1494, 0, 0, 0, 0, 0, 0, 0,
2149 322, 323, 1495, 0, 0, 0, 0, 0, 325, 326,
2150 327, 0, 0, 0, 720, 1496, 299, 8, 9, 10,
2151 0, 12, 533, 301, 302, 0, 303, 14, 0, 0,
2152 0, 0, 329, 0, 0, 0, 0, 0, 0, 0,
2153 0, 16, 304, 17, 0, 19, 0, 305, 306, 20,
2154 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
2155 0, 0, 312, 313, 314, 315, 316, 26, 0, 27,
2156 318, 721, 0, 0, 319, 0, 0, 0, 0, 0,
2157 320, 0, 0, 321, 0, 0, 0, 0, 0, 0,
2158 0, 322, 323, 324, 0, 0, 0, 0, 0, 325,
2159 326, 327, 0, 0, 0, 832, 328, 299, 8, 9,
2160 10, 0, 12, 533, 301, 302, 0, 303, 14, 0,
2161 0, 0, 0, 329, 0, 0, 0, 0, 0, 0,
2162 0, 0, 16, 304, 17, 0, 19, 0, 305, 306,
2163 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
2164 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2165 27, 318, 0, 0, 0, 319, -787, 0, 0, 0,
2166 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
2167 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
2168 325, 326, 327, 0, 0, 0, 1575, 328, 299, 8,
2169 9, 10, 0, 12, 300, 301, 302, 0, 303, 14,
2170 0, 0, 0, 0, 329, 0, 0, 0, 0, 0,
2171 0, 0, 0, 16, 304, 17, 0, 19, 0, 305,
2172 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
2173 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
2174 0, 27, 318, 0, 0, -194, 319, 0, 0, 0,
2175 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
2176 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2177 0, 325, 326, 327, 0, 0, 0, 832, 328, 299,
2178 8, 9, 10, 0, 12, 533, 301, 302, 0, 303,
2179 14, 0, 0, 0, 0, 329, 0, 0, 0, 0,
2180 0, 0, 0, 0, 16, 304, 17, 0, 19, 0,
2181 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2182 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
2183 26, 0, 27, 318, 0, 0, 0, 319, 0, 0,
2184 0, 0, 0, 320, 262, 0, 321, 8, 9, 0,
2185 0, 12, 13, 0, 322, 323, 324, 14, 0, 0,
2186 0, 0, 325, 326, 327, 0, 0, 0, 0, 328,
2187 0, 16, 0, 17, 0, 0, 0, 0, 0, 20,
2188 0, 263, 264, 0, -787, 0, 329, 0, 23, 0,
2189 265, 0, 0, 0, 0, 0, 0, 26, 0, 130,
2190 131, 0, 266, 0, 0, 0, 267, 268, 269, 270,
2191 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
2192 281, 282, 283, 284, 285, 286, 287, 0, 0, 288,
2193 289, 290, 0, 0, 291, 0, 921, 292, 299, 8,
2194 9, 10, 0, 12, 533, 301, 302, 0, 303, 14,
2195 0, 0, 0, 293, 0, 0, 0, 0, 0, 0,
2196 0, 0, 0, 16, 304, 17, 0, 19, 0, 305,
2197 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
2198 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
2199 0, 27, 318, 0, 0, 0, 319, 0, 0, 0,
2200 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
2201 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2202 0, 325, 326, 327, 0, 0, 0, 923, 328, 299,
2203 8, 9, 10, 0, 12, 533, 301, 302, 0, 303,
2204 14, 0, 0, 0, 0, 329, 0, 0, 0, 0,
2205 0, 0, 0, 0, 16, 304, 17, 0, 19, 0,
2206 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2207 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
2208 26, 0, 27, 318, 0, 0, 0, 319, 0, 0,
2209 0, 0, 0, 320, 0, 0, 321, 0, 0, 0,
2210 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2211 0, 0, 325, 326, 327, 0, 0, 0, 1507, 328,
2212 299, 8, 9, 10, 0, 12, 533, 301, 302, 0,
2213 303, 14, 0, 0, 0, 0, 329, 0, 0, 0,
2214 0, 0, 0, 0, 0, 16, 304, 17, 0, 19,
2215 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
2216 311, 0, 23, 0, 0, 0, 312, 313, 314, 315,
2217 316, 26, 0, 27, 318, 0, 0, 0, 319, 0,
2218 0, 0, 0, 0, 320, 0, 0, 321, 0, 0,
2219 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2220 0, 0, 0, 325, 326, 327, 299, 8, 9, 10,
2221 328, 12, 533, 301, 302, 0, 303, 14, 0, 0,
2222 0, 0, 0, 0, 0, 0, 0, 329, 0, 0,
2223 0, 16, 304, 17, 0, 19, 0, 305, 306, 20,
2224 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
2225 0, 0, 312, 313, 314, 315, 316, 26, 0, 27,
2226 318, 0, 0, 0, 319, 0, 0, 0, 0, 0,
2227 320, 0, 761, 321, 7, 8, 762, 10, 167, 12,
2228 13, 322, 323, 324, 0, 14, 0, 0, 0, 325,
2229 326, 327, 0, 0, 0, 0, 328, 0, 0, 16,
2230 0, 17, 18, 19, 0, 0, 0, 20, -525, 0,
2231 0, 0, 21, 329, 871, 0, 23, 763, 0, 168,
2232 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2233 0, 764, 0, 765, 0, 0, 0, 0, 0, 0,
2234 0, 30, 761, 0, 7, 8, 762, 10, 167, 12,
2235 13, 31, 0, 0, 0, 14, 0, 0, 0, 32,
2236 0, 0, 0, 0, 33, 0, 0, 0, 0, 16,
2237 0, 17, 18, 19, 0, 0, 0, 20, -527, 0,
2238 -525, 0, 21, 0, 0, 0, 23, 763, 0, 168,
2239 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2240 0, 764, 0, 765, 0, 0, 0, 0, 0, 0,
2241 0, 30, 761, 0, 7, 8, 762, 10, 167, 12,
2242 13, 31, 0, 0, 0, 14, 0, 0, 0, 32,
2243 0, 0, 0, 0, 33, 0, 0, 0, 0, 16,
2244 0, 17, 18, 19, 0, 0, 0, 20, -526, 0,
2245 -527, 0, 21, 0, 0, 0, 23, 763, 0, 168,
2246 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2247 0, 764, 0, 765, 0, 0, 0, 0, 0, 0,
2248 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
2249 0, 31, 0, 0, 0, 0, 0, 0, 0, 32,
2250 0, 0, 0, 0, 33, 0, 0, 1280, 1281, 1282,
2251 10, 167, 12, 300, 301, 302, 0, 303, 14, 1283,
2252 -526, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
2253 1293, 15, 16, 304, 17, 18, 19, 0, 305, 306,
2254 20, 0, 307, 308, 309, 21, 310, 311, 1294, 23,
2255 1295, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2256 1296, 318, 717, 0, 1297, 319, 0, 0, 0, 0,
2257 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
2258 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
2259 325, 326, 327, 0, 0, 0, 0, 328, 0, 1298,
2260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2261 0, 0, 0, 1428, 329, 1280, 1281, 1282, 10, 167,
2262 12, 300, 301, 302, 0, 303, 14, 1283, 0, 1284,
2263 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 15,
2264 16, 304, 17, 18, 19, 0, 305, 306, 20, 0,
2265 307, 308, 309, 21, 310, 311, 1294, 23, 1295, 0,
2266 0, 312, 313, 314, 315, 316, 26, 0, 1296, 318,
2267 717, 0, 1297, 319, 0, 0, 0, 0, 0, 320,
2268 0, 0, 321, 0, 0, 0, 0, 0, 0, 0,
2269 322, 323, 324, 0, 0, 0, 0, 0, 325, 326,
2270 327, 0, 0, 0, 0, 328, 0, 1298, 0, 1280,
2271 1281, 1282, 10, 167, 12, 300, 301, 302, 0, 303,
2272 14, 1283, 329, 1284, 1285, 1286, 1287, 1288, 1289, 1290,
2273 1291, 1292, 1293, 15, 16, 304, 17, 18, 19, 0,
2274 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2275 1294, 23, 1295, 0, 0, 312, 313, 314, 315, 316,
2276 26, 0, 1296, 318, 1552, 0, 1297, 319, 0, 0,
2277 0, 0, 0, 320, 0, 0, 321, 0, 0, 0,
2278 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2279 0, 0, 325, 326, 327, 0, 0, 0, 0, 328,
2280 0, 1298, 0, 1280, 1281, 1282, 10, 167, 12, 300,
2281 301, 302, 0, 303, 14, 1283, 329, 1284, 1285, 1286,
2282 1287, 1288, 1289, 1290, 1291, 1292, 1293, 15, 16, 304,
2283 17, 18, 19, 0, 305, 306, 20, 0, 307, 308,
2284 309, 21, 310, 311, 1294, 23, 1295, 0, 0, 312,
2285 313, 314, 315, 316, 26, 0, 1296, 318, 0, 0,
2286 1297, 319, 0, 0, 0, 0, 0, 320, 0, 0,
2287 321, 0, 0, 0, 0, 0, 0, 0, 322, 323,
2288 324, 0, 0, 0, 0, 0, 325, 326, 327, 0,
2289 0, 0, 0, 328, 0, 1298, 299, 8, 9, 10,
2290 167, 12, 300, 301, 302, 730, 303, 14, 0, 0,
2291 329, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2292 0, 16, 304, 17, 18, 19, 0, 305, 306, 20,
2293 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
2294 617, 0, 312, 313, 314, 315, 316, 26, 0, 27,
2295 318, 0, 0, 0, 319, 0, 0, 0, 0, 0,
2296 320, 0, 0, 899, 0, 0, 0, 0, 0, 0,
2297 0, 322, 323, 900, 0, 0, 0, 0, 0, 325,
2298 326, 327, 0, 620, 0, 0, 901, 622, 7, 8,
2299 9, 10, 167, 12, 300, 301, 302, 730, 303, 14,
2300 0, 0, 0, 329, 0, 0, 0, 0, 0, 0,
2301 0, 0, 0, 16, 304, 17, 18, 19, 0, 305,
2302 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
2303 23, 0, 617, 0, 312, 313, 314, 315, 316, 26,
2304 0, 27, 28, 0, 0, 0, 319, 0, 0, 0,
2305 0, 0, 320, 0, 0, 1180, 0, 0, 0, 0,
2306 0, 0, 0, 322, 323, 1181, 0, 0, 0, 0,
2307 0, 325, 326, 327, 0, 620, 0, 0, 1182, 622,
2308 299, 8, 9, 10, 0, 12, 300, 301, 302, 0,
2309 303, 14, 0, 0, 0, 329, 0, 0, 0, 0,
2310 0, 0, 0, 0, 0, 16, 304, 17, 18, 19,
2311 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
2312 311, 0, 23, 0, 617, 0, 312, 313, 314, 315,
2313 316, 26, 0, 27, 318, 0, 0, 0, 0, 0,
2314 0, 0, 0, 0, 320, 0, 0, 899, 0, 0,
2315 0, 0, 0, 0, 0, 322, 323, 900, 0, 0,
2316 0, 0, 0, 325, 326, 327, 0, 620, 0, 0,
2317 901, 622, 7, 8, 9, 10, 0, 12, 300, 301,
2318 302, 0, 303, 14, 0, 0, 0, 329, 0, 0,
2319 0, 0, 0, 0, 0, 0, 0, 16, 304, 17,
2320 18, 19, 0, 305, 306, 20, 0, 307, 308, 309,
2321 21, 310, 311, 0, 23, 0, 617, 0, 312, 313,
2322 314, 315, 316, 26, 0, 27, 28, 0, 0, 0,
2323 0, 0, 0, 0, 0, 0, 320, 0, 0, 1180,
2324 0, 0, 0, 0, 0, 0, 0, 322, 323, 1181,
2325 0, 0, 0, 0, 0, 325, 326, 327, 0, 620,
2326 0, 0, 1182, 622, 299, 8, 9, 10, 0, 12,
2327 533, 301, 302, 0, 303, 14, 0, 0, 0, 329,
2328 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2329 304, 17, 18, 19, 0, 305, 306, 20, 0, 307,
2330 308, 309, 21, 310, 311, 0, 23, 0, 0, 0,
2331 312, 313, 314, 315, 316, 26, 0, 27, 318, 0,
2332 0, 0, 319, 0, 0, 0, 0, 0, 320, 0,
2333 0, 552, 0, 0, 0, 0, 0, 0, 0, 322,
2334 323, 553, 0, 0, 0, 0, 0, 325, 326, 327,
2335 299, 8, 9, 10, 554, 12, 533, 301, 302, 0,
2336 303, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2337 0, 329, 0, 0, 0, 16, 304, 17, 0, 19,
2338 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
2339 311, 0, 23, 0, 0, 0, 312, 313, 314, 315,
2340 316, 26, 0, 27, 318, 0, 0, 1401, 319, 0,
2341 0, 0, 0, 0, 320, 0, 0, 321, 0, 0,
2342 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2343 0, 0, 0, 325, 326, 327, 0, 0, 0, 0,
2344 328, 299, 8, 9, 10, 167, 12, 300, 301, 302,
2345 0, 303, 14, 0, 0, 0, 0, 329, 0, 0,
2346 0, 0, 0, 0, 0, 0, 16, 304, 17, 18,
2347 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
2348 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
2349 315, 316, 26, 0, 27, 318, 0, 0, 0, 0,
2350 0, 0, 0, 0, 0, 320, 0, 0, 321, 0,
2351 0, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2352 0, 0, 0, 0, 325, 326, 327, 7, 8, 9,
2353 10, 328, 12, 533, 301, 302, 0, 303, 14, 0,
2354 0, 0, 0, 0, 0, 0, 0, 0, 329, 0,
2355 0, 0, 16, 304, 17, 18, 19, 0, 305, 306,
2356 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
2357 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2358 27, 28, 0, 0, 0, 319, 0, 0, 0, 0,
2359 0, 320, 0, 0, 1494, 0, 0, 0, 0, 0,
2360 0, 0, 322, 323, 1495, 0, 0, 0, 0, 0,
2361 325, 326, 327, 299, 8, 9, 10, 1496, 12, 300,
2362 301, 302, 0, 303, 14, 0, 0, 0, 0, 0,
2363 0, 0, 0, 0, 329, 0, 0, 0, 16, 304,
2364 17, 0, 19, 0, 305, 306, 20, 0, 307, 308,
2365 309, 21, 310, 311, 0, 23, 0, 0, 0, 312,
2366 313, 314, 315, 316, 26, 0, 317, 318, 0, 0,
2367 0, 319, 0, 0, 0, 0, 0, 320, 0, 0,
2368 321, 0, 0, 0, 0, 0, 0, 0, 322, 323,
2369 324, 0, 0, 0, 0, 0, 325, 326, 327, 299,
2370 8, 9, 10, 328, 12, 300, 301, 302, 0, 303,
2371 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2372 329, 0, 0, 0, 16, 304, 17, 0, 19, 0,
2373 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2374 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
2375 26, 0, 27, 318, 0, 0, 0, 319, 0, 0,
2376 0, 0, 0, 320, 0, 0, 321, 0, 0, 0,
2377 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2378 0, 0, 325, 326, 327, 299, 8, 9, 10, 328,
2379 12, 533, 301, 302, 0, 303, 14, 0, 0, 0,
2380 0, 0, 0, 0, 0, 0, 329, 0, 0, 0,
2381 16, 304, 17, 0, 19, 0, 305, 306, 20, 0,
2382 307, 308, 309, 21, 310, 311, 0, 23, 0, 0,
2383 0, 312, 313, 314, 315, 316, 26, 0, 27, 318,
2384 0, 0, 0, 319, 0, 0, 0, 0, 0, 320,
2385 0, 0, 321, 0, 0, 0, 0, 0, 0, 0,
2386 322, 323, 324, 0, 0, 0, 0, 0, 325, 326,
2387 327, 299, 8, 9, 10, 328, 12, 533, 301, 302,
2388 0, 303, 14, 0, 0, 0, 0, 0, 0, 0,
2389 0, 0, 329, 0, 0, 0, 16, 304, 17, 0,
2390 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
2391 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
2392 315, 316, 26, 0, 27, 318, 566, 0, 0, 0,
2393 0, 0, 0, 0, 0, 320, 0, 0, 321, 0,
2394 0, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2395 0, 0, 0, 0, 325, 326, 327, 299, 8, 9,
2396 10, 567, 12, 533, 301, 302, 0, 303, 14, 0,
2397 0, 0, 0, 0, 0, 0, 0, 0, 329, 0,
2398 0, 0, 16, 304, 17, 0, 19, 0, 305, 306,
2399 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
2400 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2401 27, 318, 0, 0, 0, 0, 0, 0, 0, 0,
2402 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
2403 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
2404 325, 326, 327, 0, 0, 0, 0, 328, 605, 299,
2405 8, 9, 10, 0, 12, 533, 301, 302, 0, 303,
2406 14, 0, 0, 0, 329, 0, 0, 0, 0, 0,
2407 0, 0, 0, 0, 16, 304, 17, 18, 19, 0,
2408 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2409 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
2410 26, 0, 27, 318, 0, 0, 0, 0, 0, 0,
2411 0, 0, 0, 320, 0, 0, 552, 0, 0, 0,
2412 0, 0, 0, 0, 322, 323, 553, 0, 0, 0,
2413 0, 0, 325, 326, 327, 1140, 8, 9, 10, 554,
2414 12, 533, 301, 302, 0, 303, 14, 0, 0, 0,
2415 0, 0, 0, 0, 0, 0, 329, 0, 0, 0,
2416 16, 304, 17, 0, 19, 0, 305, 306, 20, 0,
2417 307, 308, 309, 21, 310, 311, 0, 23, 0, 0,
2418 0, 312, 313, 314, 315, 316, 26, 0, 27, 318,
2419 0, 0, 0, 319, 0, 0, 0, 0, 0, 320,
2420 0, 0, 321, 0, 0, 0, 0, 0, 0, 0,
2421 322, 323, 324, 0, 0, 0, 0, 0, 325, 326,
2422 327, 7, 8, 9, 10, 328, 12, 300, 301, 302,
2423 0, 303, 14, 0, 0, 0, 0, 0, 0, 0,
2424 0, 0, 329, 0, 0, 0, 16, 304, 17, 18,
2425 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
2426 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
2427 315, 316, 26, 0, 27, 28, 0, 0, 0, 0,
2428 0, 0, 0, 0, 0, 320, 0, 0, 1494, 0,
2429 0, 0, 0, 0, 0, 0, 322, 323, 1495, 0,
2430 0, 0, 0, 0, 325, 326, 327, 299, 8, 9,
2431 10, 1496, 12, 533, 301, 302, 0, 303, 14, 0,
2432 0, 0, 0, 0, 0, 0, 0, 0, 329, 0,
2433 0, 0, 16, 304, 17, 0, 19, 0, 305, 306,
2434 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
2435 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2436 27, 318, 0, 0, 0, 0, 0, 0, 0, 0,
2437 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
2438 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
2439 325, 326, 327, 299, 8, 9, 10, 534, 12, 533,
2440 301, 302, 0, 303, 14, 0, 0, 0, 0, 0,
2441 0, 0, 0, 0, 329, 0, 0, 0, 16, 304,
2442 17, 0, 19, 0, 305, 306, 20, 0, 307, 308,
2443 309, 21, 310, 311, 0, 23, 0, 0, 0, 312,
2444 313, 314, 315, 316, 26, 0, 27, 318, 0, 0,
2445 0, 0, 0, 0, 0, 0, 0, 320, 0, 0,
2446 321, 0, 0, 0, 0, 0, 0, 0, 322, 323,
2447 324, 0, 0, 0, 0, 0, 325, 326, 327, 299,
2448 8, 9, 10, 537, 12, 533, 301, 302, 0, 303,
2449 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2450 329, 0, 0, 0, 16, 304, 17, 0, 19, 0,
2451 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2452 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
2453 26, 0, 27, 318, 0, 0, 0, 0, 0, 0,
2454 0, 0, 0, 320, 0, 6, 321, 7, 8, 9,
2455 10, 11, 12, 13, 322, 323, 324, 0, 14, 0,
2456 0, 0, 325, 326, 327, 0, 0, 0, 0, 328,
2457 0, 15, 16, 0, 17, 18, 19, 0, 0, 0,
2458 20, 0, 0, 0, 0, 21, 329, 0, 22, 23,
2459 24, 0, 25, 0, 0, 0, 0, 0, 26, 0,
2460 27, 28, 0, 0, 29, 0, 0, 0, 0, 0,
2461 0, 0, 0, 0, 30, 0, 0, 0, 0, 0,
2462 0, 0, 0, 761, 31, 7, 8, 762, 10, 167,
2463 12, 13, 32, 0, 0, 0, 14, 33, 0, 0,
2464 0, 0, 34, 0, 0, 0, 0, 0, 0, 0,
2465 16, 0, 17, 18, 19, 0, 0, 0, 20, 0,
2466 0, 0, 0, 21, 0, 0, 0, 23, 763, 0,
2467 168, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2468 0, 0, 764, 0, 765, 0, 0, 0, 0, 0,
2469 0, 0, 30, 1033, 8, 762, 10, 205, 12, 206,
2470 0, 0, 31, 0, 14, 0, 0, 0, 0, 0,
2471 32, 0, 0, 0, 0, 33, 0, 0, 16, 0,
2472 17, 18, 0, 0, 0, 0, 20, 0, 0, 0,
2473 0, 21, 0, 0, 0, 23, 0, 0, 0, 0,
2474 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
2475 0, 0, 1035, 0, 0, 0, 0, 0, 0, 0,
2476 30, 7, 8, 9, 10, 205, 12, 206, 0, 0,
2477 31, 0, 14, 0, 0, 0, 0, 0, 32, 0,
2478 0, 0, 0, 33, 0, 0, 16, 0, 17, 18,
2479 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
2480 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
2481 0, 0, 26, 0, 27, 28, 0, 0, 1418, 0,
2482 7, 8, 9, 10, 167, 12, 13, 0, 30, 0,
2483 0, 14, 0, 0, 0, 0, 0, 0, 31, 0,
2484 0, 0, 0, 0, 0, 16, 32, 17, 18, 0,
2485 0, 33, 0, 20, 0, 0, 0, 0, 21, 0,
2486 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
2487 0, 26, 0, 27, 28, 7, 8, 9, 10, 205,
2488 12, 206, 0, 0, 0, 0, 14, 30, 0, 0,
2489 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
2490 16, 0, 17, 18, 0, 32, 0, 0, 20, 0,
2491 33, 0, 0, 21, 0, 0, 0, 23, 0, 0,
2492 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2493 8, 9, 0, 167, 12, 13, 0, 0, 0, 0,
2494 14, 0, 30, 8, 9, 0, 167, 12, 13, 0,
2495 0, 1546, 31, 14, 16, 0, 17, 18, 0, 0,
2496 32, 0, 20, 0, 0, 33, 0, 16, 0, 17,
2497 18, 679, 0, 0, 168, 20, 0, 0, 0, 0,
2498 26, 0, 130, 131, 23, 0, 0, 8, 9, 0,
2499 205, 12, 206, 26, 0, 130, 131, 14, 0, 0,
2500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2501 0, 16, 0, 17, 18, 0, 0, 0, 0, 20,
2502 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
2503 0, 0, 0, 0, 0, 0, 0, 26, 0, 130,
2504 131, 569, 570, 571, 572, 573, 574, 575, 576, 577,
2505 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
2506 588, 589, 590, 569, 570, 571, 572, 573, 574, 575,
2507 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
2508 586, 587, 588, 589, 590, 0, 0, 0, 0, 1233,
2509 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2510 587, 588, 589, 590, 658, 0, 0, 1542, 569, 570,
2511 571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
2512 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
2513 1560, 569, 570, 571, 572, 573, 574, 575, 576, 577,
2514 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
2515 588, 589, 590, 569, 570, 571, 572, 573, 574, 575,
2516 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
2517 586, 587, 588, 589, 590, 569, 570, 571, 572, 573,
2518 574, 575, 576, 577, 578, 579, 580, 0, 582, 583,
2519 584, 585, 586, 587, 588, 589, 590
2520 };
2521
2522 static const short yycheck[] = { 4,
2523 161, 174, 149, 150, 23, 209, 176, 175, 4, 715,
2524 4, 126, 354, 4, 401, 459, 156, 250, 401, 348,
2525 303, 304, 621, 354, 80, 80, 90, 481, 92, 628,
2526 35, 4, 714, 501, 134, 46, 401, 42, 33, 35,
2527 84, 35, 246, 860, 35, 564, 42, 133, 134, 33,
2528 372, 42, 57, 336, 14, 42, 601, 30, 31, 439,
2529 690, 4, 35, 209, 42, 76, 133, 72, 766, 42,
2530 768, 124, 218, 137, 1383, 1475, 1, 775, 760, 84,
2531 1476, 33, 697, 88, 54, 90, 4, 92, 1299, 144,
2532 1309, 295, 35, 12, 217, 218, 57, 1316, 42, 42,
2533 42, 1477, 107, 108, 55, 1204, 1205, 11, 644, 9,
2534 33, 84, 7, 47, 93, 1, 62, 35, 1499, 1218,
2535 1520, 354, 11, 83, 42, 0, 11, 62, 0, 454,
2536 64, 136, 137, 58, 139, 489, 37, 62, 1519, 74,
2537 59, 84, 37, 62, 348, 136, 106, 27, 203, 54,
2538 74, 31, 4, 507, 149, 150, 151, 62, 62, 93,
2539 165, 61, 698, 136, 169, 149, 150, 151, 622, 60,
2540 95, 176, 58, 169, 165, 136, 149, 150, 169, 1,
2541 60, 1557, 169, 35, 64, 155, 109, 165, 80, 108,
2542 42, 169, 165, 136, 140, 59, 169, 1578, 150, 151,
2543 195, 25, 213, 784, 108, 261, 1602, 536, 109, 790,
2544 156, 195, 104, 59, 47, 176, 1523, 1617, 109, 108,
2545 193, 194, 165, 108, 175, 169, 169, 169, 60, 109,
2546 200, 59, 58, 558, 58, 27, 58, 47, 62, 31,
2547 62, 133, 47, 195, 108, 1344, 59, 59, 25, 74,
2548 27, 169, 144, 1562, 1353, 1354, 54, 1356, 47, 345,
2549 93, 1480, 42, 109, 1571, 1476, 212, 59, 60, 59,
2550 60, 95, 98, 95, 220, 108, 74, 109, 345, 59,
2551 108, 58, 47, 93, 136, 62, 447, 247, 93, 94,
2552 236, 296, 392, 357, 48, 108, 108, 341, 913, 641,
2553 60, 916, 901, 108, 93, 355, 356, 60, 938, 47,
2554 1529, 203, 54, 165, 859, 680, 897, 169, 95, 108,
2555 3, 4, 5, 328, 93, 12, 473, 474, 93, 709,
2556 710, 384, 74, 3, 4, 5, 341, 7, 8, 9,
2557 486, 58, 957, 958, 349, 237, 945, 64, 670, 109,
2558 737, 4, 357, 358, 737, 93, 109, 407, 408, 1057,
2559 1579, 31, 485, 486, 47, 93, 36, 358, 341, 261,
2560 493, 54, 59, 56, 57, 62, 328, 610, 3, 4,
2561 5, 47, 35, 506, 54, 358, 56, 57, 58, 169,
2562 44, 716, 38, 992, 354, 12, 401, 358, 341, 404,
2563 54, 59, 525, 57, 733, 401, 1505, 1506, 54, 74,
2564 93, 3, 4, 5, 6, 358, 74, 75, 862, 77,
2565 3, 4, 5, 942, 47, 1242, 4, 93, 401, 209,
2566 74, 56, 57, 103, 104, 105, 441, 217, 218, 1020,
2567 47, 64, 59, 93, 898, 62, 47, 64, 504, 41,
2568 441, 1032, 403, 59, 441, 80, 48, 35, 401, 4,
2569 5, 353, 467, 441, 56, 57, 246, 531, 441, 75,
2570 93, 107, 108, 56, 57, 58, 428, 429, 473, 474,
2571 475, 60, 1164, 4, 495, 1066, 93, 1068, 80, 473,
2572 474, 475, 93, 94, 467, 47, 88, 107, 441, 504,
2573 473, 474, 25, 449, 47, 54, 358, 108, 54, 54,
2574 54, 56, 57, 504, 35, 295, 1131, 1132, 1200, 411,
2575 4, 5, 474, 475, 467, 74, 531, 4, 5, 534,
2576 74, 504, 537, 59, 60, 708, 541, 542, 543, 544,
2577 545, 93, 1010, 504, 1012, 47, 492, 60, 1016, 554,
2578 93, 94, 939, 31, 1153, 1372, 939, 62, 602, 564,
2579 47, 504, 567, 62, 48, 907, 58, 47, 348, 74,
2580 62, 671, 56, 57, 939, 74, 907, 54, 678, 56,
2581 57, 47, 534, 1182, 64, 537, 504, 4, 5, 441,
2582 58, 93, 678, 70, 54, 645, 80, 602, 8, 9,
2583 74, 553, 554, 80, 14, 809, 93, 94, 500, 673,
2584 25, 47, 27, 93, 94, 567, 621, 94, 109, 12,
2585 903, 108, 93, 628, 47, 405, 36, 93, 94, 602,
2586 54, 48, 755, 47, 27, 45, 528, 47, 31, 56,
2587 57, 1085, 1086, 58, 75, 618, 619, 62, 621, 1331,
2588 74, 1105, 504, 47, 47, 628, 981, 93, 94, 602,
2589 679, 441, 58, 80, 4, 5, 59, 60, 673, 62,
2590 93, 64, 632, 54, 907, 62, 628, 54, 621, 93,
2591 95, 62, 687, 93, 54, 628, 691, 74, 3, 4,
2592 5, 54, 328, 74, 54, 714, 647, 74, 11, 93,
2593 93, 94, 4, 5, 108, 485, 486, 9, 48, 108,
2594 766, 47, 768, 493, 47, 108, 56, 57, 774, 775,
2595 47, 785, 786, 615, 788, 781, 506, 54, 47, 1197,
2596 1198, 1199, 737, 48, 1178, 686, 94, 688, 689, 631,
2597 80, 56, 57, 1187, 1188, 525, 108, 74, 1192, 108,
2598 800, 47, 54, 109, 56, 57, 98, 93, 769, 770,
2599 93, 766, 60, 768, 737, 905, 93, 778, 70, 774,
2600 775, 1100, 93, 182, 93, 766, 781, 768, 80, 784,
2601 785, 786, 733, 788, 775, 790, 75, 3, 77, 1233,
2602 781, 60, 965, 766, 737, 768, 25, 93, 27, 47,
2603 47, 479, 775, 4, 5, 766, 54, 768, 781, 487,
2604 111, 784, 773, 774, 775, 47, 62, 790, 4, 5,
2605 781, 62, 773, 766, 94, 768, 74, 94, 464, 58,
2606 83, 84, 775, 62, 3, 4, 5, 6, 781, 62,
2607 25, 784, 27, 62, 54, 93, 93, 790, 766, 111,
2608 768, 803, 62, 858, 93, 56, 57, 775, 863, 1565,
2609 59, 93, 48, 781, 74, 980, 95, 108, 648, 93,
2610 56, 57, 41, 58, 74, 59, 75, 62, 77, 48,
2611 4, 5, 932, 74, 1328, 108, 891, 56, 57, 4,
2612 5, 74, 897, 8, 9, 950, 901, 74, 534, 14,
2613 11, 537, 3, 4, 5, 541, 7, 8, 9, 689,
2614 95, 80, 109, 28, 766, 30, 768, 59, 554, 88,
2615 108, 36, 74, 775, 897, 1369, 899, 900, 901, 781,
2616 45, 567, 56, 57, 939, 571, 941, 942, 108, 54,
2617 945, 56, 57, 939, 7, 8, 9, 907, 900, 901,
2618 945, 14, 108, 733, 897, 56, 57, 54, 901, 905,
2619 108, 945, 54, 599, 74, 62, 939, 47, 31, 605,
2620 943, 944, 945, 36, 54, 755, 74, 74, 93, 1308,
2621 1101, 1102, 45, 1104, 3, 4, 5, 992, 1044, 1044,
2622 59, 4, 5, 945, 74, 64, 939, 992, 4, 5,
2623 1005, 1057, 945, 108, 1151, 1152, 75, 109, 992, 109,
2624 1060, 1061, 1062, 93, 906, 1020, 908, 59, 60, 992,
2625 80, 81, 82, 83, 84, 1036, 111, 1032, 111, 809,
2626 108, 1042, 1043, 1180, 1181, 1046, 1047, 56, 57, 1050,
2627 992, 54, 48, 56, 57, 1109, 74, 1020, 27, 992,
2628 56, 57, 1057, 74, 3, 4, 5, 70, 950, 1032,
2629 54, 1066, 1023, 1068, 8, 9, 1057, 80, 111, 1394,
2630 14, 74, 1023, 111, 80, 4, 5, 1020, 59, 60,
2631 4, 3, 4, 5, 1057, 1410, 108, 305, 306, 1032,
2632 108, 1096, 36, 1066, 108, 1068, 1057, 4, 5, 58,
2633 1155, 45, 54, 321, 1109, 54, 324, 56, 57, 327,
2634 62, 35, 330, 108, 1057, 8, 334, 54, 42, 48,
2635 59, 60, 74, 1066, 342, 1068, 1513, 56, 57, 111,
2636 1513, 55, 54, 57, 56, 57, 58, 1307, 1306, 1057,
2637 1308, 48, 797, 798, 799, 1164, 54, 401, 1153, 56,
2638 57, 80, 1044, 93, 62, 47, 1151, 1152, 1153, 1215,
2639 59, 60, 64, 1607, 59, 60, 74, 1151, 1152, 1153,
2640 1175, 59, 60, 80, 1499, 54, 59, 1182, 1151, 1152,
2641 1153, 1175, 93, 62, 1175, 1180, 1181, 1182, 1517, 109,
2642 1195, 59, 60, 54, 1519, 74, 1180, 1181, 1182, 36,
2643 1152, 1153, 1175, 1253, 60, 1057, 64, 1180, 1181, 1182,
2644 1153, 64, 136, 467, 59, 60, 140, 3, 4, 5,
2645 6, 64, 9, 1548, 108, 12, 108, 60, 62, 1181,
2646 1182, 867, 1175, 108, 108, 108, 1128, 108, 64, 1182,
2647 64, 165, 64, 62, 111, 169, 3, 4, 5, 6,
2648 27, 175, 176, 1578, 31, 41, 108, 1175, 108, 108,
2649 47, 1586, 108, 1155, 108, 901, 30, 31, 75, 33,
2650 56, 57, 59, 75, 61, 62, 75, 64, 75, 3,
2651 4, 5, 59, 60, 41, 108, 31, 64, 75, 62,
2652 77, 48, 108, 57, 1299, 59, 62, 59, 222, 56,
2653 57, 65, 1307, 108, 1309, 108, 93, 94, 1299, 62,
2654 108, 1316, 94, 1517, 88, 1309, 111, 111, 1309, 74,
2655 1325, 108, 1316, 1215, 48, 1316, 1299, 47, 108, 108,
2656 1491, 88, 56, 57, 552, 553, 1309, 108, 108, 111,
2657 1351, 1352, 111, 1316, 109, 108, 60, 1494, 1495, 758,
2658 3, 109, 108, 6, 59, 1306, 1299, 1308, 64, 93,
2659 64, 3, 4, 5, 6, 59, 1309, 621, 59, 59,
2660 108, 780, 1545, 1316, 628, 108, 93, 141, 31, 109,
2661 93, 1299, 146, 93, 93, 149, 150, 151, 41, 111,
2662 109, 1309, 108, 108, 8, 33, 141, 108, 1316, 41,
2663 108, 146, 109, 56, 57, 108, 48, 4, 5, 1420,
2664 108, 108, 176, 64, 56, 57, 111, 70, 182, 108,
2665 3, 4, 5, 6, 108, 108, 1421, 80, 108, 193,
2666 194, 195, 108, 54, 358, 88, 108, 1421, 80, 108,
2667 93, 111, 3, 4, 5, 209, 88, 44, 47, 194,
2668 62, 108, 108, 217, 218, 96, 108, 54, 41, 56,
2669 57, 62, 62, 9, 60, 1470, 3, 4, 5, 1421,
2670 1475, 1476, 1477, 56, 57, 1480, 60, 16, 60, 403,
2671 108, 1475, 108, 737, 1475, 1476, 1480, 93, 108, 1480,
2672 108, 1496, 108, 54, 258, 56, 57, 1470, 108, 1494,
2673 1495, 1496, 1475, 1476, 1477, 88, 108, 1480, 1513, 60,
2674 1494, 1495, 1496, 258, 108, 1520, 93, 441, 60, 56,
2675 57, 1494, 1495, 64, 1529, 54, 1520, 1470, 1308, 1520,
2676 784, 93, 1475, 1476, 1477, 1529, 790, 1480, 1529, 1550,
2677 1513, 111, 17, 1495, 1496, 93, 1182, 1520, 60, 54,
2678 107, 60, 1557, 97, 108, 479, 1529, 1475, 1476, 1195,
2679 11, 108, 1480, 487, 328, 108, 60, 1518, 108, 88,
2680 1513, 90, 60, 92, 1579, 60, 93, 1520, 59, 11,
2681 504, 3, 4, 5, 1557, 1579, 1529, 64, 1579, 60,
2682 108, 60, 108, 1229, 1230, 1231, 1232, 3, 4, 5,
2683 108, 11, 1520, 60, 0, 0, 1579, 0, 2, 35,
2684 170, 1529, 1617, 1408, 1557, 671, 1025, 1026, 137, 939,
2685 139, 441, 1544, 1617, 30, 774, 1617, 4, 5, 1164,
2686 165, 8, 9, 169, 56, 57, 1579, 14, 94, 139,
2687 404, 405, 1393, 897, 1617, 1054, 1617, 901, 54, 1243,
2688 56, 57, 298, 871, 418, 721, 1292, 421, 1331, 36,
2689 925, 1579, 920, 427, 428, 429, 242, 1200, 45, 433,
2690 47, 774, 781, 418, 1617, 1217, 421, 54, 654, 56,
2691 57, 899, 900, 918, 602, 939, 200, 345, 433, 124,
2692 1309, 945, 1586, 70, 3, 4, 5, 6, 1565, 1617,
2693 1176, 1598, -1, 80, 1534, 469, 1596, 471, 1000, 473,
2694 474, 475, 1325, 90, 478, -1, 93, 94, -1, -1,
2695 484, 485, 486, 647, 469, 489, 471, -1, -1, 493,
2696 -1, -1, 41, -1, 1370, -1, -1, 1517, 992, 484,
2697 -1, -1, -1, 507, -1, 54, -1, 56, 57, -1,
2698 -1, 60, -1, 62, -1, -1, -1, 3, 4, 5,
2699 6, 70, 686, 687, 688, 689, 1020, 1403, -1, -1,
2700 534, 80, -1, 537, 3, 4, 5, -1, 1032, 88,
2701 4, 5, -1, -1, 93, 9, -1, -1, 552, 553,
2702 554, -1, 38, 39, -1, 41, -1, 107, 108, -1,
2703 319, 1210, 1211, 567, 1213, 1214, -1, 1216, 54, 733,
2704 56, 57, 1066, 737, 1068, 3, 4, 5, 1, -1,
2705 3, 4, 5, 6, 7, 8, 9, 56, 57, -1,
2706 54, 14, 56, 57, 1470, -1, -1, -1, 357, -1,
2707 1476, 1477, 766, -1, 768, 28, 70, 30, 31, 773,
2708 774, 775, -1, 36, -1, -1, 80, 781, 41, -1,
2709 1496, -1, 45, -1, 628, 48, -1, 47, 56, 57,
2710 94, 54, -1, 56, 57, -1, -1, 60, -1, -1,
2711 -1, 3, 4, 5, 648, -1, -1, 70, -1, 1107,
2712 -1, -1, 3, 4, 5, -1, -1, 80, -1, 1153,
2713 3, 4, 5, 6, -1, 88, 86, 87, -1, -1,
2714 93, 91, 92, 93, 94, -1, -1, -1, -1, -1,
2715 -1, 1557, -1, 687, -1, 689, 690, -1, 1182, -1,
2716 -1, -1, 1341, 1342, 56, 57, -1, 1573, 41, -1,
2717 459, 460, -1, 4, 5, 56, 57, -1, 467, -1,
2718 -1, 54, -1, 56, 57, -1, -1, 60, -1, 1595,
2719 -1, -1, 1180, 1181, -1, -1, 1602, 70, -1, 733,
2720 3, 4, 5, -1, 7, 8, 9, 80, -1, -1,
2721 744, 745, -1, 747, -1, 88, 47, -1, -1, -1,
2722 93, 755, -1, 54, 758, 56, 57, -1, 31, 744,
2723 745, -1, 747, 36, -1, -1, -1, -1, -1, 70,
2724 774, -1, 531, 532, -1, -1, 780, -1, 328, 80,
2725 -1, -1, -1, 56, 57, -1, -1, -1, -1, 90,
2726 -1, -1, 93, 94, 1443, 1444, 1445, -1, -1, 803,
2727 -1, 193, 194, 195, -1, 564, -1, 566, -1, -1,
2728 569, 570, -1, 572, 573, 574, 575, 576, 577, 578,
2729 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
2730 589, 590, -1, 592, -1, -1, -1, -1, -1, 598,
2731 -1, 1299, 76, 77, 78, 79, 80, 81, 82, 83,
2732 84, 401, -1, 1502, 1503, -1, -1, -1, -1, 1023,
2733 -1, -1, -1, -1, -1, 3, 4, 5, 6, 628,
2734 -1, -1, -1, 14, -1, -1, 635, 4, 5, -1,
2735 -1, 22, 9, -1, 3, 4, 5, 6, -1, -1,
2736 9, -1, -1, 1057, -1, 899, 900, 901, 657, 658,
2737 -1, -1, -1, 41, -1, -1, -1, -1, -1, 47,
2738 -1, -1, 31, -1, 673, -1, 54, 467, 56, 57,
2739 47, 1570, 41, -1, 65, -1, -1, 54, 47, 56,
2740 57, -1, 70, -1, 938, 54, -1, 56, 57, 943,
2741 944, 945, 80, 70, -1, -1, -1, -1, -1, -1,
2742 88, 70, 90, 80, -1, 93, 94, -1, -1, 944,
2743 -1, 80, 721, 90, -1, -1, 93, 94, -1, 88,
2744 -1, 90, -1, -1, 93, 94, -1, -1, 3, 4,
2745 5, 6, -1, 124, 534, -1, -1, 537, 992, -1,
2746 -1, 541, 542, 543, 544, 545, 7, 8, 9, -1,
2747 -1, -1, -1, 14, 554, -1, 765, 148, 3, 4,
2748 5, 6, -1, -1, -1, -1, 41, 567, -1, 1513,
2749 31, 1025, 1026, 48, -1, 36, 785, 786, -1, 788,
2750 -1, 56, 57, -1, 45, -1, 1494, 1495, -1, -1,
2751 -1, -1, -1, -1, 803, -1, 41, -1, 1212, 60,
2752 1054, -1, -1, 1217, -1, 80, -1, -1, -1, 54,
2753 460, 56, 57, 88, -1, -1, 825, 467, -1, -1,
2754 -1, 621, -1, -1, -1, -1, -1, 469, 628, 471,
2755 -1, 473, 474, 475, 4, 5, -1, -1, 8, 9,
2756 -1, -1, 484, 88, 14, -1, 237, 238, 857, 858,
2757 -1, -1, -1, 862, 863, -1, -1, -1, 28, 250,
2758 30, -1, -1, -1, -1, -1, 36, -1, 877, -1,
2759 879, -1, 881, -1, -1, 45, -1, 47, 7, 8,
2760 9, -1, 532, -1, 54, 14, 56, 57, -1, -1,
2761 -1, -1, 1306, 1307, 1308, 1149, 1150, 1151, 1152, 1153,
2762 70, -1, 31, 1157, -1, -1, -1, 36, 917, -1,
2763 80, -1, -1, -1, 1149, 1150, 45, -1, 927, -1,
2764 90, -1, 1157, 93, 94, -1, 1180, 1181, 1182, 320,
2765 -1, 60, -1, 942, 7, 8, 9, 737, -1, -1,
2766 -1, 14, 592, -1, -1, -1, 955, -1, 598, -1,
2767 -1, -1, -1, -1, -1, -1, 1210, 1211, 31, 1213,
2768 1214, -1, 1216, 36, 973, -1, -1, -1, -1, -1,
2769 -1, 362, 45, 78, 79, 80, 81, 82, 83, 84,
2770 371, -1, -1, 992, 784, 635, -1, -1, -1, -1,
2771 790, 4, -1, 384, -1, -1, 3, 4, 5, 6,
2772 -1, 14, 9, -1, -1, -1, -1, -1, -1, -1,
2773 -1, 24, -1, 1267, 1268, -1, 1270, 30, 31, -1,
2774 33, -1, 35, -1, 31, -1, 1035, -1, -1, 42,
2775 -1, -1, 1267, 1268, 41, 1270, -1, -1, -1, -1,
2776 -1, -1, 55, -1, 57, -1, -1, 54, -1, 56,
2777 57, -1, 65, 1307, 1308, -1, -1, -1, 858, 72,
2778 -1, -1, -1, 70, 4, 5, -1, -1, -1, 9,
2779 83, 84, -1, 80, -1, -1, 1085, 1086, -1, -1,
2780 1089, 88, -1, -1, -1, -1, 93, 1341, 1342, -1,
2781 -1, 891, -1, 106, -1, -1, -1, 897, -1, -1,
2782 1109, 901, 744, 745, 1518, 747, -1, 47, -1, 500,
2783 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
2784 -1, 134, -1, 136, -1, -1, -1, 140, 141, -1,
2785 70, 773, 145, 146, -1, -1, 149, 150, 151, 939,
2786 80, 941, -1, -1, -1, 945, -1, -1, -1, -1,
2787 90, -1, 165, 93, 94, -1, 169, 1166, -1, 1168,
2788 -1, 1170, 175, 176, -1, -1, -1, 1421, -1, 1178,
2789 -1, -1, -1, -1, -1, 566, -1, -1, 1187, 1188,
2790 193, 194, 195, 1192, 3, 4, 5, 6, -1, 1443,
2791 1444, 1445, 992, -1, -1, -1, -1, -1, -1, 1208,
2792 1209, -1, -1, -1, -1, 1005, -1, 857, 858, 222,
2793 -1, -1, 31, 863, -1, -1, -1, -1, -1, 610,
2794 1020, -1, 41, -1, 1233, 238, -1, 877, -1, 879,
2795 -1, 881, 1032, -1, 247, 54, -1, 56, 57, -1,
2796 1494, 1495, 1496, -1, -1, 258, -1, -1, 1502, 1503,
2797 -1, 70, -1, -1, -1, 1264, -1, -1, -1, -1,
2798 -1, 80, -1, -1, -1, -1, 1066, -1, 1068, 88,
2799 -1, -1, -1, -1, 93, -1, -1, 927, -1, 1288,
2800 -1, -1, -1, 296, 297, 753, -1, -1, 679, -1,
2801 3, 4, 5, -1, 7, -1, 1096, -1, -1, 690,
2802 -1, 943, 944, 945, 3, 4, 5, 6, -1, -1,
2803 -1, -1, -1, -1, -1, 783, 1570, 30, -1, 1328,
2804 -1, 789, -1, 973, 37, -1, -1, -1, 341, -1,
2805 721, -1, 345, -1, 347, 348, 349, -1, 1347, -1,
2806 -1, 54, 41, 56, 57, 358, -1, -1, -1, 48,
2807 992, -1, -1, 1153, -1, -1, -1, 56, 57, -1,
2808 1369, 4, 5, -1, -1, 8, 9, -1, -1, -1,
2809 -1, 14, -1, -1, -1, -1, -1, -1, -1, 392,
2810 -1, 1023, 1182, -1, -1, -1, -1, -1, 401, 88,
2811 403, 404, -1, 36, -1, 1195, -1, -1, -1, -1,
2812 -1, -1, 45, -1, 47, 418, -1, -1, 421, -1,
2813 -1, 54, 1421, 56, 57, -1, -1, -1, -1, -1,
2814 433, -1, -1, -1, 892, -1, 894, 70, 441, -1,
2815 -1, -1, 1441, 1442, -1, -1, -1, 80, -1, -1,
2816 -1, 1450, 3, 4, 5, 6, -1, 90, -1, -1,
2817 93, 94, 3, 4, 5, 6, 469, -1, 471, -1,
2818 473, 474, 475, -1, -1, -1, 479, -1, -1, 1478,
2819 -1, 484, -1, -1, 487, -1, -1, -1, -1, -1,
2820 41, -1, -1, -1, -1, -1, -1, 48, -1, -1,
2821 41, 504, -1, -1, -1, 56, 57, 48, 3, 4,
2822 5, 6, -1, -1, 9, 56, 57, 1149, 1150, 1151,
2823 1152, 1153, -1, -1, -1, 1157, 1166, -1, 1168, 80,
2824 1170, -1, -1, -1, -1, 1325, 31, 88, -1, 542,
2825 543, 544, 545, -1, 925, -1, 41, 88, 1180, 1181,
2826 1182, -1, -1, -1, -1, -1, -1, 938, -1, 54,
2827 -1, 56, 57, -1, -1, -1, 3, 4, 5, 6,
2828 -1, -1, 9, -1, -1, 70, -1, -1, -1, -1,
2829 1212, -1, -1, -1, -1, 80, 82, -1, 347, 348,
2830 349, -1, -1, 88, 31, -1, -1, -1, 93, 602,
2831 -1, 604, -1, -1, 41, -1, -1, 1065, 1607, 1067,
2832 47, -1, -1, 616, -1, 618, 619, 54, 621, 56,
2833 57, -1, -1, -1, 1264, 628, -1, -1, -1, 632,
2834 -1, -1, -1, 70, -1, 1267, 1268, -1, 1270, -1,
2835 -1, -1, -1, 80, 647, -1, -1, -1, -1, -1,
2836 -1, 88, -1, 90, -1, -1, 93, 94, -1, -1,
2837 -1, -1, -1, 159, 1122, -1, -1, -1, 671, 4,
2838 5, -1, -1, -1, 9, 678, -1, -1, -1, -1,
2839 -1, -1, -1, 686, 687, 688, 689, 690, 691, -1,
2840 -1, -1, -1, -1, -1, 191, -1, -1, -1, -1,
2841 -1, -1, -1, -1, -1, 1086, 1496, -1, 204, -1,
2842 -1, -1, 47, -1, -1, 3, 4, 5, 6, 54,
2843 -1, 56, 57, 1513, -1, -1, 3, 4, 5, 6,
2844 733, -1, 9, -1, 737, 70, -1, -1, -1, -1,
2845 -1, 744, 745, 1201, 747, 80, -1, -1, 1206, -1,
2846 -1, -1, -1, 41, 31, 90, -1, -1, 93, 94,
2847 763, -1, -1, 766, 41, 768, 54, -1, 56, 57,
2848 773, 774, 775, -1, 62, -1, -1, 54, 781, 56,
2849 57, 784, 70, -1, -1, -1, -1, 790, -1, 1421,
2850 -1, 1172, 80, 70, 797, 798, 799, 1178, -1, 1257,
2851 88, -1, -1, 80, -1, 93, 809, -1, -1, -1,
2852 -1, 88, -1, -1, -1, -1, 93, -1, 1, 4,
2853 3, 4, 5, 6, -1, 8, -1, -1, -1, 14,
2854 -1, -1, -1, -1, -1, -1, -1, -1, 23, 24,
2855 -1, -1, -1, -1, -1, 30, 31, -1, 33, -1,
2856 35, -1, -1, -1, -1, -1, -1, 42, 41, 618,
2857 619, -1, 1494, 1495, 1496, 48, -1, -1, -1, -1,
2858 55, 54, 57, 56, 57, -1, -1, -1, -1, 882,
2859 65, 884, -1, -1, -1, -1, -1, 72, 891, -1,
2860 -1, -1, 895, -1, 897, -1, 899, 900, 901, 84,
2861 -1, -1, 1360, 1361, 907, 88, -1, -1, -1, -1,
2862 -1, -1, 1293, 1294, -1, -1, -1, -1, -1, 1377,
2863 -1, -1, -1, -1, -1, -1, -1, 686, 460, 688,
2864 689, -1, 691, -1, -1, 467, 939, -1, 941, -1,
2865 943, 944, 945, -1, -1, -1, -1, -1, -1, -1,
2866 -1, 136, -1, -1, -1, 140, 141, -1, -1, -1,
2867 -1, 146, -1, -1, 149, 150, 151, -1, 3, 4,
2868 5, 6, -1, -1, 733, -1, -1, -1, 1436, 1437,
2869 165, 477, -1, -1, 169, -1, 482, -1, -1, 992,
2870 175, 176, -1, -1, -1, -1, 31, 1455, 1456, -1,
2871 532, -1, 1005, -1, 1385, -1, 41, -1, 193, 194,
2872 195, -1, 508, -1, -1, -1, -1, 1020, 514, 54,
2873 1023, 56, 57, -1, -1, -1, 1407, 1408, -1, 1032,
2874 526, 527, -1, 529, -1, 70, -1, 222, -1, -1,
2875 -1, -1, 1045, -1, -1, 80, -1, -1, -1, -1,
2876 809, -1, -1, 88, 1057, -1, -1, -1, 93, -1,
2877 592, -1, -1, 1066, -1, 1068, 598, -1, -1, -1,
2878 -1, -1, -1, 258, 67, 68, 69, 70, 71, 72,
2879 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2880 83, 84, -1, 1096, -1, -1, 628, -1, 1101, 1102,
2881 -1, 1104, -1, 635, -1, -1, -1, 1488, -1, -1,
2882 -1, 296, 297, -1, 3, 4, 5, 6, -1, -1,
2883 9, -1, -1, 882, -1, 884, -1, -1, 624, 625,
2884 -1, -1, -1, 629, -1, -1, 895, -1, -1, -1,
2885 899, 900, 31, -1, -1, -1, 1149, 1150, 1151, 1152,
2886 1153, -1, 41, -1, 1157, -1, 341, -1, 47, -1,
2887 345, -1, 347, 348, 349, 54, -1, 56, 57, 354,
2888 4, 5, -1, 358, 8, 9, -1, 1180, 1181, 1182,
2889 14, 70, -1, -1, 943, 944, -1, -1, -1, -1,
2890 -1, 80, -1, -1, 28, -1, 30, -1, -1, 88,
2891 -1, 90, 36, -1, 93, 94, -1, 392, -1, 1212,
2892 -1, 45, -1, -1, 1217, -1, 401, -1, 403, 404,
2893 54, -1, 56, 57, 3, 4, 5, 6, 7, 8,
2894 9, -1, -1, 418, -1, 14, 421, -1, -1, -1,
2895 -1, -1, -1, -1, -1, -1, -1, -1, 433, 28,
2896 -1, 30, 31, -1, -1, -1, 441, 36, -1, -1,
2897 -1, -1, 41, -1, 1267, 1268, 45, 1270, 47, -1,
2898 -1, 803, -1, -1, -1, 54, -1, 56, 57, -1,
2899 -1, -1, -1, -1, 469, -1, 471, -1, 473, 474,
2900 475, 70, -1, -1, 479, 791, -1, 793, -1, 484,
2901 -1, 80, 487, 1306, 1307, 1308, -1, -1, -1, 88,
2902 -1, 90, -1, -1, 93, 94, -1, -1, -1, 504,
2903 -1, -1, 1325, -1, -1, 857, 858, -1, -1, -1,
2904 -1, 863, -1, -1, -1, 3, 4, 5, 6, 7,
2905 8, 9, -1, -1, -1, 877, 14, 879, -1, 881,
2906 -1, -1, -1, -1, -1, -1, -1, 542, 543, 544,
2907 545, -1, -1, 31, -1, -1, -1, -1, 36, 865,
2908 866, -1, 868, 41, -1, -1, -1, 45, -1, 47,
2909 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2910 1149, 1150, 1151, 1152, -1, 927, -1, -1, 1157, -1,
2911 896, -1, 70, -1, -1, -1, 347, 348, 349, -1,
2912 -1, -1, 80, 12, -1, -1, -1, 602, 1421, 604,
2913 88, 1180, 1181, -1, -1, 93, -1, -1, -1, -1,
2914 -1, -1, -1, 618, 619, -1, 621, -1, -1, -1,
2915 -1, 973, -1, 628, -1, -1, -1, -1, -1, -1,
2916 -1, 947, -1, -1, -1, -1, 641, -1, -1, -1,
2917 992, -1, 647, 62, 63, 64, 65, 66, 67, 68,
2918 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2919 79, 80, 81, 82, 83, 84, 671, -1, -1, -1,
2920 -1, 1494, 1495, 1496, 679, -1, -1, -1, -1, -1,
2921 -1, 686, 687, 688, 689, 690, 691, -1, 1267, 1268,
2922 1513, 1270, -1, -1, -1, 1518, -1, -1, -1, -1,
2923 -1, -1, -1, 1019, -1, -1, -1, -1, -1, 714,
2924 -1, -1, -1, -1, -1, 1031, -1, -1, -1, -1,
2925 -1, -1, -1, -1, -1, 4, 5, -1, 733, 8,
2926 9, -1, 737, -1, -1, 14, -1, -1, -1, 744,
2927 745, -1, 747, -1, 3, 4, 5, 6, -1, 28,
2928 9, 30, -1, -1, -1, 760, -1, 36, 763, -1,
2929 -1, 766, -1, 768, -1, -1, 45, -1, 773, 774,
2930 775, -1, 31, -1, -1, 54, 781, 56, 57, 784,
2931 -1, -1, 41, -1, -1, 790, -1, -1, 47, -1,
2932 -1, -1, 797, 798, 799, 54, -1, 56, 57, -1,
2933 -1, 1117, -1, -1, 809, -1, -1, -1, -1, -1,
2934 -1, 70, 4, -1, 1166, -1, 1168, -1, 1170, -1,
2935 -1, 80, -1, -1, -1, -1, -1, -1, -1, 88,
2936 -1, 90, -1, -1, 93, 94, -1, -1, 30, 31,
2937 1156, 33, -1, 35, -1, -1, -1, -1, -1, -1,
2938 42, -1, -1, -1, -1, -1, -1, 618, 619, -1,
2939 621, -1, -1, 55, -1, 57, -1, 628, -1, -1,
2940 -1, -1, -1, -1, -1, -1, -1, 882, -1, 884,
2941 -1, -1, -1, -1, -1, -1, 891, -1, 80, -1,
2942 895, -1, 897, -1, 899, 900, 901, -1, -1, -1,
2943 -1, -1, 907, -1, 1220, -1, -1, -1, 1224, -1,
2944 -1, -1, 1264, 73, 74, 75, 76, 77, 78, 79,
2945 80, 81, 82, 83, 84, 686, -1, 688, 689, -1,
2946 691, -1, -1, -1, 939, -1, 941, -1, 943, 944,
2947 945, 133, 134, 1259, 136, -1, -1, -1, 140, 141,
2948 -1, -1, 144, -1, 146, -1, -1, 149, 150, 151,
2949 -1, -1, -1, -1, 156, -1, -1, -1, -1, -1,
2950 -1, -1, 733, 165, -1, -1, -1, 169, -1, -1,
2951 -1, -1, -1, 175, 176, -1, -1, 992, -1, -1,
2952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2953 1005, 193, 194, 195, -1, -1, -1, -1, -1, -1,
2954 -1, 203, -1, -1, -1, 1020, -1, -1, 1023, -1,
2955 1336, -1, -1, -1, 1340, -1, -1, 1032, -1, -1,
2956 222, -1, -1, -1, -1, 3, 4, 5, 6, 3,
2957 4, 5, 6, 7, 8, 9, 1362, 1363, 809, -1,
2958 14, -1, 1057, -1, -1, -1, -1, -1, -1, -1,
2959 -1, 1066, -1, 1068, -1, -1, 258, 31, -1, 1421,
2960 -1, -1, 36, 41, -1, -1, -1, 41, -1, -1,
2961 -1, 45, -1, 47, -1, -1, 54, -1, 56, 57,
2962 54, 1096, 56, 57, 62, -1, 1101, 1102, -1, 1104,
2963 -1, -1, 70, -1, -1, -1, 70, -1, -1, -1,
2964 -1, -1, 80, -1, -1, -1, 80, -1, -1, -1,
2965 88, 882, -1, 884, 88, 93, 90, -1, -1, 93,
2966 94, -1, -1, -1, 895, -1, 328, -1, 899, 900,
2967 901, -1, -1, -1, 1149, 1150, 1151, 1152, 1153, -1,
2968 -1, -1, 1157, 345, -1, -1, -1, -1, -1, 1164,
2969 -1, 353, -1, -1, -1, -1, 358, -1, -1, -1,
2970 -1, -1, -1, -1, -1, 1180, 1181, 1182, -1, -1,
2971 -1, -1, 943, 944, 945, -1, -1, -1, -1, -1,
2972 -1, -1, -1, -1, -1, 1200, -1, -1, -1, -1,
2973 392, -1, -1, -1, -1, -1, -1, 1212, -1, -1,
2974 -1, 403, 1217, -1, -1, -1, -1, 1, -1, 3,
2975 4, 5, 6, 7, 8, 9, 418, -1, -1, 421,
2976 14, 992, -1, -1, -1, 427, 428, 429, -1, -1,
2977 -1, 433, -1, -1, 28, -1, 30, 31, 32, 441,
2978 -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
2979 -1, 45, 1267, 1268, 48, 1270, -1, -1, -1, -1,
2980 54, -1, 56, 57, -1, -1, -1, 469, -1, 471,
2981 -1, 473, 474, 475, 4, 5, 70, 479, 8, 9,
2982 1295, -1, 484, -1, 14, 487, 80, -1, -1, -1,
2983 -1, 1306, 1307, 1308, 88, -1, -1, -1, 28, 93,
2984 30, -1, 504, -1, 98, -1, 36, -1, -1, -1,
2985 1325, -1, -1, -1, -1, 45, 1331, -1, -1, -1,
2986 -1, -1, -1, -1, 54, -1, 56, 57, 58, -1,
2987 -1, -1, 534, -1, -1, 537, -1, -1, 3, 4,
2988 5, 6, -1, -1, 9, -1, -1, -1, -1, -1,
2989 552, 553, 554, -1, -1, -1, -1, -1, -1, -1,
2990 -1, -1, -1, 93, -1, 567, 31, -1, -1, 4,
2991 -1, -1, -1, -1, -1, -1, 41, -1, 1149, 1150,
2992 1151, 1152, 1153, -1, -1, -1, 1157, -1, -1, 54,
2993 -1, 56, 57, -1, -1, 30, 31, -1, 33, -1,
2994 35, -1, -1, -1, -1, 70, 1421, 42, -1, 1180,
2995 1181, 1182, -1, 615, 31, 80, -1, -1, -1, -1,
2996 55, -1, 57, 88, -1, -1, 628, -1, 93, 69,
2997 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2998 80, 81, 82, 83, 84, 647, 63, 64, 65, 66,
2999 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3000 77, 78, 79, 80, 81, 82, 83, 84, -1, 671,
3001 -1, -1, 3, 4, 5, 6, 678, -1, 9, 1494,
3002 1495, 1496, -1, -1, 686, 687, 688, 689, -1, -1,
3003 -1, -1, -1, -1, -1, -1, 1267, 1268, 1513, 1270,
3004 31, 136, -1, 1518, -1, 140, 141, -1, -1, -1,
3005 41, 146, -1, -1, 149, 150, 151, -1, -1, -1,
3006 -1, -1, -1, 54, -1, 56, 57, -1, -1, -1,
3007 165, 733, -1, -1, 169, 737, -1, -1, -1, 70,
3008 175, 176, 744, 745, -1, 747, -1, -1, -1, 80,
3009 -1, -1, -1, -1, -1, -1, -1, 88, 193, 194,
3010 195, -1, 93, -1, 766, -1, 768, -1, -1, -1,
3011 -1, 773, 774, 775, -1, -1, -1, -1, -1, 781,
3012 -1, -1, -1, -1, -1, -1, -1, 222, -1, 33,
3013 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3014 1, 803, 3, 4, 5, 6, 7, 8, 9, 10,
3015 11, 55, 13, 14, -1, -1, -1, -1, -1, -1,
3016 -1, -1, -1, 258, -1, -1, -1, 28, 29, 30,
3017 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3018 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3019 51, 52, 53, 54, -1, 56, 57, 58, -1, 60,
3020 61, -1, 3, 4, 5, 6, 67, -1, 9, 70,
3021 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3022 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3023 31, -1, 93, -1, -1, -1, -1, 899, 900, 901,
3024 41, -1, -1, 905, 906, 149, 150, 151, -1, 110,
3025 -1, -1, -1, 54, -1, 56, 57, -1, -1, 354,
3026 -1, -1, -1, 358, -1, -1, -1, -1, -1, 70,
3027 -1, 175, -1, -1, -1, -1, -1, -1, -1, 80,
3028 -1, 943, 944, 945, -1, -1, -1, 88, 950, 193,
3029 194, 195, 93, -1, -1, -1, -1, -1, -1, -1,
3030 -1, 4, 5, -1, 7, 8, 9, -1, 403, 12,
3031 -1, 14, -1, -1, -1, -1, -1, -1, 222, -1,
3032 -1, -1, -1, 418, -1, 28, 421, 30, 31, -1,
3033 992, -1, -1, 36, 55, -1, -1, -1, 433, -1,
3034 -1, -1, 45, -1, 47, -1, 441, -1, -1, -1,
3035 -1, 54, -1, 56, 57, -1, -1, -1, -1, 80,
3036 -1, 1023, 83, -1, -1, -1, -1, 70, -1, -1,
3037 3, 4, 5, 6, 469, -1, 471, 80, 473, 474,
3038 475, -1, 1044, 104, 479, 106, -1, 90, -1, 484,
3039 93, 94, 487, 297, -1, 1057, -1, -1, 31, -1,
3040 -1, -1, -1, -1, -1, -1, -1, -1, 41, 504,
3041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3042 -1, 54, -1, 56, 57, 3, 4, 5, 6, 7,
3043 8, 9, -1, -1, 12, -1, 14, 70, -1, -1,
3044 -1, -1, -1, 347, 348, 349, -1, 80, -1, -1,
3045 28, -1, 30, 31, 175, 88, -1, -1, 36, -1,
3046 93, -1, -1, 41, -1, -1, 1128, 45, -1, 47,
3047 -1, -1, 193, 194, 195, -1, 54, -1, 56, 57,
3048 -1, -1, 203, -1, -1, -1, -1, 1149, 1150, 1151,
3049 1152, 1153, 70, 1155, -1, 1157, -1, -1, -1, 403,
3050 -1, 222, 80, -1, -1, 3, 4, 5, 6, -1,
3051 88, 9, 90, -1, -1, 93, 94, -1, 1180, 1181,
3052 1182, 616, -1, -1, -1, -1, 247, -1, -1, -1,
3053 -1, -1, -1, 31, -1, 3, 4, 5, 6, -1,
3054 261, 9, -1, 41, -1, -1, 3, 4, 5, 6,
3055 1212, -1, 647, -1, -1, 1217, 54, -1, 56, 57,
3056 -1, -1, -1, 31, -1, 469, -1, 471, -1, 473,
3057 474, 475, 70, 41, -1, 479, -1, -1, -1, -1,
3058 484, -1, 80, 487, 41, -1, 54, -1, 56, 57,
3059 88, 686, 687, 688, 689, 93, -1, 54, -1, 56,
3060 57, -1, 70, 60, -1, 1267, 1268, -1, 1270, -1,
3061 -1, -1, 80, 70, -1, -1, -1, -1, -1, -1,
3062 88, -1, -1, 80, -1, 93, -1, -1, -1, -1,
3063 -1, 88, 353, 354, -1, -1, 93, -1, 733, -1,
3064 -1, -1, 737, -1, 1306, 1307, 1308, -1, -1, 744,
3065 745, -1, 747, -1, -1, -1, 3, 4, 5, 6,
3066 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
3067 -1, 766, -1, 768, -1, -1, -1, -1, 773, 774,
3068 775, 28, 403, 30, 31, 32, 781, -1, -1, 36,
3069 -1, -1, -1, -1, 41, -1, -1, -1, 45, -1,
3070 604, 48, -1, -1, -1, -1, -1, 54, -1, 56,
3071 57, -1, -1, -1, 618, 619, -1, 621, -1, -1,
3072 -1, -1, -1, 70, 628, -1, -1, -1, -1, -1,
3073 -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
3074 -1, 88, -1, 647, -1, -1, 93, -1, 469, -1,
3075 471, 98, 473, 474, 475, -1, -1, -1, 479, 1421,
3076 -1, -1, -1, 484, -1, -1, 487, -1, 3, 4,
3077 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3078 -1, -1, 686, -1, 688, 689, -1, 691, -1, -1,
3079 -1, -1, -1, 28, -1, 30, 31, -1, -1, -1,
3080 -1, 36, -1, -1, -1, -1, 41, -1, -1, -1,
3081 45, -1, 907, -1, -1, -1, -1, -1, -1, 54,
3082 -1, 56, 57, -1, -1, 60, -1, -1, -1, 733,
3083 -1, -1, 1494, 1495, 1496, 70, -1, -1, -1, -1,
3084 744, 745, -1, 747, -1, 80, -1, -1, 943, 944,
3085 945, -1, -1, 88, -1, -1, 1518, -1, 93, -1,
3086 -1, -1, -1, -1, -1, -1, -1, -1, -1, 773,
3087 -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
3088 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
3089 14, -1, -1, 797, 798, 799, -1, 992, -1, -1,
3090 -1, -1, -1, -1, 28, 809, 30, 31, 32, -1,
3091 631, 632, 36, 37, -1, -1, -1, 41, -1, -1,
3092 -1, 45, 46, -1, 48, -1, 647, -1, 1023, -1,
3093 54, -1, 56, 57, -1, -1, 60, -1, 62, -1,
3094 -1, -1, -1, -1, -1, -1, 70, -1, 3, 4,
3095 5, 6, 7, 8, 9, -1, 80, 12, -1, 14,
3096 -1, -1, 1057, -1, 88, 686, -1, 688, 689, 93,
3097 -1, -1, -1, 28, -1, 30, 31, -1, 882, -1,
3098 884, 36, -1, -1, -1, 109, 41, -1, -1, -1,
3099 45, 895, -1, -1, -1, 899, 900, 901, -1, 54,
3100 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3101 -1, -1, 733, -1, -1, 70, -1, -1, 14, -1,
3102 -1, -1, -1, 744, 745, 80, 747, 23, 24, -1,
3103 -1, -1, -1, 88, 30, 31, -1, 33, 93, 943,
3104 944, 945, -1, -1, 3, 4, 5, 6, -1, -1,
3105 -1, -1, 773, -1, 1149, 1150, 1151, 1152, 1153, -1,
3106 -1, -1, 1157, -1, -1, -1, -1, -1, -1, 65,
3107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3108 -1, -1, 41, -1, -1, 1180, 1181, 1182, 992, 3,
3109 4, 5, 6, -1, -1, 54, -1, 56, 57, -1,
3110 -1, -1, -1, 62, -1, -1, -1, -1, -1, -1,
3111 -1, 70, -1, -1, -1, -1, -1, 1212, -1, 1023,
3112 -1, 80, 1217, -1, -1, -1, -1, 41, 124, 88,
3113 126, -1, -1, -1, 93, -1, -1, 133, 134, -1,
3114 54, -1, 56, 57, 140, 141, -1, -1, 144, 145,
3115 146, -1, 148, 149, 150, 151, 70, -1, -1, -1,
3116 -1, -1, -1, -1, -1, -1, 80, -1, -1, -1,
3117 -1, -1, 1267, 1268, 88, 1270, -1, -1, -1, 93,
3118 -1, -1, -1, -1, -1, 906, 907, 908, -1, -1,
3119 -1, -1, -1, -1, -1, -1, -1, 1101, 1102, -1,
3120 1104, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3121 -1, 1306, 1307, 1308, -1, -1, -1, -1, -1, -1,
3122 -1, -1, 943, 944, 945, -1, -1, -1, -1, 950,
3123 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3124 -1, 237, 238, -1, -1, 1149, 1150, 1151, 1152, 1153,
3125 -1, -1, -1, 1157, -1, -1, -1, -1, -1, 980,
3126 -1, -1, 258, -1, -1, -1, -1, -1, -1, -1,
3127 -1, 992, -1, -1, -1, -1, 1180, 1181, 1182, -1,
3128 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3129 -1, -1, -1, -1, 14, -1, -1, -1, -1, -1,
3130 -1, 297, 1023, -1, -1, -1, -1, -1, 1212, -1,
3131 -1, 31, -1, -1, -1, -1, 36, -1, -1, -1,
3132 -1, 41, -1, 1044, -1, 45, 1421, 47, -1, -1,
3133 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
3134 -1, -1, -1, -1, -1, -1, -1, -1, -1, 345,
3135 70, 347, 348, -1, -1, -1, -1, -1, -1, -1,
3136 80, -1, -1, 1267, 1268, -1, 1270, -1, 88, -1,
3137 90, -1, -1, 93, 94, 68, 69, 70, 71, 72,
3138 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3139 83, 84, -1, -1, -1, -1, 392, -1, -1, 1494,
3140 1495, 1496, 1306, -1, 1308, -1, -1, 1128, -1, -1,
3141 -1, -1, -1, -1, -1, 411, 4, 5, -1, 7,
3142 8, 9, 418, 1518, 12, 421, 14, -1, 1149, 1150,
3143 1151, 1152, 1153, -1, 1155, -1, 1157, 433, -1, -1,
3144 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
3145 -1, -1, -1, -1, -1, -1, -1, 45, -1, 1180,
3146 1181, 1182, -1, -1, -1, -1, 54, -1, 56, 57,
3147 -1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
3148 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3149 -1, 1212, -1, -1, -1, -1, -1, -1, -1, -1,
3150 -1, 28, 29, 30, 500, 32, -1, 34, 35, 36,
3151 -1, 38, 39, 40, 41, 42, 43, 1421, 45, -1,
3152 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3153 57, 58, 528, -1, 61, -1, -1, -1, -1, -1,
3154 67, -1, -1, 70, -1, -1, 1267, 1268, -1, 1270,
3155 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3156 87, 88, -1, -1, -1, -1, 93, 94, -1, -1,
3157 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3158 -1, -1, 12, 110, 14, 1306, -1, 1308, -1, -1,
3159 1494, 1495, 1496, -1, -1, 25, -1, 27, -1, -1,
3160 -1, 31, -1, -1, -1, -1, 36, -1, 604, -1,
3161 -1, 41, -1, -1, 1518, 45, -1, 47, -1, 615,
3162 616, -1, 618, 619, 54, -1, 56, 57, 58, 59,
3163 60, -1, 62, 63, 64, 65, 66, 67, 68, 69,
3164 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3165 80, 81, 82, 83, 84, -1, 86, 87, 88, -1,
3166 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
3167 -1, -1, 102, -1, -1, 671, -1, 107, 108, 109,
3168 -1, 111, 678, 679, -1, -1, -1, -1, -1, -1,
3169 -1, -1, -1, -1, 690, -1, -1, -1, -1, 1,
3170 1421, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3171 12, 13, 14, -1, -1, -1, -1, -1, 714, -1,
3172 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3173 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3174 42, 43, -1, 45, -1, 47, -1, 49, 50, 51,
3175 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3176 -1, -1, -1, -1, 760, 67, -1, 763, 70, -1,
3177 -1, -1, -1, 1494, 1495, 1496, 78, 79, 80, -1,
3178 -1, -1, -1, -1, 86, 87, 88, -1, 90, -1,
3179 -1, 93, 94, -1, -1, -1, -1, 1518, -1, -1,
3180 -1, 797, 798, 799, -1, -1, -1, -1, 110, -1,
3181 -1, -1, -1, 809, -1, 1, -1, 3, 4, 5,
3182 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3183 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3184 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3185 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3186 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3187 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3188 -1, 67, -1, -1, 70, -1, 882, -1, 884, -1,
3189 -1, -1, 78, 79, 80, -1, -1, -1, -1, 895,
3190 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3191 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3192 82, 83, 84, 109, 110, -1, 1, -1, 3, 4,
3193 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3194 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3195 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3196 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
3197 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
3198 -1, 56, 57, 58, 980, 60, 61, -1, -1, -1,
3199 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3200 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3201 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3202 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3203 -1, -1, -1, -1, 1, 110, 3, 4, 5, 6,
3204 7, 8, 9, 10, 11, 12, 13, 14, -1, 1045,
3205 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3206 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3207 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3208 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3209 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3210 67, -1, -1, 70, -1, 1101, 1102, -1, 1104, -1,
3211 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3212 87, 88, -1, 90, -1, -1, 93, 94, 70, 71,
3213 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3214 82, 83, 84, 110, -1, 1, -1, 3, 4, 5,
3215 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3216 -1, -1, -1, -1, -1, -1, -1, -1, 1164, -1,
3217 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3218 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3219 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3220 56, 57, -1, -1, 1200, 61, -1, -1, -1, -1,
3221 -1, 67, -1, -1, 70, -1, -1, -1, -1, 1215,
3222 -1, 1217, 78, 79, 80, -1, -1, -1, -1, -1,
3223 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3224 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3225 -1, -1, 108, -1, 110, -1, -1, -1, -1, -1,
3226 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3227 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3228 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3229 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3230 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3231 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3232 -1, 86, 87, 88, -1, -1, -1, -1, 93, 94,
3233 -1, -1, -1, -1, -1, 1331, -1, -1, -1, -1,
3234 -1, -1, -1, -1, 109, 110, 1, -1, 3, 4,
3235 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3236 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3237 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3238 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3239 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3240 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3241 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3242 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3243 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3244 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3245 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3246 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3247 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3248 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3249 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3250 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3251 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3252 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3253 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3254 13, 14, -1, -1, -1, 109, 110, -1, -1, -1,
3255 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3256 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3257 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3258 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3259 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3260 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3261 -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
3262 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3263 -1, 13, 14, -1, -1, -1, 109, 110, -1, -1,
3264 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3265 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3266 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3267 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3268 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3269 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3270 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3271 -1, 93, -1, 1, -1, 3, 4, 5, 6, 101,
3272 8, 9, 10, 11, -1, 13, 14, -1, 110, -1,
3273 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3274 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3275 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3276 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3277 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3278 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3279 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3280 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3281 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3282 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3283 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3284 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3285 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3286 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3287 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3288 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3289 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3290 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3291 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3292 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3293 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3294 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3295 56, 57, -1, -1, -1, 61, 62, -1, -1, -1,
3296 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3297 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3298 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3299 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3300 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3301 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3302 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3303 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3304 -1, 56, 57, -1, -1, 60, 61, -1, -1, -1,
3305 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3306 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3307 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3308 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3309 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3310 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3311 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3312 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3313 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3314 -1, -1, -1, 67, 1, -1, 70, 4, 5, -1,
3315 -1, 8, 9, -1, 78, 79, 80, 14, -1, -1,
3316 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3317 -1, 28, -1, 30, -1, -1, -1, -1, -1, 36,
3318 -1, 38, 39, -1, 108, -1, 110, -1, 45, -1,
3319 47, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3320 57, -1, 59, -1, -1, -1, 63, 64, 65, 66,
3321 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3322 77, 78, 79, 80, 81, 82, 83, -1, -1, 86,
3323 87, 88, -1, -1, 91, -1, 1, 94, 3, 4,
3324 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3325 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3326 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3327 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3328 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3329 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3330 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3331 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3332 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3333 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3334 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3335 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3336 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3337 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3338 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3339 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3340 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3341 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3342 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3343 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3344 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3345 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3346 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3347 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3348 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3349 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3350 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3351 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3352 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3353 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3354 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3355 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3356 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3357 67, -1, 1, 70, 3, 4, 5, 6, 7, 8,
3358 9, 78, 79, 80, -1, 14, -1, -1, -1, 86,
3359 87, 88, -1, -1, -1, -1, 93, -1, -1, 28,
3360 -1, 30, 31, 32, -1, -1, -1, 36, 37, -1,
3361 -1, -1, 41, 110, 111, -1, 45, 46, -1, 48,
3362 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3363 -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
3364 -1, 70, 1, -1, 3, 4, 5, 6, 7, 8,
3365 9, 80, -1, -1, -1, 14, -1, -1, -1, 88,
3366 -1, -1, -1, -1, 93, -1, -1, -1, -1, 28,
3367 -1, 30, 31, 32, -1, -1, -1, 36, 37, -1,
3368 109, -1, 41, -1, -1, -1, 45, 46, -1, 48,
3369 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3370 -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
3371 -1, 70, 1, -1, 3, 4, 5, 6, 7, 8,
3372 9, 80, -1, -1, -1, 14, -1, -1, -1, 88,
3373 -1, -1, -1, -1, 93, -1, -1, -1, -1, 28,
3374 -1, 30, 31, 32, -1, -1, -1, 36, 37, -1,
3375 109, -1, 41, -1, -1, -1, 45, 46, -1, 48,
3376 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3377 -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
3378 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
3379 -1, 80, -1, -1, -1, -1, -1, -1, -1, 88,
3380 -1, -1, -1, -1, 93, -1, -1, 3, 4, 5,
3381 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3382 109, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3383 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3384 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3385 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3386 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3387 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3388 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3389 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3390 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3391 -1, -1, -1, 109, 110, 3, 4, 5, 6, 7,
3392 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3393 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3394 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3395 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
3396 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3397 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3398 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3399 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3400 88, -1, -1, -1, -1, 93, -1, 95, -1, 3,
3401 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3402 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
3403 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3404 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3405 44, 45, 46, -1, -1, 49, 50, 51, 52, 53,
3406 54, -1, 56, 57, 58, -1, 60, 61, -1, -1,
3407 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3408 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3409 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3410 -1, 95, -1, 3, 4, 5, 6, 7, 8, 9,
3411 10, 11, -1, 13, 14, 15, 110, 17, 18, 19,
3412 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3413 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3414 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3415 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3416 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3417 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3418 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3419 -1, -1, -1, 93, -1, 95, 3, 4, 5, 6,
3420 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3421 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3422 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3423 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3424 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3425 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3426 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3427 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3428 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3429 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3430 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3431 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3432 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3433 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3434 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3435 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3436 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3437 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3438 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3439 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3440 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3441 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3442 43, -1, 45, -1, 47, -1, 49, 50, 51, 52,
3443 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3444 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3445 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3446 -1, -1, -1, 86, 87, 88, -1, 90, -1, -1,
3447 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3448 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3449 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3450 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3451 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
3452 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3453 -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3454 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3455 -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
3456 -1, -1, 93, 94, 3, 4, 5, 6, -1, 8,
3457 9, 10, 11, -1, 13, 14, -1, -1, -1, 110,
3458 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3459 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3460 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3461 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3462 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3463 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3464 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3465 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3466 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3467 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3468 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3469 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3470 53, 54, -1, 56, 57, -1, -1, 60, 61, -1,
3471 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3472 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3473 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3474 93, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3475 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3476 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3477 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3478 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3479 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3480 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3481 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3482 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3483 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3484 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3485 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3486 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3487 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3488 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3489 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3490 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3491 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3492 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3493 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3494 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3495 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3496 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3497 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3498 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3499 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3500 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3501 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3502 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3503 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3504 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3505 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3506 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3507 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3508 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3509 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3510 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3511 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3512 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3513 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3514 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3515 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3516 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3517 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3518 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3519 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3520 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3521 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3522 52, 53, 54, -1, 56, 57, 58, -1, -1, -1,
3523 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3524 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3525 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3526 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3527 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3528 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3529 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3530 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3531 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3532 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3533 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3534 86, 87, 88, -1, -1, -1, -1, 93, 94, 3,
3535 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3536 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3537 -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
3538 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3539 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3540 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3541 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3542 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3543 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3544 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3545 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3546 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3547 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3548 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3549 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3550 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3551 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3552 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3553 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3554 -1, -1, 110, -1, -1, -1, 28, 29, 30, 31,
3555 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3556 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3557 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3558 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3559 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3560 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3561 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3562 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3563 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3564 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3565 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3566 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3567 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3568 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3569 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3570 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3571 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3572 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3573 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3574 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3575 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3576 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3577 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3578 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3579 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3580 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3581 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3582 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3583 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3584 -1, -1, -1, 67, -1, 1, 70, 3, 4, 5,
3585 6, 7, 8, 9, 78, 79, 80, -1, 14, -1,
3586 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3587 -1, 27, 28, -1, 30, 31, 32, -1, -1, -1,
3588 36, -1, -1, -1, -1, 41, 110, -1, 44, 45,
3589 46, -1, 48, -1, -1, -1, -1, -1, 54, -1,
3590 56, 57, -1, -1, 60, -1, -1, -1, -1, -1,
3591 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
3592 -1, -1, -1, 1, 80, 3, 4, 5, 6, 7,
3593 8, 9, 88, -1, -1, -1, 14, 93, -1, -1,
3594 -1, -1, 98, -1, -1, -1, -1, -1, -1, -1,
3595 28, -1, 30, 31, 32, -1, -1, -1, 36, -1,
3596 -1, -1, -1, 41, -1, -1, -1, 45, 46, -1,
3597 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3598 -1, -1, 60, -1, 62, -1, -1, -1, -1, -1,
3599 -1, -1, 70, 3, 4, 5, 6, 7, 8, 9,
3600 -1, -1, 80, -1, 14, -1, -1, -1, -1, -1,
3601 88, -1, -1, -1, -1, 93, -1, -1, 28, -1,
3602 30, 31, -1, -1, -1, -1, 36, -1, -1, -1,
3603 -1, 41, -1, -1, -1, 45, -1, -1, -1, -1,
3604 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
3605 -1, -1, 62, -1, -1, -1, -1, -1, -1, -1,
3606 70, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3607 80, -1, 14, -1, -1, -1, -1, -1, 88, -1,
3608 -1, -1, -1, 93, -1, -1, 28, -1, 30, 31,
3609 -1, -1, -1, -1, 36, -1, -1, -1, -1, 41,
3610 -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
3611 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3612 3, 4, 5, 6, 7, 8, 9, -1, 70, -1,
3613 -1, 14, -1, -1, -1, -1, -1, -1, 80, -1,
3614 -1, -1, -1, -1, -1, 28, 88, 30, 31, -1,
3615 -1, 93, -1, 36, -1, -1, -1, -1, 41, -1,
3616 -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
3617 -1, 54, -1, 56, 57, 3, 4, 5, 6, 7,
3618 8, 9, -1, -1, -1, -1, 14, 70, -1, -1,
3619 -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3620 28, -1, 30, 31, -1, 88, -1, -1, 36, -1,
3621 93, -1, -1, 41, -1, -1, -1, 45, -1, -1,
3622 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3623 4, 5, -1, 7, 8, 9, -1, -1, -1, -1,
3624 14, -1, 70, 4, 5, -1, 7, 8, 9, -1,
3625 -1, 12, 80, 14, 28, -1, 30, 31, -1, -1,
3626 88, -1, 36, -1, -1, 93, -1, 28, -1, 30,
3627 31, 45, -1, -1, 48, 36, -1, -1, -1, -1,
3628 54, -1, 56, 57, 45, -1, -1, 4, 5, -1,
3629 7, 8, 9, 54, -1, 56, 57, 14, -1, -1,
3630 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3631 -1, 28, -1, 30, 31, -1, -1, -1, -1, 36,
3632 -1, -1, -1, -1, -1, -1, -1, -1, 45, -1,
3633 -1, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3634 57, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3635 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3636 82, 83, 84, 63, 64, 65, 66, 67, 68, 69,
3637 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3638 80, 81, 82, 83, 84, -1, -1, -1, -1, 111,
3639 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3640 81, 82, 83, 84, 59, -1, -1, 107, 63, 64,
3641 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3642 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3643 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3644 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3645 82, 83, 84, 63, 64, 65, 66, 67, 68, 69,
3646 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3647 80, 81, 82, 83, 84, 63, 64, 65, 66, 67,
3648 68, 69, 70, 71, 72, 73, 74, -1, 76, 77,
3649 78, 79, 80, 81, 82, 83, 84
3650 };
3651 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3652 #line 3 "/usr/lib/bison.simple"
3653
3654 /* Skeleton output parser for bison,
3655 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3656
3657 This program is free software; you can redistribute it and/or modify
3658 it under the terms of the GNU General Public License as published by
3659 the Free Software Foundation; either version 2, or (at your option)
3660 any later version.
3661
3662 This program is distributed in the hope that it will be useful,
3663 but WITHOUT ANY WARRANTY; without even the implied warranty of
3664 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3665 GNU General Public License for more details.
3666
3667 You should have received a copy of the GNU General Public License
3668 along with this program; if not, write to the Free Software
3669 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3670
3671 /* As a special exception, when this file is copied by Bison into a
3672 Bison output file, you may use that output file without restriction.
3673 This special exception was added by the Free Software Foundation
3674 in version 1.24 of Bison. */
3675
3676 #ifndef alloca
3677 #ifdef __GNUC__
3678 #define alloca __builtin_alloca
3679 #else /* not GNU C. */
3680 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3681 #include <alloca.h>
3682 #else /* not sparc */
3683 #if defined (MSDOS) && !defined (__TURBOC__)
3684 #include <malloc.h>
3685 #else /* not MSDOS, or __TURBOC__ */
3686 #if defined(_AIX)
3687 #include <malloc.h>
3688 #pragma alloca
3689 #else /* not MSDOS, __TURBOC__, or _AIX */
3690 #ifdef __hpux
3691 #ifdef __cplusplus
3692 extern "C" {
3693 void *alloca (unsigned int);
3694 };
3695 #else /* not __cplusplus */
3696 void *alloca ();
3697 #endif /* not __cplusplus */
3698 #endif /* __hpux */
3699 #endif /* not _AIX */
3700 #endif /* not MSDOS, or __TURBOC__ */
3701 #endif /* not sparc. */
3702 #endif /* not GNU C. */
3703 #endif /* alloca not defined. */
3704
3705 /* This is the parser code that is written into each bison parser
3706 when the %semantic_parser declaration is not specified in the grammar.
3707 It was written by Richard Stallman by simplifying the hairy parser
3708 used when %semantic_parser is specified. */
3709
3710 /* Note: there must be only one dollar sign in this file.
3711 It is replaced by the list of actions, each action
3712 as one case of the switch. */
3713
3714 #define yyerrok (yyerrstatus = 0)
3715 #define yyclearin (yychar = YYEMPTY)
3716 #define YYEMPTY -2
3717 #define YYEOF 0
3718 #define YYACCEPT return(0)
3719 #define YYABORT return(1)
3720 #define YYERROR goto yyerrlab1
3721 /* Like YYERROR except do call yyerror.
3722 This remains here temporarily to ease the
3723 transition to the new meaning of YYERROR, for GCC.
3724 Once GCC version 2 has supplanted version 1, this can go. */
3725 #define YYFAIL goto yyerrlab
3726 #define YYRECOVERING() (!!yyerrstatus)
3727 #define YYBACKUP(token, value) \
3728 do \
3729 if (yychar == YYEMPTY && yylen == 1) \
3730 { yychar = (token), yylval = (value); \
3731 yychar1 = YYTRANSLATE (yychar); \
3732 YYPOPSTACK; \
3733 goto yybackup; \
3734 } \
3735 else \
3736 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3737 while (0)
3738
3739 #define YYTERROR 1
3740 #define YYERRCODE 256
3741
3742 #ifndef YYPURE
3743 #define YYLEX yylex()
3744 #endif
3745
3746 #ifdef YYPURE
3747 #ifdef YYLSP_NEEDED
3748 #ifdef YYLEX_PARAM
3749 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3750 #else
3751 #define YYLEX yylex(&yylval, &yylloc)
3752 #endif
3753 #else /* not YYLSP_NEEDED */
3754 #ifdef YYLEX_PARAM
3755 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3756 #else
3757 #define YYLEX yylex(&yylval)
3758 #endif
3759 #endif /* not YYLSP_NEEDED */
3760 #endif
3761
3762 /* If nonreentrant, generate the variables here */
3763
3764 #ifndef YYPURE
3765
3766 int yychar; /* the lookahead symbol */
3767 YYSTYPE yylval; /* the semantic value of the */
3768 /* lookahead symbol */
3769
3770 #ifdef YYLSP_NEEDED
3771 YYLTYPE yylloc; /* location data for the lookahead */
3772 /* symbol */
3773 #endif
3774
3775 int yynerrs; /* number of parse errors so far */
3776 #endif /* not YYPURE */
3777
3778 #if YYDEBUG != 0
3779 int yydebug; /* nonzero means print parse trace */
3780 /* Since this is uninitialized, it does not stop multiple parsers
3781 from coexisting. */
3782 #endif
3783
3784 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3785
3786 #ifndef YYINITDEPTH
3787 #define YYINITDEPTH 200
3788 #endif
3789
3790 /* YYMAXDEPTH is the maximum size the stacks can grow to
3791 (effective only if the built-in stack extension method is used). */
3792
3793 #if YYMAXDEPTH == 0
3794 #undef YYMAXDEPTH
3795 #endif
3796
3797 #ifndef YYMAXDEPTH
3798 #define YYMAXDEPTH 10000
3799 #endif
3800
3801 /* Prevent warning if -Wstrict-prototypes. */
3802 #ifdef __GNUC__
3803 int yyparse (void);
3804 #endif
3805 \f
3806 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3807 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3808 #else /* not GNU C or C++ */
3809 #ifndef __cplusplus
3810
3811 /* This is the most reliable way to avoid incompatibilities
3812 in available built-in functions on various systems. */
3813 static void
3814 __yy_memcpy (to, from, count)
3815 char *to;
3816 char *from;
3817 int count;
3818 {
3819 register char *f = from;
3820 register char *t = to;
3821 register int i = count;
3822
3823 while (i-- > 0)
3824 *t++ = *f++;
3825 }
3826
3827 #else /* __cplusplus */
3828
3829 /* This is the most reliable way to avoid incompatibilities
3830 in available built-in functions on various systems. */
3831 static void
3832 __yy_memcpy (char *to, char *from, int count)
3833 {
3834 register char *f = from;
3835 register char *t = to;
3836 register int i = count;
3837
3838 while (i-- > 0)
3839 *t++ = *f++;
3840 }
3841
3842 #endif
3843 #endif
3844 \f
3845 #line 196 "/usr/lib/bison.simple"
3846
3847 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3848 into yyparse. The argument should have type void *.
3849 It should actually point to an object.
3850 Grammar actions can access the variable by casting it
3851 to the proper pointer type. */
3852
3853 #ifdef YYPARSE_PARAM
3854 #ifdef __cplusplus
3855 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3856 #define YYPARSE_PARAM_DECL
3857 #else /* not __cplusplus */
3858 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3859 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3860 #endif /* not __cplusplus */
3861 #else /* not YYPARSE_PARAM */
3862 #define YYPARSE_PARAM_ARG
3863 #define YYPARSE_PARAM_DECL
3864 #endif /* not YYPARSE_PARAM */
3865
3866 int
3867 yyparse(YYPARSE_PARAM_ARG)
3868 YYPARSE_PARAM_DECL
3869 {
3870 register int yystate;
3871 register int yyn;
3872 register short *yyssp;
3873 register YYSTYPE *yyvsp;
3874 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3875 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3876
3877 short yyssa[YYINITDEPTH]; /* the state stack */
3878 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3879
3880 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3881 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3882
3883 #ifdef YYLSP_NEEDED
3884 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3885 YYLTYPE *yyls = yylsa;
3886 YYLTYPE *yylsp;
3887
3888 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3889 #else
3890 #define YYPOPSTACK (yyvsp--, yyssp--)
3891 #endif
3892
3893 int yystacksize = YYINITDEPTH;
3894
3895 #ifdef YYPURE
3896 int yychar;
3897 YYSTYPE yylval;
3898 int yynerrs;
3899 #ifdef YYLSP_NEEDED
3900 YYLTYPE yylloc;
3901 #endif
3902 #endif
3903
3904 YYSTYPE yyval; /* the variable used to return */
3905 /* semantic values from the action */
3906 /* routines */
3907
3908 int yylen;
3909
3910 #if YYDEBUG != 0
3911 if (yydebug)
3912 fprintf(stderr, "Starting parse\n");
3913 #endif
3914
3915 yystate = 0;
3916 yyerrstatus = 0;
3917 yynerrs = 0;
3918 yychar = YYEMPTY; /* Cause a token to be read. */
3919
3920 /* Initialize stack pointers.
3921 Waste one element of value and location stack
3922 so that they stay on the same level as the state stack.
3923 The wasted elements are never initialized. */
3924
3925 yyssp = yyss - 1;
3926 yyvsp = yyvs;
3927 #ifdef YYLSP_NEEDED
3928 yylsp = yyls;
3929 #endif
3930
3931 /* Push a new state, which is found in yystate . */
3932 /* In all cases, when you get here, the value and location stacks
3933 have just been pushed. so pushing a state here evens the stacks. */
3934 yynewstate:
3935
3936 *++yyssp = yystate;
3937
3938 if (yyssp >= yyss + yystacksize - 1)
3939 {
3940 /* Give user a chance to reallocate the stack */
3941 /* Use copies of these so that the &'s don't force the real ones into memory. */
3942 YYSTYPE *yyvs1 = yyvs;
3943 short *yyss1 = yyss;
3944 #ifdef YYLSP_NEEDED
3945 YYLTYPE *yyls1 = yyls;
3946 #endif
3947
3948 /* Get the current used size of the three stacks, in elements. */
3949 int size = yyssp - yyss + 1;
3950
3951 #ifdef yyoverflow
3952 /* Each stack pointer address is followed by the size of
3953 the data in use in that stack, in bytes. */
3954 #ifdef YYLSP_NEEDED
3955 /* This used to be a conditional around just the two extra args,
3956 but that might be undefined if yyoverflow is a macro. */
3957 yyoverflow("parser stack overflow",
3958 &yyss1, size * sizeof (*yyssp),
3959 &yyvs1, size * sizeof (*yyvsp),
3960 &yyls1, size * sizeof (*yylsp),
3961 &yystacksize);
3962 #else
3963 yyoverflow("parser stack overflow",
3964 &yyss1, size * sizeof (*yyssp),
3965 &yyvs1, size * sizeof (*yyvsp),
3966 &yystacksize);
3967 #endif
3968
3969 yyss = yyss1; yyvs = yyvs1;
3970 #ifdef YYLSP_NEEDED
3971 yyls = yyls1;
3972 #endif
3973 #else /* no yyoverflow */
3974 /* Extend the stack our own way. */
3975 if (yystacksize >= YYMAXDEPTH)
3976 {
3977 yyerror("parser stack overflow");
3978 return 2;
3979 }
3980 yystacksize *= 2;
3981 if (yystacksize > YYMAXDEPTH)
3982 yystacksize = YYMAXDEPTH;
3983 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3984 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3985 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3986 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3987 #ifdef YYLSP_NEEDED
3988 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3989 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3990 #endif
3991 #endif /* no yyoverflow */
3992
3993 yyssp = yyss + size - 1;
3994 yyvsp = yyvs + size - 1;
3995 #ifdef YYLSP_NEEDED
3996 yylsp = yyls + size - 1;
3997 #endif
3998
3999 #if YYDEBUG != 0
4000 if (yydebug)
4001 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
4002 #endif
4003
4004 if (yyssp >= yyss + yystacksize - 1)
4005 YYABORT;
4006 }
4007
4008 #if YYDEBUG != 0
4009 if (yydebug)
4010 fprintf(stderr, "Entering state %d\n", yystate);
4011 #endif
4012
4013 goto yybackup;
4014 yybackup:
4015
4016 /* Do appropriate processing given the current state. */
4017 /* Read a lookahead token if we need one and don't already have one. */
4018 /* yyresume: */
4019
4020 /* First try to decide what to do without reference to lookahead token. */
4021
4022 yyn = yypact[yystate];
4023 if (yyn == YYFLAG)
4024 goto yydefault;
4025
4026 /* Not known => get a lookahead token if don't already have one. */
4027
4028 /* yychar is either YYEMPTY or YYEOF
4029 or a valid token in external form. */
4030
4031 if (yychar == YYEMPTY)
4032 {
4033 #if YYDEBUG != 0
4034 if (yydebug)
4035 fprintf(stderr, "Reading a token: ");
4036 #endif
4037 yychar = YYLEX;
4038 }
4039
4040 /* Convert token to internal form (in yychar1) for indexing tables with */
4041
4042 if (yychar <= 0) /* This means end of input. */
4043 {
4044 yychar1 = 0;
4045 yychar = YYEOF; /* Don't call YYLEX any more */
4046
4047 #if YYDEBUG != 0
4048 if (yydebug)
4049 fprintf(stderr, "Now at end of input.\n");
4050 #endif
4051 }
4052 else
4053 {
4054 yychar1 = YYTRANSLATE(yychar);
4055
4056 #if YYDEBUG != 0
4057 if (yydebug)
4058 {
4059 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
4060 /* Give the individual parser a way to print the precise meaning
4061 of a token, for further debugging info. */
4062 #ifdef YYPRINT
4063 YYPRINT (stderr, yychar, yylval);
4064 #endif
4065 fprintf (stderr, ")\n");
4066 }
4067 #endif
4068 }
4069
4070 yyn += yychar1;
4071 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
4072 goto yydefault;
4073
4074 yyn = yytable[yyn];
4075
4076 /* yyn is what to do for this token type in this state.
4077 Negative => reduce, -yyn is rule number.
4078 Positive => shift, yyn is new state.
4079 New state is final state => don't bother to shift,
4080 just return success.
4081 0, or most negative number => error. */
4082
4083 if (yyn < 0)
4084 {
4085 if (yyn == YYFLAG)
4086 goto yyerrlab;
4087 yyn = -yyn;
4088 goto yyreduce;
4089 }
4090 else if (yyn == 0)
4091 goto yyerrlab;
4092
4093 if (yyn == YYFINAL)
4094 YYACCEPT;
4095
4096 /* Shift the lookahead token. */
4097
4098 #if YYDEBUG != 0
4099 if (yydebug)
4100 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
4101 #endif
4102
4103 /* Discard the token being shifted unless it is eof. */
4104 if (yychar != YYEOF)
4105 yychar = YYEMPTY;
4106
4107 *++yyvsp = yylval;
4108 #ifdef YYLSP_NEEDED
4109 *++yylsp = yylloc;
4110 #endif
4111
4112 /* count tokens shifted since error; after three, turn off error status. */
4113 if (yyerrstatus) yyerrstatus--;
4114
4115 yystate = yyn;
4116 goto yynewstate;
4117
4118 /* Do the default action for the current state. */
4119 yydefault:
4120
4121 yyn = yydefact[yystate];
4122 if (yyn == 0)
4123 goto yyerrlab;
4124
4125 /* Do a reduction. yyn is the number of a rule to reduce with. */
4126 yyreduce:
4127 yylen = yyr2[yyn];
4128 if (yylen > 0)
4129 yyval = yyvsp[1-yylen]; /* implement default value of the action */
4130
4131 #if YYDEBUG != 0
4132 if (yydebug)
4133 {
4134 int i;
4135
4136 fprintf (stderr, "Reducing via rule %d (line %d), ",
4137 yyn, yyrline[yyn]);
4138
4139 /* Print the symbols being reduced, and their result. */
4140 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
4141 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
4142 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
4143 }
4144 #endif
4145
4146
4147 switch (yyn) {
4148
4149 case 2:
4150 #line 339 "parse.y"
4151 { finish_translation_unit (); ;
4152 break;}
4153 case 3:
4154 #line 347 "parse.y"
4155 { yyval.ttype = NULL_TREE; ;
4156 break;}
4157 case 4:
4158 #line 349 "parse.y"
4159 { yyval.ttype = NULL_TREE; ;
4160 break;}
4161 case 5:
4162 #line 351 "parse.y"
4163 { yyval.ttype = NULL_TREE; ;
4164 break;}
4165 case 8:
4166 #line 360 "parse.y"
4167 { have_extern_spec = 1;
4168 used_extern_spec = 0;
4169 yyval.ttype = NULL_TREE; ;
4170 break;}
4171 case 9:
4172 #line 365 "parse.y"
4173 { have_extern_spec = 0; ;
4174 break;}
4175 case 10:
4176 #line 370 "parse.y"
4177 { yyval.itype = pedantic;
4178 pedantic = 0; ;
4179 break;}
4180 case 12:
4181 #line 379 "parse.y"
4182 { if (pending_lang_change) do_pending_lang_change(); ;
4183 break;}
4184 case 13:
4185 #line 381 "parse.y"
4186 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4187 pop_everything (); ;
4188 break;}
4189 case 14:
4190 #line 387 "parse.y"
4191 { if (pending_inlines) do_pending_inlines (); ;
4192 break;}
4193 case 15:
4194 #line 389 "parse.y"
4195 { if (pending_inlines) do_pending_inlines (); ;
4196 break;}
4197 case 16:
4198 #line 391 "parse.y"
4199 { if (pending_inlines) do_pending_inlines (); ;
4200 break;}
4201 case 17:
4202 #line 393 "parse.y"
4203 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4204 assemble_asm (yyvsp[-2].ttype); ;
4205 break;}
4206 case 18:
4207 #line 396 "parse.y"
4208 { pop_lang_context (); ;
4209 break;}
4210 case 19:
4211 #line 398 "parse.y"
4212 { if (pending_inlines) do_pending_inlines ();
4213 pop_lang_context (); ;
4214 break;}
4215 case 20:
4216 #line 401 "parse.y"
4217 { if (pending_inlines) do_pending_inlines ();
4218 pop_lang_context (); ;
4219 break;}
4220 case 21:
4221 #line 404 "parse.y"
4222 { push_namespace (yyvsp[-1].ttype); ;
4223 break;}
4224 case 22:
4225 #line 406 "parse.y"
4226 { pop_namespace (); ;
4227 break;}
4228 case 23:
4229 #line 408 "parse.y"
4230 { push_namespace (NULL_TREE); ;
4231 break;}
4232 case 24:
4233 #line 410 "parse.y"
4234 { pop_namespace (); ;
4235 break;}
4236 case 26:
4237 #line 413 "parse.y"
4238 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4239 break;}
4240 case 28:
4241 #line 416 "parse.y"
4242 { pedantic = yyvsp[-1].itype; ;
4243 break;}
4244 case 29:
4245 #line 421 "parse.y"
4246 { begin_only_namespace_names (); ;
4247 break;}
4248 case 30:
4249 #line 423 "parse.y"
4250 {
4251 end_only_namespace_names ();
4252 if (lastiddecl)
4253 yyvsp[-1].ttype = lastiddecl;
4254 do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
4255 ;
4256 break;}
4257 case 31:
4258 #line 433 "parse.y"
4259 { yyval.ttype = yyvsp[0].ttype; ;
4260 break;}
4261 case 32:
4262 #line 435 "parse.y"
4263 { yyval.ttype = yyvsp[0].ttype; ;
4264 break;}
4265 case 33:
4266 #line 437 "parse.y"
4267 { yyval.ttype = yyvsp[0].ttype; ;
4268 break;}
4269 case 34:
4270 #line 442 "parse.y"
4271 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4272 break;}
4273 case 35:
4274 #line 444 "parse.y"
4275 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
4276 break;}
4277 case 36:
4278 #line 446 "parse.y"
4279 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4280 break;}
4281 case 37:
4282 #line 451 "parse.y"
4283 { begin_only_namespace_names (); ;
4284 break;}
4285 case 38:
4286 #line 453 "parse.y"
4287 {
4288 end_only_namespace_names ();
4289 /* If no declaration was found, the using-directive is
4290 invalid. Since that was not reported, we need the
4291 identifier for the error message. */
4292 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4293 yyvsp[-1].ttype = lastiddecl;
4294 do_using_directive (yyvsp[-1].ttype);
4295 ;
4296 break;}
4297 case 39:
4298 #line 466 "parse.y"
4299 {
4300 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4301 yyval.ttype = lastiddecl;
4302 got_scope = yyval.ttype;
4303 ;
4304 break;}
4305 case 40:
4306 #line 472 "parse.y"
4307 {
4308 yyval.ttype = yyvsp[-1].ttype;
4309 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4310 yyval.ttype = lastiddecl;
4311 got_scope = yyval.ttype;
4312 ;
4313 break;}
4314 case 43:
4315 #line 483 "parse.y"
4316 { yyval.ttype = yyvsp[0].ttype; ;
4317 break;}
4318 case 44:
4319 #line 485 "parse.y"
4320 { yyval.ttype = yyvsp[0].ttype; ;
4321 break;}
4322 case 45:
4323 #line 490 "parse.y"
4324 { push_lang_context (yyvsp[0].ttype); ;
4325 break;}
4326 case 46:
4327 #line 492 "parse.y"
4328 { if (current_lang_name != yyvsp[0].ttype)
4329 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4330 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4331 break;}
4332 case 47:
4333 #line 499 "parse.y"
4334 { begin_template_parm_list (); ;
4335 break;}
4336 case 48:
4337 #line 501 "parse.y"
4338 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4339 break;}
4340 case 49:
4341 #line 503 "parse.y"
4342 { begin_specialization();
4343 yyval.ttype = NULL_TREE; ;
4344 break;}
4345 case 50:
4346 #line 509 "parse.y"
4347 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4348 break;}
4349 case 51:
4350 #line 511 "parse.y"
4351 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4352 break;}
4353 case 52:
4354 #line 516 "parse.y"
4355 { yyval.ttype = yyvsp[0].ttype; ;
4356 break;}
4357 case 53:
4358 #line 518 "parse.y"
4359 { yyval.ttype = NULL_TREE; ;
4360 break;}
4361 case 54:
4362 #line 522 "parse.y"
4363 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4364 break;}
4365 case 55:
4366 #line 524 "parse.y"
4367 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4368 break;}
4369 case 56:
4370 #line 529 "parse.y"
4371 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4372 break;}
4373 case 57:
4374 #line 541 "parse.y"
4375 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4376 break;}
4377 case 58:
4378 #line 543 "parse.y"
4379 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4380 break;}
4381 case 59:
4382 #line 545 "parse.y"
4383 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4384 break;}
4385 case 60:
4386 #line 547 "parse.y"
4387 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4388 break;}
4389 case 61:
4390 #line 549 "parse.y"
4391 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4392 break;}
4393 case 62:
4394 #line 551 "parse.y"
4395 {
4396 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4397 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4398 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4399 {
4400 error ("invalid default template argument");
4401 yyvsp[0].ttype = error_mark_node;
4402 }
4403 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4404 ;
4405 break;}
4406 case 63:
4407 #line 565 "parse.y"
4408 { finish_template_decl (yyvsp[-1].ttype); ;
4409 break;}
4410 case 64:
4411 #line 567 "parse.y"
4412 { finish_template_decl (yyvsp[-1].ttype); ;
4413 break;}
4414 case 65:
4415 #line 572 "parse.y"
4416 { if (pending_inlines) do_pending_inlines (); ;
4417 break;}
4418 case 66:
4419 #line 574 "parse.y"
4420 { if (pending_inlines) do_pending_inlines (); ;
4421 break;}
4422 case 67:
4423 #line 576 "parse.y"
4424 { if (pending_inlines) do_pending_inlines (); ;
4425 break;}
4426 case 68:
4427 #line 578 "parse.y"
4428 { if (pending_inlines) do_pending_inlines ();
4429 pop_lang_context (); ;
4430 break;}
4431 case 69:
4432 #line 581 "parse.y"
4433 { if (pending_inlines) do_pending_inlines ();
4434 pop_lang_context (); ;
4435 break;}
4436 case 70:
4437 #line 584 "parse.y"
4438 { pedantic = yyvsp[-1].itype; ;
4439 break;}
4440 case 72:
4441 #line 590 "parse.y"
4442 {;
4443 break;}
4444 case 73:
4445 #line 592 "parse.y"
4446 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4447 break;}
4448 case 74:
4449 #line 594 "parse.y"
4450 { maybe_process_partial_specialization (yyvsp[-1].ftype.t);
4451 note_got_semicolon (yyvsp[-1].ftype.t); ;
4452 break;}
4453 case 76:
4454 #line 601 "parse.y"
4455 {;
4456 break;}
4457 case 77:
4458 #line 603 "parse.y"
4459 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4460 break;}
4461 case 78:
4462 #line 605 "parse.y"
4463 { pedwarn ("empty declaration"); ;
4464 break;}
4465 case 80:
4466 #line 608 "parse.y"
4467 {
4468 tree t, attrs;
4469 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4470 shadow_tag (t);
4471 note_list_got_semicolon (yyvsp[-1].ftype.t);
4472 ;
4473 break;}
4474 case 84:
4475 #line 621 "parse.y"
4476 { yyval.itype = 0; ;
4477 break;}
4478 case 85:
4479 #line 623 "parse.y"
4480 { yyval.itype = 1; ;
4481 break;}
4482 case 91:
4483 #line 639 "parse.y"
4484 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4485 break;}
4486 case 92:
4487 #line 641 "parse.y"
4488 { ;
4489 break;}
4490 case 93:
4491 #line 643 "parse.y"
4492 { ;
4493 break;}
4494 case 94:
4495 #line 648 "parse.y"
4496 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4497 break;}
4498 case 95:
4499 #line 650 "parse.y"
4500 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4501 break;}
4502 case 96:
4503 #line 652 "parse.y"
4504 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4505 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4506 ;
4507 break;}
4508 case 97:
4509 #line 656 "parse.y"
4510 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4511 break;}
4512 case 98:
4513 #line 658 "parse.y"
4514 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4515 break;}
4516 case 99:
4517 #line 660 "parse.y"
4518 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4519 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4520 ;
4521 break;}
4522 case 100:
4523 #line 664 "parse.y"
4524 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4525 break;}
4526 case 101:
4527 #line 666 "parse.y"
4528 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4529 break;}
4530 case 102:
4531 #line 668 "parse.y"
4532 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4533 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4534 ;
4535 break;}
4536 case 103:
4537 #line 672 "parse.y"
4538 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4539 break;}
4540 case 104:
4541 #line 674 "parse.y"
4542 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4543 break;}
4544 case 105:
4545 #line 676 "parse.y"
4546 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4547 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4548 ;
4549 break;}
4550 case 106:
4551 #line 683 "parse.y"
4552 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4553 YYERROR1; ;
4554 break;}
4555 case 107:
4556 #line 686 "parse.y"
4557 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4558 YYERROR1; ;
4559 break;}
4560 case 108:
4561 #line 689 "parse.y"
4562 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4563 YYERROR1; ;
4564 break;}
4565 case 109:
4566 #line 692 "parse.y"
4567 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4568 YYERROR1; ;
4569 break;}
4570 case 110:
4571 #line 695 "parse.y"
4572 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4573 YYERROR1; ;
4574 break;}
4575 case 111:
4576 #line 701 "parse.y"
4577 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4578 break;}
4579 case 112:
4580 #line 703 "parse.y"
4581 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4582 break;}
4583 case 113:
4584 #line 705 "parse.y"
4585 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4586 break;}
4587 case 114:
4588 #line 707 "parse.y"
4589 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4590 break;}
4591 case 115:
4592 #line 714 "parse.y"
4593 { tree specs, attrs;
4594 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4595 attrs = build_tree_list (attrs, NULL_TREE);
4596 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs);
4597 rest_of_mdef:
4598 if (! yyval.ttype)
4599 YYERROR1;
4600 if (yychar == YYEMPTY)
4601 yychar = YYLEX;
4602 reinit_parse_for_method (yychar, yyval.ttype); ;
4603 break;}
4604 case 116:
4605 #line 725 "parse.y"
4606 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
4607 goto rest_of_mdef; ;
4608 break;}
4609 case 117:
4610 #line 728 "parse.y"
4611 { tree specs, attrs;
4612 split_specs_attrs (yyvsp[-1].ftype.t, &specs, &attrs);
4613 attrs = build_tree_list (attrs, NULL_TREE);
4614 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4615 break;}
4616 case 118:
4617 #line 733 "parse.y"
4618 { tree specs, attrs;
4619 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4620 attrs = build_tree_list (attrs, NULL_TREE);
4621 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4622 break;}
4623 case 119:
4624 #line 738 "parse.y"
4625 { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE);
4626 goto rest_of_mdef; ;
4627 break;}
4628 case 120:
4629 #line 741 "parse.y"
4630 { tree specs, attrs;
4631 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4632 attrs = build_tree_list (attrs, NULL_TREE);
4633 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4634 break;}
4635 case 121:
4636 #line 746 "parse.y"
4637 { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE);
4638 goto rest_of_mdef; ;
4639 break;}
4640 case 122:
4641 #line 752 "parse.y"
4642 {
4643 if (! current_function_parms_stored)
4644 store_parm_decls ();
4645 yyval.ttype = yyvsp[0].ttype;
4646 ;
4647 break;}
4648 case 123:
4649 #line 761 "parse.y"
4650 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4651 break;}
4652 case 124:
4653 #line 763 "parse.y"
4654 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4655 break;}
4656 case 125:
4657 #line 765 "parse.y"
4658 { store_return_init (yyval.ttype, NULL_TREE); ;
4659 break;}
4660 case 126:
4661 #line 770 "parse.y"
4662 {
4663 if (yyvsp[0].itype == 0)
4664 error ("no base initializers given following ':'");
4665 setup_vtbl_ptr ();
4666 /* Always keep the BLOCK node associated with the outermost
4667 pair of curley braces of a function. These are needed
4668 for correct operation of dwarfout.c. */
4669 keep_next_level ();
4670 ;
4671 break;}
4672 case 127:
4673 #line 783 "parse.y"
4674 {
4675 if (! current_function_parms_stored)
4676 store_parm_decls ();
4677
4678 if (DECL_CONSTRUCTOR_P (current_function_decl))
4679 {
4680 /* Make a contour for the initializer list. */
4681 pushlevel (0);
4682 clear_last_expr ();
4683 expand_start_bindings (0);
4684 }
4685 else if (current_class_type == NULL_TREE)
4686 error ("base initializers not allowed for non-member functions");
4687 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4688 error ("only constructors take base initializers");
4689 ;
4690 break;}
4691 case 128:
4692 #line 803 "parse.y"
4693 { yyval.itype = 0; ;
4694 break;}
4695 case 129:
4696 #line 805 "parse.y"
4697 { yyval.itype = 1; ;
4698 break;}
4699 case 132:
4700 #line 812 "parse.y"
4701 {
4702 if (current_class_name)
4703 pedwarn ("anachronistic old style base class initializer");
4704 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4705 ;
4706 break;}
4707 case 133:
4708 #line 818 "parse.y"
4709 {
4710 if (current_class_name)
4711 pedwarn ("anachronistic old style base class initializer");
4712 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4713 ;
4714 break;}
4715 case 134:
4716 #line 824 "parse.y"
4717 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4718 break;}
4719 case 135:
4720 #line 826 "parse.y"
4721 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4722 break;}
4723 case 136:
4724 #line 828 "parse.y"
4725 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4726 break;}
4727 case 137:
4728 #line 830 "parse.y"
4729 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4730 break;}
4731 case 138:
4732 #line 832 "parse.y"
4733 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4734 yyvsp[-1].ttype); ;
4735 break;}
4736 case 139:
4737 #line 835 "parse.y"
4738 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4739 void_type_node); ;
4740 break;}
4741 case 151:
4742 #line 861 "parse.y"
4743 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4744 yyungetc (';', 1); ;
4745 break;}
4746 case 153:
4747 #line 865 "parse.y"
4748 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4749 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4750 break;}
4751 case 155:
4752 #line 869 "parse.y"
4753 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4754 break;}
4755 case 157:
4756 #line 872 "parse.y"
4757 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4758 break;}
4759 case 159:
4760 #line 875 "parse.y"
4761 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4762 yyungetc (';', 1); ;
4763 break;}
4764 case 161:
4765 #line 880 "parse.y"
4766 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4767 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4768 break;}
4769 case 163:
4770 #line 884 "parse.y"
4771 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4772 break;}
4773 case 165:
4774 #line 887 "parse.y"
4775 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4776 break;}
4777 case 167:
4778 #line 892 "parse.y"
4779 { begin_explicit_instantiation(); ;
4780 break;}
4781 case 168:
4782 #line 895 "parse.y"
4783 { end_explicit_instantiation(); ;
4784 break;}
4785 case 169:
4786 #line 904 "parse.y"
4787 { yyval.ttype = yyvsp[0].ttype; ;
4788 break;}
4789 case 170:
4790 #line 907 "parse.y"
4791 { yyval.ttype = yyvsp[0].ttype; ;
4792 break;}
4793 case 172:
4794 #line 914 "parse.y"
4795 { yyval.ttype = yyvsp[0].ttype; ;
4796 break;}
4797 case 173:
4798 #line 918 "parse.y"
4799 {
4800 if (yychar == YYEMPTY)
4801 yychar = YYLEX;
4802
4803 yyval.ttype = finish_template_type (yyvsp[-3].ttype, yyvsp[-1].ttype,
4804 yychar == SCOPE);
4805 ;
4806 break;}
4807 case 175:
4808 #line 929 "parse.y"
4809 {
4810 /* Handle `Class<Class<Type>>' without space in the `>>' */
4811 pedwarn ("`>>' should be `> >' in template class name");
4812 yyungetc ('>', 1);
4813 ;
4814 break;}
4815 case 176:
4816 #line 938 "parse.y"
4817 { yyval.ttype = NULL_TREE; ;
4818 break;}
4819 case 178:
4820 #line 944 "parse.y"
4821 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4822 break;}
4823 case 179:
4824 #line 946 "parse.y"
4825 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4826 break;}
4827 case 180:
4828 #line 951 "parse.y"
4829 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4830 break;}
4831 case 181:
4832 #line 953 "parse.y"
4833 { yyval.ttype = lastiddecl; ;
4834 break;}
4835 case 183:
4836 #line 959 "parse.y"
4837 { yyval.code = NEGATE_EXPR; ;
4838 break;}
4839 case 184:
4840 #line 961 "parse.y"
4841 { yyval.code = CONVERT_EXPR; ;
4842 break;}
4843 case 185:
4844 #line 963 "parse.y"
4845 { yyval.code = PREINCREMENT_EXPR; ;
4846 break;}
4847 case 186:
4848 #line 965 "parse.y"
4849 { yyval.code = PREDECREMENT_EXPR; ;
4850 break;}
4851 case 187:
4852 #line 967 "parse.y"
4853 { yyval.code = TRUTH_NOT_EXPR; ;
4854 break;}
4855 case 188:
4856 #line 972 "parse.y"
4857 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4858 break;}
4859 case 190:
4860 #line 978 "parse.y"
4861 { error ("ANSI C++ forbids an empty condition for `%s'",
4862 cond_stmt_keyword);
4863 yyval.ttype = integer_zero_node; ;
4864 break;}
4865 case 191:
4866 #line 982 "parse.y"
4867 { yyval.ttype = yyvsp[-1].ttype; ;
4868 break;}
4869 case 192:
4870 #line 987 "parse.y"
4871 { error ("ANSI C++ forbids an empty condition for `%s'",
4872 cond_stmt_keyword);
4873 yyval.ttype = integer_zero_node; ;
4874 break;}
4875 case 193:
4876 #line 991 "parse.y"
4877 { yyval.ttype = yyvsp[-1].ttype; ;
4878 break;}
4879 case 194:
4880 #line 996 "parse.y"
4881 { yyval.ttype = NULL_TREE; ;
4882 break;}
4883 case 196:
4884 #line 999 "parse.y"
4885 { yyval.ttype = NULL_TREE; ;
4886 break;}
4887 case 197:
4888 #line 1004 "parse.y"
4889 { {
4890 tree d;
4891 for (d = getdecls (); d; d = TREE_CHAIN (d))
4892 if (TREE_CODE (d) == TYPE_DECL) {
4893 tree s = TREE_TYPE (d);
4894 if (TREE_CODE (s) == RECORD_TYPE)
4895 cp_error ("definition of class `%T' in condition", s);
4896 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4897 cp_error ("definition of enum `%T' in condition", s);
4898 }
4899 }
4900 current_declspecs = yyvsp[-4].ftype.t;
4901 yyvsp[0].itype = suspend_momentary ();
4902 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4903 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4904 ;
4905 break;}
4906 case 198:
4907 #line 1021 "parse.y"
4908 {
4909 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4910 resume_momentary (yyvsp[-2].itype);
4911 yyval.ttype = yyvsp[-1].ttype;
4912 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4913 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4914 ;
4915 break;}
4916 case 204:
4917 #line 1040 "parse.y"
4918 { yyval.ttype = begin_compound_stmt (1); ;
4919 break;}
4920 case 205:
4921 #line 1042 "parse.y"
4922 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4923 break;}
4924 case 207:
4925 #line 1049 "parse.y"
4926 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4927 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4928 break;}
4929 case 208:
4930 #line 1052 "parse.y"
4931 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4932 build_expr_list (NULL_TREE, error_mark_node)); ;
4933 break;}
4934 case 209:
4935 #line 1055 "parse.y"
4936 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4937 break;}
4938 case 210:
4939 #line 1057 "parse.y"
4940 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4941 break;}
4942 case 211:
4943 #line 1062 "parse.y"
4944 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4945 break;}
4946 case 213:
4947 #line 1068 "parse.y"
4948 { yyval.ttype = yyvsp[0].ttype; ;
4949 break;}
4950 case 214:
4951 #line 1071 "parse.y"
4952 { yyval.ttype = yyvsp[0].ttype;
4953 pedantic = yyvsp[-1].itype; ;
4954 break;}
4955 case 215:
4956 #line 1074 "parse.y"
4957 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4958 break;}
4959 case 216:
4960 #line 1076 "parse.y"
4961 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4962 break;}
4963 case 217:
4964 #line 1078 "parse.y"
4965 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4966 break;}
4967 case 218:
4968 #line 1080 "parse.y"
4969 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
4970 break;}
4971 case 219:
4972 #line 1083 "parse.y"
4973 { if (pedantic)
4974 pedwarn ("ANSI C++ forbids `&&'");
4975 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4976 break;}
4977 case 220:
4978 #line 1087 "parse.y"
4979 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4980 break;}
4981 case 221:
4982 #line 1089 "parse.y"
4983 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4984 break;}
4985 case 222:
4986 #line 1091 "parse.y"
4987 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4988 break;}
4989 case 223:
4990 #line 1093 "parse.y"
4991 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4992 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4993 break;}
4994 case 224:
4995 #line 1099 "parse.y"
4996 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4997 check_for_new_type ("new", yyvsp[0].ftype); ;
4998 break;}
4999 case 225:
5000 #line 1102 "parse.y"
5001 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
5002 check_for_new_type ("new", yyvsp[-1].ftype); ;
5003 break;}
5004 case 226:
5005 #line 1105 "parse.y"
5006 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
5007 check_for_new_type ("new", yyvsp[0].ftype); ;
5008 break;}
5009 case 227:
5010 #line 1108 "parse.y"
5011 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
5012 check_for_new_type ("new", yyvsp[-1].ftype); ;
5013 break;}
5014 case 228:
5015 #line 1121 "parse.y"
5016 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
5017 NULL_TREE, yyvsp[-4].itype);
5018 check_for_new_type ("new", yyvsp[-1].ftype); ;
5019 break;}
5020 case 229:
5021 #line 1126 "parse.y"
5022 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
5023 check_for_new_type ("new", yyvsp[-2].ftype); ;
5024 break;}
5025 case 230:
5026 #line 1130 "parse.y"
5027 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype);
5028 check_for_new_type ("new", yyvsp[-1].ftype); ;
5029 break;}
5030 case 231:
5031 #line 1134 "parse.y"
5032 { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype);
5033 check_for_new_type ("new", yyvsp[-2].ftype); ;
5034 break;}
5035 case 232:
5036 #line 1138 "parse.y"
5037 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
5038 break;}
5039 case 233:
5040 #line 1140 "parse.y"
5041 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
5042 if (yychar == YYEMPTY)
5043 yychar = YYLEX; ;
5044 break;}
5045 case 234:
5046 #line 1144 "parse.y"
5047 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
5048 if (yychar == YYEMPTY)
5049 yychar = YYLEX; ;
5050 break;}
5051 case 235:
5052 #line 1148 "parse.y"
5053 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
5054 break;}
5055 case 236:
5056 #line 1150 "parse.y"
5057 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
5058 break;}
5059 case 237:
5060 #line 1160 "parse.y"
5061 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
5062 break;}
5063 case 238:
5064 #line 1163 "parse.y"
5065 { yyval.itype = begin_new_placement (); ;
5066 break;}
5067 case 239:
5068 #line 1167 "parse.y"
5069 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5070 break;}
5071 case 240:
5072 #line 1169 "parse.y"
5073 { cp_pedwarn ("old style placement syntax, use () instead");
5074 yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5075 break;}
5076 case 241:
5077 #line 1175 "parse.y"
5078 { yyval.ttype = yyvsp[-1].ttype; ;
5079 break;}
5080 case 242:
5081 #line 1177 "parse.y"
5082 { yyval.ttype = NULL_TREE; ;
5083 break;}
5084 case 243:
5085 #line 1179 "parse.y"
5086 {
5087 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
5088 yyval.ttype = error_mark_node;
5089 ;
5090 break;}
5091 case 244:
5092 #line 1187 "parse.y"
5093 {
5094 if (pedantic)
5095 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5096 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
5097 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
5098 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
5099 else
5100 yyval.ttype = yyvsp[0].ttype;
5101 ;
5102 break;}
5103 case 245:
5104 #line 1201 "parse.y"
5105 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5106 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5107 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5108 break;}
5109 case 246:
5110 #line 1205 "parse.y"
5111 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5112 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5113 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5114 break;}
5115 case 248:
5116 #line 1213 "parse.y"
5117 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
5118 break;}
5119 case 249:
5120 #line 1215 "parse.y"
5121 {
5122 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
5123 nreverse (yyvsp[-2].ttype));
5124 if (pedantic)
5125 pedwarn ("ANSI C++ forbids constructor-expressions");
5126 /* Indicate that this was a GNU C constructor expression. */
5127 TREE_HAS_CONSTRUCTOR (init) = 1;
5128
5129 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
5130 ;
5131 break;}
5132 case 251:
5133 #line 1231 "parse.y"
5134 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
5135 break;}
5136 case 252:
5137 #line 1233 "parse.y"
5138 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
5139 break;}
5140 case 253:
5141 #line 1235 "parse.y"
5142 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5143 break;}
5144 case 254:
5145 #line 1237 "parse.y"
5146 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5147 break;}
5148 case 255:
5149 #line 1239 "parse.y"
5150 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5151 break;}
5152 case 256:
5153 #line 1241 "parse.y"
5154 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5155 break;}
5156 case 257:
5157 #line 1243 "parse.y"
5158 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5159 break;}
5160 case 258:
5161 #line 1245 "parse.y"
5162 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5163 break;}
5164 case 259:
5165 #line 1247 "parse.y"
5166 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5167 break;}
5168 case 260:
5169 #line 1249 "parse.y"
5170 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5171 break;}
5172 case 261:
5173 #line 1251 "parse.y"
5174 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5175 break;}
5176 case 262:
5177 #line 1253 "parse.y"
5178 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5179 break;}
5180 case 263:
5181 #line 1255 "parse.y"
5182 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5183 break;}
5184 case 264:
5185 #line 1257 "parse.y"
5186 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5187 break;}
5188 case 265:
5189 #line 1259 "parse.y"
5190 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5191 break;}
5192 case 266:
5193 #line 1261 "parse.y"
5194 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5195 break;}
5196 case 267:
5197 #line 1263 "parse.y"
5198 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5199 break;}
5200 case 268:
5201 #line 1265 "parse.y"
5202 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5203 break;}
5204 case 269:
5205 #line 1267 "parse.y"
5206 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5207 break;}
5208 case 270:
5209 #line 1269 "parse.y"
5210 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5211 break;}
5212 case 271:
5213 #line 1271 "parse.y"
5214 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5215 if (yyval.ttype != error_mark_node)
5216 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5217 break;}
5218 case 272:
5219 #line 1275 "parse.y"
5220 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5221 break;}
5222 case 273:
5223 #line 1277 "parse.y"
5224 { yyval.ttype = build_throw (NULL_TREE); ;
5225 break;}
5226 case 274:
5227 #line 1279 "parse.y"
5228 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5229 break;}
5230 case 275:
5231 #line 1297 "parse.y"
5232 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5233 break;}
5234 case 276:
5235 #line 1299 "parse.y"
5236 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5237 break;}
5238 case 282:
5239 #line 1308 "parse.y"
5240 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE); ;
5241 break;}
5242 case 283:
5243 #line 1312 "parse.y"
5244 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5245 break;}
5246 case 284:
5247 #line 1314 "parse.y"
5248 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5249 break;}
5250 case 285:
5251 #line 1319 "parse.y"
5252 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5253 break;}
5254 case 286:
5255 #line 1321 "parse.y"
5256 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5257 break;}
5258 case 287:
5259 #line 1324 "parse.y"
5260 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5261 break;}
5262 case 292:
5263 #line 1336 "parse.y"
5264 {
5265 /* Provide support for '(' attributes '*' declarator ')'
5266 etc */
5267 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
5268 ;
5269 break;}
5270 case 294:
5271 #line 1346 "parse.y"
5272 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5273 break;}
5274 case 295:
5275 #line 1348 "parse.y"
5276 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5277 break;}
5278 case 296:
5279 #line 1350 "parse.y"
5280 { yyval.ttype = yyvsp[-1].ttype; ;
5281 break;}
5282 case 297:
5283 #line 1355 "parse.y"
5284 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5285 break;}
5286 case 298:
5287 #line 1357 "parse.y"
5288 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5289 break;}
5290 case 302:
5291 #line 1367 "parse.y"
5292 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5293 break;}
5294 case 303:
5295 #line 1372 "parse.y"
5296 {
5297 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5298 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5299 else
5300 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5301 ;
5302 break;}
5303 case 306:
5304 #line 1381 "parse.y"
5305 {
5306 if (processing_template_decl)
5307 push_obstacks (&permanent_obstack, &permanent_obstack);
5308 yyval.ttype = combine_strings (yyval.ttype);
5309 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5310 a const array the way we want, so fix it. */
5311 if (flag_const_strings)
5312 TREE_TYPE (yyval.ttype) = build_cplus_array_type
5313 (TREE_TYPE (TREE_TYPE (yyval.ttype)),
5314 TYPE_DOMAIN (TREE_TYPE (yyval.ttype)));
5315 if (processing_template_decl)
5316 pop_obstacks ();
5317 ;
5318 break;}
5319 case 307:
5320 #line 1395 "parse.y"
5321 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5322 break;}
5323 case 308:
5324 #line 1397 "parse.y"
5325 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5326 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5327 break;}
5328 case 309:
5329 #line 1400 "parse.y"
5330 { yyval.ttype = error_mark_node; ;
5331 break;}
5332 case 310:
5333 #line 1402 "parse.y"
5334 { tree scope = current_scope ();
5335 if (!scope || TREE_CODE (scope) != FUNCTION_DECL)
5336 {
5337 error ("braced-group within expression allowed only inside a function");
5338 YYERROR;
5339 }
5340 if (pedantic)
5341 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5342 yyval.ttype = begin_stmt_expr ();
5343 ;
5344 break;}
5345 case 311:
5346 #line 1413 "parse.y"
5347 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5348 break;}
5349 case 312:
5350 #line 1418 "parse.y"
5351 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
5352 break;}
5353 case 313:
5354 #line 1420 "parse.y"
5355 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
5356 break;}
5357 case 314:
5358 #line 1422 "parse.y"
5359 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
5360 break;}
5361 case 315:
5362 #line 1424 "parse.y"
5363 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
5364 break;}
5365 case 316:
5366 #line 1426 "parse.y"
5367 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5368 break;}
5369 case 317:
5370 #line 1428 "parse.y"
5371 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5372 break;}
5373 case 318:
5374 #line 1430 "parse.y"
5375 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5376 break;}
5377 case 319:
5378 #line 1433 "parse.y"
5379 { yyval.ttype = finish_this_expr (); ;
5380 break;}
5381 case 320:
5382 #line 1435 "parse.y"
5383 {
5384 /* This is a C cast in C++'s `functional' notation
5385 using the "implicit int" extension so that:
5386 `const (3)' is equivalent to `const int (3)'. */
5387 tree type;
5388
5389 if (yyvsp[-1].ttype == error_mark_node)
5390 {
5391 yyval.ttype = error_mark_node;
5392 break;
5393 }
5394
5395 type = cp_build_qualified_type (integer_type_node,
5396 cp_type_qual_from_rid (yyvsp[-3].ttype));
5397 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5398 ;
5399 break;}
5400 case 322:
5401 #line 1453 "parse.y"
5402 { tree type = groktypename (yyvsp[-4].ftype.t);
5403 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5404 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5405 break;}
5406 case 323:
5407 #line 1457 "parse.y"
5408 { tree type = groktypename (yyvsp[-4].ftype.t);
5409 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5410 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5411 break;}
5412 case 324:
5413 #line 1461 "parse.y"
5414 { tree type = groktypename (yyvsp[-4].ftype.t);
5415 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5416 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5417 break;}
5418 case 325:
5419 #line 1465 "parse.y"
5420 { tree type = groktypename (yyvsp[-4].ftype.t);
5421 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5422 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5423 break;}
5424 case 326:
5425 #line 1469 "parse.y"
5426 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5427 break;}
5428 case 327:
5429 #line 1471 "parse.y"
5430 { tree type = groktypename (yyvsp[-1].ftype.t);
5431 check_for_new_type ("typeid", yyvsp[-1].ftype);
5432 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5433 break;}
5434 case 328:
5435 #line 1475 "parse.y"
5436 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5437 break;}
5438 case 329:
5439 #line 1477 "parse.y"
5440 { yyval.ttype = yyvsp[0].ttype; ;
5441 break;}
5442 case 330:
5443 #line 1479 "parse.y"
5444 {
5445 got_scope = NULL_TREE;
5446 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5447 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5448 else
5449 yyval.ttype = yyvsp[0].ttype;
5450 ;
5451 break;}
5452 case 331:
5453 #line 1487 "parse.y"
5454 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5455 break;}
5456 case 332:
5457 #line 1489 "parse.y"
5458 { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5459 break;}
5460 case 333:
5461 #line 1491 "parse.y"
5462 { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5463 break;}
5464 case 334:
5465 #line 1493 "parse.y"
5466 {
5467 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5468 ;
5469 break;}
5470 case 335:
5471 #line 1497 "parse.y"
5472 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5473 break;}
5474 case 336:
5475 #line 1499 "parse.y"
5476 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5477 break;}
5478 case 337:
5479 #line 1501 "parse.y"
5480 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5481 break;}
5482 case 338:
5483 #line 1503 "parse.y"
5484 { if (processing_template_decl)
5485 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5486 else
5487 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5488 break;}
5489 case 339:
5490 #line 1508 "parse.y"
5491 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5492 break;}
5493 case 340:
5494 #line 1510 "parse.y"
5495 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5496 break;}
5497 case 341:
5498 #line 1512 "parse.y"
5499 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5500 break;}
5501 case 342:
5502 #line 1514 "parse.y"
5503 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5504 break;}
5505 case 343:
5506 #line 1517 "parse.y"
5507 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5508 break;}
5509 case 344:
5510 #line 1519 "parse.y"
5511 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5512 break;}
5513 case 345:
5514 #line 1521 "parse.y"
5515 {
5516 yyval.ttype = error_mark_node;
5517 ;
5518 break;}
5519 case 346:
5520 #line 1566 "parse.y"
5521 { yyval.itype = 0; ;
5522 break;}
5523 case 347:
5524 #line 1568 "parse.y"
5525 { got_scope = NULL_TREE; yyval.itype = 1; ;
5526 break;}
5527 case 348:
5528 #line 1573 "parse.y"
5529 { yyval.itype = 0; ;
5530 break;}
5531 case 349:
5532 #line 1575 "parse.y"
5533 { got_scope = NULL_TREE; yyval.itype = 1; ;
5534 break;}
5535 case 350:
5536 #line 1580 "parse.y"
5537 { yyval.ttype = boolean_true_node; ;
5538 break;}
5539 case 351:
5540 #line 1582 "parse.y"
5541 { yyval.ttype = boolean_false_node; ;
5542 break;}
5543 case 353:
5544 #line 1589 "parse.y"
5545 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5546 break;}
5547 case 354:
5548 #line 1594 "parse.y"
5549 {
5550 if (! current_function_parms_stored)
5551 store_parm_decls ();
5552 setup_vtbl_ptr ();
5553 /* Always keep the BLOCK node associated with the outermost
5554 pair of curley braces of a function. These are needed
5555 for correct operation of dwarfout.c. */
5556 keep_next_level ();
5557 ;
5558 break;}
5559 case 355:
5560 #line 1607 "parse.y"
5561 { got_object = TREE_TYPE (yyval.ttype); ;
5562 break;}
5563 case 356:
5564 #line 1609 "parse.y"
5565 {
5566 yyval.ttype = build_x_arrow (yyval.ttype);
5567 got_object = TREE_TYPE (yyval.ttype);
5568 ;
5569 break;}
5570 case 357:
5571 #line 1617 "parse.y"
5572 {
5573 resume_momentary (yyvsp[-1].itype);
5574 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5575 note_got_semicolon (yyvsp[-2].ftype.t);
5576 ;
5577 break;}
5578 case 358:
5579 #line 1623 "parse.y"
5580 {
5581 resume_momentary (yyvsp[-1].itype);
5582 note_list_got_semicolon (yyvsp[-2].ftype.t);
5583 ;
5584 break;}
5585 case 359:
5586 #line 1628 "parse.y"
5587 { resume_momentary (yyvsp[-1].itype); ;
5588 break;}
5589 case 360:
5590 #line 1630 "parse.y"
5591 {
5592 shadow_tag (yyvsp[-1].ftype.t);
5593 note_list_got_semicolon (yyvsp[-1].ftype.t);
5594 ;
5595 break;}
5596 case 361:
5597 #line 1635 "parse.y"
5598 { warning ("empty declaration"); ;
5599 break;}
5600 case 362:
5601 #line 1637 "parse.y"
5602 { pedantic = yyvsp[-1].itype; ;
5603 break;}
5604 case 365:
5605 #line 1651 "parse.y"
5606 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5607 NULL_TREE, NULL_TREE); ;
5608 break;}
5609 case 366:
5610 #line 1654 "parse.y"
5611 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5612 NULL_TREE); ;
5613 break;}
5614 case 367:
5615 #line 1661 "parse.y"
5616 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5617 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5618 break;}
5619 case 368:
5620 #line 1664 "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 369:
5625 #line 1667 "parse.y"
5626 { yyval.ftype.t = build_decl_list (get_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 370:
5630 #line 1670 "parse.y"
5631 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5632 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5633 break;}
5634 case 371:
5635 #line 1673 "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 374:
5640 #line 1689 "parse.y"
5641 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5642 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5643 break;}
5644 case 375:
5645 #line 1692 "parse.y"
5646 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5647 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5648 break;}
5649 case 376:
5650 #line 1695 "parse.y"
5651 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5652 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5653 break;}
5654 case 377:
5655 #line 1698 "parse.y"
5656 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5657 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5658 break;}
5659 case 378:
5660 #line 1701 "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 379:
5665 #line 1704 "parse.y"
5666 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5667 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5668 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5669 break;}
5670 case 380:
5671 #line 1711 "parse.y"
5672 { if (extra_warnings)
5673 warning ("`%s' is not at beginning of declaration",
5674 IDENTIFIER_POINTER (yyval.ttype));
5675 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5676 break;}
5677 case 381:
5678 #line 1716 "parse.y"
5679 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5680 break;}
5681 case 382:
5682 #line 1718 "parse.y"
5683 { if (extra_warnings)
5684 warning ("`%s' is not at beginning of declaration",
5685 IDENTIFIER_POINTER (yyvsp[0].ttype));
5686 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5687 break;}
5688 case 383:
5689 #line 1723 "parse.y"
5690 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5691 break;}
5692 case 384:
5693 #line 1725 "parse.y"
5694 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5695 break;}
5696 case 385:
5697 #line 1735 "parse.y"
5698 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5699 break;}
5700 case 386:
5701 #line 1737 "parse.y"
5702 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5703 break;}
5704 case 387:
5705 #line 1739 "parse.y"
5706 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5707 TREE_STATIC (yyval.ttype) = 1; ;
5708 break;}
5709 case 388:
5710 #line 1742 "parse.y"
5711 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5712 warning ("`%s' is not at beginning of declaration",
5713 IDENTIFIER_POINTER (yyvsp[0].ttype));
5714 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5715 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5716 break;}
5717 case 389:
5718 #line 1748 "parse.y"
5719 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5720 break;}
5721 case 390:
5722 #line 1750 "parse.y"
5723 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5724 break;}
5725 case 391:
5726 #line 1761 "parse.y"
5727 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5728 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5729 break;}
5730 case 392:
5731 #line 1764 "parse.y"
5732 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5733 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5734 break;}
5735 case 393:
5736 #line 1767 "parse.y"
5737 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5738 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5739 break;}
5740 case 394:
5741 #line 1770 "parse.y"
5742 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5743 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5744 break;}
5745 case 395:
5746 #line 1776 "parse.y"
5747 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5748 break;}
5749 case 396:
5750 #line 1778 "parse.y"
5751 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5752 break;}
5753 case 398:
5754 #line 1788 "parse.y"
5755 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5756 break;}
5757 case 399:
5758 #line 1790 "parse.y"
5759 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5760 break;}
5761 case 400:
5762 #line 1792 "parse.y"
5763 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5764 yyval.ftype.new_type_flag = 0; ;
5765 break;}
5766 case 401:
5767 #line 1795 "parse.y"
5768 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5769 yyval.ftype.new_type_flag = 0; ;
5770 break;}
5771 case 402:
5772 #line 1798 "parse.y"
5773 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5774
5775 yyval.ftype.new_type_flag = 0;
5776 if (IS_AGGR_TYPE (type))
5777 {
5778 sorry ("sigof type specifier");
5779 yyval.ftype.t = type;
5780 }
5781 else
5782 {
5783 error ("`sigof' applied to non-aggregate expression");
5784 yyval.ftype.t = error_mark_node;
5785 }
5786 ;
5787 break;}
5788 case 403:
5789 #line 1813 "parse.y"
5790 { tree type = groktypename (yyvsp[-1].ftype.t);
5791
5792 yyval.ftype.new_type_flag = 0;
5793 if (IS_AGGR_TYPE (type))
5794 {
5795 sorry ("sigof type specifier");
5796 yyval.ftype.t = type;
5797 }
5798 else
5799 {
5800 error("`sigof' applied to non-aggregate type");
5801 yyval.ftype.t = error_mark_node;
5802 }
5803 ;
5804 break;}
5805 case 404:
5806 #line 1833 "parse.y"
5807 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5808 break;}
5809 case 405:
5810 #line 1835 "parse.y"
5811 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5812 break;}
5813 case 408:
5814 #line 1842 "parse.y"
5815 { check_multiple_declarators (); ;
5816 break;}
5817 case 410:
5818 #line 1848 "parse.y"
5819 { check_multiple_declarators (); ;
5820 break;}
5821 case 412:
5822 #line 1854 "parse.y"
5823 { check_multiple_declarators (); ;
5824 break;}
5825 case 413:
5826 #line 1859 "parse.y"
5827 { yyval.ttype = NULL_TREE; ;
5828 break;}
5829 case 414:
5830 #line 1861 "parse.y"
5831 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5832 break;}
5833 case 415:
5834 #line 1866 "parse.y"
5835 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5836 yyvsp[-1].ttype, prefix_attributes); ;
5837 break;}
5838 case 416:
5839 #line 1870 "parse.y"
5840 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5841 break;}
5842 case 417:
5843 #line 1872 "parse.y"
5844 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5845 yyvsp[0].ttype, prefix_attributes);
5846 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5847 break;}
5848 case 418:
5849 #line 1885 "parse.y"
5850 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5851 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5852 break;}
5853 case 419:
5854 #line 1890 "parse.y"
5855 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5856 LOOKUP_ONLYCONVERTING);
5857 yyval.itype = yyvsp[-2].itype; ;
5858 break;}
5859 case 420:
5860 #line 1894 "parse.y"
5861 { tree d;
5862 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5863 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5864 break;}
5865 case 421:
5866 #line 1901 "parse.y"
5867 { yyval.itype = yyvsp[0].itype; ;
5868 break;}
5869 case 422:
5870 #line 1905 "parse.y"
5871 { yyval.itype = yyvsp[0].itype; ;
5872 break;}
5873 case 423:
5874 #line 1910 "parse.y"
5875 { /* Set things up as initdcl0_innards expects. */
5876 yyvsp[0].ttype = yyvsp[-1].ttype;
5877 yyvsp[-1].ttype = NULL_TREE; ;
5878 break;}
5879 case 424:
5880 #line 1914 "parse.y"
5881 {;
5882 break;}
5883 case 425:
5884 #line 1916 "parse.y"
5885 { tree d;
5886 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5887 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5888 break;}
5889 case 426:
5890 #line 1925 "parse.y"
5891 { yyval.ttype = NULL_TREE; ;
5892 break;}
5893 case 427:
5894 #line 1927 "parse.y"
5895 { yyval.ttype = yyvsp[0].ttype; ;
5896 break;}
5897 case 428:
5898 #line 1932 "parse.y"
5899 { yyval.ttype = yyvsp[0].ttype; ;
5900 break;}
5901 case 429:
5902 #line 1934 "parse.y"
5903 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5904 break;}
5905 case 430:
5906 #line 1939 "parse.y"
5907 { yyval.ttype = yyvsp[-2].ttype; ;
5908 break;}
5909 case 431:
5910 #line 1944 "parse.y"
5911 { yyval.ttype = yyvsp[0].ttype; ;
5912 break;}
5913 case 432:
5914 #line 1946 "parse.y"
5915 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5916 break;}
5917 case 433:
5918 #line 1951 "parse.y"
5919 { yyval.ttype = NULL_TREE; ;
5920 break;}
5921 case 434:
5922 #line 1953 "parse.y"
5923 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5924 break;}
5925 case 435:
5926 #line 1955 "parse.y"
5927 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5928 break;}
5929 case 436:
5930 #line 1957 "parse.y"
5931 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5932 break;}
5933 case 437:
5934 #line 1959 "parse.y"
5935 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5936 break;}
5937 case 442:
5938 #line 1975 "parse.y"
5939 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5940 break;}
5941 case 443:
5942 #line 1977 "parse.y"
5943 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5944 break;}
5945 case 444:
5946 #line 1982 "parse.y"
5947 { yyval.ttype = NULL_TREE; ;
5948 break;}
5949 case 445:
5950 #line 1984 "parse.y"
5951 { yyval.ttype = yyvsp[0].ttype; ;
5952 break;}
5953 case 447:
5954 #line 1992 "parse.y"
5955 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5956 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5957 break;}
5958 case 448:
5959 #line 1995 "parse.y"
5960 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5961 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5962 break;}
5963 case 449:
5964 #line 1998 "parse.y"
5965 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5966 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5967 break;}
5968 case 450:
5969 #line 2001 "parse.y"
5970 { yyval.ttype = NULL_TREE; ;
5971 break;}
5972 case 451:
5973 #line 2008 "parse.y"
5974 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5975 break;}
5976 case 452:
5977 #line 2010 "parse.y"
5978 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5979 break;}
5980 case 453:
5981 #line 2013 "parse.y"
5982 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5983 break;}
5984 case 454:
5985 #line 2015 "parse.y"
5986 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5987 break;}
5988 case 455:
5989 #line 2017 "parse.y"
5990 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5991 break;}
5992 case 456:
5993 #line 2022 "parse.y"
5994 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5995 NULL_TREE, 1);
5996 reinit_parse_for_function (); ;
5997 break;}
5998 case 457:
5999 #line 2028 "parse.y"
6000 {
6001 int nested = (hack_decl_function_context
6002 (current_function_decl) != NULL_TREE);
6003 finish_function (lineno, (int)yyvsp[-1].itype, nested);
6004 process_next_inline (yyvsp[-3].ttype);
6005 ;
6006 break;}
6007 case 458:
6008 #line 2035 "parse.y"
6009 { process_next_inline (yyvsp[-2].ttype); ;
6010 break;}
6011 case 459:
6012 #line 2037 "parse.y"
6013 { process_next_inline (yyvsp[-2].ttype); ;
6014 break;}
6015 case 462:
6016 #line 2049 "parse.y"
6017 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6018 break;}
6019 case 463:
6020 #line 2051 "parse.y"
6021 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
6022 break;}
6023 case 465:
6024 #line 2056 "parse.y"
6025 { do_pending_defargs (); ;
6026 break;}
6027 case 466:
6028 #line 2058 "parse.y"
6029 { do_pending_defargs (); ;
6030 break;}
6031 case 467:
6032 #line 2063 "parse.y"
6033 { yyvsp[0].itype = suspend_momentary ();
6034 yyval.ttype = current_enum_type;
6035 current_enum_type = start_enum (yyvsp[-1].ttype); ;
6036 break;}
6037 case 468:
6038 #line 2067 "parse.y"
6039 { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype;
6040 yyval.ftype.t = finish_enum (current_enum_type);
6041 yyval.ftype.new_type_flag = 1;
6042 current_enum_type = yyvsp[-3].ttype;
6043 resume_momentary ((int) yyvsp[-4].itype);
6044 check_for_missing_semicolon (yyval.ftype.t); ;
6045 break;}
6046 case 469:
6047 #line 2074 "parse.y"
6048 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype));
6049 yyval.ftype.new_type_flag = 1;
6050 check_for_missing_semicolon (yyval.ftype.t); ;
6051 break;}
6052 case 470:
6053 #line 2078 "parse.y"
6054 { yyvsp[0].itype = suspend_momentary ();
6055 yyval.ttype = current_enum_type;
6056 current_enum_type = start_enum (make_anon_name ()); ;
6057 break;}
6058 case 471:
6059 #line 2082 "parse.y"
6060 { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype;
6061 yyval.ftype.t = finish_enum (current_enum_type);
6062 yyval.ftype.new_type_flag = 1;
6063 current_enum_type = yyvsp[-2].ttype;
6064 resume_momentary ((int) yyvsp[-5].itype);
6065 check_for_missing_semicolon (yyval.ftype.t); ;
6066 break;}
6067 case 472:
6068 #line 2089 "parse.y"
6069 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()));
6070 yyval.ftype.new_type_flag = 1;
6071 check_for_missing_semicolon (yyval.ftype.t); ;
6072 break;}
6073 case 473:
6074 #line 2093 "parse.y"
6075 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6076 yyval.ftype.new_type_flag = 0; ;
6077 break;}
6078 case 474:
6079 #line 2096 "parse.y"
6080 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6081 yyval.ftype.new_type_flag = 0; ;
6082 break;}
6083 case 475:
6084 #line 2099 "parse.y"
6085 { yyval.ftype.t = yyvsp[0].ttype;
6086 yyval.ftype.new_type_flag = 0;
6087 if (!processing_template_decl)
6088 cp_pedwarn ("using `typename' outside of template"); ;
6089 break;}
6090 case 476:
6091 #line 2106 "parse.y"
6092 {
6093 int semi;
6094
6095 if (yychar == YYEMPTY)
6096 yychar = YYLEX;
6097 semi = yychar == ';';
6098
6099 yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[0].ttype, semi);
6100 ;
6101 break;}
6102 case 477:
6103 #line 2116 "parse.y"
6104 { finish_default_args (); ;
6105 break;}
6106 case 478:
6107 #line 2118 "parse.y"
6108 { yyval.ftype.t = yyvsp[-3].ttype;
6109 yyval.ftype.new_type_flag = 1;
6110 begin_inline_definitions (); ;
6111 break;}
6112 case 479:
6113 #line 2122 "parse.y"
6114 {
6115 yyval.ftype.new_type_flag = 0;
6116 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
6117 {
6118 cp_error ("%T is not a class type", yyvsp[0].ttype);
6119 yyval.ftype.t = error_mark_node;
6120 }
6121 else
6122 {
6123 yyval.ftype.t = yyvsp[0].ttype;
6124 /* struct B: public A; is not accepted by the WP grammar. */
6125 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
6126 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
6127 cp_error ("base clause without member specification for `%#T'",
6128 yyval.ftype.t);
6129 }
6130 ;
6131 break;}
6132 case 483:
6133 #line 2149 "parse.y"
6134 { if (pedantic && !in_system_header)
6135 pedwarn ("comma at end of enumerator list"); ;
6136 break;}
6137 case 485:
6138 #line 2156 "parse.y"
6139 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6140 break;}
6141 case 486:
6142 #line 2158 "parse.y"
6143 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6144 break;}
6145 case 487:
6146 #line 2160 "parse.y"
6147 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6148 break;}
6149 case 488:
6150 #line 2162 "parse.y"
6151 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6152 break;}
6153 case 489:
6154 #line 2164 "parse.y"
6155 { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6156 break;}
6157 case 490:
6158 #line 2169 "parse.y"
6159 {
6160 current_aggr = yyvsp[-1].ttype;
6161 yyval.ttype = yyvsp[0].ttype;
6162 ;
6163 break;}
6164 case 491:
6165 #line 2177 "parse.y"
6166 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6167 break;}
6168 case 492:
6169 #line 2179 "parse.y"
6170 { yyungetc ('{', 1); ;
6171 break;}
6172 case 493:
6173 #line 2181 "parse.y"
6174 { yyungetc (':', 1); ;
6175 break;}
6176 case 494:
6177 #line 2186 "parse.y"
6178 {
6179 current_aggr = yyvsp[-2].ttype;
6180 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6181 ;
6182 break;}
6183 case 495:
6184 #line 2191 "parse.y"
6185 {
6186 current_aggr = yyvsp[-3].ttype;
6187 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6188 ;
6189 break;}
6190 case 496:
6191 #line 2196 "parse.y"
6192 {
6193 current_aggr = yyvsp[-2].ttype;
6194 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6195 ;
6196 break;}
6197 case 497:
6198 #line 2201 "parse.y"
6199 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6200 break;}
6201 case 498:
6202 #line 2203 "parse.y"
6203 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6204 break;}
6205 case 499:
6206 #line 2208 "parse.y"
6207 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 1); ;
6208 break;}
6209 case 500:
6210 #line 2210 "parse.y"
6211 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ;
6212 break;}
6213 case 501:
6214 #line 2214 "parse.y"
6215 {
6216 yyval.ttype = yyvsp[-1].ttype;
6217 if (yyvsp[0].ttype)
6218 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6219 ;
6220 break;}
6221 case 502:
6222 #line 2220 "parse.y"
6223 { push_scope (CP_DECL_CONTEXT (yyvsp[0].ttype)); ;
6224 break;}
6225 case 503:
6226 #line 2222 "parse.y"
6227 {
6228 pop_scope (CP_DECL_CONTEXT (yyvsp[-2].ttype));
6229 yyval.ttype = TREE_TYPE (yyvsp[-2].ttype);
6230 if (TREE_INT_CST_LOW (current_aggr) == union_type
6231 && TREE_CODE (yyval.ttype) != UNION_TYPE)
6232 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
6233 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
6234 && TREE_INT_CST_LOW (current_aggr) != union_type)
6235 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
6236 if (yyvsp[0].ttype)
6237 {
6238 maybe_process_partial_specialization (yyval.ttype);
6239 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyval.ttype, yyvsp[0].ttype);
6240 }
6241 ;
6242 break;}
6243 case 504:
6244 #line 2241 "parse.y"
6245 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0);
6246 yyungetc ('{', 1); ;
6247 break;}
6248 case 507:
6249 #line 2252 "parse.y"
6250 { yyval.ttype = NULL_TREE; ;
6251 break;}
6252 case 508:
6253 #line 2254 "parse.y"
6254 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6255 break;}
6256 case 509:
6257 #line 2256 "parse.y"
6258 { yyval.ttype = yyvsp[0].ttype; ;
6259 break;}
6260 case 511:
6261 #line 2262 "parse.y"
6262 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6263 break;}
6264 case 512:
6265 #line 2267 "parse.y"
6266 { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype,
6267 current_aggr
6268 == signature_type_node); ;
6269 break;}
6270 case 513:
6271 #line 2271 "parse.y"
6272 { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype,
6273 current_aggr
6274 == signature_type_node); ;
6275 break;}
6276 case 514:
6277 #line 2278 "parse.y"
6278 { if (yyval.ttype != error_mark_node) yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6279 break;}
6280 case 516:
6281 #line 2281 "parse.y"
6282 {
6283 if (current_aggr == signature_type_node)
6284 {
6285 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6286 {
6287 sorry ("`sigof' as base signature specifier");
6288 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6289 }
6290 else
6291 {
6292 error ("`sigof' applied to non-aggregate expression");
6293 yyval.ttype = error_mark_node;
6294 }
6295 }
6296 else
6297 {
6298 error ("`sigof' in struct or class declaration");
6299 yyval.ttype = error_mark_node;
6300 }
6301 ;
6302 break;}
6303 case 517:
6304 #line 2302 "parse.y"
6305 {
6306 if (current_aggr == signature_type_node)
6307 {
6308 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6309 {
6310 sorry ("`sigof' as base signature specifier");
6311 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6312 }
6313 else
6314 {
6315 error ("`sigof' applied to non-aggregate expression");
6316 yyval.ttype = error_mark_node;
6317 }
6318 }
6319 else
6320 {
6321 error ("`sigof' in struct or class declaration");
6322 yyval.ttype = error_mark_node;
6323 }
6324 ;
6325 break;}
6326 case 519:
6327 #line 2327 "parse.y"
6328 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6329 cp_error ("`%D' access", yyvsp[-1].ttype);
6330 yyval.ttype = access_default_virtual_node; ;
6331 break;}
6332 case 520:
6333 #line 2331 "parse.y"
6334 {
6335 if (yyvsp[-2].ttype != access_default_virtual_node)
6336 error ("multiple access specifiers");
6337 else if (yyvsp[-1].ttype == access_public_node)
6338 yyval.ttype = access_public_virtual_node;
6339 else if (yyvsp[-1].ttype == access_protected_node)
6340 yyval.ttype = access_protected_virtual_node;
6341 else /* $2 == access_private_node */
6342 yyval.ttype = access_private_virtual_node;
6343 ;
6344 break;}
6345 case 521:
6346 #line 2342 "parse.y"
6347 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6348 cp_error ("`%D' access", yyvsp[-1].ttype);
6349 else if (yyval.ttype == access_public_node)
6350 yyval.ttype = access_public_virtual_node;
6351 else if (yyval.ttype == access_protected_node)
6352 yyval.ttype = access_protected_virtual_node;
6353 else if (yyval.ttype == access_private_node)
6354 yyval.ttype = access_private_virtual_node;
6355 else
6356 error ("multiple `virtual' specifiers");
6357 ;
6358 break;}
6359 case 522:
6360 #line 2357 "parse.y"
6361 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6362 break;}
6363 case 523:
6364 #line 2362 "parse.y"
6365 {
6366 finish_member_declaration (build_self_reference ());
6367 ;
6368 break;}
6369 case 528:
6370 #line 2376 "parse.y"
6371 {
6372 if (current_aggr == signature_type_node)
6373 {
6374 error ("access specifier not allowed in signature");
6375 yyvsp[-1].ttype = access_public_node;
6376 }
6377
6378 current_access_specifier = yyvsp[-1].ttype;
6379 ;
6380 break;}
6381 case 529:
6382 #line 2391 "parse.y"
6383 {
6384 finish_member_declaration (yyvsp[0].ttype);
6385 ;
6386 break;}
6387 case 530:
6388 #line 2395 "parse.y"
6389 {
6390 finish_member_declaration (yyvsp[0].ttype);
6391 ;
6392 break;}
6393 case 532:
6394 #line 2403 "parse.y"
6395 { error ("missing ';' before right brace");
6396 yyungetc ('}', 0); ;
6397 break;}
6398 case 533:
6399 #line 2408 "parse.y"
6400 { yyval.ttype = finish_method (yyval.ttype); ;
6401 break;}
6402 case 534:
6403 #line 2410 "parse.y"
6404 { yyval.ttype = finish_method (yyval.ttype); ;
6405 break;}
6406 case 535:
6407 #line 2412 "parse.y"
6408 { yyval.ttype = finish_method (yyval.ttype); ;
6409 break;}
6410 case 536:
6411 #line 2414 "parse.y"
6412 { yyval.ttype = finish_method (yyval.ttype); ;
6413 break;}
6414 case 537:
6415 #line 2416 "parse.y"
6416 { yyval.ttype = NULL_TREE; ;
6417 break;}
6418 case 538:
6419 #line 2418 "parse.y"
6420 { yyval.ttype = yyvsp[0].ttype;
6421 pedantic = yyvsp[-1].itype; ;
6422 break;}
6423 case 539:
6424 #line 2421 "parse.y"
6425 {
6426 if (yyvsp[0].ttype)
6427 yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
6428 else
6429 /* The component was already processed. */
6430 yyval.ttype = NULL_TREE;
6431
6432 finish_template_decl (yyvsp[-1].ttype);
6433 ;
6434 break;}
6435 case 540:
6436 #line 2431 "parse.y"
6437 {
6438 yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t);
6439 finish_template_decl (yyvsp[-2].ttype);
6440 ;
6441 break;}
6442 case 541:
6443 #line 2442 "parse.y"
6444 {
6445 /* Most of the productions for component_decl only
6446 allow the creation of one new member, so we call
6447 finish_member_declaration in component_decl_list.
6448 For this rule and the next, however, there can be
6449 more than one member, e.g.:
6450
6451 int i, j;
6452
6453 and we need the first member to be fully
6454 registered before the second is processed.
6455 Therefore, the rules for components take care of
6456 this processing. To avoid registering the
6457 components more than once, we send NULL_TREE up
6458 here; that lets finish_member_declaration now
6459 that there is nothing to do. */
6460 if (!yyvsp[0].itype)
6461 grok_x_components (yyvsp[-1].ftype.t);
6462 yyval.ttype = NULL_TREE;
6463 ;
6464 break;}
6465 case 542:
6466 #line 2463 "parse.y"
6467 {
6468 if (!yyvsp[0].itype)
6469 grok_x_components (yyvsp[-1].ttype);
6470 yyval.ttype = NULL_TREE;
6471 ;
6472 break;}
6473 case 543:
6474 #line 2469 "parse.y"
6475 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6476 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6477 break;}
6478 case 544:
6479 #line 2472 "parse.y"
6480 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6481 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6482 break;}
6483 case 545:
6484 #line 2475 "parse.y"
6485 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6486 break;}
6487 case 546:
6488 #line 2477 "parse.y"
6489 { yyval.ttype = NULL_TREE; ;
6490 break;}
6491 case 547:
6492 #line 2488 "parse.y"
6493 { tree specs, attrs;
6494 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6495 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6496 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6497 break;}
6498 case 548:
6499 #line 2493 "parse.y"
6500 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6501 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6502 break;}
6503 case 549:
6504 #line 2496 "parse.y"
6505 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6506 break;}
6507 case 550:
6508 #line 2502 "parse.y"
6509 { yyval.itype = 0; ;
6510 break;}
6511 case 551:
6512 #line 2504 "parse.y"
6513 {
6514 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6515 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6516 finish_member_declaration (yyvsp[0].ttype);
6517 yyval.itype = 1;
6518 ;
6519 break;}
6520 case 552:
6521 #line 2511 "parse.y"
6522 {
6523 check_multiple_declarators ();
6524 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6525 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6526 finish_member_declaration (yyvsp[0].ttype);
6527 yyval.itype = 2;
6528 ;
6529 break;}
6530 case 553:
6531 #line 2522 "parse.y"
6532 { yyval.itype = 0; ;
6533 break;}
6534 case 554:
6535 #line 2524 "parse.y"
6536 {
6537 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6538 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6539 finish_member_declaration (yyvsp[0].ttype);
6540 yyval.itype = 1;
6541 ;
6542 break;}
6543 case 555:
6544 #line 2531 "parse.y"
6545 {
6546 check_multiple_declarators ();
6547 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6548 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6549 finish_member_declaration (yyvsp[0].ttype);
6550 yyval.itype = 2;
6551 ;
6552 break;}
6553 case 560:
6554 #line 2552 "parse.y"
6555 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6556 &prefix_attributes);
6557 yyvsp[-4].ttype = current_declspecs;
6558 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6559 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6560 break;}
6561 case 561:
6562 #line 2558 "parse.y"
6563 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6564 &prefix_attributes);
6565 yyvsp[-4].ttype = current_declspecs;
6566 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6567 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6568 break;}
6569 case 562:
6570 #line 2567 "parse.y"
6571 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6572 &prefix_attributes);
6573 yyvsp[-4].ttype = current_declspecs;
6574 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6575 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6576 break;}
6577 case 563:
6578 #line 2573 "parse.y"
6579 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6580 &prefix_attributes);
6581 yyvsp[-4].ttype = current_declspecs;
6582 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6583 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6584 break;}
6585 case 564:
6586 #line 2579 "parse.y"
6587 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6588 &prefix_attributes);
6589 yyvsp[-4].ttype = current_declspecs;
6590 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6591 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6592 break;}
6593 case 565:
6594 #line 2585 "parse.y"
6595 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6596 &prefix_attributes);
6597 yyvsp[-3].ttype = current_declspecs;
6598 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6599 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6600 break;}
6601 case 566:
6602 #line 2594 "parse.y"
6603 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6604 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6605 break;}
6606 case 567:
6607 #line 2597 "parse.y"
6608 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6609 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6610 break;}
6611 case 568:
6612 #line 2603 "parse.y"
6613 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6614 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6615 break;}
6616 case 569:
6617 #line 2606 "parse.y"
6618 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6619 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6620 break;}
6621 case 570:
6622 #line 2609 "parse.y"
6623 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6624 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6625 break;}
6626 case 572:
6627 #line 2620 "parse.y"
6628 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6629 break;}
6630 case 573:
6631 #line 2625 "parse.y"
6632 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ;
6633 break;}
6634 case 574:
6635 #line 2627 "parse.y"
6636 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ;
6637 break;}
6638 case 575:
6639 #line 2633 "parse.y"
6640 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6641 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6642 break;}
6643 case 576:
6644 #line 2636 "parse.y"
6645 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6646 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6647 break;}
6648 case 577:
6649 #line 2643 "parse.y"
6650 {
6651 if (pedantic)
6652 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6653 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6654 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6655 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6656 ;
6657 break;}
6658 case 578:
6659 #line 2654 "parse.y"
6660 { yyval.ttype = NULL_TREE; ;
6661 break;}
6662 case 579:
6663 #line 2656 "parse.y"
6664 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6665 break;}
6666 case 580:
6667 #line 2661 "parse.y"
6668 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6669 yyval.ftype.new_type_flag = 0; ;
6670 break;}
6671 case 581:
6672 #line 2664 "parse.y"
6673 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6674 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6675 break;}
6676 case 582:
6677 #line 2673 "parse.y"
6678 { yyval.itype = suspend_momentary (); ;
6679 break;}
6680 case 583:
6681 #line 2678 "parse.y"
6682 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6683 break;}
6684 case 584:
6685 #line 2684 "parse.y"
6686 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6687 break;}
6688 case 585:
6689 #line 2686 "parse.y"
6690 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6691 break;}
6692 case 586:
6693 #line 2688 "parse.y"
6694 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6695 break;}
6696 case 587:
6697 #line 2690 "parse.y"
6698 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6699 break;}
6700 case 588:
6701 #line 2697 "parse.y"
6702 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6703 break;}
6704 case 589:
6705 #line 2699 "parse.y"
6706 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6707 break;}
6708 case 590:
6709 #line 2701 "parse.y"
6710 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6711 break;}
6712 case 591:
6713 #line 2703 "parse.y"
6714 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6715 break;}
6716 case 592:
6717 #line 2705 "parse.y"
6718 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6719 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6720 ;
6721 break;}
6722 case 594:
6723 #line 2713 "parse.y"
6724 {
6725 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6726 {
6727 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6728 if (current_class_type
6729 && TYPE_BEING_DEFINED (current_class_type)
6730 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6731 {
6732 /* Remember that this name has been used in the class
6733 definition, as per [class.scope0] */
6734 pushdecl_class_level (yyval.ttype);
6735 }
6736 }
6737 else
6738 yyval.ttype = yyvsp[0].ttype;
6739 ;
6740 break;}
6741 case 595:
6742 #line 2730 "parse.y"
6743 {
6744 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6745 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6746 else
6747 yyval.ttype = yyvsp[0].ttype;
6748 got_scope = NULL_TREE;
6749 ;
6750 break;}
6751 case 598:
6752 #line 2743 "parse.y"
6753 { yyval.ttype = yyvsp[0].ttype; ;
6754 break;}
6755 case 599:
6756 #line 2748 "parse.y"
6757 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6758 break;}
6759 case 600:
6760 #line 2753 "parse.y"
6761 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6762 break;}
6763 case 601:
6764 #line 2755 "parse.y"
6765 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6766 break;}
6767 case 602:
6768 #line 2757 "parse.y"
6769 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6770 break;}
6771 case 603:
6772 #line 2759 "parse.y"
6773 { yyval.ttype = yyvsp[-1].ttype; ;
6774 break;}
6775 case 604:
6776 #line 2761 "parse.y"
6777 { push_nested_class (yyvsp[-1].ttype, 3);
6778 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6779 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6780 break;}
6781 case 607:
6782 #line 2773 "parse.y"
6783 {
6784 /* Provide support for '(' attributes '*' declarator ')'
6785 etc */
6786 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
6787 ;
6788 break;}
6789 case 608:
6790 #line 2782 "parse.y"
6791 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6792 break;}
6793 case 609:
6794 #line 2784 "parse.y"
6795 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6796 break;}
6797 case 610:
6798 #line 2786 "parse.y"
6799 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6800 break;}
6801 case 611:
6802 #line 2788 "parse.y"
6803 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6804 break;}
6805 case 612:
6806 #line 2790 "parse.y"
6807 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6808 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6809 ;
6810 break;}
6811 case 614:
6812 #line 2798 "parse.y"
6813 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6814 break;}
6815 case 615:
6816 #line 2800 "parse.y"
6817 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6818 break;}
6819 case 616:
6820 #line 2802 "parse.y"
6821 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6822 break;}
6823 case 617:
6824 #line 2804 "parse.y"
6825 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6826 break;}
6827 case 618:
6828 #line 2806 "parse.y"
6829 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6830 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6831 ;
6832 break;}
6833 case 620:
6834 #line 2814 "parse.y"
6835 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6836 break;}
6837 case 621:
6838 #line 2816 "parse.y"
6839 { yyval.ttype = yyvsp[-1].ttype; ;
6840 break;}
6841 case 622:
6842 #line 2818 "parse.y"
6843 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6844 break;}
6845 case 623:
6846 #line 2820 "parse.y"
6847 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6848 break;}
6849 case 624:
6850 #line 2822 "parse.y"
6851 { enter_scope_of (yyvsp[0].ttype); ;
6852 break;}
6853 case 625:
6854 #line 2824 "parse.y"
6855 { got_scope = NULL_TREE;
6856 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6857 enter_scope_of (yyval.ttype);
6858 ;
6859 break;}
6860 case 626:
6861 #line 2832 "parse.y"
6862 { got_scope = NULL_TREE;
6863 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6864 break;}
6865 case 627:
6866 #line 2835 "parse.y"
6867 { got_scope = NULL_TREE;
6868 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6869 break;}
6870 case 628:
6871 #line 2841 "parse.y"
6872 { got_scope = NULL_TREE;
6873 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6874 break;}
6875 case 629:
6876 #line 2844 "parse.y"
6877 { got_scope = NULL_TREE;
6878 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6879 break;}
6880 case 631:
6881 #line 2851 "parse.y"
6882 { yyval.ttype = yyvsp[0].ttype; ;
6883 break;}
6884 case 632:
6885 #line 2856 "parse.y"
6886 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6887 break;}
6888 case 633:
6889 #line 2858 "parse.y"
6890 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6891 break;}
6892 case 634:
6893 #line 2860 "parse.y"
6894 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6895 break;}
6896 case 639:
6897 #line 2871 "parse.y"
6898 { yyval.ttype = yyvsp[0].ttype; ;
6899 break;}
6900 case 640:
6901 #line 2873 "parse.y"
6902 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6903 break;}
6904 case 641:
6905 #line 2880 "parse.y"
6906 {
6907 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6908 {
6909 yyval.ttype = lastiddecl;
6910 /* Remember that this name has been used in the class
6911 definition, as per [class.scope0] */
6912 if (current_class_type
6913 && TYPE_BEING_DEFINED (current_class_type)
6914 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6915 pushdecl_class_level (yyval.ttype);
6916 }
6917 got_scope = yyval.ttype = TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype));
6918 ;
6919 break;}
6920 case 642:
6921 #line 2894 "parse.y"
6922 {
6923 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6924 yyval.ttype = lastiddecl;
6925 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6926 ;
6927 break;}
6928 case 643:
6929 #line 2900 "parse.y"
6930 {
6931 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6932 yyval.ttype = lastiddecl;
6933 got_scope = yyval.ttype;
6934 ;
6935 break;}
6936 case 644:
6937 #line 2906 "parse.y"
6938 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6939 break;}
6940 case 646:
6941 #line 2922 "parse.y"
6942 { yyval.ttype = yyvsp[0].ttype; ;
6943 break;}
6944 case 647:
6945 #line 2927 "parse.y"
6946 {
6947 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6948 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6949 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6950 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6951 else
6952 {
6953 yyval.ttype = yyvsp[0].ttype;
6954 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6955 yyval.ttype = TREE_TYPE (yyval.ttype);
6956 }
6957 ;
6958 break;}
6959 case 648:
6960 #line 2940 "parse.y"
6961 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6962 break;}
6963 case 649:
6964 #line 2942 "parse.y"
6965 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6966 break;}
6967 case 650:
6968 #line 2944 "parse.y"
6969 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6970 break;}
6971 case 651:
6972 #line 2949 "parse.y"
6973 {
6974 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6975 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6976 ;
6977 break;}
6978 case 652:
6979 #line 2954 "parse.y"
6980 {
6981 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6982 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6983 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6984 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6985 else
6986 {
6987 yyval.ttype = yyvsp[0].ttype;
6988 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6989 yyval.ttype = TREE_TYPE (yyval.ttype);
6990 }
6991 ;
6992 break;}
6993 case 653:
6994 #line 2967 "parse.y"
6995 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6996 break;}
6997 case 654:
6998 #line 2969 "parse.y"
6999 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7000 break;}
7001 case 655:
7002 #line 2974 "parse.y"
7003 {
7004 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7005 yyvsp[-1].ttype = lastiddecl;
7006
7007 /* Retrieve the type for the identifier, which might involve
7008 some computation. */
7009 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
7010
7011 if (yyval.ttype == error_mark_node)
7012 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
7013 ;
7014 break;}
7015 case 656:
7016 #line 2986 "parse.y"
7017 {
7018 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7019 yyval.ttype = lastiddecl;
7020 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7021 ;
7022 break;}
7023 case 657:
7024 #line 2992 "parse.y"
7025 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
7026 break;}
7027 case 660:
7028 #line 2996 "parse.y"
7029 {
7030 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7031 yyval.ttype = lastiddecl;
7032 got_scope = yyval.ttype;
7033 ;
7034 break;}
7035 case 661:
7036 #line 3005 "parse.y"
7037 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7038 break;}
7039 case 662:
7040 #line 3010 "parse.y"
7041 {
7042 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7043 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
7044 else
7045 yyval.ttype = yyvsp[0].ttype;
7046 got_scope = NULL_TREE;
7047 ;
7048 break;}
7049 case 664:
7050 #line 3019 "parse.y"
7051 { yyval.ttype = yyvsp[0].ttype; ;
7052 break;}
7053 case 665:
7054 #line 3024 "parse.y"
7055 { got_scope = NULL_TREE; ;
7056 break;}
7057 case 666:
7058 #line 3026 "parse.y"
7059 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
7060 break;}
7061 case 667:
7062 #line 3033 "parse.y"
7063 { got_scope = void_type_node; ;
7064 break;}
7065 case 668:
7066 #line 3039 "parse.y"
7067 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7068 break;}
7069 case 669:
7070 #line 3041 "parse.y"
7071 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
7072 break;}
7073 case 670:
7074 #line 3043 "parse.y"
7075 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7076 break;}
7077 case 671:
7078 #line 3045 "parse.y"
7079 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
7080 break;}
7081 case 672:
7082 #line 3047 "parse.y"
7083 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7084 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7085 ;
7086 break;}
7087 case 673:
7088 #line 3051 "parse.y"
7089 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7090 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7091 ;
7092 break;}
7093 case 675:
7094 #line 3060 "parse.y"
7095 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7096 break;}
7097 case 676:
7098 #line 3062 "parse.y"
7099 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7100 break;}
7101 case 677:
7102 #line 3068 "parse.y"
7103 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7104 break;}
7105 case 678:
7106 #line 3070 "parse.y"
7107 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7108 break;}
7109 case 679:
7110 #line 3072 "parse.y"
7111 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7112 break;}
7113 case 680:
7114 #line 3074 "parse.y"
7115 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7116 break;}
7117 case 681:
7118 #line 3076 "parse.y"
7119 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7120 break;}
7121 case 682:
7122 #line 3078 "parse.y"
7123 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7124 break;}
7125 case 683:
7126 #line 3080 "parse.y"
7127 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7128 break;}
7129 case 684:
7130 #line 3082 "parse.y"
7131 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7132 break;}
7133 case 685:
7134 #line 3084 "parse.y"
7135 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7136 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7137 ;
7138 break;}
7139 case 686:
7140 #line 3088 "parse.y"
7141 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7142 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7143 ;
7144 break;}
7145 case 688:
7146 #line 3097 "parse.y"
7147 { yyval.ttype = yyvsp[-1].ttype; ;
7148 break;}
7149 case 690:
7150 #line 3101 "parse.y"
7151 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7152 break;}
7153 case 691:
7154 #line 3103 "parse.y"
7155 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7156 break;}
7157 case 692:
7158 #line 3105 "parse.y"
7159 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7160 break;}
7161 case 693:
7162 #line 3107 "parse.y"
7163 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7164 break;}
7165 case 694:
7166 #line 3109 "parse.y"
7167 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7168 break;}
7169 case 695:
7170 #line 3111 "parse.y"
7171 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7172 break;}
7173 case 696:
7174 #line 3113 "parse.y"
7175 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7176 break;}
7177 case 697:
7178 #line 3115 "parse.y"
7179 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7180 break;}
7181 case 698:
7182 #line 3117 "parse.y"
7183 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7184 break;}
7185 case 705:
7186 #line 3140 "parse.y"
7187 { if (pedantic)
7188 pedwarn ("ANSI C++ forbids label declarations"); ;
7189 break;}
7190 case 708:
7191 #line 3151 "parse.y"
7192 { tree link;
7193 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7194 {
7195 tree label = shadow_label (TREE_VALUE (link));
7196 C_DECLARED_LABEL_FLAG (label) = 1;
7197 declare_nonlocal_label (label);
7198 }
7199 ;
7200 break;}
7201 case 709:
7202 #line 3165 "parse.y"
7203 {;
7204 break;}
7205 case 711:
7206 #line 3171 "parse.y"
7207 { yyval.ttype = begin_compound_stmt (0); ;
7208 break;}
7209 case 712:
7210 #line 3173 "parse.y"
7211 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7212 break;}
7213 case 713:
7214 #line 3178 "parse.y"
7215 {
7216 yyval.ttype = begin_if_stmt ();
7217 cond_stmt_keyword = "if";
7218 ;
7219 break;}
7220 case 714:
7221 #line 3183 "parse.y"
7222 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7223 break;}
7224 case 715:
7225 #line 3185 "parse.y"
7226 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7227 break;}
7228 case 717:
7229 #line 3190 "parse.y"
7230 { yyval.ttype = begin_compound_stmt (0); ;
7231 break;}
7232 case 718:
7233 #line 3192 "parse.y"
7234 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7235 break;}
7236 case 719:
7237 #line 3197 "parse.y"
7238 {;
7239 break;}
7240 case 721:
7241 #line 3203 "parse.y"
7242 { finish_stmt (); ;
7243 break;}
7244 case 722:
7245 #line 3205 "parse.y"
7246 { finish_expr_stmt (yyvsp[-1].ttype); ;
7247 break;}
7248 case 723:
7249 #line 3207 "parse.y"
7250 { begin_else_clause (); ;
7251 break;}
7252 case 724:
7253 #line 3209 "parse.y"
7254 {
7255 finish_else_clause (yyvsp[-3].ttype);
7256 finish_if_stmt ();
7257 ;
7258 break;}
7259 case 725:
7260 #line 3214 "parse.y"
7261 { finish_if_stmt (); ;
7262 break;}
7263 case 726:
7264 #line 3216 "parse.y"
7265 {
7266 yyval.ttype = begin_while_stmt ();
7267 cond_stmt_keyword = "while";
7268 ;
7269 break;}
7270 case 727:
7271 #line 3221 "parse.y"
7272 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7273 break;}
7274 case 728:
7275 #line 3223 "parse.y"
7276 { finish_while_stmt (yyvsp[-3].ttype); ;
7277 break;}
7278 case 729:
7279 #line 3225 "parse.y"
7280 { yyval.ttype = begin_do_stmt (); ;
7281 break;}
7282 case 730:
7283 #line 3227 "parse.y"
7284 {
7285 finish_do_body (yyvsp[-2].ttype);
7286 cond_stmt_keyword = "do";
7287 ;
7288 break;}
7289 case 731:
7290 #line 3232 "parse.y"
7291 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7292 break;}
7293 case 732:
7294 #line 3234 "parse.y"
7295 { yyval.ttype = begin_for_stmt (); ;
7296 break;}
7297 case 733:
7298 #line 3236 "parse.y"
7299 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7300 break;}
7301 case 734:
7302 #line 3238 "parse.y"
7303 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7304 break;}
7305 case 735:
7306 #line 3240 "parse.y"
7307 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7308 break;}
7309 case 736:
7310 #line 3242 "parse.y"
7311 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7312 break;}
7313 case 737:
7314 #line 3244 "parse.y"
7315 { begin_switch_stmt (); ;
7316 break;}
7317 case 738:
7318 #line 3246 "parse.y"
7319 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7320 break;}
7321 case 739:
7322 #line 3248 "parse.y"
7323 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7324 break;}
7325 case 740:
7326 #line 3250 "parse.y"
7327 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7328 break;}
7329 case 742:
7330 #line 3253 "parse.y"
7331 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7332 break;}
7333 case 744:
7334 #line 3256 "parse.y"
7335 { finish_case_label (NULL_TREE, NULL_TREE); ;
7336 break;}
7337 case 746:
7338 #line 3259 "parse.y"
7339 { finish_break_stmt (); ;
7340 break;}
7341 case 747:
7342 #line 3261 "parse.y"
7343 { finish_continue_stmt (); ;
7344 break;}
7345 case 748:
7346 #line 3263 "parse.y"
7347 { finish_return_stmt (NULL_TREE); ;
7348 break;}
7349 case 749:
7350 #line 3265 "parse.y"
7351 { finish_return_stmt (yyvsp[-1].ttype); ;
7352 break;}
7353 case 750:
7354 #line 3267 "parse.y"
7355 {
7356 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7357 NULL_TREE);
7358 ;
7359 break;}
7360 case 751:
7361 #line 3273 "parse.y"
7362 {
7363 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7364 NULL_TREE);
7365 ;
7366 break;}
7367 case 752:
7368 #line 3279 "parse.y"
7369 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7370 break;}
7371 case 753:
7372 #line 3283 "parse.y"
7373 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7374 break;}
7375 case 754:
7376 #line 3285 "parse.y"
7377 {
7378 if (pedantic)
7379 pedwarn ("ANSI C++ forbids computed gotos");
7380 finish_goto_stmt (yyvsp[-1].ttype);
7381 ;
7382 break;}
7383 case 755:
7384 #line 3291 "parse.y"
7385 { finish_goto_stmt (yyvsp[-1].ttype); ;
7386 break;}
7387 case 756:
7388 #line 3293 "parse.y"
7389 { finish_stmt (); ;
7390 break;}
7391 case 757:
7392 #line 3295 "parse.y"
7393 { error ("label must be followed by statement");
7394 yyungetc ('}', 0);
7395 finish_stmt (); ;
7396 break;}
7397 case 758:
7398 #line 3299 "parse.y"
7399 { finish_stmt (); ;
7400 break;}
7401 case 761:
7402 #line 3303 "parse.y"
7403 { do_local_using_decl (yyvsp[0].ttype); ;
7404 break;}
7405 case 763:
7406 #line 3309 "parse.y"
7407 {
7408 if (! current_function_parms_stored)
7409 store_parm_decls ();
7410 expand_start_early_try_stmts ();
7411 ;
7412 break;}
7413 case 764:
7414 #line 3315 "parse.y"
7415 {
7416 expand_start_all_catch ();
7417 ;
7418 break;}
7419 case 765:
7420 #line 3319 "parse.y"
7421 {
7422 int nested = (hack_decl_function_context
7423 (current_function_decl) != NULL_TREE);
7424 expand_end_all_catch ();
7425 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7426 ;
7427 break;}
7428 case 766:
7429 #line 3329 "parse.y"
7430 { yyval.ttype = begin_try_block (); ;
7431 break;}
7432 case 767:
7433 #line 3331 "parse.y"
7434 { finish_try_block (yyvsp[-1].ttype); ;
7435 break;}
7436 case 768:
7437 #line 3333 "parse.y"
7438 { finish_handler_sequence (yyvsp[-3].ttype); ;
7439 break;}
7440 case 771:
7441 #line 3343 "parse.y"
7442 { yyval.ttype = begin_handler(); ;
7443 break;}
7444 case 772:
7445 #line 3345 "parse.y"
7446 { finish_handler_parms (yyvsp[-1].ttype); ;
7447 break;}
7448 case 773:
7449 #line 3347 "parse.y"
7450 { finish_handler (yyvsp[-3].ttype); ;
7451 break;}
7452 case 776:
7453 #line 3357 "parse.y"
7454 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7455 break;}
7456 case 777:
7457 #line 3373 "parse.y"
7458 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7459 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7460 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7461 break;}
7462 case 778:
7463 #line 3380 "parse.y"
7464 { tree label;
7465 do_label:
7466 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7467 if (label && ! minimal_parse_mode)
7468 expand_label (label);
7469 ;
7470 break;}
7471 case 779:
7472 #line 3387 "parse.y"
7473 { goto do_label; ;
7474 break;}
7475 case 780:
7476 #line 3389 "parse.y"
7477 { goto do_label; ;
7478 break;}
7479 case 781:
7480 #line 3391 "parse.y"
7481 { goto do_label; ;
7482 break;}
7483 case 782:
7484 #line 3396 "parse.y"
7485 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7486 break;}
7487 case 784:
7488 #line 3399 "parse.y"
7489 { if (pedantic)
7490 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7491 ;
7492 break;}
7493 case 785:
7494 #line 3408 "parse.y"
7495 { emit_line_note (input_filename, lineno);
7496 yyval.ttype = NULL_TREE; ;
7497 break;}
7498 case 786:
7499 #line 3411 "parse.y"
7500 { emit_line_note (input_filename, lineno); ;
7501 break;}
7502 case 787:
7503 #line 3416 "parse.y"
7504 { yyval.ttype = NULL_TREE; ;
7505 break;}
7506 case 789:
7507 #line 3419 "parse.y"
7508 { yyval.ttype = NULL_TREE; ;
7509 break;}
7510 case 790:
7511 #line 3426 "parse.y"
7512 { yyval.ttype = NULL_TREE; ;
7513 break;}
7514 case 793:
7515 #line 3433 "parse.y"
7516 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7517 break;}
7518 case 794:
7519 #line 3438 "parse.y"
7520 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7521 break;}
7522 case 795:
7523 #line 3443 "parse.y"
7524 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7525 break;}
7526 case 796:
7527 #line 3445 "parse.y"
7528 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7529 break;}
7530 case 797:
7531 #line 3456 "parse.y"
7532 {
7533 yyval.ttype = empty_parms();
7534 ;
7535 break;}
7536 case 799:
7537 #line 3461 "parse.y"
7538 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7539 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7540 break;}
7541 case 800:
7542 #line 3469 "parse.y"
7543 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7544 break;}
7545 case 801:
7546 #line 3471 "parse.y"
7547 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7548 break;}
7549 case 802:
7550 #line 3474 "parse.y"
7551 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7552 break;}
7553 case 803:
7554 #line 3476 "parse.y"
7555 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7556 yyvsp[-1].ftype.t), 1); ;
7557 break;}
7558 case 804:
7559 #line 3479 "parse.y"
7560 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7561 break;}
7562 case 805:
7563 #line 3481 "parse.y"
7564 {
7565 /* This helps us recover from really nasty
7566 parse errors, for example, a missing right
7567 parenthesis. */
7568 yyerror ("possibly missing ')'");
7569 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7570 yyungetc (':', 0);
7571 yychar = ')';
7572 ;
7573 break;}
7574 case 806:
7575 #line 3491 "parse.y"
7576 {
7577 /* This helps us recover from really nasty
7578 parse errors, for example, a missing right
7579 parenthesis. */
7580 yyerror ("possibly missing ')'");
7581 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7582 yyvsp[-1].ftype.t), 0);
7583 yyungetc (':', 0);
7584 yychar = ')';
7585 ;
7586 break;}
7587 case 807:
7588 #line 3506 "parse.y"
7589 { maybe_snarf_defarg (); ;
7590 break;}
7591 case 808:
7592 #line 3508 "parse.y"
7593 { yyval.ttype = yyvsp[0].ttype; ;
7594 break;}
7595 case 811:
7596 #line 3519 "parse.y"
7597 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7598 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7599 break;}
7600 case 812:
7601 #line 3522 "parse.y"
7602 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7603 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7604 break;}
7605 case 813:
7606 #line 3525 "parse.y"
7607 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7608 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7609 break;}
7610 case 814:
7611 #line 3528 "parse.y"
7612 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7613 break;}
7614 case 815:
7615 #line 3530 "parse.y"
7616 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7617 break;}
7618 case 817:
7619 #line 3536 "parse.y"
7620 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7621 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7622 break;}
7623 case 818:
7624 #line 3546 "parse.y"
7625 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7626 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7627 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7628 break;}
7629 case 819:
7630 #line 3550 "parse.y"
7631 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7632 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7633 break;}
7634 case 820:
7635 #line 3553 "parse.y"
7636 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7637 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7638 break;}
7639 case 821:
7640 #line 3556 "parse.y"
7641 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7642 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7643 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7644 break;}
7645 case 822:
7646 #line 3560 "parse.y"
7647 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7648 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7649 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7650 break;}
7651 case 823:
7652 #line 3564 "parse.y"
7653 { tree specs = strip_attrs (yyvsp[-1].ttype);
7654 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7655 yyval.ftype.new_type_flag = 0; ;
7656 break;}
7657 case 824:
7658 #line 3571 "parse.y"
7659 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7660 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7661 break;}
7662 case 825:
7663 #line 3574 "parse.y"
7664 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7665 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7666 break;}
7667 case 828:
7668 #line 3585 "parse.y"
7669 { see_typename (); ;
7670 break;}
7671 case 829:
7672 #line 3590 "parse.y"
7673 {
7674 error ("type specifier omitted for parameter");
7675 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7676 ;
7677 break;}
7678 case 830:
7679 #line 3595 "parse.y"
7680 {
7681 error ("type specifier omitted for parameter");
7682 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7683 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7684 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7685 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7686 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7687 ;
7688 break;}
7689 case 831:
7690 #line 3607 "parse.y"
7691 { yyval.ttype = NULL_TREE; ;
7692 break;}
7693 case 832:
7694 #line 3609 "parse.y"
7695 { yyval.ttype = yyvsp[-1].ttype; ;
7696 break;}
7697 case 833:
7698 #line 3611 "parse.y"
7699 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7700 break;}
7701 case 834:
7702 #line 3616 "parse.y"
7703 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7704 break;}
7705 case 836:
7706 #line 3622 "parse.y"
7707 {
7708 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7709 yyval.ttype = yyvsp[0].ttype;
7710 ;
7711 break;}
7712 case 837:
7713 #line 3630 "parse.y"
7714 { yyval.ttype = NULL_TREE; ;
7715 break;}
7716 case 838:
7717 #line 3632 "parse.y"
7718 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7719 break;}
7720 case 839:
7721 #line 3634 "parse.y"
7722 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7723 break;}
7724 case 840:
7725 #line 3636 "parse.y"
7726 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7727 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7728 ;
7729 break;}
7730 case 841:
7731 #line 3643 "parse.y"
7732 { got_scope = NULL_TREE; ;
7733 break;}
7734 case 842:
7735 #line 3648 "parse.y"
7736 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7737 break;}
7738 case 843:
7739 #line 3650 "parse.y"
7740 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7741 break;}
7742 case 844:
7743 #line 3652 "parse.y"
7744 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7745 break;}
7746 case 845:
7747 #line 3654 "parse.y"
7748 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7749 break;}
7750 case 846:
7751 #line 3656 "parse.y"
7752 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7753 break;}
7754 case 847:
7755 #line 3658 "parse.y"
7756 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7757 break;}
7758 case 848:
7759 #line 3660 "parse.y"
7760 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7761 break;}
7762 case 849:
7763 #line 3662 "parse.y"
7764 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7765 break;}
7766 case 850:
7767 #line 3664 "parse.y"
7768 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7769 break;}
7770 case 851:
7771 #line 3666 "parse.y"
7772 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7773 break;}
7774 case 852:
7775 #line 3668 "parse.y"
7776 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7777 break;}
7778 case 853:
7779 #line 3670 "parse.y"
7780 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7781 break;}
7782 case 854:
7783 #line 3672 "parse.y"
7784 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7785 break;}
7786 case 855:
7787 #line 3674 "parse.y"
7788 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7789 break;}
7790 case 856:
7791 #line 3676 "parse.y"
7792 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7793 break;}
7794 case 857:
7795 #line 3678 "parse.y"
7796 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7797 break;}
7798 case 858:
7799 #line 3680 "parse.y"
7800 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7801 break;}
7802 case 859:
7803 #line 3682 "parse.y"
7804 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7805 break;}
7806 case 860:
7807 #line 3684 "parse.y"
7808 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7809 break;}
7810 case 861:
7811 #line 3686 "parse.y"
7812 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7813 break;}
7814 case 862:
7815 #line 3688 "parse.y"
7816 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7817 break;}
7818 case 863:
7819 #line 3690 "parse.y"
7820 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7821 break;}
7822 case 864:
7823 #line 3692 "parse.y"
7824 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7825 break;}
7826 case 865:
7827 #line 3694 "parse.y"
7828 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7829 break;}
7830 case 866:
7831 #line 3696 "parse.y"
7832 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7833 break;}
7834 case 867:
7835 #line 3698 "parse.y"
7836 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7837 break;}
7838 case 868:
7839 #line 3700 "parse.y"
7840 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7841 break;}
7842 case 869:
7843 #line 3702 "parse.y"
7844 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7845 break;}
7846 case 870:
7847 #line 3704 "parse.y"
7848 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7849 break;}
7850 case 871:
7851 #line 3706 "parse.y"
7852 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7853 break;}
7854 case 872:
7855 #line 3708 "parse.y"
7856 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7857 break;}
7858 case 873:
7859 #line 3710 "parse.y"
7860 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7861 break;}
7862 case 874:
7863 #line 3712 "parse.y"
7864 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7865 break;}
7866 case 875:
7867 #line 3715 "parse.y"
7868 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7869 break;}
7870 case 876:
7871 #line 3717 "parse.y"
7872 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7873 break;}
7874 }
7875 /* the action file gets copied in in place of this dollarsign */
7876 #line 498 "/usr/lib/bison.simple"
7877 \f
7878 yyvsp -= yylen;
7879 yyssp -= yylen;
7880 #ifdef YYLSP_NEEDED
7881 yylsp -= yylen;
7882 #endif
7883
7884 #if YYDEBUG != 0
7885 if (yydebug)
7886 {
7887 short *ssp1 = yyss - 1;
7888 fprintf (stderr, "state stack now");
7889 while (ssp1 != yyssp)
7890 fprintf (stderr, " %d", *++ssp1);
7891 fprintf (stderr, "\n");
7892 }
7893 #endif
7894
7895 *++yyvsp = yyval;
7896
7897 #ifdef YYLSP_NEEDED
7898 yylsp++;
7899 if (yylen == 0)
7900 {
7901 yylsp->first_line = yylloc.first_line;
7902 yylsp->first_column = yylloc.first_column;
7903 yylsp->last_line = (yylsp-1)->last_line;
7904 yylsp->last_column = (yylsp-1)->last_column;
7905 yylsp->text = 0;
7906 }
7907 else
7908 {
7909 yylsp->last_line = (yylsp+yylen-1)->last_line;
7910 yylsp->last_column = (yylsp+yylen-1)->last_column;
7911 }
7912 #endif
7913
7914 /* Now "shift" the result of the reduction.
7915 Determine what state that goes to,
7916 based on the state we popped back to
7917 and the rule number reduced by. */
7918
7919 yyn = yyr1[yyn];
7920
7921 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7922 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7923 yystate = yytable[yystate];
7924 else
7925 yystate = yydefgoto[yyn - YYNTBASE];
7926
7927 goto yynewstate;
7928
7929 yyerrlab: /* here on detecting error */
7930
7931 if (! yyerrstatus)
7932 /* If not already recovering from an error, report this error. */
7933 {
7934 ++yynerrs;
7935
7936 #ifdef YYERROR_VERBOSE
7937 yyn = yypact[yystate];
7938
7939 if (yyn > YYFLAG && yyn < YYLAST)
7940 {
7941 int size = 0;
7942 char *msg;
7943 int x, count;
7944
7945 count = 0;
7946 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7947 for (x = (yyn < 0 ? -yyn : 0);
7948 x < (sizeof(yytname) / sizeof(char *)); x++)
7949 if (yycheck[x + yyn] == x)
7950 size += strlen(yytname[x]) + 15, count++;
7951 msg = (char *) malloc(size + 15);
7952 if (msg != 0)
7953 {
7954 strcpy(msg, "parse error");
7955
7956 if (count < 5)
7957 {
7958 count = 0;
7959 for (x = (yyn < 0 ? -yyn : 0);
7960 x < (sizeof(yytname) / sizeof(char *)); x++)
7961 if (yycheck[x + yyn] == x)
7962 {
7963 strcat(msg, count == 0 ? ", expecting `" : " or `");
7964 strcat(msg, yytname[x]);
7965 strcat(msg, "'");
7966 count++;
7967 }
7968 }
7969 yyerror(msg);
7970 free(msg);
7971 }
7972 else
7973 yyerror ("parse error; also virtual memory exceeded");
7974 }
7975 else
7976 #endif /* YYERROR_VERBOSE */
7977 yyerror("parse error");
7978 }
7979
7980 goto yyerrlab1;
7981 yyerrlab1: /* here on error raised explicitly by an action */
7982
7983 if (yyerrstatus == 3)
7984 {
7985 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7986
7987 /* return failure if at end of input */
7988 if (yychar == YYEOF)
7989 YYABORT;
7990
7991 #if YYDEBUG != 0
7992 if (yydebug)
7993 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7994 #endif
7995
7996 yychar = YYEMPTY;
7997 }
7998
7999 /* Else will try to reuse lookahead token
8000 after shifting the error token. */
8001
8002 yyerrstatus = 3; /* Each real token shifted decrements this */
8003
8004 goto yyerrhandle;
8005
8006 yyerrdefault: /* current state does not do anything special for the error token. */
8007
8008 #if 0
8009 /* This is wrong; only states that explicitly want error tokens
8010 should shift them. */
8011 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8012 if (yyn) goto yydefault;
8013 #endif
8014
8015 yyerrpop: /* pop the current state because it cannot handle the error token */
8016
8017 if (yyssp == yyss) YYABORT;
8018 yyvsp--;
8019 yystate = *--yyssp;
8020 #ifdef YYLSP_NEEDED
8021 yylsp--;
8022 #endif
8023
8024 #if YYDEBUG != 0
8025 if (yydebug)
8026 {
8027 short *ssp1 = yyss - 1;
8028 fprintf (stderr, "Error: state stack now");
8029 while (ssp1 != yyssp)
8030 fprintf (stderr, " %d", *++ssp1);
8031 fprintf (stderr, "\n");
8032 }
8033 #endif
8034
8035 yyerrhandle:
8036
8037 yyn = yypact[yystate];
8038 if (yyn == YYFLAG)
8039 goto yyerrdefault;
8040
8041 yyn += YYTERROR;
8042 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
8043 goto yyerrdefault;
8044
8045 yyn = yytable[yyn];
8046 if (yyn < 0)
8047 {
8048 if (yyn == YYFLAG)
8049 goto yyerrpop;
8050 yyn = -yyn;
8051 goto yyreduce;
8052 }
8053 else if (yyn == 0)
8054 goto yyerrpop;
8055
8056 if (yyn == YYFINAL)
8057 YYACCEPT;
8058
8059 #if YYDEBUG != 0
8060 if (yydebug)
8061 fprintf(stderr, "Shifting error token, ");
8062 #endif
8063
8064 *++yyvsp = yylval;
8065 #ifdef YYLSP_NEEDED
8066 *++yylsp = yylloc;
8067 #endif
8068
8069 yystate = yyn;
8070 goto yynewstate;
8071 }
8072 #line 3720 "parse.y"
8073
8074
8075 #ifdef SPEW_DEBUG
8076 const char *
8077 debug_yytranslate (value)
8078 int value;
8079 {
8080 return yytname[YYTRANSLATE (value)];
8081 }
8082
8083 #endif