2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
6 #define YYBISON 1 /* Identify Bison output. */
14 #define CV_QUALIFIER 264
32 #define ASM_KEYWORD 282
50 #define TYPENAME_KEYWORD 300
52 #define LEFT_RIGHT 302
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
69 #define ARITHCOMPARE 319
72 #define POINTSAT_STAR 322
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
85 #define PRE_PARSED_CLASS_DECL 335
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
96 /* Cause the `yydebug' variable to be defined. */
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 char *language_string
= "GNU C++";
116 extern tree void_list_node
;
117 extern struct obstack permanent_obstack
;
119 extern int end_of_file
;
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
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
;
131 static tree empty_parms
PROTO((void));
133 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
134 int have_extern_spec
;
135 int used_extern_spec
;
137 /* Cons up an empty parameter list. */
147 || current_class_type
!= NULL
)
148 parms
= void_list_node
;
156 typedef union {long itype
; tree ttype
; char *strtype
; enum tree_code code
; flagged_type_tree ftype
; } YYSTYPE
;
159 /* List of types and structure classes of the current declaration. */
160 static tree current_declspecs
;
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
;
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
;
173 /* When defining an enumeration, this is the type of the enumeration. */
174 static tree current_enum_type
;
176 /* Tell yyparse how to print a token's value, if yydebug is set. */
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
));
183 parse_decl(declarator
, specs_attrs
, attributes
, initialized
, decl
)
192 split_specs_attrs (specs_attrs
, ¤t_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
)
198 current_declspecs
= decl_tree_cons (NULL_TREE
,
199 get_identifier ("extern"),
201 used_extern_spec
= 1;
203 sm
= suspend_momentary ();
204 *decl
= start_decl (declarator
, current_declspecs
, initialized
,
205 attributes
, prefix_attributes
);
219 #define YYFLAG -32768
222 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 395)
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,
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, 981, 985, 990, 995, 997, 999, 1001,
294 1005, 1007, 1009, 1011, 1013, 1017, 1021, 1025, 1026, 1031,
295 1036, 1039, 1044, 1047, 1052, 1055, 1058, 1060, 1065, 1067,
296 1075, 1083, 1091, 1099, 1104, 1109, 1112, 1115, 1118, 1120,
297 1125, 1128, 1131, 1137, 1141, 1144, 1147, 1153, 1157, 1163,
298 1167, 1172, 1179, 1182, 1184, 1187, 1189, 1192, 1194, 1196,
299 1198, 1201, 1202, 1205, 1208, 1212, 1216, 1220, 1223, 1226,
300 1229, 1231, 1233, 1235, 1238, 1241, 1244, 1247, 1249, 1251,
301 1253, 1255, 1258, 1261, 1265, 1269, 1273, 1278, 1280, 1283,
302 1286, 1289, 1291, 1293, 1295, 1298, 1301, 1304, 1306, 1308,
303 1311, 1314, 1318, 1320, 1323, 1325, 1327, 1329, 1334, 1339,
304 1344, 1349, 1351, 1353, 1355, 1357, 1361, 1363, 1367, 1369,
305 1373, 1374, 1379, 1380, 1387, 1391, 1392, 1397, 1399, 1403,
306 1407, 1408, 1413, 1417, 1418, 1420, 1422, 1425, 1432, 1434,
307 1438, 1439, 1441, 1446, 1453, 1458, 1460, 1462, 1464, 1466,
308 1468, 1472, 1473, 1476, 1478, 1481, 1485, 1490, 1492, 1494,
309 1498, 1503, 1507, 1513, 1515, 1520, 1524, 1528, 1529, 1533,
310 1537, 1541, 1542, 1545, 1548, 1549, 1557, 1562, 1563, 1570,
311 1574, 1577, 1580, 1583, 1584, 1585, 1595, 1597, 1598, 1600,
312 1601, 1603, 1605, 1608, 1611, 1614, 1617, 1620, 1623, 1626,
313 1629, 1632, 1636, 1641, 1645, 1648, 1652, 1653, 1655, 1659,
314 1662, 1665, 1667, 1669, 1670, 1673, 1677, 1679, 1684, 1686,
315 1690, 1692, 1694, 1699, 1704, 1707, 1710, 1714, 1718, 1720,
316 1721, 1723, 1726, 1731, 1735, 1737, 1740, 1743, 1746, 1749,
317 1752, 1755, 1758, 1760, 1763, 1766, 1770, 1773, 1776, 1781,
318 1786, 1789, 1791, 1797, 1802, 1804, 1805, 1807, 1811, 1812,
319 1814, 1818, 1820, 1822, 1824, 1826, 1831, 1836, 1841, 1846,
320 1851, 1855, 1860, 1865, 1870, 1875, 1879, 1881, 1885, 1887,
321 1891, 1894, 1896, 1904, 1905, 1908, 1910, 1913, 1914, 1917,
322 1922, 1927, 1930, 1935, 1939, 1943, 1946, 1949, 1953, 1955,
323 1957, 1960, 1962, 1964, 1967, 1970, 1975, 1980, 1984, 1988,
324 1991, 1993, 1997, 2001, 2004, 2007, 2011, 2013, 2017, 2021,
325 2024, 2027, 2031, 2033, 2038, 2042, 2047, 2051, 2053, 2056,
326 2059, 2062, 2065, 2068, 2070, 2073, 2078, 2083, 2086, 2088,
327 2090, 2092, 2094, 2097, 2102, 2105, 2108, 2111, 2114, 2116,
328 2119, 2122, 2125, 2128, 2132, 2134, 2137, 2141, 2146, 2149,
329 2152, 2155, 2158, 2161, 2164, 2169, 2172, 2174, 2177, 2180,
330 2184, 2186, 2190, 2193, 2197, 2200, 2203, 2207, 2209, 2213,
331 2218, 2222, 2225, 2228, 2230, 2234, 2237, 2240, 2242, 2245,
332 2249, 2251, 2255, 2257, 2264, 2269, 2274, 2278, 2284, 2288,
333 2292, 2296, 2299, 2301, 2303, 2306, 2309, 2312, 2313, 2315,
334 2317, 2320, 2324, 2326, 2329, 2330, 2334, 2335, 2336, 2342,
335 2344, 2345, 2348, 2350, 2352, 2354, 2357, 2358, 2363, 2365,
336 2366, 2367, 2373, 2374, 2375, 2383, 2384, 2385, 2386, 2387,
337 2400, 2401, 2402, 2410, 2411, 2417, 2418, 2426, 2427, 2432,
338 2435, 2438, 2441, 2445, 2452, 2461, 2472, 2485, 2490, 2494,
339 2497, 2500, 2502, 2504, 2506, 2508, 2510, 2511, 2512, 2519,
340 2520, 2521, 2527, 2529, 2532, 2533, 2534, 2540, 2542, 2544,
341 2548, 2552, 2555, 2558, 2561, 2564, 2567, 2569, 2572, 2573,
342 2575, 2576, 2578, 2580, 2581, 2583, 2585, 2589, 2594, 2596,
343 2600, 2601, 2603, 2605, 2607, 2610, 2613, 2616, 2618, 2621,
344 2624, 2625, 2629, 2631, 2633, 2635, 2638, 2641, 2644, 2649,
345 2652, 2655, 2658, 2661, 2664, 2667, 2669, 2672, 2674, 2677,
346 2679, 2681, 2682, 2683, 2685, 2686, 2691, 2694, 2696, 2698,
347 2702, 2703, 2707, 2711, 2715, 2717, 2720, 2723, 2726, 2729,
348 2732, 2735, 2738, 2741, 2744, 2747, 2750, 2753, 2756, 2759,
349 2762, 2765, 2768, 2771, 2774, 2777, 2780, 2783, 2786, 2790,
350 2793, 2796, 2799, 2802, 2806, 2809, 2812, 2817, 2822, 2826
353 static const short yyrhs
[] = { -1,
354 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
355 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
356 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
357 93, 217, 108, 60, 0, 133, 58, 115, 109, 0,
358 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
359 0, 0, 44, 163, 58, 123, 115, 109, 0, 0,
360 44, 58, 124, 115, 109, 0, 125, 0, 127, 60,
361 0, 129, 0, 118, 122, 0, 0, 44, 163, 64,
362 126, 132, 60, 0, 46, 309, 0, 46, 323, 309,
363 0, 46, 323, 208, 0, 46, 131, 163, 0, 46,
364 323, 163, 0, 46, 323, 131, 163, 0, 0, 46,
365 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
366 54, 0, 208, 0, 309, 0, 323, 309, 0, 323,
367 208, 0, 98, 0, 133, 98, 0, 0, 48, 74,
368 135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
369 136, 59, 140, 0, 163, 0, 0, 266, 137, 0,
370 45, 137, 0, 134, 266, 137, 0, 138, 0, 138,
371 64, 223, 0, 386, 0, 386, 64, 203, 0, 139,
372 0, 139, 64, 183, 0, 134, 142, 0, 134, 1,
373 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
374 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
375 142, 0, 234, 60, 0, 227, 233, 60, 0, 224,
376 232, 60, 0, 259, 60, 0, 234, 60, 0, 227,
377 233, 60, 0, 224, 232, 60, 0, 227, 60, 0,
378 166, 60, 0, 224, 60, 0, 1, 60, 0, 1,
379 109, 0, 60, 0, 218, 0, 159, 0, 0, 158,
380 0, 158, 60, 0, 0, 107, 0, 154, 146, 145,
381 333, 0, 154, 146, 357, 0, 154, 146, 1, 0,
382 0, 314, 5, 93, 150, 377, 108, 296, 389, 0,
383 314, 5, 47, 296, 389, 0, 0, 323, 314, 5,
384 93, 151, 377, 108, 296, 389, 0, 323, 314, 5,
385 47, 296, 389, 0, 0, 314, 178, 93, 152, 377,
386 108, 296, 389, 0, 314, 178, 47, 296, 389, 0,
387 0, 323, 314, 178, 93, 153, 377, 108, 296, 389,
388 0, 323, 314, 178, 47, 296, 389, 0, 224, 221,
389 0, 227, 306, 0, 306, 0, 227, 149, 0, 149,
390 0, 5, 93, 377, 108, 296, 389, 0, 5, 47,
391 296, 389, 0, 178, 93, 377, 108, 296, 389, 0,
392 178, 47, 296, 389, 0, 227, 155, 0, 155, 0,
393 224, 221, 0, 227, 306, 0, 306, 0, 227, 149,
394 0, 149, 0, 25, 3, 0, 157, 251, 0, 157,
395 93, 195, 108, 0, 157, 47, 0, 62, 160, 161,
396 0, 0, 0, 162, 0, 161, 59, 162, 0, 161,
397 1, 0, 93, 195, 108, 0, 47, 0, 164, 93,
398 195, 108, 0, 164, 47, 0, 302, 93, 195, 108,
399 0, 302, 47, 0, 316, 93, 195, 108, 0, 316,
400 47, 0, 3, 0, 4, 0, 5, 0, 56, 0,
401 57, 0, 3, 0, 56, 0, 57, 0, 104, 0,
402 103, 0, 105, 0, 0, 48, 175, 230, 60, 167,
403 176, 0, 0, 48, 175, 224, 221, 168, 176, 0,
404 0, 48, 175, 306, 169, 176, 0, 0, 48, 175,
405 149, 170, 176, 0, 0, 7, 48, 175, 230, 60,
406 171, 176, 0, 0, 7, 48, 175, 224, 221, 172,
407 176, 0, 0, 7, 48, 175, 306, 173, 176, 0,
408 0, 7, 48, 175, 149, 174, 176, 0, 0, 0,
409 56, 74, 181, 180, 179, 0, 4, 74, 181, 180,
410 179, 0, 178, 0, 5, 74, 181, 180, 179, 0,
411 0, 75, 0, 77, 0, 0, 182, 0, 183, 0,
412 182, 59, 183, 0, 223, 0, 56, 0, 203, 0,
413 79, 0, 78, 0, 86, 0, 87, 0, 110, 0,
414 194, 0, 203, 0, 47, 0, 93, 185, 108, 0,
415 47, 0, 93, 189, 108, 0, 0, 189, 0, 1,
416 0, 0, 367, 221, 235, 244, 64, 190, 252, 0,
417 185, 0, 109, 0, 330, 328, 109, 0, 330, 328,
418 1, 109, 0, 330, 1, 109, 0, 0, 58, 193,
419 191, 0, 342, 0, 203, 59, 203, 0, 203, 59,
420 1, 0, 194, 59, 203, 0, 194, 59, 1, 0,
421 203, 0, 194, 0, 212, 0, 118, 202, 0, 80,
422 202, 0, 70, 202, 0, 88, 202, 0, 184, 202,
423 0, 67, 163, 0, 13, 196, 0, 13, 93, 223,
424 108, 0, 29, 196, 0, 29, 93, 223, 108, 0,
425 214, 295, 0, 214, 295, 200, 0, 214, 199, 295,
426 0, 214, 199, 295, 200, 0, 214, 93, 198, 223,
427 197, 0, 214, 93, 198, 223, 197, 200, 0, 214,
428 199, 93, 198, 223, 197, 0, 214, 199, 93, 198,
429 223, 197, 200, 0, 215, 202, 0, 215, 94, 111,
430 202, 0, 215, 94, 185, 111, 202, 0, 34, 202,
431 0, 35, 202, 0, 108, 0, 0, 93, 198, 195,
432 108, 0, 58, 198, 195, 109, 0, 93, 195, 108,
433 0, 47, 0, 93, 230, 108, 0, 64, 252, 0,
434 93, 223, 108, 0, 201, 93, 223, 108, 0, 196,
435 0, 201, 196, 0, 201, 58, 253, 264, 109, 0,
436 202, 0, 203, 83, 203, 0, 203, 84, 203, 0,
437 203, 78, 203, 0, 203, 79, 203, 0, 203, 80,
438 203, 0, 203, 81, 203, 0, 203, 82, 203, 0,
439 203, 76, 203, 0, 203, 77, 203, 0, 203, 73,
440 203, 0, 203, 74, 203, 0, 203, 75, 203, 0,
441 203, 72, 203, 0, 203, 71, 203, 0, 203, 70,
442 203, 0, 203, 68, 203, 0, 203, 69, 203, 0,
443 203, 67, 203, 0, 203, 66, 203, 0, 203, 65,
444 372, 62, 203, 0, 203, 64, 203, 0, 203, 63,
445 203, 0, 61, 0, 61, 203, 0, 88, 387, 163,
446 0, 88, 387, 177, 0, 206, 0, 394, 0, 3,
447 0, 56, 0, 57, 0, 0, 6, 74, 205, 181,
448 180, 0, 394, 74, 205, 181, 180, 0, 48, 163,
449 74, 181, 180, 0, 48, 6, 74, 181, 180, 0,
450 48, 394, 74, 181, 180, 0, 204, 0, 4, 0,
451 5, 0, 204, 0, 80, 209, 0, 70, 209, 0,
452 93, 209, 108, 0, 3, 74, 181, 180, 0, 57,
453 74, 182, 180, 0, 308, 0, 204, 0, 210, 0,
454 93, 209, 108, 0, 204, 0, 10, 0, 216, 0,
455 217, 0, 93, 185, 108, 0, 93, 209, 108, 0,
456 93, 1, 108, 0, 0, 93, 213, 334, 108, 0,
457 204, 93, 195, 108, 0, 204, 47, 0, 212, 93,
458 195, 108, 0, 212, 47, 0, 212, 94, 185, 111,
459 0, 212, 86, 0, 212, 87, 0, 40, 0, 9,
460 93, 195, 108, 0, 312, 0, 50, 74, 223, 75,
461 93, 185, 108, 0, 51, 74, 223, 75, 93, 185,
462 108, 0, 52, 74, 223, 75, 93, 185, 108, 0,
463 53, 74, 223, 75, 93, 185, 108, 0, 49, 93,
464 185, 108, 0, 49, 93, 223, 108, 0, 323, 3,
465 0, 323, 206, 0, 323, 394, 0, 311, 0, 311,
466 93, 195, 108, 0, 311, 47, 0, 219, 207, 0,
467 219, 207, 93, 195, 108, 0, 219, 207, 47, 0,
468 219, 208, 0, 219, 311, 0, 219, 208, 93, 195,
469 108, 0, 219, 208, 47, 0, 219, 311, 93, 195,
470 108, 0, 219, 311, 47, 0, 219, 88, 8, 47,
471 0, 219, 8, 54, 88, 8, 47, 0, 219, 1,
472 0, 39, 0, 323, 39, 0, 38, 0, 323, 215,
473 0, 42, 0, 43, 0, 11, 0, 217, 11, 0,
474 0, 212, 92, 0, 212, 91, 0, 230, 232, 60,
475 0, 224, 232, 60, 0, 227, 233, 60, 0, 224,
476 60, 0, 227, 60, 0, 118, 220, 0, 301, 0,
477 306, 0, 47, 0, 222, 47, 0, 228, 326, 0,
478 297, 326, 0, 230, 326, 0, 228, 0, 297, 0,
479 228, 0, 225, 0, 227, 230, 0, 230, 226, 0,
480 230, 229, 226, 0, 227, 230, 226, 0, 227, 230,
481 229, 0, 227, 230, 229, 226, 0, 7, 0, 226,
482 231, 0, 226, 7, 0, 226, 245, 0, 245, 0,
483 297, 0, 7, 0, 227, 9, 0, 227, 7, 0,
484 227, 245, 0, 245, 0, 230, 0, 297, 230, 0,
485 230, 229, 0, 297, 230, 229, 0, 231, 0, 229,
486 231, 0, 259, 0, 8, 0, 303, 0, 28, 93,
487 185, 108, 0, 28, 93, 223, 108, 0, 30, 93,
488 185, 108, 0, 30, 93, 223, 108, 0, 8, 0,
489 9, 0, 259, 0, 240, 0, 232, 59, 236, 0,
490 241, 0, 233, 59, 236, 0, 242, 0, 234, 59,
491 236, 0, 0, 119, 93, 217, 108, 0, 0, 221,
492 235, 244, 64, 237, 252, 0, 221, 235, 244, 0,
493 0, 244, 64, 239, 252, 0, 244, 0, 221, 235,
494 238, 0, 306, 235, 238, 0, 0, 306, 235, 243,
495 238, 0, 149, 235, 244, 0, 0, 245, 0, 246,
496 0, 245, 246, 0, 31, 93, 93, 247, 108, 108,
497 0, 248, 0, 247, 59, 248, 0, 0, 249, 0,
498 249, 93, 3, 108, 0, 249, 93, 3, 59, 195,
499 108, 0, 249, 93, 195, 108, 0, 163, 0, 7,
500 0, 8, 0, 9, 0, 163, 0, 250, 59, 163,
501 0, 0, 64, 252, 0, 203, 0, 58, 109, 0,
502 58, 253, 109, 0, 58, 253, 59, 109, 0, 1,
503 0, 252, 0, 253, 59, 252, 0, 94, 203, 111,
504 252, 0, 163, 62, 252, 0, 253, 59, 163, 62,
505 252, 0, 97, 0, 254, 146, 145, 333, 0, 254,
506 146, 357, 0, 254, 146, 1, 0, 0, 256, 255,
507 147, 0, 102, 203, 107, 0, 102, 1, 107, 0,
508 0, 258, 257, 0, 258, 1, 0, 0, 14, 163,
509 58, 260, 293, 265, 109, 0, 14, 163, 58, 109,
510 0, 0, 14, 58, 261, 293, 265, 109, 0, 14,
511 58, 109, 0, 14, 163, 0, 14, 321, 0, 45,
512 316, 0, 0, 0, 273, 279, 281, 109, 244, 262,
513 258, 263, 256, 0, 273, 0, 0, 59, 0, 0,
514 59, 0, 36, 0, 266, 7, 0, 266, 8, 0,
515 266, 9, 0, 266, 36, 0, 266, 245, 0, 266,
516 163, 0, 266, 165, 0, 267, 58, 0, 267, 62,
517 0, 266, 314, 163, 0, 266, 323, 314, 163, 0,
518 266, 323, 163, 0, 266, 177, 0, 266, 314, 177,
519 0, 0, 267, 0, 268, 270, 274, 0, 269, 274,
520 0, 266, 58, 0, 272, 0, 271, 0, 0, 62,
521 387, 0, 62, 387, 275, 0, 276, 0, 275, 59,
522 387, 276, 0, 277, 0, 278, 387, 277, 0, 316,
523 0, 302, 0, 30, 93, 185, 108, 0, 30, 93,
524 223, 108, 0, 37, 387, 0, 7, 387, 0, 278,
525 37, 387, 0, 278, 7, 387, 0, 58, 0, 0,
526 280, 0, 280, 282, 0, 281, 37, 62, 282, 0,
527 281, 37, 62, 0, 283, 0, 282, 283, 0, 284,
528 60, 0, 284, 109, 0, 156, 62, 0, 156, 95,
529 0, 156, 25, 0, 156, 58, 0, 60, 0, 118,
530 283, 0, 134, 283, 0, 134, 224, 60, 0, 224,
531 285, 0, 227, 286, 0, 306, 235, 244, 251, 0,
532 149, 235, 244, 251, 0, 62, 203, 0, 1, 0,
533 227, 155, 235, 244, 251, 0, 155, 235, 244, 251,
534 0, 127, 0, 0, 287, 0, 285, 59, 288, 0,
535 0, 290, 0, 286, 59, 292, 0, 289, 0, 290,
536 0, 291, 0, 292, 0, 301, 235, 244, 251, 0,
537 4, 62, 203, 244, 0, 306, 235, 244, 251, 0,
538 149, 235, 244, 251, 0, 3, 62, 203, 244, 0,
539 62, 203, 244, 0, 301, 235, 244, 251, 0, 4,
540 62, 203, 244, 0, 306, 235, 244, 251, 0, 3,
541 62, 203, 244, 0, 62, 203, 244, 0, 294, 0,
542 293, 59, 294, 0, 163, 0, 163, 64, 203, 0,
543 367, 324, 0, 367, 0, 93, 198, 223, 197, 94,
544 185, 111, 0, 0, 296, 9, 0, 9, 0, 297,
545 9, 0, 0, 298, 185, 0, 298, 93, 195, 108,
546 0, 298, 93, 377, 108, 0, 298, 47, 0, 298,
547 93, 1, 108, 0, 80, 297, 301, 0, 70, 297,
548 301, 0, 80, 301, 0, 70, 301, 0, 322, 296,
549 301, 0, 305, 0, 313, 0, 323, 313, 0, 302,
550 0, 304, 0, 323, 304, 0, 314, 313, 0, 305,
551 300, 296, 389, 0, 305, 94, 299, 111, 0, 305,
552 94, 111, 0, 93, 301, 108, 0, 314, 313, 0,
553 313, 0, 80, 297, 306, 0, 70, 297, 306, 0,
554 80, 306, 0, 70, 306, 0, 322, 296, 306, 0,
555 211, 0, 80, 297, 306, 0, 70, 297, 306, 0,
556 80, 307, 0, 70, 307, 0, 322, 296, 306, 0,
557 308, 0, 211, 300, 296, 389, 0, 93, 307, 108,
558 0, 211, 94, 299, 111, 0, 211, 94, 111, 0,
559 310, 0, 314, 210, 0, 314, 208, 0, 314, 207,
560 0, 314, 204, 0, 314, 207, 0, 310, 0, 323,
561 310, 0, 230, 93, 195, 108, 0, 230, 93, 209,
562 108, 0, 230, 222, 0, 4, 0, 5, 0, 177,
563 0, 315, 0, 314, 315, 0, 314, 48, 320, 54,
564 0, 4, 54, 0, 5, 54, 0, 57, 54, 0,
565 177, 54, 0, 317, 0, 323, 317, 0, 318, 163,
566 0, 318, 177, 0, 318, 320, 0, 318, 48, 320,
567 0, 319, 0, 318, 319, 0, 318, 320, 54, 0,
568 318, 48, 320, 54, 0, 4, 54, 0, 5, 54,
569 0, 177, 54, 0, 56, 54, 0, 3, 54, 0,
570 57, 54, 0, 163, 74, 181, 180, 0, 323, 313,
571 0, 304, 0, 323, 304, 0, 314, 80, 0, 323,
572 314, 80, 0, 54, 0, 80, 296, 324, 0, 80,
573 296, 0, 70, 296, 324, 0, 70, 296, 0, 322,
574 296, 0, 322, 296, 324, 0, 325, 0, 94, 185,
575 111, 0, 325, 94, 299, 111, 0, 80, 297, 326,
576 0, 80, 326, 0, 80, 297, 0, 80, 0, 70,
577 297, 326, 0, 70, 326, 0, 70, 297, 0, 70,
578 0, 322, 296, 0, 322, 296, 326, 0, 327, 0,
579 93, 326, 108, 0, 90, 0, 327, 93, 377, 108,
580 296, 389, 0, 327, 47, 296, 389, 0, 327, 94,
581 299, 111, 0, 327, 94, 111, 0, 93, 378, 108,
582 296, 389, 0, 201, 296, 389, 0, 222, 296, 389,
583 0, 94, 299, 111, 0, 94, 111, 0, 341, 0,
584 329, 0, 328, 341, 0, 328, 329, 0, 1, 60,
585 0, 0, 331, 0, 332, 0, 331, 332, 0, 33,
586 250, 60, 0, 334, 0, 1, 334, 0, 0, 58,
587 335, 191, 0, 0, 0, 15, 337, 187, 338, 339,
588 0, 334, 0, 0, 340, 342, 0, 334, 0, 342,
589 0, 220, 0, 185, 60, 0, 0, 336, 16, 343,
590 339, 0, 336, 0, 0, 0, 17, 344, 187, 345,
591 192, 0, 0, 0, 18, 346, 339, 17, 347, 186,
592 60, 0, 0, 0, 0, 0, 19, 348, 93, 370,
593 349, 188, 60, 350, 372, 108, 351, 192, 0, 0,
594 0, 20, 352, 93, 189, 108, 353, 339, 0, 0,
595 21, 203, 62, 354, 341, 0, 0, 21, 203, 12,
596 203, 62, 355, 341, 0, 0, 22, 62, 356, 341,
597 0, 23, 60, 0, 24, 60, 0, 25, 60, 0,
598 25, 185, 60, 0, 119, 371, 93, 217, 108, 60,
599 0, 119, 371, 93, 217, 62, 373, 108, 60, 0,
600 119, 371, 93, 217, 62, 373, 62, 373, 108, 60,
601 0, 119, 371, 93, 217, 62, 373, 62, 373, 62,
602 376, 108, 60, 0, 26, 80, 185, 60, 0, 26,
603 163, 60, 0, 369, 341, 0, 369, 109, 0, 60,
604 0, 360, 0, 129, 0, 128, 0, 125, 0, 0,
605 0, 95, 358, 145, 334, 359, 363, 0, 0, 0,
606 95, 361, 334, 362, 363, 0, 364, 0, 363, 364,
607 0, 0, 0, 96, 365, 368, 366, 334, 0, 228,
608 0, 297, 0, 93, 12, 108, 0, 93, 386, 108,
609 0, 3, 62, 0, 56, 62, 0, 4, 62, 0,
610 5, 62, 0, 372, 60, 0, 220, 0, 58, 191,
611 0, 0, 9, 0, 0, 185, 0, 1, 0, 0,
612 374, 0, 375, 0, 374, 59, 375, 0, 11, 93,
613 185, 108, 0, 11, 0, 376, 59, 11, 0, 0,
614 378, 0, 223, 0, 382, 0, 383, 12, 0, 382,
615 12, 0, 223, 12, 0, 12, 0, 382, 62, 0,
616 223, 62, 0, 0, 64, 380, 381, 0, 101, 0,
617 252, 0, 384, 0, 386, 379, 0, 383, 385, 0,
618 383, 388, 0, 383, 388, 64, 252, 0, 382, 59,
619 0, 223, 59, 0, 225, 221, 0, 228, 221, 0,
620 230, 221, 0, 225, 326, 0, 225, 0, 227, 306,
621 0, 386, 0, 386, 379, 0, 384, 0, 223, 0,
622 0, 0, 306, 0, 0, 61, 93, 391, 108, 0,
623 61, 47, 0, 223, 0, 390, 0, 391, 59, 390,
624 0, 0, 80, 296, 392, 0, 70, 296, 392, 0,
625 322, 296, 392, 0, 41, 0, 393, 80, 0, 393,
626 81, 0, 393, 82, 0, 393, 78, 0, 393, 79,
627 0, 393, 70, 0, 393, 68, 0, 393, 69, 0,
628 393, 88, 0, 393, 59, 0, 393, 73, 0, 393,
629 74, 0, 393, 75, 0, 393, 72, 0, 393, 63,
630 0, 393, 64, 0, 393, 76, 0, 393, 77, 0,
631 393, 86, 0, 393, 87, 0, 393, 67, 0, 393,
632 66, 0, 393, 110, 0, 393, 65, 62, 0, 393,
633 71, 0, 393, 91, 0, 393, 83, 0, 393, 47,
634 0, 393, 94, 111, 0, 393, 39, 0, 393, 38,
635 0, 393, 39, 94, 111, 0, 393, 38, 94, 111,
636 0, 393, 367, 392, 0, 393, 1, 0
642 static const short yyrline
[] = { 0,
643 335, 337, 345, 348, 349, 353, 355, 358, 363, 367,
644 373, 377, 380, 384, 387, 389, 391, 394, 396, 399,
645 402, 404, 406, 408, 410, 411, 413, 414, 418, 421,
646 430, 433, 435, 439, 442, 444, 448, 451, 463, 470,
647 478, 480, 481, 483, 487, 490, 496, 499, 501, 506,
648 509, 513, 516, 519, 522, 526, 531, 541, 543, 545,
649 547, 549, 562, 565, 569, 572, 574, 576, 579, 582,
650 586, 588, 590, 592, 597, 599, 601, 603, 605, 606,
651 613, 614, 615, 618, 621, 625, 627, 628, 631, 633,
652 636, 639, 641, 645, 648, 650, 654, 656, 658, 662,
653 664, 666, 670, 672, 674, 680, 684, 687, 690, 693,
654 698, 701, 703, 705, 711, 721, 723, 726, 729, 731,
655 734, 738, 747, 750, 752, 756, 769, 789, 792, 794,
656 795, 798, 805, 811, 813, 815, 817, 819, 822, 827,
657 829, 830, 831, 832, 835, 837, 838, 841, 843, 844,
658 847, 852, 852, 856, 856, 859, 859, 862, 862, 866,
659 866, 871, 871, 874, 874, 877, 879, 882, 889, 893,
660 896, 899, 905, 914, 916, 924, 927, 930, 933, 937,
661 940, 942, 945, 948, 950, 952, 954, 958, 961, 964,
662 969, 973, 978, 982, 985, 986, 990, 1009, 1016, 1019,
663 1021, 1022, 1023, 1026, 1030, 1031, 1035, 1039, 1042, 1044,
664 1048, 1051, 1054, 1058, 1061, 1063, 1065, 1067, 1070, 1074,
665 1076, 1078, 1080, 1086, 1089, 1092, 1095, 1107, 1112, 1116,
666 1120, 1125, 1127, 1131, 1135, 1137, 1146, 1150, 1153, 1156,
667 1161, 1164, 1166, 1174, 1187, 1192, 1198, 1200, 1202, 1215,
668 1218, 1220, 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236,
669 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252, 1254, 1256,
670 1258, 1262, 1264, 1266, 1283, 1286, 1288, 1289, 1290, 1291,
671 1292, 1295, 1298, 1301, 1305, 1308, 1310, 1315, 1317, 1318,
672 1321, 1323, 1325, 1327, 1331, 1334, 1338, 1342, 1343, 1344,
673 1348, 1356, 1357, 1358, 1372, 1374, 1377, 1379, 1390, 1395,
674 1397, 1399, 1401, 1403, 1405, 1407, 1410, 1412, 1456, 1457,
675 1461, 1465, 1469, 1473, 1475, 1479, 1481, 1483, 1491, 1493,
676 1495, 1497, 1501, 1503, 1505, 1507, 1512, 1514, 1516, 1518,
677 1521, 1523, 1525, 1569, 1572, 1576, 1579, 1583, 1586, 1591,
678 1593, 1597, 1610, 1613, 1620, 1627, 1632, 1634, 1639, 1641,
679 1648, 1650, 1654, 1658, 1664, 1668, 1671, 1674, 1677, 1687,
680 1689, 1692, 1696, 1699, 1702, 1705, 1708, 1714, 1720, 1722,
681 1727, 1729, 1738, 1741, 1743, 1746, 1752, 1754, 1764, 1768,
682 1771, 1774, 1779, 1782, 1790, 1792, 1794, 1796, 1799, 1802,
683 1817, 1836, 1839, 1841, 1844, 1846, 1849, 1851, 1854, 1856,
684 1859, 1862, 1866, 1872, 1873, 1885, 1892, 1895, 1901, 1905,
685 1910, 1916, 1917, 1925, 1928, 1932, 1935, 1939, 1944, 1947,
686 1951, 1954, 1956, 1958, 1960, 1967, 1969, 1970, 1971, 1975,
687 1978, 1982, 1985, 1991, 1993, 1996, 1999, 2002, 2008, 2011,
688 2014, 2016, 2018, 2022, 2028, 2036, 2038, 2042, 2044, 2049,
689 2052, 2055, 2057, 2059, 2063, 2068, 2075, 2079, 2083, 2090,
690 2094, 2097, 2100, 2106, 2118, 2120, 2123, 2143, 2145, 2148,
691 2150, 2155, 2157, 2159, 2161, 2163, 2165, 2169, 2174, 2177,
692 2179, 2183, 2189, 2194, 2199, 2201, 2205, 2210, 2213, 2220,
693 2237, 2243, 2245, 2248, 2251, 2253, 2257, 2259, 2263, 2268,
694 2274, 2277, 2278, 2299, 2322, 2324, 2328, 2339, 2353, 2358,
695 2365, 2368, 2376, 2387, 2396, 2400, 2415, 2418, 2423, 2425,
696 2427, 2429, 2431, 2433, 2436, 2438, 2442, 2448, 2450, 2453,
697 2456, 2458, 2469, 2474, 2477, 2482, 2485, 2486, 2497, 2500,
698 2501, 2512, 2514, 2517, 2519, 2522, 2529, 2537, 2544, 2550,
699 2556, 2564, 2568, 2573, 2577, 2580, 2589, 2591, 2595, 2598,
700 2603, 2607, 2613, 2624, 2627, 2631, 2635, 2643, 2648, 2654,
701 2657, 2659, 2661, 2667, 2670, 2672, 2674, 2676, 2680, 2683,
702 2701, 2711, 2713, 2714, 2718, 2723, 2726, 2728, 2730, 2732,
703 2736, 2742, 2745, 2747, 2749, 2751, 2755, 2758, 2761, 2763,
704 2765, 2767, 2771, 2774, 2777, 2779, 2781, 2783, 2785, 2792,
705 2796, 2801, 2805, 2810, 2812, 2816, 2819, 2821, 2824, 2826,
706 2827, 2830, 2832, 2834, 2840, 2855, 2861, 2867, 2881, 2883,
707 2887, 2901, 2903, 2905, 2909, 2915, 2928, 2930, 2934, 2947,
708 2953, 2955, 2956, 2957, 2965, 2970, 2979, 2980, 2984, 2987,
709 2993, 2999, 3002, 3004, 3006, 3008, 3012, 3016, 3020, 3023,
710 3028, 3031, 3033, 3035, 3037, 3039, 3041, 3043, 3045, 3049,
711 3053, 3057, 3061, 3062, 3064, 3066, 3068, 3070, 3072, 3074,
712 3076, 3078, 3086, 3088, 3089, 3090, 3093, 3099, 3101, 3106,
713 3108, 3111, 3125, 3128, 3131, 3135, 3138, 3145, 3147, 3150,
714 3152, 3154, 3157, 3160, 3163, 3166, 3168, 3171, 3175, 3177,
715 3183, 3185, 3186, 3188, 3193, 3195, 3197, 3199, 3201, 3204,
716 3205, 3207, 3210, 3211, 3214, 3214, 3217, 3217, 3220, 3220,
717 3222, 3224, 3226, 3228, 3234, 3240, 3243, 3246, 3252, 3254,
718 3256, 3260, 3262, 3263, 3264, 3266, 3269, 3276, 3281, 3289,
719 3293, 3295, 3298, 3300, 3303, 3307, 3309, 3312, 3314, 3317,
720 3334, 3340, 3348, 3350, 3352, 3356, 3359, 3360, 3368, 3372,
721 3376, 3379, 3380, 3386, 3389, 3392, 3394, 3398, 3403, 3406,
722 3416, 3421, 3422, 3429, 3432, 3435, 3437, 3440, 3442, 3452,
723 3466, 3470, 3473, 3475, 3479, 3483, 3486, 3489, 3491, 3495,
724 3497, 3504, 3511, 3514, 3517, 3521, 3525, 3531, 3535, 3540,
725 3542, 3545, 3550, 3556, 3567, 3570, 3572, 3576, 3581, 3583,
726 3590, 3593, 3595, 3597, 3603, 3608, 3611, 3613, 3615, 3617,
727 3619, 3621, 3623, 3625, 3627, 3629, 3631, 3633, 3635, 3637,
728 3639, 3641, 3643, 3645, 3647, 3649, 3651, 3653, 3655, 3657,
729 3659, 3661, 3663, 3665, 3667, 3669, 3671, 3673, 3676, 3678
734 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
736 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
737 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
738 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
739 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
740 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
741 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
742 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
743 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
744 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
745 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
746 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
747 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
748 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
749 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
750 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
751 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
752 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
753 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
754 "template_type_parm","template_template_parm","template_parm","template_def",
755 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
756 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
757 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
758 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
759 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
760 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
761 "self_template_type",".finish_template_type","template_close_bracket","template_arg_list_opt",
762 "template_arg_list","template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null",
763 "xcond","condition","@20","compstmtend","already_scoped_stmt","@21","nontrivial_exprlist",
764 "nonnull_exprlist","unary_expr",".finish_new_placement",".begin_new_placement",
765 "new_placement","new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas",
766 "notype_unqualified_id","do_id","template_id","object_template_id","unqualified_id",
767 "expr_or_declarator","notype_template_declarator","direct_notype_declarator",
768 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
769 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
770 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
771 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
772 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
773 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
774 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
775 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
776 "@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
777 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
778 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
779 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
780 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
781 "component_decl_1","components","notype_components","component_declarator0",
782 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
783 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
784 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
785 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
786 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
787 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
788 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
789 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
790 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
791 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
792 "label_decls","label_decl","compstmt_or_error","compstmt","@30","simple_if",
793 "@31","@32","implicitly_scoped_stmt","@33","stmt","simple_stmt","@34","@35",
794 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","function_try_block",
795 "@48","@49","try_block","@50","@51","handler_seq","handler","@52","@53","type_specifier_seq",
796 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
797 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
798 "complex_parmlist","defarg","@54","defarg1","parms","parms_comma","named_parm",
799 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
800 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
804 static const short yyr1
[] = { 0,
805 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
806 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
807 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
808 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
809 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
810 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
811 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
812 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
813 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
814 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
815 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
816 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
817 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
818 161, 162, 162, 162, 162, 162, 162, 162, 162, 163,
819 163, 163, 163, 163, 164, 164, 164, 165, 165, 165,
820 167, 166, 168, 166, 169, 166, 170, 166, 171, 166,
821 172, 166, 173, 166, 174, 166, 175, 176, 177, 177,
822 177, 178, 179, 180, 180, 181, 181, 182, 182, 183,
823 183, 183, 184, 184, 184, 184, 184, 185, 185, 186,
824 186, 187, 187, 188, 188, 188, 190, 189, 189, 191,
825 191, 191, 191, 193, 192, 192, 194, 194, 194, 194,
826 195, 195, 196, 196, 196, 196, 196, 196, 196, 196,
827 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
828 196, 196, 196, 196, 196, 196, 197, 198, 199, 199,
829 200, 200, 200, 200, 201, 201, 202, 202, 202, 203,
830 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
831 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
832 203, 203, 203, 203, 204, 204, 204, 204, 204, 204,
833 204, 205, 206, 206, 207, 207, 207, 208, 208, 208,
834 209, 209, 209, 209, 210, 210, 211, 211, 211, 211,
835 212, 212, 212, 212, 212, 212, 212, 213, 212, 212,
836 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
837 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
838 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
839 212, 212, 212, 214, 214, 215, 215, 216, 216, 217,
840 217, 218, 219, 219, 220, 220, 220, 220, 220, 220,
841 221, 221, 222, 222, 223, 223, 223, 223, 223, 224,
842 224, 225, 225, 225, 225, 225, 225, 226, 226, 226,
843 226, 226, 227, 227, 227, 227, 227, 227, 228, 228,
844 228, 228, 229, 229, 230, 230, 230, 230, 230, 230,
845 230, 231, 231, 231, 232, 232, 233, 233, 234, 234,
846 235, 235, 237, 236, 236, 239, 238, 238, 240, 241,
847 243, 242, 242, 244, 244, 245, 245, 246, 247, 247,
848 248, 248, 248, 248, 248, 249, 249, 249, 249, 250,
849 250, 251, 251, 252, 252, 252, 252, 252, 253, 253,
850 253, 253, 253, 254, 255, 255, 255, 256, 256, 257,
851 257, 258, 258, 258, 260, 259, 259, 261, 259, 259,
852 259, 259, 259, 262, 263, 259, 259, 264, 264, 265,
853 265, 266, 266, 266, 266, 266, 266, 267, 268, 268,
854 268, 269, 269, 269, 269, 269, 270, 271, 271, 271,
855 272, 273, 273, 274, 274, 274, 275, 275, 276, 276,
856 277, 277, 277, 277, 278, 278, 278, 278, 279, 280,
857 281, 281, 281, 281, 282, 282, 283, 283, 283, 283,
858 283, 283, 283, 283, 283, 283, 284, 284, 284, 284,
859 284, 284, 284, 284, 284, 285, 285, 285, 286, 286,
860 286, 287, 287, 288, 288, 289, 289, 290, 290, 290,
861 290, 291, 291, 292, 292, 292, 293, 293, 294, 294,
862 295, 295, 295, 296, 296, 297, 297, 298, 299, 300,
863 300, 300, 300, 301, 301, 301, 301, 301, 301, 302,
864 302, 303, 303, 303, 304, 305, 305, 305, 305, 305,
865 305, 306, 306, 306, 306, 306, 306, 307, 307, 307,
866 307, 307, 307, 308, 308, 308, 308, 308, 308, 309,
867 309, 310, 310, 311, 311, 312, 312, 312, 313, 313,
868 313, 314, 314, 314, 315, 315, 315, 315, 316, 316,
869 317, 317, 317, 317, 318, 318, 318, 318, 319, 319,
870 319, 319, 319, 319, 320, 321, 321, 321, 322, 322,
871 323, 324, 324, 324, 324, 324, 324, 324, 325, 325,
872 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
873 326, 327, 327, 327, 327, 327, 327, 327, 327, 327,
874 327, 327, 328, 328, 328, 328, 329, 330, 330, 331,
875 331, 332, 333, 333, 335, 334, 337, 338, 336, 339,
876 340, 339, 341, 341, 342, 342, 343, 342, 342, 344,
877 345, 342, 346, 347, 342, 348, 349, 350, 351, 342,
878 352, 353, 342, 354, 342, 355, 342, 356, 342, 342,
879 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
880 342, 342, 342, 342, 342, 342, 358, 359, 357, 361,
881 362, 360, 363, 363, 365, 366, 364, 367, 367, 368,
882 368, 369, 369, 369, 369, 370, 370, 370, 371, 371,
883 372, 372, 372, 373, 373, 374, 374, 375, 376, 376,
884 377, 377, 377, 378, 378, 378, 378, 378, 378, 378,
885 380, 379, 381, 381, 382, 382, 382, 382, 382, 383,
886 383, 384, 384, 384, 384, 384, 384, 385, 385, 386,
887 386, 387, 388, 388, 389, 389, 389, 390, 391, 391,
888 392, 392, 392, 392, 393, 394, 394, 394, 394, 394,
889 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
890 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
891 394, 394, 394, 394, 394, 394, 394, 394, 394, 394
894 static const short yyr2
[] = { 0,
895 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
896 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
897 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
898 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
899 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
900 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
901 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
902 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
903 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
904 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
905 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
906 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
907 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
908 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
909 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
910 0, 6, 0, 6, 0, 5, 0, 5, 0, 7,
911 0, 7, 0, 6, 0, 6, 0, 0, 5, 5,
912 1, 5, 0, 1, 1, 0, 1, 1, 3, 1,
913 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
914 3, 1, 3, 0, 1, 1, 0, 7, 1, 1,
915 3, 4, 3, 0, 3, 1, 3, 3, 3, 3,
916 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
917 4, 2, 4, 2, 3, 3, 4, 5, 6, 6,
918 7, 2, 4, 5, 2, 2, 1, 0, 4, 4,
919 3, 1, 3, 2, 3, 4, 1, 2, 5, 1,
920 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
921 3, 3, 3, 3, 3, 3, 3, 3, 3, 5,
922 3, 3, 1, 2, 3, 3, 1, 1, 1, 1,
923 1, 0, 5, 5, 5, 5, 5, 1, 1, 1,
924 1, 2, 2, 3, 4, 4, 1, 1, 1, 3,
925 1, 1, 1, 1, 3, 3, 3, 0, 4, 4,
926 2, 4, 2, 4, 2, 2, 1, 4, 1, 7,
927 7, 7, 7, 4, 4, 2, 2, 2, 1, 4,
928 2, 2, 5, 3, 2, 2, 5, 3, 5, 3,
929 4, 6, 2, 1, 2, 1, 2, 1, 1, 1,
930 2, 0, 2, 2, 3, 3, 3, 2, 2, 2,
931 1, 1, 1, 2, 2, 2, 2, 1, 1, 1,
932 1, 2, 2, 3, 3, 3, 4, 1, 2, 2,
933 2, 1, 1, 1, 2, 2, 2, 1, 1, 2,
934 2, 3, 1, 2, 1, 1, 1, 4, 4, 4,
935 4, 1, 1, 1, 1, 3, 1, 3, 1, 3,
936 0, 4, 0, 6, 3, 0, 4, 1, 3, 3,
937 0, 4, 3, 0, 1, 1, 2, 6, 1, 3,
938 0, 1, 4, 6, 4, 1, 1, 1, 1, 1,
939 3, 0, 2, 1, 2, 3, 4, 1, 1, 3,
940 4, 3, 5, 1, 4, 3, 3, 0, 3, 3,
941 3, 0, 2, 2, 0, 7, 4, 0, 6, 3,
942 2, 2, 2, 0, 0, 9, 1, 0, 1, 0,
943 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
944 2, 3, 4, 3, 2, 3, 0, 1, 3, 2,
945 2, 1, 1, 0, 2, 3, 1, 4, 1, 3,
946 1, 1, 4, 4, 2, 2, 3, 3, 1, 0,
947 1, 2, 4, 3, 1, 2, 2, 2, 2, 2,
948 2, 2, 1, 2, 2, 3, 2, 2, 4, 4,
949 2, 1, 5, 4, 1, 0, 1, 3, 0, 1,
950 3, 1, 1, 1, 1, 4, 4, 4, 4, 4,
951 3, 4, 4, 4, 4, 3, 1, 3, 1, 3,
952 2, 1, 7, 0, 2, 1, 2, 0, 2, 4,
953 4, 2, 4, 3, 3, 2, 2, 3, 1, 1,
954 2, 1, 1, 2, 2, 4, 4, 3, 3, 2,
955 1, 3, 3, 2, 2, 3, 1, 3, 3, 2,
956 2, 3, 1, 4, 3, 4, 3, 1, 2, 2,
957 2, 2, 2, 1, 2, 4, 4, 2, 1, 1,
958 1, 1, 2, 4, 2, 2, 2, 2, 1, 2,
959 2, 2, 2, 3, 1, 2, 3, 4, 2, 2,
960 2, 2, 2, 2, 4, 2, 1, 2, 2, 3,
961 1, 3, 2, 3, 2, 2, 3, 1, 3, 4,
962 3, 2, 2, 1, 3, 2, 2, 1, 2, 3,
963 1, 3, 1, 6, 4, 4, 3, 5, 3, 3,
964 3, 2, 1, 1, 2, 2, 2, 0, 1, 1,
965 2, 3, 1, 2, 0, 3, 0, 0, 5, 1,
966 0, 2, 1, 1, 1, 2, 0, 4, 1, 0,
967 0, 5, 0, 0, 7, 0, 0, 0, 0, 12,
968 0, 0, 7, 0, 5, 0, 7, 0, 4, 2,
969 2, 2, 3, 6, 8, 10, 12, 4, 3, 2,
970 2, 1, 1, 1, 1, 1, 0, 0, 6, 0,
971 0, 5, 1, 2, 0, 0, 5, 1, 1, 3,
972 3, 2, 2, 2, 2, 2, 1, 2, 0, 1,
973 0, 1, 1, 0, 1, 1, 3, 4, 1, 3,
974 0, 1, 1, 1, 2, 2, 2, 1, 2, 2,
975 0, 3, 1, 1, 1, 2, 2, 2, 4, 2,
976 2, 2, 2, 2, 2, 1, 2, 1, 2, 1,
977 1, 0, 0, 1, 0, 4, 2, 1, 1, 3,
978 0, 3, 3, 3, 1, 2, 2, 2, 2, 2,
979 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
980 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
981 2, 2, 2, 3, 2, 2, 4, 4, 3, 2
984 static const short yydefact
[] = { 3,
985 12, 12, 5, 0, 4, 0, 279, 629, 630, 0,
986 384, 396, 576, 0, 11, 0, 0, 0, 10, 482,
987 835, 0, 0, 0, 167, 661, 280, 281, 83, 0,
988 0, 822, 0, 45, 0, 0, 13, 25, 0, 27,
989 8, 0, 16, 15, 89, 110, 86, 0, 631, 171,
990 298, 277, 299, 607, 0, 371, 0, 370, 389, 0,
991 409, 388, 426, 395, 0, 498, 497, 504, 503, 502,
992 477, 383, 592, 397, 593, 108, 297, 618, 590, 0,
993 632, 574, 0, 0, 278, 81, 82, 176, 635, 176,
994 636, 176, 282, 167, 140, 141, 142, 143, 144, 468,
995 471, 0, 657, 0, 472, 0, 0, 0, 0, 141,
996 142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
997 0, 473, 639, 0, 645, 0, 0, 0, 37, 0,
998 0, 31, 0, 0, 47, 0, 176, 637, 0, 0,
999 605, 0, 0, 0, 604, 0, 0, 0, 0, 298,
1000 0, 578, 0, 297, 574, 28, 0, 26, 3, 46,
1001 0, 64, 384, 0, 0, 8, 67, 63, 66, 89,
1002 0, 0, 0, 395, 90, 14, 0, 424, 0, 0,
1003 442, 87, 79, 638, 578, 0, 574, 80, 0, 0,
1004 0, 106, 0, 405, 361, 589, 362, 601, 0, 574,
1005 386, 385, 78, 109, 372, 0, 407, 387, 107, 378,
1006 402, 403, 373, 391, 393, 382, 404, 0, 75, 427,
1007 483, 484, 485, 486, 501, 149, 148, 150, 488, 489,
1008 495, 487, 0, 0, 490, 491, 504, 822, 500, 519,
1009 520, 577, 390, 0, 421, 630, 0, 659, 171, 622,
1010 623, 619, 595, 633, 0, 594, 591, 0, 870, 866,
1011 865, 863, 845, 850, 851, 0, 857, 856, 842, 843,
1012 841, 860, 849, 846, 847, 848, 852, 853, 839, 840,
1013 836, 837, 838, 862, 854, 855, 844, 861, 0, 858,
1014 768, 389, 769, 831, 282, 279, 576, 302, 350, 0,
1015 0, 0, 0, 346, 344, 317, 348, 349, 0, 0,
1016 0, 0, 0, 280, 281, 273, 0, 0, 184, 183,
1017 0, 185, 186, 0, 0, 187, 0, 0, 177, 178,
1018 0, 247, 0, 250, 182, 301, 213, 0, 0, 303,
1019 304, 0, 180, 368, 389, 369, 624, 329, 319, 0,
1020 0, 0, 0, 176, 0, 470, 0, 465, 0, 658,
1021 656, 0, 188, 189, 0, 0, 0, 431, 3, 21,
1022 29, 653, 649, 650, 652, 654, 651, 140, 141, 142,
1023 0, 143, 144, 641, 642, 646, 643, 640, 0, 289,
1024 290, 288, 621, 620, 33, 32, 49, 0, 157, 0,
1025 0, 389, 155, 0, 0, 603, 0, 602, 141, 142,
1026 275, 276, 293, 0, 611, 292, 0, 610, 0, 300,
1027 615, 0, 0, 12, 0, 167, 9, 9, 70, 0,
1028 65, 0, 0, 71, 74, 0, 423, 425, 122, 93,
1029 127, 757, 0, 85, 84, 92, 125, 0, 0, 123,
1030 88, 617, 0, 0, 582, 0, 825, 0, 587, 0,
1031 586, 0, 0, 0, 0, 574, 424, 0, 77, 578,
1032 574, 600, 0, 375, 376, 0, 76, 424, 380, 379,
1033 381, 374, 394, 411, 410, 492, 496, 494, 0, 499,
1034 505, 0, 0, 392, 424, 574, 94, 0, 0, 0,
1035 0, 574, 100, 575, 606, 630, 660, 171, 0, 0,
1036 859, 864, 391, 574, 574, 0, 574, 869, 176, 0,
1037 0, 0, 220, 0, 0, 222, 235, 236, 0, 0,
1038 0, 0, 0, 274, 219, 216, 215, 217, 0, 0,
1039 0, 0, 0, 301, 0, 0, 0, 214, 174, 175,
1040 295, 0, 218, 0, 0, 248, 0, 0, 0, 0,
1041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1042 0, 0, 0, 0, 0, 0, 0, 0, 311, 0,
1043 313, 315, 316, 354, 353, 0, 0, 238, 238, 0,
1044 224, 572, 0, 232, 351, 343, 0, 0, 822, 332,
1045 335, 336, 0, 0, 363, 678, 674, 683, 0, 578,
1046 574, 574, 574, 365, 681, 0, 628, 367, 0, 0,
1047 366, 331, 0, 326, 345, 327, 347, 625, 0, 328,
1048 173, 173, 0, 165, 0, 389, 163, 569, 480, 567,
1049 467, 0, 0, 398, 0, 0, 399, 400, 401, 437,
1050 438, 439, 436, 0, 429, 432, 0, 3, 0, 644,
1051 176, 647, 0, 41, 42, 0, 53, 0, 0, 57,
1052 61, 50, 821, 816, 0, 368, 389, 53, 369, 820,
1053 59, 168, 153, 151, 168, 173, 296, 609, 608, 300,
1054 612, 0, 18, 20, 89, 9, 9, 73, 72, 0,
1055 128, 352, 0, 705, 91, 703, 448, 0, 444, 443,
1056 212, 0, 211, 579, 616, 0, 798, 0, 793, 389,
1057 0, 792, 794, 823, 805, 0, 0, 614, 585, 584,
1058 0, 0, 599, 0, 419, 418, 406, 598, 0, 825,
1059 588, 377, 408, 420, 424, 493, 629, 630, 822, 0,
1060 822, 631, 506, 507, 509, 822, 512, 511, 0, 542,
1061 630, 0, 533, 0, 0, 545, 0, 121, 116, 0,
1062 171, 546, 549, 0, 525, 0, 119, 0, 424, 422,
1063 825, 791, 176, 176, 634, 176, 825, 791, 574, 97,
1064 574, 103, 868, 867, 831, 831, 831, 0, 0, 0,
1065 0, 628, 0, 0, 0, 0, 389, 0, 0, 0,
1066 307, 0, 305, 306, 0, 245, 179, 279, 629, 630,
1067 280, 281, 0, 0, 449, 478, 0, 272, 271, 783,
1068 782, 0, 269, 268, 266, 267, 265, 264, 263, 260,
1069 261, 262, 258, 259, 253, 254, 255, 256, 257, 251,
1070 252, 0, 0, 0, 0, 0, 238, 226, 242, 0,
1071 0, 225, 574, 574, 0, 574, 571, 668, 0, 0,
1072 0, 0, 0, 334, 0, 338, 0, 340, 0, 677,
1073 676, 673, 672, 821, 0, 0, 692, 0, 0, 825,
1074 364, 825, 679, 574, 791, 578, 678, 674, 0, 0,
1075 574, 0, 0, 0, 0, 0, 170, 172, 283, 168,
1076 161, 159, 168, 0, 481, 0, 480, 210, 209, 208,
1077 207, 431, 0, 0, 24, 0, 0, 648, 0, 38,
1078 44, 43, 55, 52, 53, 0, 48, 0, 0, 678,
1079 674, 0, 812, 574, 815, 817, 0, 813, 814, 54,
1080 488, 0, 158, 168, 168, 156, 169, 17, 19, 69,
1081 89, 412, 145, 133, 146, 147, 0, 126, 129, 0,
1082 0, 0, 0, 704, 698, 445, 0, 124, 583, 580,
1083 797, 811, 800, 0, 581, 796, 810, 799, 795, 824,
1084 807, 818, 808, 801, 806, 827, 0, 416, 597, 596,
1085 415, 516, 0, 515, 822, 822, 822, 0, 574, 791,
1086 541, 534, 546, 535, 424, 424, 531, 532, 529, 530,
1087 574, 791, 279, 629, 0, 411, 117, 537, 547, 552,
1088 553, 411, 411, 0, 0, 411, 115, 538, 550, 411,
1089 526, 527, 528, 424, 0, 474, 96, 0, 0, 0,
1090 0, 102, 0, 825, 791, 825, 791, 833, 832, 834,
1091 284, 318, 221, 223, 324, 325, 0, 0, 0, 0,
1092 306, 309, 0, 0, 0, 0, 246, 0, 310, 312,
1093 314, 0, 0, 0, 0, 227, 244, 0, 0, 665,
1094 663, 0, 666, 578, 233, 0, 0, 176, 341, 0,
1095 0, 0, 675, 671, 682, 574, 691, 689, 690, 680,
1096 825, 0, 687, 0, 626, 627, 0, 330, 166, 168,
1097 168, 164, 570, 568, 469, 0, 430, 428, 279, 0,
1098 22, 30, 655, 56, 51, 58, 62, 677, 673, 678,
1099 674, 0, 590, 0, 574, 679, 60, 154, 152, 68,
1100 0, 131, 0, 135, 0, 137, 0, 139, 0, 758,
1101 0, 200, 706, 0, 699, 700, 0, 446, 678, 674,
1102 0, 301, 0, 624, 819, 0, 0, 828, 829, 0,
1103 0, 413, 0, 0, 0, 518, 517, 510, 825, 0,
1104 536, 442, 442, 825, 0, 0, 0, 424, 424, 0,
1105 424, 424, 0, 424, 0, 442, 0, 462, 574, 286,
1106 285, 287, 574, 99, 0, 105, 0, 0, 0, 0,
1107 0, 0, 452, 0, 450, 249, 270, 240, 239, 237,
1108 228, 0, 241, 243, 664, 662, 669, 667, 0, 234,
1109 0, 0, 333, 337, 339, 825, 685, 574, 686, 162,
1110 160, 466, 0, 433, 435, 677, 673, 595, 679, 132,
1111 130, 0, 0, 0, 0, 440, 0, 0, 279, 629,
1112 630, 707, 720, 723, 726, 731, 0, 0, 0, 0,
1113 0, 0, 0, 0, 280, 752, 760, 0, 779, 756,
1114 755, 754, 0, 715, 0, 0, 389, 0, 694, 713,
1115 719, 693, 714, 753, 0, 701, 447, 0, 627, 809,
1116 803, 804, 802, 0, 826, 417, 0, 513, 514, 508,
1117 112, 574, 540, 544, 114, 574, 424, 424, 561, 442,
1118 279, 629, 0, 548, 554, 555, 411, 411, 442, 442,
1119 0, 442, 551, 539, 0, 825, 825, 574, 574, 0,
1120 0, 0, 0, 451, 0, 0, 229, 230, 670, 342,
1121 285, 688, 825, 0, 134, 136, 138, 765, 759, 763,
1122 0, 702, 697, 203, 772, 774, 775, 0, 0, 711,
1123 0, 0, 0, 738, 740, 741, 742, 0, 0, 0,
1124 0, 0, 0, 0, 773, 0, 360, 780, 0, 716,
1125 358, 411, 0, 359, 0, 411, 0, 0, 0, 201,
1126 696, 695, 717, 751, 750, 306, 830, 414, 825, 825,
1127 560, 557, 559, 0, 0, 424, 424, 424, 556, 558,
1128 543, 464, 0, 463, 458, 95, 101, 825, 825, 320,
1129 321, 322, 323, 453, 0, 231, 684, 434, 0, 764,
1130 441, 192, 0, 708, 721, 710, 0, 0, 0, 0,
1131 0, 734, 0, 743, 0, 749, 39, 144, 34, 144,
1132 0, 35, 761, 0, 356, 357, 0, 0, 0, 355,
1133 202, 711, 111, 113, 424, 424, 566, 442, 442, 0,
1134 0, 476, 98, 104, 573, 0, 766, 199, 0, 389,
1135 0, 711, 0, 724, 712, 698, 777, 727, 0, 0,
1136 0, 0, 739, 748, 40, 36, 0, 0, 718, 565,
1137 563, 562, 564, 461, 460, 454, 86, 89, 0, 0,
1138 0, 193, 411, 709, 204, 722, 206, 0, 778, 0,
1139 776, 732, 736, 735, 762, 784, 0, 0, 459, 770,
1140 771, 767, 424, 698, 190, 0, 0, 196, 0, 195,
1141 711, 0, 0, 0, 785, 786, 744, 457, 0, 456,
1142 0, 205, 0, 725, 728, 733, 737, 0, 784, 0,
1143 0, 455, 197, 191, 0, 0, 0, 745, 787, 0,
1144 0, 788, 0, 0, 198, 729, 789, 0, 746, 0,
1145 0, 0, 730, 790, 747, 0, 0, 0
1148 static const short yydefgoto
[] = { 1606,
1149 424, 2, 425, 161, 694, 327, 177, 3, 4, 37,
1150 658, 369, 1290, 659, 766, 1291, 1292, 389, 1393, 663,
1151 41, 767, 398, 669, 933, 670, 671, 672, 43, 168,
1152 169, 44, 443, 180, 176, 45, 46, 782, 1055, 788,
1153 1057, 47, 769, 770, 181, 182, 444, 701, 968, 969,
1154 638, 970, 230, 48, 955, 954, 685, 682, 1121, 1120,
1155 913, 910, 136, 953, 49, 50, 907, 551, 328, 329,
1156 330, 331, 1293, 1557, 1454, 1559, 1499, 1590, 1163, 1536,
1157 1554, 363, 900, 332, 1231, 855, 590, 862, 333, 334,
1158 364, 336, 354, 52, 251, 664, 413, 53, 54, 337,
1159 546, 338, 339, 340, 341, 445, 342, 1294, 484, 612,
1160 343, 1295, 56, 213, 675, 344, 214, 524, 215, 193,
1161 206, 60, 467, 485, 1317, 735, 1181, 194, 207, 61,
1162 495, 736, 62, 63, 654, 655, 656, 1267, 450, 825,
1163 826, 1527, 1528, 1492, 1434, 1345, 64, 642, 357, 1208,
1164 1435, 1076, 916, 65, 66, 67, 68, 237, 69, 70,
1165 71, 239, 753, 754, 755, 756, 241, 492, 493, 774,
1166 775, 776, 1028, 1038, 1029, 1334, 1030, 1031, 1335, 1336,
1167 639, 640, 591, 890, 346, 453, 454, 187, 195, 73,
1168 74, 75, 196, 197, 153, 77, 132, 347, 348, 349,
1169 79, 350, 81, 758, 123, 124, 125, 500, 105, 82,
1170 351, 867, 868, 885, 615, 1298, 1299, 1164, 1165, 1166,
1171 705, 1300, 975, 1301, 1378, 1502, 1457, 1458, 1302, 1303,
1172 1482, 1379, 1503, 1380, 1538, 1381, 1540, 1585, 1600, 1382,
1173 1561, 1512, 1562, 1463, 446, 702, 1265, 1304, 1396, 1517,
1174 1369, 1370, 1449, 1531, 1501, 1497, 1305, 1508, 1399, 832,
1175 1564, 1565, 1566, 1598, 721, 722, 995, 1177, 1313, 723,
1176 724, 725, 991, 726, 146, 993, 728, 1179, 1180, 518,
1180 static const short yypact
[] = { 116,
1181 144,-32768,-32768, 3219,-32768, 156, 153, 205, 332, 176,
1182 170,-32768,-32768, 1325,-32768, 160, 185, 227,-32768,-32768,
1183 -32768, 532, 752, 1021, 259,-32768, 308, 426,-32768, 684,
1184 684,-32768, 5043,-32768, 3219, 323,-32768,-32768, 404,-32768,
1185 62, 2851,-32768,-32768, 350, 1007, 453, 415, 437,-32768,
1186 -32768,-32768,-32768, 530, 1892,-32768, 4895,-32768, 885, 379,
1187 -32768, 471,-32768,-32768, 1233, 93,-32768, 479,-32768,-32768,
1188 491, 2947,-32768,-32768,-32768, 1248,-32768,-32768,-32768, 1551,
1189 -32768,-32768, 612, 8144, 524,-32768,-32768, 9669,-32768, 9669,
1190 -32768, 9669,-32768,-32768,-32768, 205, 332, 308, 517, 476,
1191 543, 437,-32768, 451,-32768, 612, 9755, 9755, 516,-32768,
1192 -32768,-32768,-32768,-32768, 425, 579, 519, 546, 591, 598,
1193 605,-32768,-32768, 1440,-32768, 1568, 205, 332,-32768, 308,
1194 517,-32768, 562, 343, 599, 5841, 9669,-32768, 9669, 3212,
1195 -32768, 1951, 692, 3212,-32768, 1726, 3405, 3405, 5043, 570,
1196 586, 609, 602, 610,-32768,-32768, 732,-32768, 590,-32768,
1197 4344,-32768,-32768, 259, 3053, 646,-32768,-32768,-32768, 350,
1198 5462, 10843, 576, 698,-32768,-32768, 659, 471, 757, 209,
1199 251, 734,-32768,-32768, 685, 267,-32768,-32768, 3412, 3412,
1200 5669, 1248, 768,-32768,-32768, 615,-32768,-32768, 2065,-32768,
1201 -32768,-32768,-32768,-32768, 885, 774,-32768, 471, 1248,-32768,
1202 -32768,-32768, 2313, 885,-32768, 471,-32768, 5462,-32768,-32768,
1203 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1204 437, 471, 1887, 1830,-32768,-32768, 479,-32768,-32768,-32768,
1205 -32768,-32768, 1160, 612,-32768, 537, 1463,-32768, 342,-32768,
1206 -32768,-32768,-32768,-32768, 4337,-32768,-32768, 229,-32768, 707,
1207 717,-32768,-32768,-32768,-32768, 751,-32768,-32768,-32768,-32768,
1208 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1209 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 704,-32768,
1210 -32768, 1160, 2947, 1101,-32768,-32768, 725,-32768,-32768, 10363,
1211 10449, 10535, 10535,-32768,-32768,-32768,-32768,-32768, 727, 769,
1212 792, 795, 801, 874, 517, 9841, 1937, 10535,-32768,-32768,
1213 10535,-32768,-32768, 10535, 7622,-32768, 10535, 442, 772,-32768,
1214 10535,-32768, 9927,-32768, 10838, 376, 1310, 2889, 10013,-32768,
1215 893, 1805,-32768, 2496, 3971, 3697,-32768, 440,-32768, 1965,
1216 1825, 442, 442, 9669, 5841,-32768, 1937, 804, 1937,-32768,
1217 -32768, 810, 861, 10919, 815, 828, 839, 1668, 590,-32768,
1218 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 579, 519, 546,
1219 1937, 591, 598, 876, 605,-32768, 904,-32768, 457, 205,
1220 332,-32768,-32768,-32768,-32768,-32768,-32768, 4481,-32768, 5462,
1221 5736, 2489,-32768, 442, 63,-32768, 363,-32768, 892, 899,
1222 -32768,-32768,-32768, 3212,-32768,-32768, 3212,-32768, 867,-32768,
1223 -32768, 4337, 88, 850, 883,-32768,-32768,-32768,-32768, 5841,
1224 -32768, 812, 823,-32768,-32768, 732,-32768, 471,-32768,-32768,
1225 -32768,-32768, 111,-32768,-32768,-32768,-32768, 7713, 9841,-32768,
1226 -32768,-32768, 9841, 896,-32768, 6976, 226, 5116,-32768, 5116,
1227 -32768, 5186, 5186, 5669, 888,-32768, 471, 5462,-32768, 900,
1228 -32768,-32768, 5405, 2313, 885, 5462,-32768, 471,-32768,-32768,
1229 471, 2313,-32768, 986,-32768,-32768, 437,-32768, 1887,-32768,
1230 1226, 3343, 81, 1160, 471,-32768,-32768, 941, 943, 965,
1231 953,-32768,-32768,-32768,-32768, 593,-32768, 450, 918, 919,
1232 -32768,-32768, 1160,-32768,-32768, 964,-32768,-32768, 9669, 9841,
1233 725, 7622,-32768, 509, 7622,-32768,-32768,-32768, 9755, 5650,
1234 5650, 5650, 5650, 10964,-32768,-32768,-32768,-32768, 924, 10621,
1235 10621, 7622, 927, 107, 928, 979, 934,-32768,-32768,-32768,
1236 -32768, 9669,-32768, 7252, 7622,-32768, 9841, 9841, 7804, 9841,
1237 9841, 9841, 9841, 9841, 9841, 9841, 9841, 9841, 9841, 9841,
1238 9841, 9841, 9841, 9841, 9841, 9841, 9841, 9841,-32768, 9841,
1239 -32768,-32768,-32768,-32768,-32768, 9841, 9841,-32768,-32768, 1313,
1240 315, 906, 8504,-32768,-32768,-32768, 989, 1463, 1037, 511,
1241 528, 638, 2333, 692,-32768, 1576, 1576,-32768, 2501, 937,
1242 956, 1003,-32768,-32768, 634, 9124, 1116,-32768, 999, 612,
1243 -32768,-32768, 9841,-32768,-32768,-32768,-32768,-32768, 303, 524,
1244 -32768,-32768, 442,-32768, 5462, 2982,-32768, 990, 1000,-32768,
1245 -32768, 1937, 876,-32768, 8236, 8327,-32768,-32768,-32768,-32768,
1246 -32768,-32768,-32768, 193,-32768, 969, 949, 590, 457, 1010,
1247 9669,-32768, 1008,-32768,-32768, 343, 1095, 1044, 299, 1018,
1248 1023,-32768,-32768, 2225, 10843, 2225, 4136, 1233, 3794,-32768,
1249 1026,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 985,
1250 -32768, 1035,-32768,-32768, 350,-32768,-32768,-32768,-32768, 95,
1251 783, 1039, 979,-32768,-32768,-32768,-32768, 7158, 10964,-32768,
1252 861, 1012, 10919,-32768,-32768, 1014,-32768, 1019, 406, 4599,
1253 1022,-32768, 103, 5361, 1047, 1052, 654,-32768,-32768,-32768,
1254 5116, 5116,-32768, 5405,-32768, 1054,-32768,-32768, 1015, 226,
1255 -32768, 2313,-32768,-32768, 471,-32768, 519, 546,-32768, 1036,
1256 -32768, 605, 1074,-32768,-32768, 233,-32768,-32768, 1962,-32768,
1257 791, 1141,-32768, 9841, 6374,-32768, 6374, 83, 83, 301,
1258 658, 4251, 10775, 5963,-32768, 194, 83, 1073, 471,-32768,
1259 226, 3153, 9669, 9669,-32768, 9669, 226, 3153,-32768,-32768,
1260 -32768,-32768,-32768,-32768, 1067, 1067, 1067, 442, 1046, 1048,
1261 10105, 1003, 1057, 1058, 1068, 1104, 4764, 1107, 1108, 1109,
1262 -32768, 1078,-32768,-32768, 1082,-32768,-32768, 1132, 432, 762,
1263 182, 80, 9841, 1137,-32768, 1142, 1092, 10964, 10964,-32768,
1264 -32768, 1140, 4489, 6071, 6114, 3259, 5876, 4207, 3574, 2596,
1265 2596, 2596, 2581, 2581, 1305, 1305, 478, 478, 478,-32768,
1266 -32768, 1096, 1099, 1102, 9841, 9755,-32768, 315,-32768, 7713,
1267 9841,-32768,-32768,-32768, 9841,-32768,-32768, 1125, 10535, 1110,
1268 1138, 1146, 1185,-32768, 9841,-32768, 9841,-32768, 9841, 2601,
1269 -32768, 2601,-32768, 97, 1126, 1131,-32768, 1134, 5650, 226,
1270 -32768, 226, 2752,-32768, 3153, 1144, 9308, 9308, 6471, 1143,
1271 9927, 1150, 2158, 1825, 1004, 1152,-32768,-32768,-32768,-32768,
1272 -32768,-32768,-32768, 9841, 1937, 1139, 1000,-32768, 10964,-32768,
1273 10964, 1668, 1153, 10191,-32768, 1157, 1186,-32768, 442,-32768,
1274 -32768,-32768,-32768,-32768, 1416, 4481,-32768, 5650, 9669, 1795,
1275 1795, 3508,-32768,-32768,-32768,-32768, 2065,-32768,-32768,-32768,
1276 417, 9841,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1277 350,-32768, 579,-32768, 591, 598, 9841, 1208,-32768, 666,
1278 674, 683, 979,-32768, 72,-32768, 183,-32768,-32768,-32768,
1279 -32768,-32768,-32768, 9216,-32768,-32768,-32768,-32768,-32768,-32768,
1280 -32768, 1052, 1204,-32768,-32768,-32768, 5650,-32768,-32768,-32768,
1281 1206,-32768, 9755,-32768,-32768,-32768,-32768, 851,-32768, 3153,
1282 10964,-32768, 1679,-32768, 471, 471,-32768,-32768,-32768,-32768,
1283 -32768, 3153, 502, 787, 9841, 986,-32768, 1212,-32768,-32768,
1284 -32768, 235, 497, 1551, 692, 569, 83, 1214,-32768, 621,
1285 -32768,-32768,-32768, 471, 8572,-32768,-32768, 1168, 442, 442,
1286 442,-32768, 1169, 226, 3153, 226, 3153,-32768,-32768,-32768,
1287 -32768,-32768,-32768,-32768,-32768,-32768, 1192, 1193, 1195, 1202,
1288 985,-32768, 6766, 7713, 7346, 1188,-32768, 9841,-32768,-32768,
1289 -32768, 1190, 1170, 1196, 5650,-32768,-32768, 1198, 173, 334,
1290 334, 1200, 334,-32768,-32768, 10535, 1301, 9669,-32768, 1216,
1291 1217, 1231,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1292 226, 1234,-32768, 1223,-32768,-32768, 2735,-32768,-32768,-32768,
1293 -32768,-32768, 10964,-32768,-32768, 1235,-32768,-32768, 199, 1240,
1294 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 2393, 2393, 2680,
1295 2680, 3508,-32768, 2065,-32768, 3520, 10838,-32768,-32768,-32768,
1296 1242,-32768, 783,-32768, 9841,-32768, 9841,-32768, 9841,-32768,
1297 1937,-32768,-32768, 6711, 1318,-32768, 7437,-32768, 9400, 9400,
1298 6861, 135, 1245, 261,-32768, 7713, 7528,-32768,-32768, 210,
1299 7713,-32768, 1246, 1247, 1226,-32768,-32768,-32768, 226, 1251,
1300 -32768, 1297, 1297, 226, 1257, 9841, 9841, 4003, 471, 4760,
1301 471, 471, 1105, 471, 5244, 1297, 8642,-32768,-32768,-32768,
1302 1314,-32768,-32768,-32768, 1267,-32768, 1269, 9841, 9841, 9841,
1303 9841, 7713,-32768, 1316,-32768,-32768, 10964,-32768,-32768,-32768,
1304 380, 1196,-32768,-32768,-32768,-32768,-32768,-32768, 1279,-32768,
1305 1345, 442,-32768,-32768,-32768, 226,-32768,-32768,-32768,-32768,
1306 -32768,-32768, 9841,-32768,-32768, 2393, 2393,-32768, 3520,-32768,
1307 -32768, 1285, 1286, 1290, 1309,-32768, 829, 214, 1347, 805,
1308 816,-32768,-32768,-32768,-32768,-32768, 9841, 1348, 1352, 1353,
1309 9492, 175, 1937, 616, 655,-32768,-32768, 9583, 1398,-32768,
1310 -32768,-32768, 1354,-32768, 5089, 5564, 4654, 6601,-32768,-32768,
1311 1400,-32768,-32768,-32768, 8735,-32768,-32768, 1321, 1368,-32768,
1312 -32768,-32768,-32768, 5650,-32768,-32768, 7713,-32768,-32768,-32768,
1313 -32768,-32768,-32768,-32768,-32768,-32768, 4003, 4003,-32768, 1297,
1314 691, 863, 9841,-32768,-32768,-32768, 986, 986, 1297, 1297,
1315 593, 1297,-32768,-32768, 6263, 226, 226,-32768,-32768, 1323,
1316 1329, 1334, 1340,-32768, 7713, 9841,-32768, 380,-32768,-32768,
1317 -32768,-32768, 226, 1342,-32768,-32768,-32768,-32768, 1309,-32768,
1318 1937,-32768,-32768,-32768,-32768,-32768,-32768, 688, 688, 979,
1319 1324, 1333, 6168,-32768,-32768,-32768,-32768, 1362, 9841, 1373,
1320 1393, 1406, 1973, 2131,-32768, 979,-32768,-32768, 1372,-32768,
1321 -32768, 986, 841,-32768, 881, 986, 10277, 894, 252,-32768,
1322 -32768,-32768,-32768,-32768,-32768, 340,-32768,-32768, 226, 226,
1323 -32768,-32768,-32768, 9841, 9841, 4003, 471, 471,-32768,-32768,
1324 -32768,-32768, 8418,-32768,-32768,-32768,-32768, 226, 226,-32768,
1325 -32768,-32768,-32768,-32768, 1359,-32768,-32768,-32768, 1381,-32768,
1326 -32768,-32768, 9755,-32768,-32768,-32768, 1461, 9031, 7067, 9755,
1327 9841,-32768, 8843,-32768, 1420,-32768,-32768, 1428,-32768, 1406,
1328 1973,-32768,-32768, 732,-32768,-32768, 10707, 10707, 7895,-32768,
1329 -32768, 979,-32768,-32768, 4003, 4003,-32768, 1297, 1297, 1376,
1330 10874, 1387,-32768,-32768,-32768, 4964,-32768,-32768, 1377, 487,
1331 5462, 979, 8937,-32768,-32768, 72,-32768,-32768, 1430, 1385,
1332 10942, 8843,-32768,-32768,-32768,-32768, 1309, 91,-32768,-32768,
1333 -32768,-32768,-32768,-32768,-32768,-32768, 453, 350, 1386, 1394,
1334 979,-32768, 986,-32768,-32768,-32768,-32768, 690,-32768, 7986,
1335 -32768,-32768,-32768,-32768, 1309, 1490, 1449, 218,-32768,-32768,
1336 -32768,-32768, 471, 72,-32768, 9841, 1451,-32768, 1453,-32768,
1337 979, 8843, 1422, 68, 1459,-32768,-32768,-32768, 111,-32768,
1338 1458,-32768, 1415,-32768,-32768,-32768,-32768, 9841, 1490, 1466,
1339 1490,-32768,-32768,-32768, 8077, 1419, 677,-32768,-32768, 7713,
1340 1421,-32768, 1517, 1470,-32768,-32768,-32768, 270,-32768, 8937,
1341 1521, 1475,-32768,-32768,-32768, 1537, 1538,-32768
1344 static const short yypgoto
[] = {-32768,
1345 1541,-32768, -322, 1382, -386, 58, 0, 1540,-32768, 1512,
1346 -32768,-32768, 113,-32768, 253,-32768, 287,-32768, 159, 901,
1347 33, 19,-32768,-32768, -611,-32768,-32768, 627, 59, 1402,
1348 1147, 1408, -690, 51, -164, 10, 1,-32768,-32768,-32768,
1349 -32768,-32768, 806,-32768,-32768,-32768,-32768,-32768,-32768, 433,
1350 1592,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1351 -32768,-32768, 1494, -649, 5793, -67, -534, -203, 21, 1455,
1352 -507,-32768, 397,-32768, 222,-32768, -1353,-32768, -1343, -3,
1353 -32768, 1661, 891, -267, 370, -520,-32768, -828, 1473, 74,
1354 1135, 3774, 1317, -325, -74, -94, 1462, -70, 434,-32768,
1355 -32768,-32768, -330,-32768, -154,-32768,-32768, -1214, -48, -327,
1356 3104, 52, 424, -150, 28, 86, -200, -4, -28, -163,
1357 -157, 7, -35, -103,-32768, -359,-32768,-32768,-32768,-32768,
1358 -32768, -113, 237, -2,-32768, 697,-32768,-32768, -1067, -431,
1359 905,-32768,-32768,-32768,-32768,-32768, 167,-32768,-32768,-32768,
1360 -32768,-32768, 705, -373,-32768,-32768,-32768,-32768,-32768,-32768,
1361 -32768, 1384,-32768, 444, 619,-32768,-32768,-32768,-32768, 589,
1362 -717,-32768,-32768,-32768,-32768,-32768,-32768, 864,-32768, 431,
1363 996, 726, 1050, 4767, 47, 25, -443, 1446, 3480, -462,
1364 -32768, 2,-32768, 5022, -146, 651, -106, 4331, 1302,-32768,
1365 4962, 2031, 1670, -9, -104,-32768, 1519, -53,-32768, 4406,
1366 2964, -301,-32768, 1578,-32768,-32768, 347,-32768,-32768, 484,
1367 82, -419,-32768,-32768,-32768,-32768, -1336,-32768, -1222, -1362,
1368 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1369 -32768,-32768,-32768,-32768, 102,-32768,-32768,-32768,-32768,-32768,
1370 142, -1296,-32768,-32768, -38,-32768,-32768,-32768,-32768, -1378,
1371 73,-32768, 79,-32768, -691, -572, 669,-32768,-32768,-32768,
1372 -32768, -389,-32768, -379, -143,-32768, 988, 348,-32768, 132,
1377 #define YYLAST 11048
1380 static const short yytable
[] = { 59,
1381 415, 418, 423, 36, 475, 431, 192, 432, 680, 252,
1382 178, 973, 249, 122, 433, 103, 710, 617, 681, 501,
1383 627, 388, 42, 706, 678, 626, 739, 396, 757, 1086,
1384 59, 57, 523, 526, 36, 956, 886, 59, 394, 395,
1385 245, 695, 494, 886, 817, 294, 657, 1012, 173, 1014,
1386 72, 170, 205, 42, 474, 55, 1041, 204, 393, 220,
1387 42, 35, 57, 482, 437, 556, 950, 243, 856, 172,
1388 387, 252, 1450, 1397, 166, 1412, 140, 144, 186, 292,
1389 1509, 72, 1415, 345, 256, 345, 55, 345, 72, 58,
1390 1048, 513, 35, 171, 491, 1505, 1053, 908, 595, 165,
1391 167, 595, 345, 345, 1161, 595, 1510, 360, 981, 15,
1392 352, 703, 353, -411, 986, -1, 38, 778, 744, 159,
1393 58, 552, 192, 630, 1323, 1324, 815, 58, 252, 1579,
1394 293, 402, 345, 138, 345, 780, 399, 549, 1344, 550,
1395 1537, -144, -411, -2, 513, 1519, -411, 38, 631, 632,
1396 235, 957, 1546, 579, 236, 982, 59, 404, 983, 160,
1397 59, 987, 1539, 401, 988, 1534, 888, 205, 704, 291,
1398 428, 173, 204, 478, 170, 1580, 186, 95, 110, 111,
1399 1162, -298, 72, 42, 480, 483, 1560, 400, 57, 779,
1400 508, -411, 172, 414, 417, 692, 802, 166, 1547, 580,
1401 686, 687, 962, 1112, 816, 220, 1591, 72, 174, 440,
1402 1572, 72, 55, 220, -291, 86, 171, 94, 1568, 605,
1403 186, 58, 165, 167, 1576, 217, 88, -298, -298, 220,
1404 112, 113, 8, 506, 504, 458, 460, 1537, 971, 1006,
1405 1513, 1167, -291, -143, 1507, 256, 58, 601, 1450, 93,
1406 58, 922, 107, 1042, 1389, 137, 39, 1253, 89, -361,
1407 1119, 15, 1423, 1122, 87, 801, -352, 600, 1314, 1007,
1408 441, 1429, 1430, 1373, 1431, -352, 359, 108, 90, 441,
1409 1234, 700, 665, 974, 130, 131, 727, 39, 243, 1544,
1410 40, 1168, -361, 208, 935, 216, -361, 447, 627, 592,
1411 923, 232, 1043, 442, 1148, 1149, 1254, -618, 507, 960,
1412 961, 1373, 442, 455, 448, 415, 418, 1315, 1190, 109,
1413 345, 40, 1374, 1134, 742, 1017, 886, 660, 1601, -361,
1414 1195, 174, 135, 292, 680, 926, 1085, 127, 128, 1577,
1415 304, 243, 504, 449, 992, 296, 390, 391, 10, 345,
1416 636, 683, 256, -618, -618, 634, 26, 936, 1018, 456,
1417 1481, 859, 1019, 1215, 737, 1217, 127, 128, -618, 886,
1418 501, 217, 743, 937, 633, 527, 528, 1602, 860, 217,
1419 217, 137, 401, 21, 293, 91, -300, 26, 502, 130,
1420 131, 536, 617, 677, 537, 1020, 205, 538, 27, 315,
1421 548, 72, 1357, 863, 553, 92, 635, 861, 208, 217,
1422 359, 886, 594, 864, 438, 157, 668, 981, 130, 131,
1423 1522, 1523, 579, 291, 771, 59, 859, 865, 1087, 909,
1424 32, 1137, -300, -300, 503, 220, 173, 218, 219, 697,
1425 58, 216, 507, 860, 679, 480, 483, -294, 745, 481,
1426 216, 720, 1114, 480, 8, 9, 175, 172, 217, 296,
1427 390, 391, 10, 158, 982, 483, 152, 983, 580, -821,
1428 1250, 1251, 861, 1356, 183, -52, 72, 179, 220, 138,
1429 -52, 171, 370, 676, 483, 89, 622, 59, 371, 1041,
1430 184, -52, 768, -141, 211, 212, 791, 21, 359, 139,
1431 14, 18, 679, 362, 366, 90, 130, 131, 731, 732,
1432 26, 217, 27, 315, 345, 58, 549, 345, 550, 773,
1433 345, -362, 20, 15, 345, 807, 807, 807, 807, 1446,
1434 959, 23, 623, 605, 95, 110, 111, 345, 72, 798,
1435 238, 676, 792, 772, 32, 757, 680, 345, 240, 765,
1436 345, 592, 665, 1160, -362, 605, 681, 874, -362, 932,
1437 577, 578, 678, 1196, 296, 390, 391, 10, 217, 886,
1438 138, 931, 373, 627, 876, 88, -578, 58, 626, 801,
1439 152, 152, 152, 496, 356, 292, 911, 112, 113, 114,
1440 91, -362, 90, -120, 1061, 15, 174, 295, 886, 374,
1441 358, 801, 21, 875, 677, 1002, 513, 1004, 368, 247,
1442 92, 720, 1008, 536, 537, 8, 9, 27, 315, 92,
1443 877, 256, -578, 185, 152, 943, -120, 948, 949, 497,
1444 -120, 1001, 372, 556, 218, 434, 293, 208, 216, 789,
1445 217, 217, 1223, 1225, 375, -118, 91, 15, 217, 32,
1446 1239, 376, 880, 882, 388, 679, 345, 122, 377, 129,
1447 217, -578, 679, -120, 137, 1046, 92, 130, 131, 26,
1448 205, 949, 1392, 397, 243, 291, 630, -291, -118, 217,
1449 894, 929, -118, 154, 878, 790, 7, 127, 128, 10,
1450 971, 972, 13, 420, 676, 127, 128, 771, -7, 771,
1451 996, 676, 185, 438, 1021, 771, 771, -578, 470, 421,
1452 481, 216, 1154, 480, 438, -118, 1395, -613, 481, 677,
1453 1156, 543, 757, 1027, 21, 1133, 895, 896, 137, 1158,
1454 879, 438, 1015, 1016, 1452, 1225, 1555, 26, 1593, 27,
1455 28, 1044, 299, 160, 1310, 1312, 997, 130, 131, 1316,
1456 1022, 436, 1424, 30, 116, 117, 118, 435, 1155, 439,
1457 59, 802, 59, 31, 88, 768, 1157, 768, 205, 59,
1458 679, 32, 1026, 1036, 768, 1159, 33, 677, 345, 345,
1459 1453, 345, 1556, 677, 1594, 963, 747, 748, 1235, 1236,
1460 1354, 1238, 773, 451, 773, 452, 1150, 154, 154, 154,
1461 509, 773, 217, 1049, 1050, 26, 1051, 119, 120, 676,
1462 510, 72, 511, 72, 512, 91, 772, 520, 1013, 529,
1463 72, 674, 765, -142, 765, 772, 468, 469, 679, 964,
1464 552, 765, 476, 477, 679, 92, 26, 1009, 965, 966,
1465 89, 154, 530, 217, 91, 1210, 1211, 1212, 1197, 714,
1466 58, 345, 58, 116, 747, 748, 1089, 1569, 89, 58,
1467 90, 1185, 1186, 1187, 92, 531, 1376, 676, 532, 91,
1468 468, 698, 216, 676, 533, 967, 252, 1377, 90, 674,
1469 750, 476, 699, 1010, 807, 1418, 217, 1371, 1372, 92,
1470 677, 210, 211, 212, 720, 152, 152, 152, 14, 468,
1471 1475, 1192, 1193, 595, 26, 256, 119, 120, 217, 127,
1472 128, 208, 641, 216, 232, 18, 89, 644, 543, 645,
1473 20, 543, 647, 1444, 1425, 804, 1058, 1059, 1060, 23,
1474 1206, 677, -181, 807, 345, 648, 90, 677, 543, 476,
1475 1476, 679, 1095, 880, 882, 679, 649, 137, -181, 661,
1476 -181, 543, 468, 1480, 668, 831, 216, 662, -6, 26,
1477 1456, 130, 131, 252, 1027, 90, 249, 127, 128, 802,
1478 536, 537, 92, 217, 690, 863, 1473, 771, 481, 720,
1479 676, 438, 679, 854, 676, 864, 1138, 1139, 679, 870,
1480 1199, 693, 807, 415, 418, 733, 1201, 1202, 345, 865,
1481 1199, 1204, 8, 9, 1202, 677, 715, 8, 9, 208,
1482 738, 359, 15, 1026, 783, 438, 784, 677, 785, 130,
1483 131, 676, 415, 418, 127, 128, 786, 676, 793, 794,
1484 679, 811, 674, 15, 813, 814, 704, -411, 1361, 674,
1485 59, 816, 871, 248, 873, 768, 359, 887, 889, 891,
1486 677, 359, 677, 914, 130, 131, 679, 925, 915, 130,
1487 131, 924, 1456, 928, 129, -411, -411, 930, 679, 676,
1488 127, 128, 773, 252, 26, 504, 130, 131, 248, 20,
1489 807, 938, 1456, 507, 1329, 1330, 939, 1339, 1340, 952,
1490 1342, 72, -294, 345, 958, 676, 772, 378, 379, 380,
1491 441, 679, 765, 679, 127, 128, 680, 676, 127, 1341,
1492 -820, 1552, 154, 154, 154, 994, 1530, 998, 1242, 978,
1493 26, 979, 130, 131, -574, 999, 980, -574, 1003, 985,
1494 58, 1403, 1005, 1408, 1045, 508, 514, 677, 1405, 771,
1495 676, 1456, 676, 972, 127, 128, 515, 674, 26, 706,
1496 382, 383, 359, 1062, 26, 1063, 130, 131, 1595, 1297,
1497 130, 131, 891, 1289, 1064, 1065, 720, 211, 212, 1240,
1498 514, 232, 802, 14, -574, 1066, -574, -574, 1067, -574,
1499 515, 1068, 1069, 1070, 507, 1071, 1256, 1257, 679, 1072,
1500 -574, 1296, -574, -140, 26, 20, 130, 131, 1074, 1077,
1501 1075, 1078, 59, 1079, 23, 674, 1080, 768, -574, -574,
1502 72, 674, 1081, 1421, 1422, 1256, 1257, 679, 1094, 1098,
1503 1096, 1288, 335, -574, 335, 1097, 335, 676, 116, 747,
1504 748, 1099, 749, 1105, 773, 95, 96, 97, 1106, 221,
1505 222, 223, 536, 537, 1107, 1132, 1402, 1125, 1402, 58,
1506 1115, 438, 438, 72, 1113, 750, 676, 1116, 772, 1118,
1507 1128, 1092, 751, 18, 765, 1131, 1153, 1176, 224, 1182,
1508 1200, 335, 1205, 335, 15, 1209, 1213, 1229, -411, 26,
1509 438, 119, 120, 1297, 1218, 1219, 26, 1220, 98, 99,
1510 225, 205, 58, 1297, 1221, 543, 1226, 1289, 1228, 513,
1511 1297, 1427, 1428, 1230, 1289, 1233, -411, -411, 1241, 807,
1512 1237, -411, 1487, 1488, 1489, 1296, 8, 9, 674, 1518,
1513 12, 13, 674, 1243, 1244, 1296, 14, 95, 96, 97,
1514 415, 418, 1296, 1249, 72, 226, 227, 228, 1245, 712,
1515 16, 1248, 17, 1252, 72, 1288, 718, 1255, 20, 1260,
1516 1161, 72, 1309, 1318, 1319, 1288, 581, 23, 1322, 674,
1517 448, 548, 1288, 1549, 1326, 674, 26, -655, 130, 131,
1518 478, 1520, 1521, 58, 1348, 152, 1349, 1355, 26, -300,
1519 98, 99, 100, 58, 574, 575, 576, 577, 578, 1359,
1520 58, 1360, 1365, 1366, -300, 582, 583, 1367, -300, 1183,
1521 584, 585, 586, 587, 1368, 857, 1398, 674, 1375, 1384,
1522 799, 1385, 1386, 1400, -300, 1413, 1459, 152, 95, 110,
1523 111, 1464, 221, 222, 223, 1460, -300, -300, 1416, -300,
1524 1440, -300, 1466, 674, 438, 438, 1441, 438, 438, 1571,
1525 438, 1442, 378, 379, 380, 674, 18, 1443, 1500, 1448,
1526 534, 224, 1533, 1297, 1297, 1500, 371, 1289, 1297, 1467,
1527 -300, -300, 1289, 217, 1474, 95, 110, 111, 498, 1495,
1528 852, 112, 113, 1496, 345, -300, 853, 1504, 674, 1514,
1529 674, 1515, 1524, 1526, 1532, 1296, 1296, 381, 335, 1541,
1530 1296, 677, 1542, 1550, 151, 382, 383, 1553, 1297, 293,
1531 1563, 1551, 1289, 21, 72, 72, 293, 1297, 1567, 72,
1532 1574, 1289, 1575, 906, 1578, 1288, 1288, 1581, 112, 113,
1533 1288, 1583, 1584, 731, 732, 1588, 1592, 1597, 1596, 1599,
1534 1296, 1604, 208, 216, 1605, 1500, 1607, 1608, 291, 1296,
1535 1, 5, 679, 58, 58, 291, 156, 430, 58, 72,
1536 536, 537, 1471, 7, 8, 246, 10, 1297, 72, 927,
1537 1288, 1289, 1135, 438, 438, 674, 429, 543, 427, 1288,
1538 116, 117, 118, 152, 152, 152, 696, 1548, 1037, 127,
1539 128, 676, 709, 713, 13, 1261, 293, 355, 58, 1296,
1540 713, 21, 154, 405, 674, 1297, 1603, 58, 247, 1289,
1541 1455, 1358, 152, 152, 152, 101, 27, 28, 72, 416,
1542 419, 519, 977, 115, 1350, 1351, 1352, 1353, 1127, 1288,
1543 490, 1126, 605, 119, 120, 291, 1188, 1296, 1320, 26,
1544 248, 130, 131, 1207, 154, 1343, 1039, 917, 32, 858,
1545 1124, 471, 386, 602, 1411, 606, 72, 58, 1306, 1570,
1546 1582, 1587, 151, 335, 713, 607, 229, 1288, 1545, 1589,
1547 1175, 1417, 438, 438, 438, 608, 217, 0, 609, 610,
1548 95, 110, 111, 0, 650, 651, 652, 1388, 0, 0,
1549 0, 1023, 1024, 9, 10, 58, 335, 0, 709, 0,
1550 0, 828, 829, 0, 833, 834, 835, 836, 837, 838,
1551 839, 840, 841, 842, 843, 844, 845, 846, 847, 848,
1552 849, 850, 851, 0, 713, 384, 0, 0, 0, 21,
1553 713, 438, 438, 112, 113, 0, 0, 1000, 95, 409,
1554 410, 0, 26, 0, 27, 28, 0, 411, 1191, 0,
1555 1025, 0, 0, 0, 0, 1082, 1083, 0, 189, 254,
1556 713, 1088, 1445, 0, 0, 0, 0, 713, 190, 0,
1557 0, 0, 0, 0, 0, 1100, 32, 1101, 1047, 1102,
1558 0, 191, 0, 254, 1052, 0, 0, 0, 0, 919,
1559 921, 98, 113, 0, 0, 1465, 545, 0, 0, 438,
1560 154, 154, 154, 0, 0, 335, 0, 7, 8, 9,
1561 10, 0, 254, 13, 0, 596, 0, 296, 390, 391,
1562 10, 254, 597, 0, 1130, 0, 611, 611, 611, 154,
1563 154, 154, 0, 0, 486, 488, 0, 624, 8, 9,
1564 10, 0, 95, 96, 97, 21, 0, 0, 499, 0,
1565 152, 605, 709, 0, 0, 21, 0, 0, 26, 1498,
1566 27, 28, 598, 0, 0, 831, 1498, 1151, 26, 0,
1567 27, 315, 304, 625, 940, 21, 0, 0, 254, 0,
1568 0, 0, 0, 0, 941, 543, 0, 1108, 26, 1109,
1569 130, 131, 32, 0, 608, 98, 99, 942, 610, 95,
1570 96, 97, 599, 0, 7, 8, 9, 10, 1011, 0,
1571 0, 0, 254, 0, 0, 0, 0, 0, 535, 0,
1572 152, 152, 152, 0, 0, 0, 0, 335, 335, 674,
1573 335, 614, 618, 621, 416, 419, 0, 254, 0, 0,
1574 0, 0, 21, 0, 359, 713, 1498, 0, 0, 95,
1575 110, 111, 98, 99, 0, 26, 0, 27, 28, 0,
1576 643, 188, 1573, 7, 127, 128, 10, 1073, 0, 653,
1577 0, 189, 0, 0, 116, 747, 748, 296, 8, 9,
1578 10, 190, 643, 0, 1586, 95, 110, 111, 0, 32,
1579 0, 831, 0, 545, 191, 0, 545, 0, 0, 713,
1580 713, 21, 112, 113, 709, 713, 0, 0, 247, 0,
1581 0, 0, 416, 812, 0, 21, 27, 28, 0, 713,
1582 0, 713, 247, 713, 0, 0, 545, 119, 120, 254,
1583 27, 315, 0, 0, 0, 0, 0, 0, 112, 1468,
1584 248, 0, 0, 0, 80, 0, 0, 0, 32, 0,
1585 0, 1214, 0, 1216, 104, 1262, 0, 1263, 1123, 1264,
1586 0, 0, 32, 0, 133, 0, 0, 154, 713, 0,
1587 142, 142, 0, 142, 0, 80, 0, 7, 8, 9,
1588 10, 0, 80, 335, 0, 0, 254, 902, 611, 611,
1589 746, 611, 0, 0, 0, 199, 1147, 80, 901, 0,
1590 0, 0, 0, 0, 0, 233, 0, 0, 1247, 0,
1591 0, 713, 104, 0, 0, 21, 0, 0, 0, 711,
1592 0, 0, 247, 258, 104, 0, 711, 0, 713, 0,
1593 27, 28, 0, 0, 0, 0, 0, 154, 154, 154,
1594 0, 0, 0, 95, 110, 111, 104, 0, 0, 0,
1595 0, 0, 0, 1364, 248, 824, 611, 0, 611, 611,
1596 0, 611, 32, 0, 0, 0, 0, 0, 254, 1198,
1597 296, 8, 9, 10, 133, 0, 80, 0, 0, 0,
1598 142, 0, 0, 407, 142, 0, 1321, 142, 142, 142,
1599 711, 1325, 0, 881, 883, 254, 112, 1470, 0, 872,
1600 0, 80, 611, 0, 0, 80, 0, 0, 21, 0,
1601 0, 199, 80, 0, 0, 247, 0, 0, 709, 709,
1602 0, 0, 1227, 27, 315, 0, 0, 0, 0, 199,
1603 199, 199, 0, 0, 0, 0, 0, 7, 8, 9,
1604 10, 0, 335, 1362, 0, 0, 0, 248, 0, 0,
1605 711, 0, 0, 0, 0, 32, 711, 0, 199, 0,
1606 0, 945, 0, 614, 618, 0, 621, 0, 934, 0,
1607 0, 0, 902, 0, 489, 21, 0, 0, 0, 951,
1608 0, 605, 254, 0, 104, 0, 711, 0, 26, 611,
1609 27, 28, 0, 711, 0, 142, 0, 0, 254, 713,
1610 0, 713, 0, 713, 940, 0, 0, 618, 0, 824,
1611 0, 709, 0, 0, 941, 0, 0, 0, 0, 0,
1612 709, 709, 32, 0, 608, 709, 0, 942, 610, 479,
1613 211, 212, 0, 104, 516, 0, 14, 0, 0, 0,
1614 1327, 1328, 0, 1436, 1437, 296, 127, 128, 10, 0,
1615 0, 0, 0, 18, 0, 0, 0, 0, 20, 0,
1616 1447, 0, 611, 0, 611, 0, 709, 23, 0, 416,
1617 812, 0, 0, 0, 0, 611, 0, 0, 104, 901,
1618 901, 901, 603, 21, 516, 516, 619, 0, 0, 0,
1619 247, 0, 0, 0, 618, 80, 0, 713, 27, 315,
1620 0, 0, 0, 0, 0, 7, 8, 9, 10, 0,
1621 0, 242, 0, 151, 0, 0, 1483, 1484, 0, 0,
1622 0, 1383, 611, 611, 611, 0, 0, 0, 0, 133,
1623 32, 0, 0, 0, 0, 1493, 1494, 0, 104, 0,
1624 199, 104, 0, 21, 0, 0, 0, 0, 0, 605,
1625 0, 0, 0, 0, 142, 1173, 26, 142, 27, 28,
1626 0, 709, 142, 0, 0, 0, 901, 1103, 0, 1104,
1627 80, 711, 940, 0, 0, 0, 0, 1426, 0, 0,
1628 1110, 0, 941, 0, 881, 883, 0, 0, 0, 0,
1629 32, 0, 608, 0, 0, 942, 610, 0, 199, 709,
1630 199, 0, 199, 199, 199, 210, 211, 212, 199, 127,
1631 128, 0, 14, 199, 8, 9, 199, 163, 12, 13,
1632 0, 0, 717, 653, 14, 711, 711, 881, 883, 18,
1633 0, 711, 80, 0, 20, 0, 934, 0, 16, 0,
1634 17, 18, 0, 23, 0, 711, 20, 711, 0, 711,
1635 0, 713, 605, 0, 0, 23, 0, 605, 684, 26,
1636 0, 130, 131, 0, 26, 0, 130, 131, 1485, 1486,
1637 104, 104, 104, 104, 0, 606, 0, 1491, 0, 0,
1638 606, 0, 254, 0, 254, 607, 0, 0, 0, 0,
1639 607, 0, 0, 0, 711, 608, 0, 0, 609, 610,
1640 608, 0, 0, 609, 610, 1511, 0, 0, 0, 0,
1641 0, 0, 416, 419, 127, 128, 0, 0, 0, 242,
1642 611, 611, 611, 611, 611, 0, 254, 0, 611, 0,
1643 104, 0, 516, 0, 0, 0, 0, 711, 0, 0,
1644 0, 416, 1308, 0, 603, 0, 516, 516, 0, 619,
1645 0, 901, 901, 901, 711, 0, 903, 605, 0, 0,
1646 905, 0, 0, 0, 26, 0, 130, 131, 572, 573,
1647 574, 575, 576, 577, 578, 199, 1224, 0, 0, 0,
1648 606, 570, 571, 572, 573, 574, 575, 576, 577, 578,
1649 607, 0, 7, 8, 9, 10, 0, 0, 13, 133,
1650 608, 0, 0, 609, 610, 0, 133, 0, 0, 0,
1651 0, 0, 0, 254, 199, 947, 199, 199, 233, 619,
1652 0, 0, 0, 0, 0, 1103, 1104, 881, 883, 0,
1653 21, 0, 0, 1110, 709, 0, 605, 0, 611, 611,
1654 0, 611, 0, 26, 0, 27, 28, 296, 8, 9,
1655 10, 0, 0, 0, 0, 0, 881, 883, 0, 1140,
1656 199, 0, 1266, 0, 947, 127, 128, 0, 1224, 1141,
1657 504, 199, 199, 0, 199, 0, 0, 32, 0, 608,
1658 0, 0, 1142, 610, 0, 21, 0, 0, 0, 0,
1659 0, 0, 247, 0, 0, 0, 254, 0, 0, 0,
1660 27, 315, 133, 0, 0, 80, 0, 80, 605, 0,
1661 0, 0, 1034, 80, 80, 26, 0, 130, 131, 0,
1662 0, 0, 104, 254, 507, 711, 0, 711, 104, 711,
1663 0, 606, 32, 0, 0, 516, 516, 516, 0, 0,
1664 0, 607, 0, 1103, 1104, 0, 1110, 516, 0, 0,
1665 0, 608, 0, 0, 609, 610, 0, 0, 0, 0,
1666 0, 162, 0, 7, 8, 9, 10, 163, 12, 13,
1667 0, 0, 0, 0, 14, 0, 0, 0, 1173, 0,
1668 0, 0, 254, 1390, 1391, 0, 0, 0, 16, 0,
1669 17, 18, 19, 0, 0, 0, 20, 0, 0, 0,
1670 0, 21, 8, 9, 0, 23, 12, 13, 164, 0,
1671 0, 0, 14, 0, 26, 0, 27, 28, 0, 0,
1672 516, 0, 516, 711, 0, 0, 16, 0, 17, 104,
1673 30, 0, 0, 516, 20, 104, 0, 903, 903, 903,
1674 31, 0, 0, 23, 1117, 0, 0, 0, 32, 416,
1675 1308, 0, 26, 33, 130, 131, 588, 0, 34, 0,
1676 8, 9, 0, 0, 12, 242, 0, 0, 0, 0,
1677 14, 0, 1451, 0, 0, 0, 104, 83, 104, 0,
1678 199, 199, 1144, 0, 16, 0, 17, 106, 0, 0,
1679 0, 589, 20, 0, 1469, 1472, 126, 134, 210, 211,
1680 212, 23, 0, 143, 143, 14, 143, 0, 83, 0,
1681 26, 0, 130, 131, 0, 83, 0, 0, 0, 0,
1682 0, 0, 18, 0, 1144, 0, 0, 20, 143, 0,
1683 83, 0, 0, 0, 0, 0, 23, 104, 234, 0,
1684 0, 0, 0, 0, 0, 244, 0, 0, 0, 0,
1685 104, 912, 0, 1034, 0, 0, 0, 244, 0, 0,
1686 0, 0, 104, 0, 0, 7, 8, 9, 10, 163,
1687 12, 13, 1516, 0, 0, 1203, 14, 711, 0, 0,
1688 0, 0, 0, 0, 0, 80, 0, 0, 0, 0,
1689 16, 0, 17, 18, 19, 104, 0, 104, 20, 0,
1690 0, 0, 0, 21, 0, 0, 0, 23, 0, 83,
1691 164, 0, 0, 143, 0, 0, 26, 143, 27, 28,
1692 143, 143, 143, 0, 0, 104, 0, 0, 0, 0,
1693 516, 516, 30, 516, 83, 0, 0, 0, 83, 0,
1694 0, 0, 31, 0, 143, 83, 0, 0, 0, 0,
1695 32, 0, 0, 0, 0, 33, 0, 0, 0, 0,
1696 34, 0, 143, 143, 143, 0, 8, 9, 0, 163,
1697 12, 13, 0, 0, 717, 0, 14, 0, 199, 199,
1698 199, 199, 1144, 0, 0, 0, 199, 0, 0, 0,
1699 16, 143, 17, 18, 0, 0, 0, 0, 20, 0,
1700 0, 0, 0, 0, 0, 0, 0, 23, 0, 1144,
1701 1144, 1144, 0, 0, 0, 0, 26, 0, 130, 131,
1702 365, 367, 0, 0, 7, 127, 128, 10, 143, 6,
1703 242, 7, 8, 9, 10, 11, 12, 13, 0, 0,
1704 199, 0, 14, 0, 0, 142, 0, 80, 0, 0,
1705 0, 0, 0, 0, 0, 15, 16, 0, 17, 18,
1706 19, 0, 21, 0, 20, 0, 244, 143, 0, 21,
1707 0, 0, 22, 23, 24, 26, 25, 27, 28, 0,
1708 0, 0, 26, 0, 27, 28, 0, 0, 29, 0,
1709 0, 30, 0, 0, 0, 0, 199, 199, 30, 199,
1710 0, 31, 0, 0, 0, 0, 0, 0, 31, 32,
1711 0, 244, 0, 0, 33, 604, 32, 143, 143, 620,
1712 0, 33, 0, 0, 629, 0, 34, 0, 83, 0,
1713 0, 0, 0, 0, 0, 199, 947, 199, 564, 565,
1714 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
1715 576, 577, 578, 760, 104, 7, 8, 761, 10, 163,
1716 12, 13, 666, 0, 0, 0, 14, 0, 0, 0,
1717 0, 244, 0, 143, 244, 0, 0, 0, 0, 0,
1718 16, 0, 17, 18, 19, 0, 0, 143, 20, -521,
1719 143, 0, 0, 21, 0, 143, 0, 23, 762, 0,
1720 164, 0, 0, 83, 0, 0, 26, 0, 27, 28,
1721 0, 0, 763, 0, 764, 0, 0, 7, 127, 128,
1722 10, 0, 30, 13, 7, 8, 9, 10, 0, 0,
1723 13, 143, 31, 143, 0, 143, 143, 143, 547, 0,
1724 32, 143, 0, 0, 0, 33, 143, 1144, 0, 143,
1725 0, 0, 0, 0, 0, 21, 0, 0, 0, 0,
1726 0, -521, 21, 0, 759, 83, 0, 0, 26, 0,
1727 27, 28, 0, 0, 0, 26, 0, 27, 28, 0,
1728 0, 0, 0, 0, 147, 0, 0, 0, 0, 0,
1729 0, 189, 0, 0, 148, 0, 0, 0, 0, 0,
1730 0, 190, 32, 244, 244, 244, 244, 149, 0, 32,
1731 0, 673, 0, 0, 191, 0, 0, 1144, 1144, 1144,
1732 7, 8, 9, 10, 163, 12, 13, 0, 0, 717,
1733 0, 14, 7, 8, 9, 10, 104, 0, 504, 0,
1734 0, 199, 0, 0, 0, 16, 0, 17, 18, 0,
1735 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
1736 0, 0, 23, 244, 605, 143, 0, 0, 0, 719,
1737 21, 26, 0, 27, 28, 0, 605, 0, 0, 143,
1738 143, 0, 620, 26, 0, 27, 28, 1140, 0, 904,
1739 0, 0, 0, 0, 0, 0, 0, 1141, 0, 940,
1740 0, 0, 629, 0, 0, 32, 0, 608, 143, 941,
1741 1142, 610, 0, 0, 0, 0, 0, 32, 0, 608,
1742 0, 0, 942, 610, 0, 0, 0, 0, 0, 0,
1743 0, 0, 666, 0, 0, 800, 0, 0, 803, 0,
1744 126, 0, 805, 806, 808, 809, 810, 143, 620, 143,
1745 143, 234, 620, 0, 0, 547, 567, 568, 569, 570,
1746 571, 572, 573, 574, 575, 576, 577, 578, 827, 0,
1747 0, 0, 0, 0, 759, 0, 0, 0, 459, 461,
1748 465, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 143, 0, 0, 0, 620, 0, 0,
1750 0, 0, 0, 0, 143, 143, 0, 143, 0, 0,
1751 8, 9, 0, 0, 12, 242, 0, 0, 0, 0,
1752 14, 0, 884, 0, 0, 0, 0, 0, 0, 884,
1753 0, 0, 0, 0, 16, 134, 17, 0, 83, 0,
1754 83, 0, 20, 0, 0, 1035, 83, 83, 0, 0,
1755 0, 23, 0, 605, 0, 244, 0, 0, 0, 0,
1756 26, 244, 130, 131, 0, 0, 0, 0, 143, 143,
1757 143, 0, 0, 0, 0, 0, 606, 0, 0, 0,
1758 143, 0, 0, 0, 0, 0, 607, 51, 0, 0,
1759 0, 0, 0, 0, 0, 0, 608, 0, 0, 609,
1760 610, 0, 0, 0, 0, 0, -383, 8, 9, -383,
1761 -383, 12, 242, 51, 51, 0, 150, 14, 51, 0,
1762 0, 0, 0, 0, 0, 51, 0, 0, 0, 0,
1763 0, 16, 0, 17, -383, 0, 0, 673, 51, 20,
1764 51, 0, 0, 0, -383, 0, 0, 0, 23, 0,
1765 605, 0, 0, 143, 0, 143, 0, 26, 0, 130,
1766 131, 0, 244, 250, 0, 0, 143, 0, 244, 0,
1767 904, 904, 904, 606, 0, 0, 0, 629, 0, 0,
1768 0, 0, 0, 607, 0, 0, 0, 0, 0, 0,
1769 0, -383, 0, 608, 0, 719, 609, 610, 0, 0,
1770 0, 719, 0, 0, 0, 0, 0, 0, 0, 244,
1771 0, 244, 0, 143, 143, 620, 392, 392, 0, 51,
1772 0, 0, 0, 51, 0, 250, 0, 51, 0, 0,
1773 150, 150, 150, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 51, 0, 0, 729, 51, 730,
1775 0, 459, 461, 465, 51, 51, 0, 904, 0, 0,
1776 0, 0, 741, 0, 0, 0, 0, 0, 0, 1084,
1777 244, 0, 51, 51, 150, 0, 0, 0, 0, 0,
1778 0, 759, 250, 244, 127, 128, 1035, 0, 211, 212,
1779 0, 0, 0, 0, 14, 244, 0, 0, 0, 0,
1780 0, 51, 827, 0, 0, 0, 0, 0, 719, 0,
1781 0, 0, 884, 0, 0, 0, 20, 0, 83, 0,
1782 0, 0, 0, 0, 0, 23, 0, 605, 244, 0,
1783 244, 0, 0, 0, 26, 0, 130, 131, 51, 0,
1784 0, 0, 0, 18, 0, 0, 0, 0, 0, 673,
1785 606, 1136, 0, 0, 0, 884, 0, 0, 244, 0,
1786 607, 0, 0, 143, 143, 0, 143, 0, 0, 0,
1787 608, 0, 0, 616, 610, 557, 558, 559, 560, 561,
1788 562, 563, 564, 565, 566, 567, 568, 569, 570, 571,
1789 572, 573, 574, 575, 576, 577, 578, 884, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 544, 0,
1791 1178, 143, 143, 143, 143, 620, 1184, 0, 0, 143,
1792 0, 0, 0, 719, 0, 392, 759, 0, 0, 0,
1793 0, 0, 0, 250, 0, 719, 0, 0, 51, 0,
1794 0, 0, 904, 904, 904, 0, 0, 0, 7, 8,
1795 9, 10, 210, 211, 212, 0, 0, 0, 759, 14,
1796 0, 0, 0, 0, 0, 0, 0, 0, 719, 0,
1797 719, 0, 392, 143, 0, 0, 18, 0, 143, 0,
1798 83, 20, 0, 51, 0, 0, 21, 0, 0, 0,
1799 23, 0, 605, 0, 0, 0, 0, 51, 1232, 26,
1800 51, 27, 28, 0, 0, 51, 0, 0, 0, 0,
1801 0, 0, 0, 51, 0, 940, 0, 0, 0, 0,
1802 729, 730, 0, 741, 0, 941, 0, 0, 0, 143,
1803 143, 0, 143, 32, 0, 608, 0, 0, 942, 610,
1804 0, 51, 0, 51, 0, 150, 150, 150, 0, 0,
1805 0, 51, 0, 0, 0, 884, 51, 1394, 0, 51,
1806 0, 1032, 0, 1023, 1024, 9, 10, 0, 143, 620,
1807 143, 0, 0, 0, 0, 51, 0, 0, 0, 0,
1808 0, 0, 0, 0, 884, 0, 0, 244, 566, 567,
1809 568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
1810 578, 21, 0, 0, 0, 544, 0, 0, 544, 0,
1811 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
1812 0, 0, 1025, 544, 544, 544, 0, 0, 0, 0,
1813 189, 0, 0, 0, 0, 0, 0, 0, 544, 0,
1814 190, 0, 0, 0, 78, 0, 0, 0, 32, 7,
1815 127, 128, 10, 191, 6, 504, 7, 8, 9, 10,
1816 11, 12, 13, 0, 0, 0, 0, 14, 0, 0,
1817 78, 78, 0, 78, 0, 78, 0, 0, 0, 0,
1818 904, 16, 78, 17, 18, 0, 250, 21, 0, 20,
1819 0, 0, 0, 0, 21, 78, 0, 78, 23, 544,
1820 26, 426, 27, 28, 0, 0, 0, 26, 0, 27,
1821 28, 0, 0, 29, 0, 0, 30, 0, 51, 0,
1822 0, 0, 0, 30, 0, 0, 31, 1178, 0, 459,
1823 461, 465, 0, 31, 32, 0, 0, 0, 0, 33,
1824 0, 32, 392, 0, 0, 0, 33, 0, 155, 392,
1825 904, 904, 904, 0, 0, 0, 0, 51, 51, 51,
1826 51, 0, 0, 0, 0, 0, 0, 0, 0, 244,
1827 200, 0, 0, 465, 143, 0, 78, 0, 0, 0,
1828 78, 0, 0, 0, 78, 0, 0, 78, 78, 78,
1829 0, 0, 0, 0, 8, 9, 0, 163, 12, 13,
1830 0, 78, 1032, 51, 14, 78, 0, 51, 0, 0,
1831 0, 78, 78, 0, 51, 51, 0, 51, 16, 0,
1832 17, 18, 0, 0, 0, 0, 20, 0, 0, 78,
1833 78, 78, 0, 0, 0, 667, 0, 0, 164, 0,
1834 0, 0, 0, 0, 26, 0, 130, 131, 51, 0,
1835 51, 0, 0, 0, 0, 51, 51, 51, 78, 0,
1836 0, 0, 155, 155, 155, 561, 562, 563, 564, 565,
1837 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
1838 576, 577, 578, 0, 544, 0, 200, 0, 0, 0,
1839 0, 0, 547, 0, 0, 78, 0, 0, 0, 0,
1840 0, 0, 0, 0, 200, 200, 466, 0, 0, 673,
1841 0, 7, 8, 9, 10, 210, 211, 212, 0, 0,
1842 0, 0, 14, 0, 0, 0, 0, 729, 730, 459,
1843 461, 465, 0, 200, 0, 741, 0, 0, 0, 18,
1844 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
1845 0, 0, 0, 23, 0, 605, 0, 0, 459, 461,
1846 465, 0, 26, 0, 27, 28, 7, 8, 9, 10,
1847 210, 211, 212, 0, 0, 0, 0, 14, 940, 0,
1848 544, 544, 544, 0, 0, 0, 250, 0, 941, 1337,
1849 0, 628, 0, 0, 18, 78, 32, 0, 608, 20,
1850 0, 984, 610, 0, 21, 0, 0, 0, 23, 517,
1851 605, 0, 0, 0, 0, 0, 0, 26, 0, 27,
1852 28, 0, 0, 51, 51, 150, 0, 0, 0, 0,
1853 250, 0, 0, 189, 0, 0, 0, 0, 0, 0,
1854 78, 0, 0, 190, 0, 729, 730, 0, 741, 0,
1855 0, 32, 0, 0, 78, 0, 1407, 78, 0, 613,
1856 613, 613, 78, 0, 0, 0, 0, 1172, 0, 0,
1857 78, 0, 1331, 1332, 9, 10, 0, 127, 128, 0,
1858 0, 211, 212, 0, 0, 0, 0, 14, 0, 0,
1859 0, 0, 0, 0, 0, 0, 51, 0, 78, 0,
1860 78, 0, 78, 78, 78, 0, 0, 0, 78, 20,
1861 21, 0, 0, 78, 0, 200, 78, 250, 23, 0,
1862 605, 0, 0, 26, 0, 27, 28, 26, 51, 130,
1863 131, 1333, 78, 0, 0, 0, 0, 0, 0, 189,
1864 0, 0, 0, 606, 0, 0, 0, 0, 0, 190,
1865 0, 0, 0, 607, 0, 0, 0, 32, 255, 0,
1866 0, 0, 191, 608, 0, 0, 609, 610, 0, 0,
1867 0, 0, 0, 200, 0, 200, 0, 466, 466, 466,
1868 0, 0, 0, 200, 0, 0, 0, 0, 200, 0,
1869 0, 200, 0, 0, 0, 0, 465, 0, 0, 0,
1870 250, 0, 0, 0, 0, 0, 0, 7, 8, 9,
1871 10, 201, 12, 202, 0, 0, 0, 0, 14, 0,
1872 0, 51, 51, 150, 150, 150, 0, 250, 0, 51,
1873 0, 422, 16, 0, 17, 18, 0, 0, 0, 0,
1874 20, 0, 0, 0, 628, 21, 0, 0, 0, 23,
1875 0, 0, 1172, 1172, 1172, 0, 0, 0, 26, 0,
1876 27, 28, 0, 457, 203, 0, 459, 461, 465, 0,
1877 0, 0, 0, 0, 30, 78, 473, 8, 9, 0,
1878 163, 12, 13, 51, 31, 1529, 0, 14, 51, 0,
1879 51, 0, 32, 0, 0, 0, 0, 33, 0, 0,
1880 0, 16, 0, 17, 18, 0, 0, 866, 0, 20,
1881 0, 0, 0, 0, 78, 78, 78, 78, 23, 0,
1882 0, 613, 613, 0, 613, 0, 198, 26, 0, 130,
1883 131, 613, 0, 0, 0, 76, 0, 0, 0, 51,
1884 51, 0, 51, 0, 0, 0, 0, 0, 0, 0,
1885 200, 253, 0, 0, 257, 7, 127, 128, 10, 0,
1886 78, 141, 145, 0, 78, 0, 76, 0, 0, 0,
1887 0, 78, 78, 76, 78, 253, 0, 361, 51, 51,
1888 51, 0, 0, 0, 0, 0, 0, 0, 209, 944,
1889 0, 944, 944, 21, 613, 0, 0, 0, 0, 0,
1890 0, 7, 8, 9, 10, 78, 26, 78, 27, 28,
1891 0, 0, 78, 78, 78, 0, 0, 0, 0, 0,
1892 0, 0, 147, 0, 0, 0, 0, 0, 7, 8,
1893 9, 10, 148, 0, 242, 944, 0, 0, 0, 21,
1894 32, 0, 198, 0, 0, 149, 200, 200, 0, 200,
1895 0, 0, 26, 0, 27, 28, 0, 0, 1401, 0,
1896 198, 198, 198, 0, 0, 0, 21, 403, 189, 0,
1897 472, 406, 0, 0, 0, 408, 0, 0, 190, 26,
1898 0, 27, 28, 0, 0, 0, 32, 200, 0, 198,
1899 1172, 191, 76, 0, 0, 189, 76, 0, 7, 8,
1900 9, 10, 0, 209, 13, 190, 0, 0, 0, 0,
1901 517, 517, 517, 32, 0, 257, 0, 0, 191, 0,
1902 141, 145, 613, 0, 0, 0, 0, 0, 0, 253,
1903 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
1904 0, 0, 734, 0, 628, 0, 0, 740, 0, 26,
1905 0, 27, 28, 0, 0, 0, 1331, 127, 128, 10,
1906 1172, 1172, 1172, 0, 0, 462, 0, 0, 0, 0,
1907 0, 0, 781, 0, 0, 463, 0, 0, 787, 0,
1908 78, 78, 78, 32, 51, 0, 505, 0, 464, 0,
1909 795, 796, 0, 797, 21, 613, 0, 613, 0, 0,
1910 0, 0, 0, 0, 0, 0, 0, 26, 613, 27,
1911 28, 0, 613, 613, 613, 1333, 0, 0, 0, 0,
1912 0, 253, 257, 30, 1174, 0, 0, 0, 0, 0,
1913 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
1914 0, 32, 0, 0, 0, 0, 33, 0, 0, 0,
1915 0, 0, 0, 78, 0, 944, 944, 1145, 0, 0,
1916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917 0, 198, 0, 7, 8, 9, 10, 163, 12, 13,
1918 0, 0, 989, 0, 14, 78, 637, 0, 892, 893,
1919 0, 0, 0, 892, 0, 0, 0, 0, 16, 1145,
1920 17, 18, 0, 0, 0, 0, 20, 0, 0, 0,
1921 0, 21, 0, 0, 0, 23, 0, 7, 8, 9,
1922 10, 0, 0, 504, 26, 0, 27, 28, 200, 198,
1923 0, 198, 0, 198, 198, 198, 0, 0, 0, 198,
1924 30, 0, 0, 0, 198, 688, 0, 198, 689, 0,
1925 31, 0, 0, 691, 0, 21, 0, 0, 32, 0,
1926 0, 76, 0, 33, 0, 0, 0, 0, 26, 0,
1927 27, 28, 0, 0, 7, 8, 9, 10, 78, 78,
1928 78, 78, 78, 0, 189, 0, 78, 0, 0, 406,
1929 0, 408, 0, 0, 190, 0, 0, 0, 0, 0,
1930 0, 0, 32, 0, 505, 866, 866, 191, 866, 1174,
1931 1174, 1174, 21, 0, 0, 0, 0, 0, 0, 0,
1932 0, 0, 0, 777, 0, 26, 0, 27, 28, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 78, 189, 0, 0, 0, 78, 0, 78, 0, 0,
1935 0, 190, 0, 944, 944, 1145, 1145, 1145, 0, 32,
1936 0, 944, 0, 0, 191, 1054, 0, 1056, 0, 0,
1937 0, 0, 0, 0, 0, 0, 7, 8, 9, 10,
1938 201, 12, 202, 0, 1145, 1145, 1145, 14, 0, 0,
1939 253, 257, 0, 0, 0, 0, 78, 78, 0, 78,
1940 0, 16, 0, 17, 18, 0, 198, 0, 0, 20,
1941 0, 0, 0, 0, 21, 200, 0, 0, 23, 0,
1942 0, 0, 0, 0, 0, 0, 0, 26, 0, 27,
1943 28, 0, 0, 1404, 0, 78, 78, 78, 0, 1090,
1944 1091, 0, 1093, 30, 0, 198, 0, 198, 198, 0,
1945 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
1946 0, 32, 0, 8, 9, 0, 33, 12, 13, 0,
1947 1111, 944, 944, 14, 944, 0, 0, 0, 0, 0,
1948 0, 7, 8, 9, 10, 0, 0, 16, 0, 17,
1949 0, 198, 0, 0, 0, 20, 0, 0, 0, 0,
1950 0, 0, 198, 198, 23, 198, 946, 0, 0, 0,
1951 200, 0, 200, 26, 0, 130, 131, 0, 0, 21,
1952 1146, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953 257, 0, 26, 0, 27, 28, 0, 0, 0, 0,
1954 0, 0, 0, 198, 0, 0, 0, 1174, 462, 8,
1955 9, 0, 201, 12, 202, 990, 0, 0, 463, 14,
1956 0, 0, 688, 689, 0, 691, 32, 0, 0, 0,
1957 0, 464, 0, 16, 0, 17, 18, 0, 0, 0,
1958 0, 20, 0, 0, 0, 1189, 0, 0, 0, 0,
1959 23, 0, 0, 0, 0, 0, 777, 1194, 777, 26,
1960 0, 130, 131, 1033, 1040, 777, 0, 0, 0, 0,
1961 0, 0, 0, 0, 0, 0, 102, 1174, 1174, 1174,
1962 0, 0, 466, 0, 0, 121, 102, 0, 0, 0,
1963 0, 0, 102, 102, 0, 102, 0, 0, 0, 0,
1964 0, 78, 0, 0, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 7, 8, 9, 10, 163, 12, 13,
1966 0, 0, 0, 0, 14, 0, 0, 231, 0, 0,
1967 0, 0, 0, 0, 253, 257, 253, 0, 16, 0,
1968 17, 18, 1246, 0, 0, 0, 20, 0, 0, 0,
1969 0, 21, 466, 466, 466, 23, 0, 0, 0, 0,
1970 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
1971 0, 198, 198, 1143, 0, 0, 200, 0, 253, 0,
1972 30, 1259, 0, 0, 0, 0, 385, 0, 121, 0,
1973 31, 0, 0, 0, 0, 102, 102, 0, 32, 0,
1974 0, 0, 102, 33, 102, 102, 102, 0, 412, 102,
1975 102, 102, 0, 0, 0, 1143, 565, 566, 567, 568,
1976 569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
1977 0, 141, 145, 760, 0, 7, 8, 761, 10, 163,
1978 12, 13, 0, 0, 198, 1346, 14, 0, 0, 1347,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 16, 0, 17, 18, 19, 472, 0, 0, 20, -522,
1981 0, 0, 0, 21, 0, 0, 0, 23, 762, 0,
1982 164, 0, 0, 0, 1363, 0, 26, 0, 27, 28,
1983 0, 0, 763, 0, 764, 487, 102, 0, 0, 0,
1984 0, 0, 30, 0, 1033, 0, 0, 0, 0, 0,
1985 0, 0, 31, 0, 0, 0, 0, 102, 0, 0,
1986 32, 0, 0, 0, 0, 33, 0, 0, 0, 0,
1987 0, 0, 0, 0, 0, 0, 777, 0, 0, 0,
1988 0, -522, 0, 0, 0, 0, 0, 0, 253, 0,
1989 0, 0, 0, 0, 0, 0, 102, 0, 1419, 0,
1990 0, 0, 1420, 0, 0, 0, 0, 0, 0, 198,
1991 198, 198, 198, 1143, 0, 1258, 0, 198, 0, 0,
1992 0, 0, 0, 0, 1438, 1439, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 1143, 1143, 1143, 0, 102, 0, 102, 102, 562, 563,
1995 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
1996 574, 575, 576, 577, 578, 0, 0, 0, 0, 406,
1997 408, 198, 0, 0, 0, 0, 0, 505, 0, 0,
1998 0, 0, 0, 0, 0, 0, 0, 0, 0, 1461,
1999 0, 102, 563, 564, 565, 566, 567, 568, 569, 570,
2000 571, 572, 573, 574, 575, 576, 577, 578, 0, 102,
2001 0, 0, 0, 0, 0, 0, 102, 0, 0, 102,
2002 0, 0, 0, 0, 102, 0, 0, 198, 198, 0,
2003 198, 1338, 0, 0, 0, 0, 1338, 0, 777, 1462,
2004 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
2005 567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
2006 577, 578, 0, 0, 0, 0, 198, 0, 198, 0,
2007 0, 0, 0, 1432, 0, -475, -475, -475, -475, -475,
2008 -475, -475, 0, 0, -475, 0, -475, 688, 689, 0,
2009 691, 102, 0, 752, 0, 0, 0, -475, 0, -475,
2010 0, 0, 0, -475, 0, 0, 0, 0, -475, 0,
2011 0, 0, 0, -475, 0, 0, 0, -475, 102, -475,
2012 0, 0, 0, 0, 0, 0, -475, 1406, -475, -475,
2013 -475, -475, -475, 0, -475, -475, -475, -475, -475, -475,
2014 -475, -475, -475, -475, -475, -475, -475, -475, -475, -475,
2015 -475, -475, -475, -475, -475, -475, -475, 0, -475, -475,
2016 -475, 0, -475, -475, -475, -475, -475, -475, 0, -475,
2017 0, 0, 0, 0, 1433, 0, 0, 0, 1143, -475,
2018 -475, -475, 0, -475, 760, 0, 7, 8, 761, 10,
2019 163, 12, 13, 0, 102, 0, 0, 14, 0, 0,
2020 0, 0, 0, 0, 0, 102, 102, 0, 102, 102,
2021 0, 16, 0, 17, 18, 19, 0, 0, 0, 20,
2022 0, 0, 0, 0, 21, 0, 0, 0, 23, 762,
2023 0, 164, 0, 0, 0, 0, 0, 26, 0, 27,
2024 28, 0, 0, 763, 0, 764, 0, 0, 1143, 1143,
2025 1143, 0, 0, 30, 0, 0, 0, 0, 0, 0,
2026 0, 102, 0, 31, 0, 0, 0, 0, 102, 121,
2027 0, 32, 198, 0, 0, 0, 33, 0, 0, 0,
2028 231, 539, 0, 296, 8, 9, 10, 163, 12, 297,
2029 298, 299, 717, 300, 14, 0, 0, 0, 0, 0,
2030 0, 0, 0, 752, 0, 0, 0, 0, 16, 301,
2031 17, 18, 19, 0, 302, 303, 20, 0, 304, 305,
2032 306, 21, 307, 308, 0, 23, 0, 605, 0, 309,
2033 310, 311, 312, 313, 26, 0, 27, 315, -308, 0,
2034 0, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2035 897, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2036 898, 752, 0, 0, 102, 0, 322, 323, 324, 0,
2037 608, 0, 0, 899, 610, 0, 0, 0, 0, 0,
2038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2039 326, 0, 0, 0, 0, 0, 0, 102, 102, 102,
2040 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
2041 0, 1409, 0, 1269, 1270, 1271, 10, 163, 12, 297,
2042 298, 299, 0, 300, 14, 1272, 0, 1273, 1274, 1275,
2043 1276, 1277, 1278, 1279, 1280, 1281, 1282, 15, 16, 301,
2044 17, 18, 19, 0, 302, 303, 20, 0, 304, 305,
2045 306, 21, 307, 308, 1283, 23, 1284, 0, 0, 309,
2046 310, 311, 312, 313, 26, 0, 1285, 315, 704, 0,
2047 1286, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2048 318, 0, 102, 0, 102, 0, 0, 0, 319, 320,
2049 321, 0, 0, 0, 0, 102, 322, 323, 324, 0,
2050 0, 0, 0, 325, 0, 1287, 0, 0, 0, 0,
2051 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410,
2052 326, 1268, 0, 1269, 1270, 1271, 10, 163, 12, 297,
2053 298, 299, 0, 300, 14, 1272, 0, 1273, 1274, 1275,
2054 1276, 1277, 1278, 1279, 1280, 1281, 1282, 15, 16, 301,
2055 17, 18, 19, 0, 302, 303, 20, 0, 304, 305,
2056 306, 21, 307, 308, 1283, 23, 1284, 0, 0, 309,
2057 310, 311, 312, 313, 26, 0, 1285, 315, 704, 0,
2058 1286, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2059 318, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2060 321, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2061 752, 0, 0, 325, 0, 1287, 0, 0, 0, 0,
2062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2063 326, 0, 0, 0, 0, 0, 0, 102, 557, 558,
2064 559, 560, 561, 562, 563, 564, 565, 566, 567, 568,
2065 569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
2066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2067 0, 539, 0, 7, 8, 9, 10, 163, 12, 297,
2068 298, 299, 717, 300, 14, 0, 1222, 0, 0, 0,
2069 0, 0, 102, 102, 0, 102, 0, 0, 16, 301,
2070 17, 18, 19, 0, 302, 303, 20, 0, 304, 305,
2071 306, 21, 307, 308, 0, 23, 0, 605, 0, 309,
2072 310, 311, 312, 313, 26, 0, 27, 28, -308, 0,
2073 0, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2074 1169, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2075 1170, 0, 0, 0, 0, 752, 322, 323, 324, 0,
2076 608, 0, 0, 1171, 610, 0, 0, 0, 0, 0,
2077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2078 326, 0, 0, 0, 0, 0, 716, 752, 296, 8,
2079 9, 10, 163, 12, 297, 298, 299, 717, 300, 14,
2080 0, 0, 0, 0, 0, 102, 0, 102, 0, 0,
2081 0, 0, 0, 16, 301, 17, 18, 19, 0, 302,
2082 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2083 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2084 0, 27, 315, 0, 0, 0, 316, 0, 0, 0,
2085 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2086 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2087 0, 322, 323, 324, 0, 0, 0, 830, 325, 296,
2088 8, 9, 10, 163, 12, 297, 298, 299, 0, 300,
2089 14, 0, 0, -791, 0, 326, 0, 0, 0, 0,
2090 0, 0, 0, 0, 16, 301, 17, 18, 19, 0,
2091 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2092 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2093 26, 0, 27, 315, 1506, 0, -781, 316, 0, 0,
2094 0, 0, 0, 317, 0, 0, 318, 0, 0, 0,
2095 0, 0, 0, 0, 319, 320, 321, 0, 0, 0,
2096 0, 0, 322, 323, 324, 0, 0, 0, 707, 325,
2097 818, 819, 820, 10, 0, 12, 521, 298, 299, 0,
2098 300, 14, 0, 0, 0, 0, 326, 0, 0, 0,
2099 0, 0, 0, 0, 0, 16, 301, 17, 0, 19,
2100 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2101 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2102 313, 26, 0, 821, 822, 708, 0, 0, 316, 0,
2103 0, 0, 0, 0, 317, 0, 0, 318, 0, 0,
2104 0, 0, 0, 0, 0, 319, 320, 321, 0, 0,
2105 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2106 325, 823, 707, 0, 818, 819, 820, 10, 0, 12,
2107 521, 298, 299, 0, 300, 14, 976, 326, 0, 0,
2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2109 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
2110 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
2111 309, 310, 311, 312, 313, 26, 0, 821, 822, 708,
2112 0, 0, 316, 0, 0, 0, 0, 0, 317, 0,
2113 0, 318, 0, 0, 0, 0, 0, 0, 0, 319,
2114 320, 321, 0, 0, 0, 0, 0, 322, 323, 324,
2115 0, 0, 0, 0, 325, 823, 707, 0, 818, 819,
2116 820, 10, 0, 12, 521, 298, 299, 0, 300, 14,
2117 0, 326, 0, 0, 0, 0, 0, 0, 0, 0,
2118 0, 0, 0, 16, 301, 17, 0, 19, 0, 302,
2119 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2120 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2121 0, 821, 822, 708, 0, 0, 316, 0, 0, 0,
2122 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2123 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2124 0, 322, 323, 324, 0, 0, 0, 707, 325, 818,
2125 819, 820, 10, 0, 12, 521, 298, 299, 0, 300,
2126 14, 0, 0, 0, -479, 326, 0, 0, 0, 0,
2127 0, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2128 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2129 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2130 26, 0, 821, 822, 708, 0, 0, 316, 0, 0,
2131 0, 0, 0, 317, 0, 0, 318, 0, 0, 0,
2132 0, 0, 0, 0, 319, 320, 321, 0, 0, 0,
2133 0, 0, 322, 323, 324, 0, 0, 0, 707, 325,
2134 296, 8, 9, 10, 0, 12, 521, 298, 299, 0,
2135 300, 14, 0, 0, 0, 1307, 326, 0, 0, 0,
2136 0, 0, 0, 0, 0, 16, 301, 17, 0, 19,
2137 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2138 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2139 313, 26, 0, 27, 315, 708, 0, 0, 316, 0,
2140 0, 0, 0, 0, 317, 0, 0, 318, 0, 0,
2141 0, 0, 0, 0, 0, 319, 320, 321, 0, 0,
2142 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2143 325, 0, 539, 0, 296, 8, 9, 10, 1311, 12,
2144 297, 298, 299, 0, 300, 14, 0, 326, 0, 0,
2145 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2146 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
2147 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
2148 309, 310, 311, 312, 313, 26, 0, 27, 315, -308,
2149 0, 0, 316, 0, 0, 0, 0, 0, 317, 0,
2150 0, 540, 0, 0, 0, 0, 0, 0, 0, 319,
2151 320, 541, 0, 0, 0, 0, 0, 322, 323, 324,
2152 0, 0, 0, 707, 542, 296, 8, 9, 10, 0,
2153 12, 521, 298, 299, 0, 300, 14, 0, 0, 0,
2154 0, 326, 0, 0, 0, 0, 0, 0, 0, 0,
2155 16, 301, 17, 0, 19, 0, 302, 303, 20, 0,
2156 304, 305, 306, 21, 307, 308, 0, 23, 0, 0,
2157 0, 309, 310, 311, 312, 313, 26, 0, 27, 315,
2158 708, 0, 0, 316, 0, 0, 0, 0, 0, 317,
2159 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2160 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2161 324, 0, 0, 0, 830, 325, 296, 8, 9, 10,
2162 0, 12, 521, 298, 299, 0, 300, 14, 0, 0,
2163 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2164 0, 16, 301, 17, 0, 19, 0, 302, 303, 20,
2165 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2166 0, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2167 315, 0, 0, 0, 316, -781, 0, 0, 0, 0,
2168 317, 0, 0, 318, 0, 0, 0, 0, 0, 0,
2169 0, 319, 320, 321, 0, 0, 0, 0, 0, 322,
2170 323, 324, 0, 0, 0, 539, 325, 7, 8, 9,
2171 10, 0, 12, 297, 298, 299, 0, 300, 14, 0,
2172 0, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2173 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2174 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2175 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2176 27, 28, -308, 0, 0, 316, 0, 0, 0, 0,
2177 0, 317, 0, 0, 1477, 0, 0, 0, 0, 0,
2178 0, 0, 319, 320, 1478, 0, 0, 0, 0, 0,
2179 322, 323, 324, 0, 0, 0, 1558, 1479, 296, 8,
2180 9, 10, 0, 12, 297, 298, 299, 0, 300, 14,
2181 0, 0, 0, 0, 326, 0, 0, 0, 0, 0,
2182 0, 0, 0, 16, 301, 17, 0, 19, 0, 302,
2183 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2184 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2185 0, 27, 315, 0, 0, -194, 316, 0, 0, 0,
2186 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2187 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2188 0, 322, 323, 324, 0, 0, 0, 830, 325, 296,
2189 8, 9, 10, 0, 12, 521, 298, 299, 0, 300,
2190 14, 0, 0, 0, 0, 326, 0, 0, 0, 0,
2191 0, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2192 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2193 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2194 26, 0, 27, 315, 0, 0, 0, 316, 0, 0,
2195 0, 0, 0, 317, 259, 0, 318, 8, 9, 0,
2196 0, 12, 13, 0, 319, 320, 321, 14, 0, 0,
2197 0, 0, 322, 323, 324, 0, 0, 0, 0, 325,
2198 0, 16, 0, 17, 0, 0, 0, 0, 0, 20,
2199 0, 260, 261, 0, -781, 0, 326, 0, 23, 0,
2200 262, 0, 0, 0, 0, 0, 0, 26, 0, 130,
2201 131, 0, 263, 0, 0, 0, 264, 265, 266, 267,
2202 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
2203 278, 279, 280, 281, 282, 283, 284, 0, 0, 285,
2204 286, 287, 0, 0, 288, 0, 918, 289, 296, 8,
2205 9, 10, 0, 12, 521, 298, 299, 0, 300, 14,
2206 0, 0, 0, 290, 0, 0, 0, 0, 0, 0,
2207 0, 0, 0, 16, 301, 17, 0, 19, 0, 302,
2208 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2209 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2210 0, 27, 315, 0, 0, 0, 316, 0, 0, 0,
2211 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2212 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2213 0, 322, 323, 324, 0, 0, 0, 920, 325, 296,
2214 8, 9, 10, 0, 12, 521, 298, 299, 0, 300,
2215 14, 0, 0, 0, 0, 326, 0, 0, 0, 0,
2216 0, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2217 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2218 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2219 26, 0, 27, 315, 0, 0, 0, 316, 0, 0,
2220 0, 0, 0, 317, 0, 0, 318, 0, 0, 0,
2221 0, 0, 0, 0, 319, 320, 321, 0, 0, 0,
2222 0, 0, 322, 323, 324, 0, 0, 0, 1490, 325,
2223 296, 8, 9, 10, 0, 12, 521, 298, 299, 0,
2224 300, 14, 0, 0, 0, 0, 326, 0, 0, 0,
2225 0, 0, 0, 0, 0, 16, 301, 17, 0, 19,
2226 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2227 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2228 313, 26, 0, 27, 315, 0, 0, 0, 316, 0,
2229 0, 0, 0, 0, 317, 0, 0, 318, 0, 0,
2230 0, 0, 0, 0, 0, 319, 320, 321, 0, 0,
2231 0, 0, 0, 322, 323, 324, 296, 8, 9, 10,
2232 325, 12, 521, 298, 299, 0, 300, 14, 0, 0,
2233 0, 0, 0, 0, 0, 0, 0, 326, 0, 0,
2234 0, 16, 301, 17, 0, 19, 0, 302, 303, 20,
2235 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2236 0, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2237 315, 0, 0, 0, 316, 0, 0, 0, 0, 0,
2238 317, 0, 760, 318, 7, 8, 761, 10, 163, 12,
2239 13, 319, 320, 321, 0, 14, 0, 0, 0, 322,
2240 323, 324, 0, 0, 0, 0, 325, 0, 0, 16,
2241 0, 17, 18, 19, 0, 0, 0, 20, -524, 0,
2242 0, 0, 21, 326, 869, 0, 23, 762, 0, 164,
2243 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2244 0, 763, 0, 764, 0, 0, 0, 0, 0, 0,
2245 0, 30, 760, 0, 7, 8, 761, 10, 163, 12,
2246 13, 31, 0, 0, 0, 14, 0, 0, 0, 32,
2247 0, 0, 0, 0, 33, 0, 0, 0, 0, 16,
2248 0, 17, 18, 19, 0, 0, 0, 20, -523, 0,
2249 -524, 0, 21, 0, 0, 0, 23, 762, 0, 164,
2250 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2251 0, 763, 0, 764, 0, 0, 0, 0, 0, 0,
2252 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
2253 0, 31, 0, 0, 0, 0, 0, 0, 0, 32,
2254 0, 0, 0, 0, 33, 0, 0, 1269, 1270, 1271,
2255 10, 163, 12, 297, 298, 299, 0, 300, 14, 1272,
2256 -523, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281,
2257 1282, 15, 16, 301, 17, 18, 19, 0, 302, 303,
2258 20, 0, 304, 305, 306, 21, 307, 308, 1283, 23,
2259 1284, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2260 1285, 315, 704, 0, 1286, 316, 0, 0, 0, 0,
2261 0, 317, 0, 0, 318, 0, 0, 0, 0, 0,
2262 0, 0, 319, 320, 321, 0, 0, 0, 0, 0,
2263 322, 323, 324, 0, 0, 0, 0, 325, 0, 1287,
2264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2265 0, 0, 0, 1414, 326, 1269, 1270, 1271, 10, 163,
2266 12, 297, 298, 299, 0, 300, 14, 1272, 0, 1273,
2267 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 15,
2268 16, 301, 17, 18, 19, 0, 302, 303, 20, 0,
2269 304, 305, 306, 21, 307, 308, 1283, 23, 1284, 0,
2270 0, 309, 310, 311, 312, 313, 26, 0, 1285, 315,
2271 704, 0, 1286, 316, 0, 0, 0, 0, 0, 317,
2272 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2273 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2274 324, 0, 0, 0, 0, 325, 0, 1287, 0, 1269,
2275 1270, 1271, 10, 163, 12, 297, 298, 299, 0, 300,
2276 14, 1272, 326, 1273, 1274, 1275, 1276, 1277, 1278, 1279,
2277 1280, 1281, 1282, 15, 16, 301, 17, 18, 19, 0,
2278 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2279 1283, 23, 1284, 0, 0, 309, 310, 311, 312, 313,
2280 26, 0, 1285, 315, 1535, 0, 1286, 316, 0, 0,
2281 0, 0, 0, 317, 0, 0, 318, 0, 0, 0,
2282 0, 0, 0, 0, 319, 320, 321, 0, 0, 0,
2283 0, 0, 322, 323, 324, 0, 0, 0, 0, 325,
2284 0, 1287, 0, 1269, 1270, 1271, 10, 163, 12, 297,
2285 298, 299, 0, 300, 14, 1272, 326, 1273, 1274, 1275,
2286 1276, 1277, 1278, 1279, 1280, 1281, 1282, 15, 16, 301,
2287 17, 18, 19, 0, 302, 303, 20, 0, 304, 305,
2288 306, 21, 307, 308, 1283, 23, 1284, 0, 0, 309,
2289 310, 311, 312, 313, 26, 0, 1285, 315, 0, 0,
2290 1286, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2291 318, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2292 321, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2293 0, 0, 0, 325, 0, 1287, 296, 8, 9, 10,
2294 163, 12, 297, 298, 299, 717, 300, 14, 0, 0,
2295 326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2296 0, 16, 301, 17, 18, 19, 0, 302, 303, 20,
2297 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2298 605, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2299 315, 0, 0, 0, 316, 0, 0, 0, 0, 0,
2300 317, 0, 0, 897, 0, 0, 0, 0, 0, 0,
2301 0, 319, 320, 898, 0, 0, 0, 0, 0, 322,
2302 323, 324, 0, 608, 0, 0, 899, 610, 7, 8,
2303 9, 10, 163, 12, 297, 298, 299, 717, 300, 14,
2304 0, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2305 0, 0, 0, 16, 301, 17, 18, 19, 0, 302,
2306 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2307 23, 0, 605, 0, 309, 310, 311, 312, 313, 26,
2308 0, 27, 28, 0, 0, 0, 316, 0, 0, 0,
2309 0, 0, 317, 0, 0, 1169, 0, 0, 0, 0,
2310 0, 0, 0, 319, 320, 1170, 0, 0, 0, 0,
2311 0, 322, 323, 324, 0, 608, 0, 0, 1171, 610,
2312 296, 8, 9, 10, 0, 12, 297, 298, 299, 0,
2313 300, 14, 0, 0, 0, 326, 0, 0, 0, 0,
2314 0, 0, 0, 0, 0, 16, 301, 17, 0, 19,
2315 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2316 308, 0, 23, 0, 605, 0, 309, 310, 311, 312,
2317 313, 26, 0, 27, 315, 0, 0, 0, 0, 0,
2318 0, 0, 0, 0, 317, 0, 0, 897, 0, 0,
2319 0, 0, 0, 0, 0, 319, 320, 898, 0, 0,
2320 0, 0, 0, 322, 323, 324, 0, 608, 0, 0,
2321 899, 610, 7, 8, 9, 10, 0, 12, 297, 298,
2322 299, 0, 300, 14, 0, 0, 0, 326, 0, 0,
2323 0, 0, 0, 0, 0, 0, 0, 16, 301, 17,
2324 0, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2325 21, 307, 308, 0, 23, 0, 605, 0, 309, 310,
2326 311, 312, 313, 26, 0, 27, 28, 0, 0, 0,
2327 0, 0, 0, 0, 0, 0, 317, 0, 0, 1169,
2328 0, 0, 0, 0, 0, 0, 0, 319, 320, 1170,
2329 0, 0, 0, 0, 0, 322, 323, 324, 0, 608,
2330 0, 0, 1171, 610, 296, 8, 9, 10, 0, 12,
2331 521, 298, 299, 0, 300, 14, 0, 0, 0, 326,
2332 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2333 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
2334 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
2335 309, 310, 311, 312, 313, 26, 0, 27, 315, 0,
2336 0, 1387, 316, 0, 0, 0, 0, 0, 317, 0,
2337 0, 318, 0, 0, 0, 0, 0, 0, 0, 319,
2338 320, 321, 0, 0, 0, 0, 0, 322, 323, 324,
2339 0, 0, 0, 0, 325, 296, 8, 9, 10, 163,
2340 12, 297, 298, 299, 0, 300, 14, 0, 0, 0,
2341 0, 326, 0, 0, 0, 0, 0, 0, 0, 0,
2342 16, 301, 17, 18, 19, 0, 302, 303, 20, 0,
2343 304, 305, 306, 21, 307, 308, 0, 23, 0, 0,
2344 0, 309, 310, 311, 312, 313, 26, 0, 27, 315,
2345 0, 0, 0, 0, 0, 0, 0, 0, 0, 317,
2346 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2347 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2348 324, 296, 8, 9, 10, 325, 12, 297, 298, 299,
2349 0, 300, 14, 0, 0, 0, 0, 0, 0, 0,
2350 0, 0, 326, 0, 0, 0, 16, 301, 17, 0,
2351 19, 0, 302, 303, 20, 0, 304, 305, 306, 21,
2352 307, 308, 0, 23, 0, 0, 0, 309, 310, 311,
2353 312, 313, 26, 0, 314, 315, 0, 0, 0, 316,
2354 0, 0, 0, 0, 0, 317, 0, 0, 318, 0,
2355 0, 0, 0, 0, 0, 0, 319, 320, 321, 0,
2356 0, 0, 0, 0, 322, 323, 324, 296, 8, 9,
2357 10, 325, 12, 297, 298, 299, 0, 300, 14, 0,
2358 0, 0, 0, 0, 0, 0, 0, 0, 326, 0,
2359 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2360 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2361 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2362 27, 315, 0, 0, 0, 316, 0, 0, 0, 0,
2363 0, 317, 0, 0, 318, 0, 0, 0, 0, 0,
2364 0, 0, 319, 320, 321, 0, 0, 0, 0, 0,
2365 322, 323, 324, 296, 8, 9, 10, 325, 12, 521,
2366 298, 299, 0, 300, 14, 0, 0, 0, 0, 0,
2367 0, 0, 0, 0, 326, 0, 0, 0, 16, 301,
2368 17, 0, 19, 0, 302, 303, 20, 0, 304, 305,
2369 306, 21, 307, 308, 0, 23, 0, 0, 0, 309,
2370 310, 311, 312, 313, 26, 0, 27, 315, 0, 0,
2371 0, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2372 318, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2373 321, 0, 0, 0, 0, 0, 322, 323, 324, 296,
2374 8, 9, 10, 325, 12, 521, 298, 299, 0, 300,
2375 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2376 326, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2377 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2378 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2379 26, 0, 27, 315, 554, 0, 0, 0, 0, 0,
2380 0, 0, 0, 317, 0, 0, 318, 0, 0, 0,
2381 0, 0, 0, 0, 319, 320, 321, 0, 0, 0,
2382 0, 0, 322, 323, 324, 296, 8, 9, 10, 555,
2383 12, 521, 298, 299, 0, 300, 14, 0, 0, 0,
2384 0, 0, 0, 0, 0, 0, 326, 0, 0, 0,
2385 16, 301, 17, 0, 19, 0, 302, 303, 20, 0,
2386 304, 305, 306, 21, 307, 308, 0, 23, 0, 0,
2387 0, 309, 310, 311, 312, 313, 26, 0, 27, 315,
2388 0, 0, 0, 0, 0, 0, 0, 0, 0, 317,
2389 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2390 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2391 324, 0, 0, 0, 0, 325, 593, 296, 8, 9,
2392 10, 0, 12, 521, 298, 299, 0, 300, 14, 0,
2393 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2394 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2395 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2396 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2397 27, 315, 0, 0, 0, 316, 0, 0, 0, 0,
2398 0, 317, 0, 0, 540, 0, 0, 0, 0, 0,
2399 0, 0, 319, 320, 541, 0, 0, 0, 0, 0,
2400 322, 323, 324, 1129, 8, 9, 10, 542, 12, 521,
2401 298, 299, 0, 300, 14, 0, 0, 0, 0, 0,
2402 0, 0, 0, 0, 326, 0, 0, 0, 16, 301,
2403 17, 0, 19, 0, 302, 303, 20, 0, 304, 305,
2404 306, 21, 307, 308, 0, 23, 0, 0, 0, 309,
2405 310, 311, 312, 313, 26, 0, 27, 315, 0, 0,
2406 0, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2407 318, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2408 321, 0, 0, 0, 0, 0, 322, 323, 324, 7,
2409 8, 9, 10, 325, 12, 521, 298, 299, 0, 300,
2410 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2411 326, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2412 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2413 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2414 26, 0, 27, 28, 0, 0, 0, 316, 0, 0,
2415 0, 0, 0, 317, 0, 0, 1477, 0, 0, 0,
2416 0, 0, 0, 0, 319, 320, 1478, 0, 0, 0,
2417 0, 0, 322, 323, 324, 296, 8, 9, 10, 1479,
2418 12, 521, 298, 299, 0, 300, 14, 0, 0, 0,
2419 0, 0, 0, 0, 0, 0, 326, 0, 0, 0,
2420 16, 301, 17, 0, 19, 0, 302, 303, 20, 0,
2421 304, 305, 306, 21, 307, 308, 0, 23, 0, 0,
2422 0, 309, 310, 311, 312, 313, 26, 0, 27, 315,
2423 0, 0, 0, 0, 0, 0, 0, 0, 0, 317,
2424 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2425 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2426 324, 296, 8, 9, 10, 522, 12, 521, 298, 299,
2427 0, 300, 14, 0, 0, 0, 0, 0, 0, 0,
2428 0, 0, 326, 0, 0, 0, 16, 301, 17, 0,
2429 19, 0, 302, 303, 20, 0, 304, 305, 306, 21,
2430 307, 308, 0, 23, 0, 0, 0, 309, 310, 311,
2431 312, 313, 26, 0, 27, 315, 0, 0, 0, 0,
2432 0, 0, 0, 0, 0, 317, 0, 0, 318, 0,
2433 0, 0, 0, 0, 0, 0, 319, 320, 321, 0,
2434 0, 0, 0, 0, 322, 323, 324, 296, 8, 9,
2435 10, 525, 12, 521, 298, 299, 0, 300, 14, 0,
2436 0, 0, 0, 0, 0, 0, 0, 0, 326, 0,
2437 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2438 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2439 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2440 27, 315, 0, 0, 0, 0, 0, 0, 0, 0,
2441 0, 317, 0, 0, 318, 0, 0, 0, 0, 0,
2442 0, 0, 319, 320, 321, 0, 0, 0, 0, 0,
2443 322, 323, 324, 296, 8, 9, 10, 325, 12, 521,
2444 298, 299, 0, 300, 14, 0, 0, 0, 0, 0,
2445 0, 0, 0, 0, 326, 0, 0, 0, 16, 301,
2446 17, 0, 19, 0, 302, 303, 20, 0, 304, 305,
2447 306, 21, 307, 308, 0, 23, 0, 0, 0, 309,
2448 310, 311, 312, 313, 26, 0, 27, 315, 0, 0,
2449 0, 0, 0, 0, 0, 0, 0, 317, 0, 0,
2450 540, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2451 541, 0, 0, 0, 0, 0, 322, 323, 324, 7,
2452 8, 9, 10, 542, 12, 297, 298, 299, 0, 300,
2453 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2454 326, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2455 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2456 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2457 26, 0, 27, 28, 0, 0, 0, 0, 0, 0,
2458 0, 0, 0, 317, 0, 0, 1477, 1023, 8, 761,
2459 10, 201, 12, 202, 319, 320, 1478, 0, 14, 0,
2460 0, 0, 322, 323, 324, 0, 0, 0, 0, 1479,
2461 0, 0, 16, 0, 17, 18, 0, 0, 0, 0,
2462 20, 0, 0, 0, 0, 21, 326, 0, 0, 23,
2463 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
2464 27, 28, 0, 0, 0, 0, 1025, 0, 0, 0,
2465 0, 0, 0, 0, 30, 7, 8, 9, 10, 201,
2466 12, 202, 0, 0, 31, 0, 14, 0, 0, 0,
2467 0, 0, 32, 0, 0, 0, 0, 33, 0, 0,
2468 16, 0, 17, 18, 0, 0, 0, 0, 20, 0,
2469 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
2470 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2471 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
2472 567, 568, 30, 570, 571, 572, 573, 574, 575, 576,
2473 577, 578, 31, 0, 0, 0, 0, 0, 0, 0,
2474 32, 0, 0, 0, 0, 33, 557, 558, 559, 560,
2475 561, 562, 563, 564, 565, 566, 567, 568, 569, 570,
2476 571, 572, 573, 574, 575, 576, 577, 578, 0, 0,
2477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2478 0, 0, 0, 0, 0, 0, 0, 646, 0, 0,
2479 1525, 557, 558, 559, 560, 561, 562, 563, 564, 565,
2480 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
2481 576, 577, 578, 1543, 557, 558, 559, 560, 561, 562,
2482 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
2483 573, 574, 575, 576, 577, 578, 557, 558, 559, 560,
2484 561, 562, 563, 564, 565, 566, 567, 568, 569, 570,
2485 571, 572, 573, 574, 575, 576, 577, 578
2488 static const short yycheck
[] = { 4,
2489 147, 148, 157, 4, 205, 170, 55, 171, 398, 80,
2490 46, 702, 80, 23, 172, 14, 448, 345, 398, 247,
2491 351, 126, 4, 443, 398, 351, 470, 134, 491, 858,
2492 35, 4, 300, 301, 35, 685, 609, 42, 133, 134,
2493 76, 428, 243, 616, 552, 84, 369, 765, 42, 767,
2494 4, 42, 57, 35, 205, 4, 774, 57, 133, 62,
2495 42, 4, 35, 214, 178, 333, 678, 72, 589, 42,
2496 124, 142, 1369, 1288, 42, 1298, 30, 31, 54, 84,
2497 1459, 35, 1305, 88, 83, 90, 35, 92, 42, 4,
2498 782, 292, 35, 42, 238, 1458, 788, 632, 11, 42,
2499 42, 11, 107, 108, 33, 11, 1460, 106, 12, 27,
2500 90, 1, 92, 31, 12, 0, 4, 37, 478, 58,
2501 35, 59, 171, 351, 1192, 1193, 546, 42, 199, 62,
2502 84, 136, 137, 54, 139, 495, 136, 75, 1206, 77,
2503 1503, 62, 60, 0, 345, 1482, 64, 35, 352, 353,
2504 58, 686, 62, 47, 62, 59, 161, 137, 62, 98,
2505 165, 59, 1506, 136, 62, 1502, 610, 172, 58, 84,
2506 161, 165, 172, 209, 165, 108, 152, 3, 4, 5,
2507 109, 47, 136, 165, 213, 214, 1540, 136, 161, 109,
2508 258, 109, 165, 147, 148, 108, 524, 165, 108, 93,
2509 404, 405, 108, 895, 108, 208, 1585, 161, 42, 1,
2510 1554, 165, 161, 216, 108, 60, 165, 48, 1, 47,
2511 196, 136, 165, 165, 1561, 59, 74, 93, 94, 232,
2512 56, 57, 4, 5, 9, 189, 190, 1600, 701, 7,
2513 1463, 59, 108, 62, 1459, 244, 161, 342, 1545, 74,
2514 165, 59, 93, 60, 80, 74, 4, 59, 54, 25,
2515 910, 27, 1330, 913, 109, 93, 58, 342, 59, 37,
2516 62, 1339, 1340, 60, 1342, 58, 48, 93, 74, 62,
2517 108, 436, 389, 703, 56, 57, 61, 35, 293, 1512,
2518 4, 109, 58, 57, 668, 59, 62, 47, 629, 338,
2519 108, 65, 109, 95, 954, 955, 108, 47, 80, 696,
2520 697, 60, 95, 47, 64, 462, 463, 108, 1010, 93,
2521 325, 35, 109, 935, 475, 25, 899, 381, 59, 95,
2522 1022, 165, 74, 338, 724, 658, 857, 4, 5, 1562,
2523 38, 346, 9, 93, 724, 3, 4, 5, 6, 354,
2524 355, 400, 351, 93, 94, 355, 54, 59, 58, 93,
2525 109, 47, 62, 1055, 468, 1057, 4, 5, 108, 942,
2526 598, 205, 476, 75, 354, 302, 303, 108, 64, 213,
2527 214, 74, 355, 41, 338, 54, 47, 54, 47, 56,
2528 57, 318, 720, 398, 321, 95, 401, 324, 56, 57,
2529 327, 355, 1231, 70, 331, 74, 355, 93, 172, 243,
2530 48, 984, 339, 80, 178, 93, 398, 12, 56, 57,
2531 1488, 1489, 47, 338, 492, 430, 47, 94, 860, 633,
2532 88, 939, 93, 94, 93, 438, 430, 59, 60, 430,
2533 355, 205, 80, 64, 398, 474, 475, 108, 484, 213,
2534 214, 456, 896, 482, 4, 5, 107, 430, 292, 3,
2535 4, 5, 6, 60, 59, 494, 33, 62, 93, 64,
2536 1120, 1121, 93, 94, 60, 59, 430, 25, 481, 54,
2537 64, 430, 58, 398, 513, 54, 47, 492, 64, 1207,
2538 54, 75, 492, 62, 8, 9, 47, 41, 48, 74,
2539 14, 31, 456, 107, 108, 74, 56, 57, 462, 463,
2540 54, 345, 56, 57, 519, 430, 75, 522, 77, 492,
2541 525, 25, 36, 27, 529, 530, 531, 532, 533, 1358,
2542 695, 45, 93, 47, 3, 4, 5, 542, 492, 519,
2543 62, 456, 93, 492, 88, 1008, 936, 552, 58, 492,
2544 555, 590, 659, 973, 58, 47, 936, 47, 62, 666,
2545 83, 84, 936, 62, 3, 4, 5, 6, 402, 1142,
2546 54, 666, 54, 904, 47, 74, 47, 492, 904, 93,
2547 147, 148, 149, 47, 109, 590, 635, 56, 57, 58,
2548 54, 95, 74, 25, 798, 27, 430, 74, 1171, 54,
2549 58, 93, 41, 93, 609, 749, 807, 751, 93, 48,
2550 74, 616, 756, 540, 541, 4, 5, 56, 57, 74,
2551 93, 620, 93, 94, 191, 674, 58, 676, 677, 93,
2552 62, 745, 54, 901, 59, 60, 590, 401, 402, 47,
2553 474, 475, 1074, 1075, 54, 25, 54, 27, 482, 88,
2554 1094, 54, 606, 607, 759, 609, 661, 667, 54, 44,
2555 494, 47, 616, 95, 74, 779, 74, 56, 57, 54,
2556 675, 720, 57, 75, 679, 590, 904, 108, 58, 513,
2557 47, 661, 62, 33, 47, 93, 3, 4, 5, 6,
2558 1153, 701, 9, 108, 609, 4, 5, 765, 109, 767,
2559 47, 616, 94, 467, 47, 773, 774, 93, 94, 108,
2560 474, 475, 47, 742, 478, 95, 62, 108, 482, 724,
2561 47, 325, 1185, 772, 41, 929, 93, 94, 74, 47,
2562 93, 495, 768, 769, 47, 1167, 47, 54, 62, 56,
2563 57, 777, 11, 98, 1176, 1177, 93, 56, 57, 1181,
2564 93, 93, 62, 70, 3, 4, 5, 60, 93, 3,
2565 765, 1089, 767, 80, 74, 765, 93, 767, 773, 774,
2566 724, 88, 772, 773, 774, 93, 93, 782, 783, 784,
2567 93, 786, 93, 788, 108, 3, 4, 5, 1090, 1091,
2568 1222, 1093, 765, 60, 767, 111, 961, 147, 148, 149,
2569 94, 774, 636, 783, 784, 54, 786, 56, 57, 724,
2570 94, 765, 62, 767, 111, 54, 765, 93, 767, 93,
2571 774, 398, 765, 62, 767, 774, 59, 60, 782, 47,
2572 59, 774, 59, 60, 788, 74, 54, 47, 56, 57,
2573 54, 191, 74, 677, 54, 1049, 1050, 1051, 62, 453,
2574 765, 856, 767, 3, 4, 5, 861, 1548, 54, 774,
2575 74, 1005, 1006, 1007, 74, 74, 62, 782, 74, 54,
2576 59, 60, 636, 788, 74, 93, 947, 62, 74, 456,
2577 30, 59, 60, 93, 889, 1317, 720, 59, 60, 74,
2578 895, 7, 8, 9, 899, 462, 463, 464, 14, 59,
2579 60, 1015, 1016, 11, 54, 904, 56, 57, 742, 4,
2580 5, 675, 109, 677, 678, 31, 54, 108, 522, 59,
2581 36, 525, 108, 1355, 62, 529, 795, 796, 797, 45,
2582 1044, 936, 59, 938, 939, 108, 74, 942, 542, 59,
2583 60, 895, 869, 897, 898, 899, 108, 74, 75, 74,
2584 77, 555, 59, 60, 936, 559, 720, 54, 109, 54,
2585 1380, 56, 57, 1034, 1013, 74, 1034, 4, 5, 1297,
2586 897, 898, 74, 807, 108, 70, 1396, 1045, 742, 984,
2587 895, 745, 936, 587, 899, 80, 940, 941, 942, 593,
2588 1026, 109, 997, 1140, 1141, 108, 1032, 1033, 1003, 94,
2589 1036, 1037, 4, 5, 1040, 1010, 111, 4, 5, 773,
2590 111, 48, 27, 1013, 74, 779, 74, 1022, 54, 56,
2591 57, 936, 1169, 1170, 4, 5, 74, 942, 111, 111,
2592 984, 108, 609, 27, 108, 108, 58, 31, 1242, 616,
2593 1045, 108, 54, 80, 8, 1045, 48, 111, 93, 47,
2594 1055, 48, 1057, 64, 56, 57, 1010, 109, 59, 56,
2595 57, 93, 1482, 54, 44, 59, 60, 60, 1022, 984,
2596 4, 5, 1045, 1144, 54, 9, 56, 57, 80, 36,
2597 1085, 64, 1502, 80, 1198, 1199, 64, 1201, 1202, 64,
2598 1204, 1045, 108, 1098, 60, 1010, 1045, 3, 4, 5,
2599 62, 1055, 1045, 1057, 4, 5, 1496, 1022, 4, 5,
2600 64, 1531, 462, 463, 464, 64, 1496, 64, 1098, 108,
2601 54, 108, 56, 57, 9, 111, 108, 12, 93, 108,
2602 1045, 1295, 59, 1297, 62, 1203, 70, 1142, 1296, 1207,
2603 1055, 1561, 1057, 1153, 4, 5, 80, 724, 54, 1569,
2604 56, 57, 48, 108, 54, 108, 56, 57, 1590, 1164,
2605 56, 57, 47, 1164, 108, 108, 1171, 8, 9, 1096,
2606 70, 935, 1500, 14, 59, 108, 61, 62, 75, 64,
2607 80, 75, 75, 75, 80, 108, 1140, 1141, 1142, 108,
2608 75, 1164, 77, 62, 54, 36, 56, 57, 62, 108,
2609 59, 62, 1207, 108, 45, 782, 108, 1207, 93, 94,
2610 1164, 788, 111, 1327, 1328, 1169, 1170, 1171, 94, 74,
2611 111, 1164, 88, 108, 90, 88, 92, 1142, 3, 4,
2612 5, 47, 7, 108, 1207, 3, 4, 5, 108, 7,
2613 8, 9, 1169, 1170, 111, 60, 1295, 109, 1297, 1164,
2614 108, 1015, 1016, 1207, 111, 30, 1171, 108, 1207, 108,
2615 108, 865, 37, 31, 1207, 109, 59, 64, 36, 64,
2616 59, 137, 59, 139, 27, 108, 108, 108, 31, 54,
2617 1044, 56, 57, 1288, 93, 93, 54, 93, 56, 57,
2618 58, 1296, 1207, 1298, 93, 899, 109, 1298, 109, 1500,
2619 1305, 1337, 1338, 108, 1305, 108, 59, 60, 8, 1314,
2620 111, 64, 1426, 1427, 1428, 1288, 4, 5, 895, 1474,
2621 8, 9, 899, 108, 108, 1298, 14, 3, 4, 5,
2622 1477, 1478, 1305, 111, 1288, 103, 104, 105, 108, 449,
2623 28, 108, 30, 109, 1298, 1288, 456, 108, 36, 108,
2624 33, 1305, 108, 108, 108, 1298, 47, 45, 108, 936,
2625 64, 1288, 1305, 1528, 108, 942, 54, 54, 56, 57,
2626 1406, 1485, 1486, 1288, 108, 942, 108, 62, 54, 12,
2627 56, 57, 58, 1298, 80, 81, 82, 83, 84, 111,
2628 1305, 47, 108, 108, 27, 86, 87, 108, 31, 1003,
2629 91, 92, 93, 94, 96, 93, 9, 984, 62, 62,
2630 520, 60, 60, 60, 47, 16, 93, 984, 3, 4,
2631 5, 60, 7, 8, 9, 93, 59, 60, 108, 62,
2632 108, 64, 60, 1010, 1198, 1199, 108, 1201, 1202, 1553,
2633 1204, 108, 3, 4, 5, 1022, 31, 108, 1453, 108,
2634 316, 36, 1501, 1458, 1459, 1460, 64, 1458, 1463, 54,
2635 93, 94, 1463, 1297, 93, 3, 4, 5, 6, 111,
2636 580, 56, 57, 93, 1479, 108, 586, 17, 1055, 60,
2637 1057, 54, 107, 97, 108, 1458, 1459, 48, 354, 60,
2638 1463, 1496, 108, 108, 33, 56, 57, 1533, 1503, 1453,
2639 11, 108, 1503, 41, 1458, 1459, 1460, 1512, 60, 1463,
2640 60, 1512, 60, 623, 93, 1458, 1459, 59, 56, 57,
2641 1463, 64, 108, 1477, 1478, 60, 108, 11, 108, 60,
2642 1503, 11, 1296, 1297, 60, 1540, 0, 0, 1453, 1512,
2643 0, 2, 1496, 1458, 1459, 1460, 35, 166, 1463, 1503,
2644 1477, 1478, 1394, 3, 4, 5, 6, 1562, 1512, 659,
2645 1503, 1562, 936, 1327, 1328, 1142, 165, 1171, 161, 1512,
2646 3, 4, 5, 1140, 1141, 1142, 430, 1527, 773, 4,
2647 5, 1496, 448, 449, 9, 1153, 1540, 94, 1503, 1562,
2648 456, 41, 942, 139, 1171, 1600, 1600, 1512, 48, 1600,
2649 1379, 1232, 1169, 1170, 1171, 14, 56, 57, 1562, 148,
2650 149, 295, 708, 22, 1218, 1219, 1220, 1221, 922, 1562,
2651 237, 917, 47, 56, 57, 1540, 1008, 1600, 1185, 54,
2652 80, 56, 57, 1045, 984, 1205, 773, 642, 88, 590,
2653 915, 196, 124, 342, 1298, 70, 1600, 1562, 1165, 1548,
2654 1569, 1579, 191, 519, 520, 80, 65, 1600, 1517, 1581,
2655 992, 1314, 1426, 1427, 1428, 90, 1500, -1, 93, 94,
2656 3, 4, 5, -1, 7, 8, 9, 1281, -1, -1,
2657 -1, 3, 4, 5, 6, 1600, 552, -1, 554, -1,
2658 -1, 557, 558, -1, 560, 561, 562, 563, 564, 565,
2659 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
2660 576, 577, 578, -1, 580, 124, -1, -1, -1, 41,
2661 586, 1485, 1486, 56, 57, -1, -1, 740, 3, 4,
2662 5, -1, 54, -1, 56, 57, -1, 146, 60, -1,
2663 62, -1, -1, -1, -1, 855, 856, -1, 70, 80,
2664 616, 861, 1356, -1, -1, -1, -1, 623, 80, -1,
2665 -1, -1, -1, -1, -1, 875, 88, 877, 781, 879,
2666 -1, 93, -1, 104, 787, -1, -1, -1, -1, 645,
2667 646, 56, 57, -1, -1, 1389, 325, -1, -1, 1553,
2668 1140, 1141, 1142, -1, -1, 661, -1, 3, 4, 5,
2669 6, -1, 133, 9, -1, 1, -1, 3, 4, 5,
2670 6, 142, 8, -1, 924, -1, 344, 345, 346, 1169,
2671 1170, 1171, -1, -1, 233, 234, -1, 3, 4, 5,
2672 6, -1, 3, 4, 5, 41, -1, -1, 247, -1,
2673 1407, 47, 708, -1, -1, 41, -1, -1, 54, 1453,
2674 56, 57, 48, -1, -1, 1459, 1460, 967, 54, -1,
2675 56, 57, 38, 39, 70, 41, -1, -1, 199, -1,
2676 -1, -1, -1, -1, 80, 1479, -1, 890, 54, 892,
2677 56, 57, 88, -1, 90, 56, 57, 93, 94, 3,
2678 4, 5, 88, -1, 3, 4, 5, 6, 764, -1,
2679 -1, -1, 233, -1, -1, -1, -1, -1, 317, -1,
2680 1477, 1478, 1479, -1, -1, -1, -1, 783, 784, 1496,
2681 786, 344, 345, 346, 463, 464, -1, 258, -1, -1,
2682 -1, -1, 41, -1, 48, 801, 1540, -1, -1, 3,
2683 4, 5, 56, 57, -1, 54, -1, 56, 57, -1,
2684 359, 60, 1556, 3, 4, 5, 6, 823, -1, 368,
2685 -1, 70, -1, -1, 3, 4, 5, 3, 4, 5,
2686 6, 80, 381, -1, 1578, 3, 4, 5, -1, 88,
2687 -1, 1585, -1, 522, 93, -1, 525, -1, -1, 855,
2688 856, 41, 56, 57, 860, 861, -1, -1, 48, -1,
2689 -1, -1, 541, 542, -1, 41, 56, 57, -1, 875,
2690 -1, 877, 48, 879, -1, -1, 555, 56, 57, 350,
2691 56, 57, -1, -1, -1, -1, -1, -1, 56, 57,
2692 80, -1, -1, -1, 4, -1, -1, -1, 88, -1,
2693 -1, 1054, -1, 1056, 14, 1155, -1, 1157, 914, 1159,
2694 -1, -1, 88, -1, 24, -1, -1, 1407, 924, -1,
2695 30, 31, -1, 33, -1, 35, -1, 3, 4, 5,
2696 6, -1, 42, 939, -1, -1, 407, 616, 606, 607,
2697 489, 609, -1, -1, -1, 55, 952, 57, 616, -1,
2698 -1, -1, -1, -1, -1, 65, -1, -1, 1111, -1,
2699 -1, 967, 72, -1, -1, 41, -1, -1, -1, 449,
2700 -1, -1, 48, 83, 84, -1, 456, -1, 984, -1,
2701 56, 57, -1, -1, -1, -1, -1, 1477, 1478, 1479,
2702 -1, -1, -1, 3, 4, 5, 106, -1, -1, -1,
2703 -1, -1, -1, 1253, 80, 554, 674, -1, 676, 677,
2704 -1, 679, 88, -1, -1, -1, -1, -1, 489, 1025,
2705 3, 4, 5, 6, 134, -1, 136, -1, -1, -1,
2706 140, -1, -1, 143, 144, -1, 1189, 147, 148, 149,
2707 520, 1194, -1, 606, 607, 516, 56, 57, -1, 598,
2708 -1, 161, 720, -1, -1, 165, -1, -1, 41, -1,
2709 -1, 171, 172, -1, -1, 48, -1, -1, 1074, 1075,
2710 -1, -1, 1078, 56, 57, -1, -1, -1, -1, 189,
2711 190, 191, -1, -1, -1, -1, -1, 3, 4, 5,
2712 6, -1, 1098, 1246, -1, -1, -1, 80, -1, -1,
2713 580, -1, -1, -1, -1, 88, 586, -1, 218, -1,
2714 -1, 674, -1, 676, 677, -1, 679, -1, 667, -1,
2715 -1, -1, 801, -1, 234, 41, -1, -1, -1, 678,
2716 -1, 47, 603, -1, 244, -1, 616, -1, 54, 807,
2717 56, 57, -1, 623, -1, 255, -1, -1, 619, 1155,
2718 -1, 1157, -1, 1159, 70, -1, -1, 720, -1, 708,
2719 -1, 1167, -1, -1, 80, -1, -1, -1, -1, -1,
2720 1176, 1177, 88, -1, 90, 1181, -1, 93, 94, 7,
2721 8, 9, -1, 293, 294, -1, 14, -1, -1, -1,
2722 1196, 1197, -1, 1346, 1347, 3, 4, 5, 6, -1,
2723 -1, -1, -1, 31, -1, -1, -1, -1, 36, -1,
2724 1363, -1, 880, -1, 882, -1, 1222, 45, -1, 898,
2725 899, -1, -1, -1, -1, 893, -1, -1, 338, 897,
2726 898, 899, 342, 41, 344, 345, 346, -1, -1, -1,
2727 48, -1, -1, -1, 807, 355, -1, 1253, 56, 57,
2728 -1, -1, -1, -1, -1, 3, 4, 5, 6, -1,
2729 -1, 9, -1, 942, -1, -1, 1419, 1420, -1, -1,
2730 -1, 1277, 940, 941, 942, -1, -1, -1, -1, 389,
2731 88, -1, -1, -1, -1, 1438, 1439, -1, 398, -1,
2732 400, 401, -1, 41, -1, -1, -1, -1, -1, 47,
2733 -1, -1, -1, -1, 414, 984, 54, 417, 56, 57,
2734 -1, 1317, 422, -1, -1, -1, 984, 880, -1, 882,
2735 430, 801, 70, -1, -1, -1, -1, 1333, -1, -1,
2736 893, -1, 80, -1, 897, 898, -1, -1, -1, -1,
2737 88, -1, 90, -1, -1, 93, 94, -1, 458, 1355,
2738 460, -1, 462, 463, 464, 7, 8, 9, 468, 4,
2739 5, -1, 14, 473, 4, 5, 476, 7, 8, 9,
2740 -1, -1, 12, 922, 14, 855, 856, 940, 941, 31,
2741 -1, 861, 492, -1, 36, -1, 935, -1, 28, -1,
2742 30, 31, -1, 45, -1, 875, 36, 877, -1, 879,
2743 -1, 1407, 47, -1, -1, 45, -1, 47, 60, 54,
2744 -1, 56, 57, -1, 54, -1, 56, 57, 1424, 1425,
2745 530, 531, 532, 533, -1, 70, -1, 1433, -1, -1,
2746 70, -1, 903, -1, 905, 80, -1, -1, -1, -1,
2747 80, -1, -1, -1, 924, 90, -1, -1, 93, 94,
2748 90, -1, -1, 93, 94, 1461, -1, -1, -1, -1,
2749 -1, -1, 1141, 1142, 4, 5, -1, -1, -1, 9,
2750 1138, 1139, 1140, 1141, 1142, -1, 947, -1, 1146, -1,
2751 590, -1, 592, -1, -1, -1, -1, 967, -1, -1,
2752 -1, 1170, 1171, -1, 604, -1, 606, 607, -1, 609,
2753 -1, 1169, 1170, 1171, 984, -1, 616, 47, -1, -1,
2754 620, -1, -1, -1, 54, -1, 56, 57, 78, 79,
2755 80, 81, 82, 83, 84, 635, 1075, -1, -1, -1,
2756 70, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2757 80, -1, 3, 4, 5, 6, -1, -1, 9, 659,
2758 90, -1, -1, 93, 94, -1, 666, -1, -1, -1,
2759 -1, -1, -1, 1034, 674, 675, 676, 677, 678, 679,
2760 -1, -1, -1, -1, -1, 1138, 1139, 1140, 1141, -1,
2761 41, -1, -1, 1146, 1590, -1, 47, -1, 1256, 1257,
2762 -1, 1259, -1, 54, -1, 56, 57, 3, 4, 5,
2763 6, -1, -1, -1, -1, -1, 1169, 1170, -1, 70,
2764 720, -1, 1161, -1, 724, 4, 5, -1, 1167, 80,
2765 9, 731, 732, -1, 734, -1, -1, 88, -1, 90,
2766 -1, -1, 93, 94, -1, 41, -1, -1, -1, -1,
2767 -1, -1, 48, -1, -1, -1, 1117, -1, -1, -1,
2768 56, 57, 762, -1, -1, 765, -1, 767, 47, -1,
2769 -1, -1, 772, 773, 774, 54, -1, 56, 57, -1,
2770 -1, -1, 782, 1144, 80, 1155, -1, 1157, 788, 1159,
2771 -1, 70, 88, -1, -1, 795, 796, 797, -1, -1,
2772 -1, 80, -1, 1256, 1257, -1, 1259, 807, -1, -1,
2773 -1, 90, -1, -1, 93, 94, -1, -1, -1, -1,
2774 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
2775 -1, -1, -1, -1, 14, -1, -1, -1, 1407, -1,
2776 -1, -1, 1203, 1282, 1283, -1, -1, -1, 28, -1,
2777 30, 31, 32, -1, -1, -1, 36, -1, -1, -1,
2778 -1, 41, 4, 5, -1, 45, 8, 9, 48, -1,
2779 -1, -1, 14, -1, 54, -1, 56, 57, -1, -1,
2780 880, -1, 882, 1253, -1, -1, 28, -1, 30, 889,
2781 70, -1, -1, 893, 36, 895, -1, 897, 898, 899,
2782 80, -1, -1, 45, 904, -1, -1, -1, 88, 1478,
2783 1479, -1, 54, 93, 56, 57, 58, -1, 98, -1,
2784 4, 5, -1, -1, 8, 9, -1, -1, -1, -1,
2785 14, -1, 1371, -1, -1, -1, 936, 4, 938, -1,
2786 940, 941, 942, -1, 28, -1, 30, 14, -1, -1,
2787 -1, 93, 36, -1, 1393, 1394, 23, 24, 7, 8,
2788 9, 45, -1, 30, 31, 14, 33, -1, 35, -1,
2789 54, -1, 56, 57, -1, 42, -1, -1, -1, -1,
2790 -1, -1, 31, -1, 984, -1, -1, 36, 55, -1,
2791 57, -1, -1, -1, -1, -1, 45, 997, 65, -1,
2792 -1, -1, -1, -1, -1, 72, -1, -1, -1, -1,
2793 1010, 60, -1, 1013, -1, -1, -1, 84, -1, -1,
2794 -1, -1, 1022, -1, -1, 3, 4, 5, 6, 7,
2795 8, 9, 1471, -1, -1, 1035, 14, 1407, -1, -1,
2796 -1, -1, -1, -1, -1, 1045, -1, -1, -1, -1,
2797 28, -1, 30, 31, 32, 1055, -1, 1057, 36, -1,
2798 -1, -1, -1, 41, -1, -1, -1, 45, -1, 136,
2799 48, -1, -1, 140, -1, -1, 54, 144, 56, 57,
2800 147, 148, 149, -1, -1, 1085, -1, -1, -1, -1,
2801 1090, 1091, 70, 1093, 161, -1, -1, -1, 165, -1,
2802 -1, -1, 80, -1, 171, 172, -1, -1, -1, -1,
2803 88, -1, -1, -1, -1, 93, -1, -1, -1, -1,
2804 98, -1, 189, 190, 191, -1, 4, 5, -1, 7,
2805 8, 9, -1, -1, 12, -1, 14, -1, 1138, 1139,
2806 1140, 1141, 1142, -1, -1, -1, 1146, -1, -1, -1,
2807 28, 218, 30, 31, -1, -1, -1, -1, 36, -1,
2808 -1, -1, -1, -1, -1, -1, -1, 45, -1, 1169,
2809 1170, 1171, -1, -1, -1, -1, 54, -1, 56, 57,
2810 107, 108, -1, -1, 3, 4, 5, 6, 255, 1,
2811 9, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2812 1200, -1, 14, -1, -1, 1205, -1, 1207, -1, -1,
2813 -1, -1, -1, -1, -1, 27, 28, -1, 30, 31,
2814 32, -1, 41, -1, 36, -1, 293, 294, -1, 41,
2815 -1, -1, 44, 45, 46, 54, 48, 56, 57, -1,
2816 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
2817 -1, 70, -1, -1, -1, -1, 1256, 1257, 70, 1259,
2818 -1, 80, -1, -1, -1, -1, -1, -1, 80, 88,
2819 -1, 338, -1, -1, 93, 342, 88, 344, 345, 346,
2820 -1, 93, -1, -1, 351, -1, 98, -1, 355, -1,
2821 -1, -1, -1, -1, -1, 1295, 1296, 1297, 70, 71,
2822 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2823 82, 83, 84, 1, 1314, 3, 4, 5, 6, 7,
2824 8, 9, 389, -1, -1, -1, 14, -1, -1, -1,
2825 -1, 398, -1, 400, 401, -1, -1, -1, -1, -1,
2826 28, -1, 30, 31, 32, -1, -1, 414, 36, 37,
2827 417, -1, -1, 41, -1, 422, -1, 45, 46, -1,
2828 48, -1, -1, 430, -1, -1, 54, -1, 56, 57,
2829 -1, -1, 60, -1, 62, -1, -1, 3, 4, 5,
2830 6, -1, 70, 9, 3, 4, 5, 6, -1, -1,
2831 9, 458, 80, 460, -1, 462, 463, 464, 325, -1,
2832 88, 468, -1, -1, -1, 93, 473, 1407, -1, 476,
2833 -1, -1, -1, -1, -1, 41, -1, -1, -1, -1,
2834 -1, 109, 41, -1, 491, 492, -1, -1, 54, -1,
2835 56, 57, -1, -1, -1, 54, -1, 56, 57, -1,
2836 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
2837 -1, 70, -1, -1, 80, -1, -1, -1, -1, -1,
2838 -1, 80, 88, 530, 531, 532, 533, 93, -1, 88,
2839 -1, 398, -1, -1, 93, -1, -1, 1477, 1478, 1479,
2840 3, 4, 5, 6, 7, 8, 9, -1, -1, 12,
2841 -1, 14, 3, 4, 5, 6, 1496, -1, 9, -1,
2842 -1, 1501, -1, -1, -1, 28, -1, 30, 31, -1,
2843 -1, -1, -1, 36, -1, -1, -1, -1, 41, -1,
2844 -1, -1, 45, 590, 47, 592, -1, -1, -1, 456,
2845 41, 54, -1, 56, 57, -1, 47, -1, -1, 606,
2846 607, -1, 609, 54, -1, 56, 57, 70, -1, 616,
2847 -1, -1, -1, -1, -1, -1, -1, 80, -1, 70,
2848 -1, -1, 629, -1, -1, 88, -1, 90, 635, 80,
2849 93, 94, -1, -1, -1, -1, -1, 88, -1, 90,
2850 -1, -1, 93, 94, -1, -1, -1, -1, -1, -1,
2851 -1, -1, 659, -1, -1, 522, -1, -1, 525, -1,
2852 667, -1, 529, 530, 531, 532, 533, 674, 675, 676,
2853 677, 678, 679, -1, -1, 542, 73, 74, 75, 76,
2854 77, 78, 79, 80, 81, 82, 83, 84, 555, -1,
2855 -1, -1, -1, -1, 701, -1, -1, -1, 189, 190,
2856 191, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2857 -1, -1, -1, 720, -1, -1, -1, 724, -1, -1,
2858 -1, -1, -1, -1, 731, 732, -1, 734, -1, -1,
2859 4, 5, -1, -1, 8, 9, -1, -1, -1, -1,
2860 14, -1, 609, -1, -1, -1, -1, -1, -1, 616,
2861 -1, -1, -1, -1, 28, 762, 30, -1, 765, -1,
2862 767, -1, 36, -1, -1, 772, 773, 774, -1, -1,
2863 -1, 45, -1, 47, -1, 782, -1, -1, -1, -1,
2864 54, 788, 56, 57, -1, -1, -1, -1, 795, 796,
2865 797, -1, -1, -1, -1, -1, 70, -1, -1, -1,
2866 807, -1, -1, -1, -1, -1, 80, 4, -1, -1,
2867 -1, -1, -1, -1, -1, -1, 90, -1, -1, 93,
2868 94, -1, -1, -1, -1, -1, 3, 4, 5, 6,
2869 7, 8, 9, 30, 31, -1, 33, 14, 35, -1,
2870 -1, -1, -1, -1, -1, 42, -1, -1, -1, -1,
2871 -1, 28, -1, 30, 31, -1, -1, 724, 55, 36,
2872 57, -1, -1, -1, 41, -1, -1, -1, 45, -1,
2873 47, -1, -1, 880, -1, 882, -1, 54, -1, 56,
2874 57, -1, 889, 80, -1, -1, 893, -1, 895, -1,
2875 897, 898, 899, 70, -1, -1, -1, 904, -1, -1,
2876 -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
2877 -1, 88, -1, 90, -1, 782, 93, 94, -1, -1,
2878 -1, 788, -1, -1, -1, -1, -1, -1, -1, 936,
2879 -1, 938, -1, 940, 941, 942, 133, 134, -1, 136,
2880 -1, -1, -1, 140, -1, 142, -1, 144, -1, -1,
2881 147, 148, 149, -1, -1, -1, -1, -1, -1, -1,
2882 -1, -1, -1, -1, 161, -1, -1, 458, 165, 460,
2883 -1, 462, 463, 464, 171, 172, -1, 984, -1, -1,
2884 -1, -1, 473, -1, -1, -1, -1, -1, -1, 856,
2885 997, -1, 189, 190, 191, -1, -1, -1, -1, -1,
2886 -1, 1008, 199, 1010, 4, 5, 1013, -1, 8, 9,
2887 -1, -1, -1, -1, 14, 1022, -1, -1, -1, -1,
2888 -1, 218, 889, -1, -1, -1, -1, -1, 895, -1,
2889 -1, -1, 899, -1, -1, -1, 36, -1, 1045, -1,
2890 -1, -1, -1, -1, -1, 45, -1, 47, 1055, -1,
2891 1057, -1, -1, -1, 54, -1, 56, 57, 255, -1,
2892 -1, -1, -1, 31, -1, -1, -1, -1, -1, 936,
2893 70, 938, -1, -1, -1, 942, -1, -1, 1085, -1,
2894 80, -1, -1, 1090, 1091, -1, 1093, -1, -1, -1,
2895 90, -1, -1, 93, 94, 63, 64, 65, 66, 67,
2896 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2897 78, 79, 80, 81, 82, 83, 84, 984, -1, -1,
2898 -1, -1, -1, -1, -1, -1, -1, -1, 325, -1,
2899 997, 1138, 1139, 1140, 1141, 1142, 1003, -1, -1, 1146,
2900 -1, -1, -1, 1010, -1, 342, 1153, -1, -1, -1,
2901 -1, -1, -1, 350, -1, 1022, -1, -1, 355, -1,
2902 -1, -1, 1169, 1170, 1171, -1, -1, -1, 3, 4,
2903 5, 6, 7, 8, 9, -1, -1, -1, 1185, 14,
2904 -1, -1, -1, -1, -1, -1, -1, -1, 1055, -1,
2905 1057, -1, 389, 1200, -1, -1, 31, -1, 1205, -1,
2906 1207, 36, -1, 400, -1, -1, 41, -1, -1, -1,
2907 45, -1, 47, -1, -1, -1, -1, 414, 1085, 54,
2908 417, 56, 57, -1, -1, 422, -1, -1, -1, -1,
2909 -1, -1, -1, 430, -1, 70, -1, -1, -1, -1,
2910 731, 732, -1, 734, -1, 80, -1, -1, -1, 1256,
2911 1257, -1, 1259, 88, -1, 90, -1, -1, 93, 94,
2912 -1, 458, -1, 460, -1, 462, 463, 464, -1, -1,
2913 -1, 468, -1, -1, -1, 1142, 473, 1284, -1, 476,
2914 -1, 772, -1, 3, 4, 5, 6, -1, 1295, 1296,
2915 1297, -1, -1, -1, -1, 492, -1, -1, -1, -1,
2916 -1, -1, -1, -1, 1171, -1, -1, 1314, 72, 73,
2917 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2918 84, 41, -1, -1, -1, 522, -1, -1, 525, -1,
2919 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
2920 -1, -1, 62, 540, 541, 542, -1, -1, -1, -1,
2921 70, -1, -1, -1, -1, -1, -1, -1, 555, -1,
2922 80, -1, -1, -1, 4, -1, -1, -1, 88, 3,
2923 4, 5, 6, 93, 1, 9, 3, 4, 5, 6,
2924 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2925 30, 31, -1, 33, -1, 35, -1, -1, -1, -1,
2926 1407, 28, 42, 30, 31, -1, 603, 41, -1, 36,
2927 -1, -1, -1, -1, 41, 55, -1, 57, 45, 616,
2928 54, 48, 56, 57, -1, -1, -1, 54, -1, 56,
2929 57, -1, -1, 60, -1, -1, 70, -1, 635, -1,
2930 -1, -1, -1, 70, -1, -1, 80, 1314, -1, 940,
2931 941, 942, -1, 80, 88, -1, -1, -1, -1, 93,
2932 -1, 88, 659, -1, -1, -1, 93, -1, 33, 666,
2933 1477, 1478, 1479, -1, -1, -1, -1, 674, 675, 676,
2934 677, -1, -1, -1, -1, -1, -1, -1, -1, 1496,
2935 55, -1, -1, 984, 1501, -1, 136, -1, -1, -1,
2936 140, -1, -1, -1, 144, -1, -1, 147, 148, 149,
2937 -1, -1, -1, -1, 4, 5, -1, 7, 8, 9,
2938 -1, 161, 1013, 720, 14, 165, -1, 724, -1, -1,
2939 -1, 171, 172, -1, 731, 732, -1, 734, 28, -1,
2940 30, 31, -1, -1, -1, -1, 36, -1, -1, 189,
2941 190, 191, -1, -1, -1, 45, -1, -1, 48, -1,
2942 -1, -1, -1, -1, 54, -1, 56, 57, 765, -1,
2943 767, -1, -1, -1, -1, 772, 773, 774, 218, -1,
2944 -1, -1, 147, 148, 149, 67, 68, 69, 70, 71,
2945 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2946 82, 83, 84, -1, 801, -1, 171, -1, -1, -1,
2947 -1, -1, 1479, -1, -1, 255, -1, -1, -1, -1,
2948 -1, -1, -1, -1, 189, 190, 191, -1, -1, 1496,
2949 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2950 -1, -1, 14, -1, -1, -1, -1, 1138, 1139, 1140,
2951 1141, 1142, -1, 218, -1, 1146, -1, -1, -1, 31,
2952 -1, -1, -1, -1, 36, -1, -1, -1, -1, 41,
2953 -1, -1, -1, 45, -1, 47, -1, -1, 1169, 1170,
2954 1171, -1, 54, -1, 56, 57, 3, 4, 5, 6,
2955 7, 8, 9, -1, -1, -1, -1, 14, 70, -1,
2956 897, 898, 899, -1, -1, -1, 903, -1, 80, 1200,
2957 -1, 351, -1, -1, 31, 355, 88, -1, 90, 36,
2958 -1, 93, 94, -1, 41, -1, -1, -1, 45, 294,
2959 47, -1, -1, -1, -1, -1, -1, 54, -1, 56,
2960 57, -1, -1, 940, 941, 942, -1, -1, -1, -1,
2961 947, -1, -1, 70, -1, -1, -1, -1, -1, -1,
2962 400, -1, -1, 80, -1, 1256, 1257, -1, 1259, -1,
2963 -1, 88, -1, -1, 414, -1, 93, 417, -1, 344,
2964 345, 346, 422, -1, -1, -1, -1, 984, -1, -1,
2965 430, -1, 3, 4, 5, 6, -1, 4, 5, -1,
2966 -1, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2967 -1, -1, -1, -1, -1, -1, 1013, -1, 458, -1,
2968 460, -1, 462, 463, 464, -1, -1, -1, 468, 36,
2969 41, -1, -1, 473, -1, 400, 476, 1034, 45, -1,
2970 47, -1, -1, 54, -1, 56, 57, 54, 1045, 56,
2971 57, 62, 492, -1, -1, -1, -1, -1, -1, 70,
2972 -1, -1, -1, 70, -1, -1, -1, -1, -1, 80,
2973 -1, -1, -1, 80, -1, -1, -1, 88, 82, -1,
2974 -1, -1, 93, 90, -1, -1, 93, 94, -1, -1,
2975 -1, -1, -1, 458, -1, 460, -1, 462, 463, 464,
2976 -1, -1, -1, 468, -1, -1, -1, -1, 473, -1,
2977 -1, 476, -1, -1, -1, -1, 1407, -1, -1, -1,
2978 1117, -1, -1, -1, -1, -1, -1, 3, 4, 5,
2979 6, 7, 8, 9, -1, -1, -1, -1, 14, -1,
2980 -1, 1138, 1139, 1140, 1141, 1142, -1, 1144, -1, 1146,
2981 -1, 155, 28, -1, 30, 31, -1, -1, -1, -1,
2982 36, -1, -1, -1, 604, 41, -1, -1, -1, 45,
2983 -1, -1, 1169, 1170, 1171, -1, -1, -1, 54, -1,
2984 56, 57, -1, 187, 60, -1, 1477, 1478, 1479, -1,
2985 -1, -1, -1, -1, 70, 635, 200, 4, 5, -1,
2986 7, 8, 9, 1200, 80, 12, -1, 14, 1205, -1,
2987 1207, -1, 88, -1, -1, -1, -1, 93, -1, -1,
2988 -1, 28, -1, 30, 31, -1, -1, 592, -1, 36,
2989 -1, -1, -1, -1, 674, 675, 676, 677, 45, -1,
2990 -1, 606, 607, -1, 609, -1, 55, 54, -1, 56,
2991 57, 616, -1, -1, -1, 4, -1, -1, -1, 1256,
2992 1257, -1, 1259, -1, -1, -1, -1, -1, -1, -1,
2993 635, 80, -1, -1, 83, 3, 4, 5, 6, -1,
2994 720, 30, 31, -1, 724, -1, 35, -1, -1, -1,
2995 -1, 731, 732, 42, 734, 104, -1, 106, 1295, 1296,
2996 1297, -1, -1, -1, -1, -1, -1, -1, 57, 674,
2997 -1, 676, 677, 41, 679, -1, -1, -1, -1, -1,
2998 -1, 3, 4, 5, 6, 765, 54, 767, 56, 57,
2999 -1, -1, 772, 773, 774, -1, -1, -1, -1, -1,
3000 -1, -1, 70, -1, -1, -1, -1, -1, 3, 4,
3001 5, 6, 80, -1, 9, 720, -1, -1, -1, 41,
3002 88, -1, 171, -1, -1, 93, 731, 732, -1, 734,
3003 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3004 189, 190, 191, -1, -1, -1, 41, 136, 70, -1,
3005 199, 140, -1, -1, -1, 144, -1, -1, 80, 54,
3006 -1, 56, 57, -1, -1, -1, 88, 772, -1, 218,
3007 1407, 93, 161, -1, -1, 70, 165, -1, 3, 4,
3008 5, 6, -1, 172, 9, 80, -1, -1, -1, -1,
3009 795, 796, 797, 88, -1, 244, -1, -1, 93, -1,
3010 189, 190, 807, -1, -1, -1, -1, -1, -1, 258,
3011 -1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
3012 -1, -1, 466, -1, 904, -1, -1, 471, -1, 54,
3013 -1, 56, 57, -1, -1, -1, 3, 4, 5, 6,
3014 1477, 1478, 1479, -1, -1, 70, -1, -1, -1, -1,
3015 -1, -1, 496, -1, -1, 80, -1, -1, 502, -1,
3016 940, 941, 942, 88, 1501, -1, 255, -1, 93, -1,
3017 514, 515, -1, 517, 41, 880, -1, 882, -1, -1,
3018 -1, -1, -1, -1, -1, -1, -1, 54, 893, 56,
3019 57, -1, 897, 898, 899, 62, -1, -1, -1, -1,
3020 -1, 350, 351, 70, 984, -1, -1, -1, -1, -1,
3021 -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
3022 -1, 88, -1, -1, -1, -1, 93, -1, -1, -1,
3023 -1, -1, -1, 1013, -1, 940, 941, 942, -1, -1,
3024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3025 -1, 400, -1, 3, 4, 5, 6, 7, 8, 9,
3026 -1, -1, 12, -1, 14, 1045, 355, -1, 612, 613,
3027 -1, -1, -1, 617, -1, -1, -1, -1, 28, 984,
3028 30, 31, -1, -1, -1, -1, 36, -1, -1, -1,
3029 -1, 41, -1, -1, -1, 45, -1, 3, 4, 5,
3030 6, -1, -1, 9, 54, -1, 56, 57, 1013, 458,
3031 -1, 460, -1, 462, 463, 464, -1, -1, -1, 468,
3032 70, -1, -1, -1, 473, 414, -1, 476, 417, -1,
3033 80, -1, -1, 422, -1, 41, -1, -1, 88, -1,
3034 -1, 430, -1, 93, -1, -1, -1, -1, 54, -1,
3035 56, 57, -1, -1, 3, 4, 5, 6, 1138, 1139,
3036 1140, 1141, 1142, -1, 70, -1, 1146, -1, -1, 458,
3037 -1, 460, -1, -1, 80, -1, -1, -1, -1, -1,
3038 -1, -1, 88, -1, 473, 1090, 1091, 93, 1093, 1169,
3039 1170, 1171, 41, -1, -1, -1, -1, -1, -1, -1,
3040 -1, -1, -1, 492, -1, 54, -1, 56, 57, -1,
3041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3042 1200, 70, -1, -1, -1, 1205, -1, 1207, -1, -1,
3043 -1, 80, -1, 1138, 1139, 1140, 1141, 1142, -1, 88,
3044 -1, 1146, -1, -1, 93, 789, -1, 791, -1, -1,
3045 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
3046 7, 8, 9, -1, 1169, 1170, 1171, 14, -1, -1,
3047 619, 620, -1, -1, -1, -1, 1256, 1257, -1, 1259,
3048 -1, 28, -1, 30, 31, -1, 635, -1, -1, 36,
3049 -1, -1, -1, -1, 41, 1200, -1, -1, 45, -1,
3050 -1, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3051 57, -1, -1, 60, -1, 1295, 1296, 1297, -1, 863,
3052 864, -1, 866, 70, -1, 674, -1, 676, 677, -1,
3053 -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
3054 -1, 88, -1, 4, 5, -1, 93, 8, 9, -1,
3055 894, 1256, 1257, 14, 1259, -1, -1, -1, -1, -1,
3056 -1, 3, 4, 5, 6, -1, -1, 28, -1, 30,
3057 -1, 720, -1, -1, -1, 36, -1, -1, -1, -1,
3058 -1, -1, 731, 732, 45, 734, 675, -1, -1, -1,
3059 1295, -1, 1297, 54, -1, 56, 57, -1, -1, 41,
3060 944, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3061 759, -1, 54, -1, 56, 57, -1, -1, -1, -1,
3062 -1, -1, -1, 772, -1, -1, -1, 1407, 70, 4,
3063 5, -1, 7, 8, 9, 724, -1, -1, 80, 14,
3064 -1, -1, 731, 732, -1, 734, 88, -1, -1, -1,
3065 -1, 93, -1, 28, -1, 30, 31, -1, -1, -1,
3066 -1, 36, -1, -1, -1, 1009, -1, -1, -1, -1,
3067 45, -1, -1, -1, -1, -1, 765, 1021, 767, 54,
3068 -1, 56, 57, 772, 773, 774, -1, -1, -1, -1,
3069 -1, -1, -1, -1, -1, -1, 14, 1477, 1478, 1479,
3070 -1, -1, 1407, -1, -1, 23, 24, -1, -1, -1,
3071 -1, -1, 30, 31, -1, 33, -1, -1, -1, -1,
3072 -1, 1501, -1, -1, -1, -1, -1, -1, -1, -1,
3073 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3074 -1, -1, -1, -1, 14, -1, -1, 65, -1, -1,
3075 -1, -1, -1, -1, 903, 904, 905, -1, 28, -1,
3076 30, 31, 1106, -1, -1, -1, 36, -1, -1, -1,
3077 -1, 41, 1477, 1478, 1479, 45, -1, -1, -1, -1,
3078 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
3079 -1, 940, 941, 942, -1, -1, 1501, -1, 947, -1,
3080 70, 1145, -1, -1, -1, -1, 124, -1, 126, -1,
3081 80, -1, -1, -1, -1, 133, 134, -1, 88, -1,
3082 -1, -1, 140, 93, 142, 143, 144, -1, 146, 147,
3083 148, 149, -1, -1, -1, 984, 71, 72, 73, 74,
3084 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3085 -1, 940, 941, 1, -1, 3, 4, 5, 6, 7,
3086 8, 9, -1, -1, 1013, 1209, 14, -1, -1, 1213,
3087 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3088 28, -1, 30, 31, 32, 1034, -1, -1, 36, 37,
3089 -1, -1, -1, 41, -1, -1, -1, 45, 46, -1,
3090 48, -1, -1, -1, 1248, -1, 54, -1, 56, 57,
3091 -1, -1, 60, -1, 62, 233, 234, -1, -1, -1,
3092 -1, -1, 70, -1, 1013, -1, -1, -1, -1, -1,
3093 -1, -1, 80, -1, -1, -1, -1, 255, -1, -1,
3094 88, -1, -1, -1, -1, 93, -1, -1, -1, -1,
3095 -1, -1, -1, -1, -1, -1, 1045, -1, -1, -1,
3096 -1, 109, -1, -1, -1, -1, -1, -1, 1117, -1,
3097 -1, -1, -1, -1, -1, -1, 294, -1, 1322, -1,
3098 -1, -1, 1326, -1, -1, -1, -1, -1, -1, 1138,
3099 1139, 1140, 1141, 1142, -1, 1144, -1, 1146, -1, -1,
3100 -1, -1, -1, -1, 1348, 1349, -1, -1, -1, -1,
3101 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3102 1169, 1170, 1171, -1, 342, -1, 344, 345, 68, 69,
3103 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3104 80, 81, 82, 83, 84, -1, -1, -1, -1, 1138,
3105 1139, 1200, -1, -1, -1, -1, -1, 1146, -1, -1,
3106 -1, -1, -1, -1, -1, -1, -1, -1, -1, 12,
3107 -1, 389, 69, 70, 71, 72, 73, 74, 75, 76,
3108 77, 78, 79, 80, 81, 82, 83, 84, -1, 407,
3109 -1, -1, -1, -1, -1, -1, 414, -1, -1, 417,
3110 -1, -1, -1, -1, 422, -1, -1, 1256, 1257, -1,
3111 1259, 1200, -1, -1, -1, -1, 1205, -1, 1207, 62,
3112 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3113 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3114 83, 84, -1, -1, -1, -1, 1295, -1, 1297, -1,
3115 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
3116 8, 9, -1, -1, 12, -1, 14, 1256, 1257, -1,
3117 1259, 489, -1, 491, -1, -1, -1, 25, -1, 27,
3118 -1, -1, -1, 31, -1, -1, -1, -1, 36, -1,
3119 -1, -1, -1, 41, -1, -1, -1, 45, 516, 47,
3120 -1, -1, -1, -1, -1, -1, 54, 1296, 56, 57,
3121 58, 59, 60, -1, 62, 63, 64, 65, 66, 67,
3122 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3123 78, 79, 80, 81, 82, 83, 84, -1, 86, 87,
3124 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
3125 -1, -1, -1, -1, 102, -1, -1, -1, 1407, 107,
3126 108, 109, -1, 111, 1, -1, 3, 4, 5, 6,
3127 7, 8, 9, -1, 592, -1, -1, 14, -1, -1,
3128 -1, -1, -1, -1, -1, 603, 604, -1, 606, 607,
3129 -1, 28, -1, 30, 31, 32, -1, -1, -1, 36,
3130 -1, -1, -1, -1, 41, -1, -1, -1, 45, 46,
3131 -1, 48, -1, -1, -1, -1, -1, 54, -1, 56,
3132 57, -1, -1, 60, -1, 62, -1, -1, 1477, 1478,
3133 1479, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3134 -1, 659, -1, 80, -1, -1, -1, -1, 666, 667,
3135 -1, 88, 1501, -1, -1, -1, 93, -1, -1, -1,
3136 678, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3137 10, 11, 12, 13, 14, -1, -1, -1, -1, -1,
3138 -1, -1, -1, 701, -1, -1, -1, -1, 28, 29,
3139 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3140 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3141 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3142 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3143 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3144 80, 759, -1, -1, 762, -1, 86, 87, 88, -1,
3145 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
3146 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3147 110, -1, -1, -1, -1, -1, -1, 795, 796, 797,
3148 -1, -1, -1, -1, -1, -1, -1, -1, -1, 807,
3149 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3150 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3151 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3152 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3153 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3154 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3155 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3156 70, -1, 880, -1, 882, -1, -1, -1, 78, 79,
3157 80, -1, -1, -1, -1, 893, 86, 87, 88, -1,
3158 -1, -1, -1, 93, -1, 95, -1, -1, -1, -1,
3159 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
3160 110, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3161 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3162 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3163 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3164 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3165 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3166 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3167 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3168 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3169 1008, -1, -1, 93, -1, 95, -1, -1, -1, -1,
3170 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3171 110, -1, -1, -1, -1, -1, -1, 1035, 63, 64,
3172 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3173 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3175 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3176 10, 11, 12, 13, 14, -1, 111, -1, -1, -1,
3177 -1, -1, 1090, 1091, -1, 1093, -1, -1, 28, 29,
3178 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3179 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3180 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3181 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3182 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3183 80, -1, -1, -1, -1, 1153, 86, 87, 88, -1,
3184 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
3185 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3186 110, -1, -1, -1, -1, -1, 1, 1185, 3, 4,
3187 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3188 -1, -1, -1, -1, -1, 1203, -1, 1205, -1, -1,
3189 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3190 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3191 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3192 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3193 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3194 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3195 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3196 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3197 14, -1, -1, 108, -1, 110, -1, -1, -1, -1,
3198 -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
3199 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3200 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3201 54, -1, 56, 57, 58, -1, 60, 61, -1, -1,
3202 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3203 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3204 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3205 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3206 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3207 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3208 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3209 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3210 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3211 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3212 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3213 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3214 93, 94, 1, -1, 3, 4, 5, 6, -1, 8,
3215 9, 10, 11, -1, 13, 14, 109, 110, -1, -1,
3216 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3217 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3218 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3219 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3220 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3221 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3222 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3223 -1, -1, -1, -1, 93, 94, 1, -1, 3, 4,
3224 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3225 -1, 110, -1, -1, -1, -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, 3,
3233 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3234 14, -1, -1, -1, 109, 110, -1, -1, -1, -1,
3235 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3236 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3237 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3238 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3239 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3240 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3241 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3242 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3243 13, 14, -1, -1, -1, 109, 110, -1, -1, -1,
3244 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3245 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3246 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3247 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3248 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3249 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3250 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3251 93, -1, 1, -1, 3, 4, 5, 6, 101, 8,
3252 9, 10, 11, -1, 13, 14, -1, 110, -1, -1,
3253 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3254 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3255 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3256 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3257 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3258 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3259 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3260 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3261 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3262 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3263 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3264 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3265 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3266 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3267 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3268 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3269 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3270 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3271 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3272 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3273 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3274 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3275 57, -1, -1, -1, 61, 62, -1, -1, -1, -1,
3276 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3277 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3278 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3279 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3280 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3281 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3282 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3283 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3284 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3285 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3286 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3287 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3288 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3289 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3290 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3291 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3292 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3293 -1, 56, 57, -1, -1, 60, 61, -1, -1, -1,
3294 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3295 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3296 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3297 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3298 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3299 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3300 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3301 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3302 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3303 -1, -1, -1, 67, 1, -1, 70, 4, 5, -1,
3304 -1, 8, 9, -1, 78, 79, 80, 14, -1, -1,
3305 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3306 -1, 28, -1, 30, -1, -1, -1, -1, -1, 36,
3307 -1, 38, 39, -1, 108, -1, 110, -1, 45, -1,
3308 47, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3309 57, -1, 59, -1, -1, -1, 63, 64, 65, 66,
3310 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3311 77, 78, 79, 80, 81, 82, 83, -1, -1, 86,
3312 87, 88, -1, -1, 91, -1, 1, 94, 3, 4,
3313 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3314 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3315 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3316 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3317 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3318 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3319 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3320 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3321 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3322 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3323 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3324 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3325 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3326 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3327 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3328 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3329 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3330 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3331 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3332 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3333 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3334 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3335 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3336 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3337 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3338 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3339 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3340 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3341 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3342 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3343 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3344 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3345 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3346 67, -1, 1, 70, 3, 4, 5, 6, 7, 8,
3347 9, 78, 79, 80, -1, 14, -1, -1, -1, 86,
3348 87, 88, -1, -1, -1, -1, 93, -1, -1, 28,
3349 -1, 30, 31, 32, -1, -1, -1, 36, 37, -1,
3350 -1, -1, 41, 110, 111, -1, 45, 46, -1, 48,
3351 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3352 -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
3353 -1, 70, 1, -1, 3, 4, 5, 6, 7, 8,
3354 9, 80, -1, -1, -1, 14, -1, -1, -1, 88,
3355 -1, -1, -1, -1, 93, -1, -1, -1, -1, 28,
3356 -1, 30, 31, 32, -1, -1, -1, 36, 37, -1,
3357 109, -1, 41, -1, -1, -1, 45, 46, -1, 48,
3358 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3359 -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
3360 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
3361 -1, 80, -1, -1, -1, -1, -1, -1, -1, 88,
3362 -1, -1, -1, -1, 93, -1, -1, 3, 4, 5,
3363 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3364 109, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3365 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3366 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3367 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3368 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3369 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3370 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3371 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3372 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3373 -1, -1, -1, 109, 110, 3, 4, 5, 6, 7,
3374 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3375 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3376 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3377 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
3378 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3379 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3380 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3381 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3382 88, -1, -1, -1, -1, 93, -1, 95, -1, 3,
3383 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3384 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
3385 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3386 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3387 44, 45, 46, -1, -1, 49, 50, 51, 52, 53,
3388 54, -1, 56, 57, 58, -1, 60, 61, -1, -1,
3389 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3390 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3391 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3392 -1, 95, -1, 3, 4, 5, 6, 7, 8, 9,
3393 10, 11, -1, 13, 14, 15, 110, 17, 18, 19,
3394 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3395 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3396 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3397 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3398 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3399 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3400 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3401 -1, -1, -1, 93, -1, 95, 3, 4, 5, 6,
3402 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3403 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3404 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3405 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3406 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3407 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3408 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3409 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3410 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3411 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3412 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3413 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3414 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3415 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3416 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3417 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3418 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3419 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3420 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3421 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3422 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3423 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3424 43, -1, 45, -1, 47, -1, 49, 50, 51, 52,
3425 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3426 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3427 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3428 -1, -1, -1, 86, 87, 88, -1, 90, -1, -1,
3429 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3430 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3431 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3432 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3433 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
3434 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3435 -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3436 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3437 -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
3438 -1, -1, 93, 94, 3, 4, 5, 6, -1, 8,
3439 9, 10, 11, -1, 13, 14, -1, -1, -1, 110,
3440 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3441 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3442 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3443 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3444 -1, 60, 61, -1, -1, -1, -1, -1, 67, -1,
3445 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3446 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3447 -1, -1, -1, -1, 93, 3, 4, 5, 6, 7,
3448 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3449 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3450 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3451 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3452 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3453 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3454 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3455 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3456 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3457 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3458 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3459 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3460 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3461 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3462 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3463 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3464 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3465 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3466 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3467 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3468 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3469 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3470 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3471 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3472 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3473 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3474 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3475 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3476 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3477 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3478 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3479 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3480 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3481 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3482 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3483 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3484 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3485 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3486 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3487 54, -1, 56, 57, 58, -1, -1, -1, -1, -1,
3488 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3489 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3490 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3491 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3492 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3493 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3494 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3495 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3496 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3497 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3498 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3499 88, -1, -1, -1, -1, 93, 94, 3, 4, 5,
3500 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3501 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3502 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3503 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3504 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3505 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3506 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3507 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3508 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3509 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3510 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3511 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3512 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3513 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3514 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3515 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3516 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3517 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3518 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3519 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3520 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3521 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3522 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3523 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3524 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3525 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3526 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3527 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3528 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3529 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3530 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3531 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3532 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3533 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3534 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3535 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3536 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3537 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3538 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3539 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3540 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3541 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3542 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3543 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3544 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3545 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3546 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3547 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3548 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3549 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3550 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3551 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3552 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3553 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3554 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3555 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3556 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3557 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3558 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3559 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3560 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3561 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3562 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3563 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3564 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3565 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3566 -1, -1, -1, 67, -1, -1, 70, 3, 4, 5,
3567 6, 7, 8, 9, 78, 79, 80, -1, 14, -1,
3568 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3569 -1, -1, 28, -1, 30, 31, -1, -1, -1, -1,
3570 36, -1, -1, -1, -1, 41, 110, -1, -1, 45,
3571 -1, -1, -1, -1, -1, -1, -1, -1, 54, -1,
3572 56, 57, -1, -1, -1, -1, 62, -1, -1, -1,
3573 -1, -1, -1, -1, 70, 3, 4, 5, 6, 7,
3574 8, 9, -1, -1, 80, -1, 14, -1, -1, -1,
3575 -1, -1, 88, -1, -1, -1, -1, 93, -1, -1,
3576 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
3577 -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
3578 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3579 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3580 73, 74, 70, 76, 77, 78, 79, 80, 81, 82,
3581 83, 84, 80, -1, -1, -1, -1, -1, -1, -1,
3582 88, -1, -1, -1, -1, 93, 63, 64, 65, 66,
3583 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3584 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
3585 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3586 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
3587 107, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3588 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3589 82, 83, 84, 62, 63, 64, 65, 66, 67, 68,
3590 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3591 79, 80, 81, 82, 83, 84, 63, 64, 65, 66,
3592 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3593 77, 78, 79, 80, 81, 82, 83, 84
3595 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3596 #line 3 "/usr/lib/bison.simple"
3598 /* Skeleton output parser for bison,
3599 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3601 This program is free software; you can redistribute it and/or modify
3602 it under the terms of the GNU General Public License as published by
3603 the Free Software Foundation; either version 2, or (at your option)
3606 This program is distributed in the hope that it will be useful,
3607 but WITHOUT ANY WARRANTY; without even the implied warranty of
3608 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3609 GNU General Public License for more details.
3611 You should have received a copy of the GNU General Public License
3612 along with this program; if not, write to the Free Software
3613 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3615 /* As a special exception, when this file is copied by Bison into a
3616 Bison output file, you may use that output file without restriction.
3617 This special exception was added by the Free Software Foundation
3618 in version 1.24 of Bison. */
3622 #define alloca __builtin_alloca
3623 #else /* not GNU C. */
3624 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3626 #else /* not sparc */
3627 #if defined (MSDOS) && !defined (__TURBOC__)
3629 #else /* not MSDOS, or __TURBOC__ */
3633 #else /* not MSDOS, __TURBOC__, or _AIX */
3637 void *alloca (unsigned int);
3639 #else /* not __cplusplus */
3641 #endif /* not __cplusplus */
3643 #endif /* not _AIX */
3644 #endif /* not MSDOS, or __TURBOC__ */
3645 #endif /* not sparc. */
3646 #endif /* not GNU C. */
3647 #endif /* alloca not defined. */
3649 /* This is the parser code that is written into each bison parser
3650 when the %semantic_parser declaration is not specified in the grammar.
3651 It was written by Richard Stallman by simplifying the hairy parser
3652 used when %semantic_parser is specified. */
3654 /* Note: there must be only one dollar sign in this file.
3655 It is replaced by the list of actions, each action
3656 as one case of the switch. */
3658 #define yyerrok (yyerrstatus = 0)
3659 #define yyclearin (yychar = YYEMPTY)
3662 #define YYACCEPT return(0)
3663 #define YYABORT return(1)
3664 #define YYERROR goto yyerrlab1
3665 /* Like YYERROR except do call yyerror.
3666 This remains here temporarily to ease the
3667 transition to the new meaning of YYERROR, for GCC.
3668 Once GCC version 2 has supplanted version 1, this can go. */
3669 #define YYFAIL goto yyerrlab
3670 #define YYRECOVERING() (!!yyerrstatus)
3671 #define YYBACKUP(token, value) \
3673 if (yychar == YYEMPTY && yylen == 1) \
3674 { yychar = (token), yylval = (value); \
3675 yychar1 = YYTRANSLATE (yychar); \
3680 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3684 #define YYERRCODE 256
3687 #define YYLEX yylex()
3693 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3695 #define YYLEX yylex(&yylval, &yylloc)
3697 #else /* not YYLSP_NEEDED */
3699 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3701 #define YYLEX yylex(&yylval)
3703 #endif /* not YYLSP_NEEDED */
3706 /* If nonreentrant, generate the variables here */
3710 int yychar
; /* the lookahead symbol */
3711 YYSTYPE yylval
; /* the semantic value of the */
3712 /* lookahead symbol */
3715 YYLTYPE yylloc
; /* location data for the lookahead */
3719 int yynerrs
; /* number of parse errors so far */
3720 #endif /* not YYPURE */
3723 int yydebug
; /* nonzero means print parse trace */
3724 /* Since this is uninitialized, it does not stop multiple parsers
3728 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3731 #define YYINITDEPTH 200
3734 /* YYMAXDEPTH is the maximum size the stacks can grow to
3735 (effective only if the built-in stack extension method is used). */
3742 #define YYMAXDEPTH 10000
3745 /* Prevent warning if -Wstrict-prototypes. */
3750 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3751 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3752 #else /* not GNU C or C++ */
3755 /* This is the most reliable way to avoid incompatibilities
3756 in available built-in functions on various systems. */
3758 __yy_memcpy (to
, from
, count
)
3763 register char *f
= from
;
3764 register char *t
= to
;
3765 register int i
= count
;
3771 #else /* __cplusplus */
3773 /* This is the most reliable way to avoid incompatibilities
3774 in available built-in functions on various systems. */
3776 __yy_memcpy (char *to
, char *from
, int count
)
3778 register char *f
= from
;
3779 register char *t
= to
;
3780 register int i
= count
;
3789 #line 196 "/usr/lib/bison.simple"
3791 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3792 into yyparse. The argument should have type void *.
3793 It should actually point to an object.
3794 Grammar actions can access the variable by casting it
3795 to the proper pointer type. */
3797 #ifdef YYPARSE_PARAM
3799 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3800 #define YYPARSE_PARAM_DECL
3801 #else /* not __cplusplus */
3802 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3803 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3804 #endif /* not __cplusplus */
3805 #else /* not YYPARSE_PARAM */
3806 #define YYPARSE_PARAM_ARG
3807 #define YYPARSE_PARAM_DECL
3808 #endif /* not YYPARSE_PARAM */
3811 yyparse(YYPARSE_PARAM_ARG
)
3814 register int yystate
;
3816 register short *yyssp
;
3817 register YYSTYPE
*yyvsp
;
3818 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3819 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3821 short yyssa
[YYINITDEPTH
]; /* the state stack */
3822 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3824 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3825 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3828 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3829 YYLTYPE
*yyls
= yylsa
;
3832 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3834 #define YYPOPSTACK (yyvsp--, yyssp--)
3837 int yystacksize
= YYINITDEPTH
;
3848 YYSTYPE yyval
; /* the variable used to return */
3849 /* semantic values from the action */
3856 fprintf(stderr
, "Starting parse\n");
3862 yychar
= YYEMPTY
; /* Cause a token to be read. */
3864 /* Initialize stack pointers.
3865 Waste one element of value and location stack
3866 so that they stay on the same level as the state stack.
3867 The wasted elements are never initialized. */
3875 /* Push a new state, which is found in yystate . */
3876 /* In all cases, when you get here, the value and location stacks
3877 have just been pushed. so pushing a state here evens the stacks. */
3882 if (yyssp
>= yyss
+ yystacksize
- 1)
3884 /* Give user a chance to reallocate the stack */
3885 /* Use copies of these so that the &'s don't force the real ones into memory. */
3886 YYSTYPE
*yyvs1
= yyvs
;
3887 short *yyss1
= yyss
;
3889 YYLTYPE
*yyls1
= yyls
;
3892 /* Get the current used size of the three stacks, in elements. */
3893 int size
= yyssp
- yyss
+ 1;
3896 /* Each stack pointer address is followed by the size of
3897 the data in use in that stack, in bytes. */
3899 /* This used to be a conditional around just the two extra args,
3900 but that might be undefined if yyoverflow is a macro. */
3901 yyoverflow("parser stack overflow",
3902 &yyss1
, size
* sizeof (*yyssp
),
3903 &yyvs1
, size
* sizeof (*yyvsp
),
3904 &yyls1
, size
* sizeof (*yylsp
),
3907 yyoverflow("parser stack overflow",
3908 &yyss1
, size
* sizeof (*yyssp
),
3909 &yyvs1
, size
* sizeof (*yyvsp
),
3913 yyss
= yyss1
; yyvs
= yyvs1
;
3917 #else /* no yyoverflow */
3918 /* Extend the stack our own way. */
3919 if (yystacksize
>= YYMAXDEPTH
)
3921 yyerror("parser stack overflow");
3925 if (yystacksize
> YYMAXDEPTH
)
3926 yystacksize
= YYMAXDEPTH
;
3927 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3928 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3929 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3930 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3932 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3933 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3935 #endif /* no yyoverflow */
3937 yyssp
= yyss
+ size
- 1;
3938 yyvsp
= yyvs
+ size
- 1;
3940 yylsp
= yyls
+ size
- 1;
3945 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3948 if (yyssp
>= yyss
+ yystacksize
- 1)
3954 fprintf(stderr
, "Entering state %d\n", yystate
);
3960 /* Do appropriate processing given the current state. */
3961 /* Read a lookahead token if we need one and don't already have one. */
3964 /* First try to decide what to do without reference to lookahead token. */
3966 yyn
= yypact
[yystate
];
3970 /* Not known => get a lookahead token if don't already have one. */
3972 /* yychar is either YYEMPTY or YYEOF
3973 or a valid token in external form. */
3975 if (yychar
== YYEMPTY
)
3979 fprintf(stderr
, "Reading a token: ");
3984 /* Convert token to internal form (in yychar1) for indexing tables with */
3986 if (yychar
<= 0) /* This means end of input. */
3989 yychar
= YYEOF
; /* Don't call YYLEX any more */
3993 fprintf(stderr
, "Now at end of input.\n");
3998 yychar1
= YYTRANSLATE(yychar
);
4003 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
4004 /* Give the individual parser a way to print the precise meaning
4005 of a token, for further debugging info. */
4007 YYPRINT (stderr
, yychar
, yylval
);
4009 fprintf (stderr
, ")\n");
4015 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
4020 /* yyn is what to do for this token type in this state.
4021 Negative => reduce, -yyn is rule number.
4022 Positive => shift, yyn is new state.
4023 New state is final state => don't bother to shift,
4024 just return success.
4025 0, or most negative number => error. */
4040 /* Shift the lookahead token. */
4044 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
4047 /* Discard the token being shifted unless it is eof. */
4048 if (yychar
!= YYEOF
)
4056 /* count tokens shifted since error; after three, turn off error status. */
4057 if (yyerrstatus
) yyerrstatus
--;
4062 /* Do the default action for the current state. */
4065 yyn
= yydefact
[yystate
];
4069 /* Do a reduction. yyn is the number of a rule to reduce with. */
4073 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
4080 fprintf (stderr
, "Reducing via rule %d (line %d), ",
4083 /* Print the symbols being reduced, and their result. */
4084 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
4085 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
4086 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4095 { finish_translation_unit (); ;
4099 { yyval
.ttype
= NULL_TREE
; ;
4103 { yyval
.ttype
= NULL_TREE
; ;
4107 { yyval
.ttype
= NULL_TREE
; ;
4111 { have_extern_spec
= 1;
4112 used_extern_spec
= 0;
4113 yyval
.ttype
= NULL_TREE
; ;
4117 { have_extern_spec
= 0; ;
4121 { yyval
.itype
= pedantic
;
4126 { if (pending_lang_change
) do_pending_lang_change(); ;
4130 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4131 pop_everything (); ;
4135 { if (pending_inlines
) do_pending_inlines (); ;
4139 { if (pending_inlines
) do_pending_inlines (); ;
4143 { if (pending_inlines
) do_pending_inlines (); ;
4147 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4148 assemble_asm (yyvsp
[-2].ttype
); ;
4152 { pop_lang_context (); ;
4156 { if (pending_inlines
) do_pending_inlines ();
4157 pop_lang_context (); ;
4161 { if (pending_inlines
) do_pending_inlines ();
4162 pop_lang_context (); ;
4166 { push_namespace (yyvsp
[-1].ttype
); ;
4170 { pop_namespace (); ;
4174 { push_namespace (NULL_TREE
); ;
4178 { pop_namespace (); ;
4182 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4186 { pedantic
= yyvsp
[-1].itype
; ;
4190 { begin_only_namespace_names (); ;
4195 end_only_namespace_names ();
4197 yyvsp
[-1].ttype
= lastiddecl
;
4198 do_namespace_alias (yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
4203 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4207 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4211 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4215 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4219 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
); ;
4223 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4227 { begin_only_namespace_names (); ;
4232 end_only_namespace_names ();
4233 /* If no declaration was found, the using-directive is
4234 invalid. Since that was not reported, we need the
4235 identifier for the error message. */
4236 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4237 yyvsp
[-1].ttype
= lastiddecl
;
4238 do_using_directive (yyvsp
[-1].ttype
);
4244 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4245 yyval
.ttype
= lastiddecl
;
4246 got_scope
= yyval
.ttype
;
4252 yyval
.ttype
= yyvsp
[-1].ttype
;
4253 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4254 yyval
.ttype
= lastiddecl
;
4255 got_scope
= yyval
.ttype
;
4260 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4264 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4268 { push_lang_context (yyvsp
[0].ttype
); ;
4272 { if (current_lang_name
!= yyvsp
[0].ttype
)
4273 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4274 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4278 { begin_template_parm_list (); ;
4282 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4286 { begin_specialization();
4287 yyval
.ttype
= NULL_TREE
; ;
4291 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4295 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4299 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4303 { yyval
.ttype
= NULL_TREE
; ;
4307 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4311 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4315 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4319 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4323 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4327 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4331 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4335 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4340 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4341 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4342 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4344 error ("invalid default template argument");
4345 yyvsp
[0].ttype
= error_mark_node
;
4347 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4352 { finish_template_decl (yyvsp
[-1].ttype
); ;
4356 { finish_template_decl (yyvsp
[-1].ttype
); ;
4360 { if (pending_inlines
) do_pending_inlines (); ;
4364 { if (pending_inlines
) do_pending_inlines (); ;
4368 { if (pending_inlines
) do_pending_inlines (); ;
4372 { if (pending_inlines
) do_pending_inlines ();
4373 pop_lang_context (); ;
4377 { if (pending_inlines
) do_pending_inlines ();
4378 pop_lang_context (); ;
4382 { pedantic
= yyvsp
[-1].itype
; ;
4390 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4394 { maybe_process_partial_specialization (yyvsp
[-1].ftype
.t
);
4395 note_got_semicolon (yyvsp
[-1].ftype
.t
); ;
4403 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4407 { pedwarn ("empty declaration"); ;
4413 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4415 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4420 { yyval
.itype
= 0; ;
4424 { yyval
.itype
= 1; ;
4428 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4440 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4444 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4448 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4449 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4454 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4458 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4462 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4463 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4468 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4472 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4476 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4477 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4482 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4486 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4490 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4491 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4496 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4501 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4506 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4511 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4516 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4521 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4525 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4529 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4533 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4537 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4538 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4542 if (yychar
== YYEMPTY
)
4544 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4548 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4552 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4553 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4557 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4558 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4562 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4566 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4567 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4571 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4576 if (! current_function_parms_stored
)
4577 store_parm_decls ();
4578 yyval
.ttype
= yyvsp
[0].ttype
;
4583 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4587 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4591 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4596 if (yyvsp
[0].itype
== 0)
4597 error ("no base initializers given following ':'");
4599 /* Always keep the BLOCK node associated with the outermost
4600 pair of curley braces of a function. These are needed
4601 for correct operation of dwarfout.c. */
4608 if (! current_function_parms_stored
)
4609 store_parm_decls ();
4611 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4613 /* Make a contour for the initializer list. */
4616 expand_start_bindings (0);
4618 else if (current_class_type
== NULL_TREE
)
4619 error ("base initializers not allowed for non-member functions");
4620 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4621 error ("only constructors take base initializers");
4626 { yyval
.itype
= 0; ;
4630 { yyval
.itype
= 1; ;
4635 if (current_class_name
)
4636 pedwarn ("anachronistic old style base class initializer");
4637 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4643 if (current_class_name
)
4644 pedwarn ("anachronistic old style base class initializer");
4645 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4650 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4654 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4658 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4662 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4666 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4671 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4676 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4677 yyungetc (';', 1); ;
4681 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4682 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4686 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4690 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4694 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4695 yyungetc (';', 1); ;
4699 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4700 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4704 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4708 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4712 { begin_explicit_instantiation(); ;
4716 { end_explicit_instantiation(); ;
4720 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4724 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4728 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4733 if (yychar
== YYEMPTY
)
4736 yyval
.ttype
= finish_template_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
4743 /* Handle `Class<Class<Type>>' without space in the `>>' */
4744 pedwarn ("`>>' should be `> >' in template class name");
4750 { yyval
.ttype
= NULL_TREE
; ;
4754 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4758 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4762 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4766 { yyval
.ttype
= lastiddecl
; ;
4770 { yyval
.code
= NEGATE_EXPR
; ;
4774 { yyval
.code
= CONVERT_EXPR
; ;
4778 { yyval
.code
= PREINCREMENT_EXPR
; ;
4782 { yyval
.code
= PREDECREMENT_EXPR
; ;
4786 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4790 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4794 { error ("ANSI C++ forbids an empty condition for `%s'",
4796 yyval
.ttype
= integer_zero_node
; ;
4800 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4804 { error ("ANSI C++ forbids an empty condition for `%s'",
4806 yyval
.ttype
= integer_zero_node
; ;
4810 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4814 { yyval
.ttype
= NULL_TREE
; ;
4818 { yyval
.ttype
= NULL_TREE
; ;
4824 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4825 if (TREE_CODE (d
) == TYPE_DECL
) {
4826 tree s
= TREE_TYPE (d
);
4827 if (TREE_CODE (s
) == RECORD_TYPE
)
4828 cp_error ("definition of class `%T' in condition", s
);
4829 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4830 cp_error ("definition of enum `%T' in condition", s
);
4833 current_declspecs
= yyvsp
[-4].ftype
.t
;
4834 yyvsp
[0].itype
= suspend_momentary ();
4835 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
4836 yyvsp
[-1].ttype
, /*prefix_attributes*/ NULL_TREE
);
4840 #line 1009 "parse.y"
4842 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4843 resume_momentary (yyvsp
[-2].itype
);
4844 yyval
.ttype
= yyvsp
[-1].ttype
;
4845 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4846 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4850 #line 1028 "parse.y"
4851 { yyval
.ttype
= begin_compound_stmt (1); ;
4854 #line 1030 "parse.y"
4855 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
4858 #line 1037 "parse.y"
4859 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4860 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4863 #line 1040 "parse.y"
4864 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4865 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4868 #line 1043 "parse.y"
4869 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4872 #line 1045 "parse.y"
4873 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4876 #line 1050 "parse.y"
4877 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4880 #line 1056 "parse.y"
4881 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4884 #line 1059 "parse.y"
4885 { yyval
.ttype
= yyvsp
[0].ttype
;
4886 pedantic
= yyvsp
[-1].itype
; ;
4889 #line 1062 "parse.y"
4890 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4893 #line 1064 "parse.y"
4894 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4897 #line 1066 "parse.y"
4898 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4901 #line 1068 "parse.y"
4902 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
4905 #line 1071 "parse.y"
4907 pedwarn ("ANSI C++ forbids `&&'");
4908 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
4911 #line 1075 "parse.y"
4912 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4915 #line 1077 "parse.y"
4916 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4919 #line 1079 "parse.y"
4920 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4923 #line 1081 "parse.y"
4924 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4925 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4928 #line 1087 "parse.y"
4929 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4930 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4933 #line 1090 "parse.y"
4934 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4935 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4938 #line 1093 "parse.y"
4939 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4940 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4943 #line 1096 "parse.y"
4944 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4945 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4948 #line 1109 "parse.y"
4949 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4950 NULL_TREE
, yyvsp
[-4].itype
);
4951 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4954 #line 1114 "parse.y"
4955 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4956 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4959 #line 1118 "parse.y"
4960 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-5].itype
);
4961 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4964 #line 1122 "parse.y"
4965 { yyval
.ttype
= build_new (yyvsp
[-5].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-6].itype
);
4966 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4969 #line 1126 "parse.y"
4970 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4973 #line 1128 "parse.y"
4974 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4975 if (yychar
== YYEMPTY
)
4979 #line 1132 "parse.y"
4980 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4981 if (yychar
== YYEMPTY
)
4985 #line 1136 "parse.y"
4986 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4989 #line 1138 "parse.y"
4990 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4993 #line 1148 "parse.y"
4994 { finish_new_placement (NULL_TREE
, yyvsp
[-2].itype
); ;
4997 #line 1151 "parse.y"
4998 { yyval
.itype
= begin_new_placement (); ;
5001 #line 1155 "parse.y"
5002 { yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5005 #line 1157 "parse.y"
5006 { cp_pedwarn ("old style placement syntax, use () instead");
5007 yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5010 #line 1163 "parse.y"
5011 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5014 #line 1165 "parse.y"
5015 { yyval
.ttype
= NULL_TREE
; ;
5018 #line 1167 "parse.y"
5020 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
5021 yyval
.ttype
= error_mark_node
;
5025 #line 1175 "parse.y"
5028 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5029 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
5030 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
5031 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
5033 yyval
.ttype
= yyvsp
[0].ttype
;
5037 #line 1189 "parse.y"
5038 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5039 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5040 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5043 #line 1193 "parse.y"
5044 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5045 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5046 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5049 #line 1201 "parse.y"
5050 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5053 #line 1203 "parse.y"
5055 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5056 nreverse (yyvsp
[-2].ttype
));
5058 pedwarn ("ANSI C++ forbids constructor-expressions");
5059 /* Indicate that this was a GNU C constructor expression. */
5060 TREE_HAS_CONSTRUCTOR (init
) = 1;
5062 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5066 #line 1219 "parse.y"
5067 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5070 #line 1221 "parse.y"
5071 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5074 #line 1223 "parse.y"
5075 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5078 #line 1225 "parse.y"
5079 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5082 #line 1227 "parse.y"
5083 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5086 #line 1229 "parse.y"
5087 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5090 #line 1231 "parse.y"
5091 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5094 #line 1233 "parse.y"
5095 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5098 #line 1235 "parse.y"
5099 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5102 #line 1237 "parse.y"
5103 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5106 #line 1239 "parse.y"
5107 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5110 #line 1241 "parse.y"
5111 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5114 #line 1243 "parse.y"
5115 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5118 #line 1245 "parse.y"
5119 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5122 #line 1247 "parse.y"
5123 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5126 #line 1249 "parse.y"
5127 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5130 #line 1251 "parse.y"
5131 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5134 #line 1253 "parse.y"
5135 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5138 #line 1255 "parse.y"
5139 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5142 #line 1257 "parse.y"
5143 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5146 #line 1259 "parse.y"
5147 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5148 if (yyval
.ttype
!= error_mark_node
)
5149 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5152 #line 1263 "parse.y"
5153 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5156 #line 1265 "parse.y"
5157 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5160 #line 1267 "parse.y"
5161 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5164 #line 1285 "parse.y"
5165 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5168 #line 1287 "parse.y"
5169 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5172 #line 1296 "parse.y"
5173 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1, NULL_TREE
); ;
5176 #line 1300 "parse.y"
5177 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5180 #line 1302 "parse.y"
5181 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5184 #line 1307 "parse.y"
5185 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5188 #line 1309 "parse.y"
5189 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5192 #line 1312 "parse.y"
5193 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5196 #line 1324 "parse.y"
5197 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5200 #line 1326 "parse.y"
5201 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5204 #line 1328 "parse.y"
5205 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5208 #line 1333 "parse.y"
5209 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5212 #line 1335 "parse.y"
5213 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5216 #line 1345 "parse.y"
5217 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5220 #line 1350 "parse.y"
5222 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
5223 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
5225 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
5229 #line 1359 "parse.y"
5231 if (processing_template_decl
)
5232 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5233 yyval
.ttype
= combine_strings (yyval
.ttype
);
5234 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5235 a const array the way we want, so fix it. */
5236 if (flag_const_strings
)
5237 TREE_TYPE (yyval
.ttype
) = build_cplus_array_type
5238 (TREE_TYPE (TREE_TYPE (yyval
.ttype
)),
5239 TYPE_DOMAIN (TREE_TYPE (yyval
.ttype
)));
5240 if (processing_template_decl
)
5245 #line 1373 "parse.y"
5246 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5249 #line 1375 "parse.y"
5250 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5251 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5254 #line 1378 "parse.y"
5255 { yyval
.ttype
= error_mark_node
; ;
5258 #line 1380 "parse.y"
5259 { tree scope
= current_scope ();
5260 if (!scope
|| TREE_CODE (scope
) != FUNCTION_DECL
)
5262 error ("braced-group within expression allowed only inside a function");
5266 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5267 yyval
.ttype
= begin_stmt_expr ();
5271 #line 1391 "parse.y"
5272 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5275 #line 1396 "parse.y"
5276 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
5279 #line 1398 "parse.y"
5280 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 1); ;
5283 #line 1400 "parse.y"
5284 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 0); ;
5287 #line 1402 "parse.y"
5288 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 0); ;
5291 #line 1404 "parse.y"
5292 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5295 #line 1406 "parse.y"
5296 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5299 #line 1408 "parse.y"
5300 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5303 #line 1411 "parse.y"
5304 { yyval
.ttype
= finish_this_expr (); ;
5307 #line 1413 "parse.y"
5309 tree type
= NULL_TREE
;
5310 tree id
= yyval
.ttype
;
5312 /* This is a C cast in C++'s `functional' notation. */
5313 if (yyvsp
[-1].ttype
== error_mark_node
)
5315 yyval
.ttype
= error_mark_node
;
5319 if (yyvsp
[-1].ttype
== NULL_TREE
)
5321 error ("cannot cast null list to type `%s'",
5322 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5323 yyval
.ttype
= error_mark_node
;
5328 /* type is not set! (mrs) */
5329 if (type
== error_mark_node
)
5330 yyval
.ttype
= error_mark_node
;
5334 if (id
== ridpointers
[(int) RID_CONST
])
5335 type
= build_type_variant (integer_type_node
, 1, 0);
5336 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5337 type
= build_type_variant (integer_type_node
, 0, 1);
5339 /* should not be able to get here (mrs) */
5340 else if (id
== ridpointers
[(int) RID_FRIEND
])
5342 error ("cannot cast expression to `friend' type");
5343 yyval
.ttype
= error_mark_node
;
5347 else my_friendly_abort (79);
5348 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5353 #line 1458 "parse.y"
5354 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5355 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5356 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5359 #line 1462 "parse.y"
5360 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5361 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5362 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5365 #line 1466 "parse.y"
5366 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5367 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5368 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5371 #line 1470 "parse.y"
5372 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5373 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5374 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5377 #line 1474 "parse.y"
5378 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5381 #line 1476 "parse.y"
5382 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5383 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5384 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5387 #line 1480 "parse.y"
5388 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5391 #line 1482 "parse.y"
5392 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5395 #line 1484 "parse.y"
5397 got_scope
= NULL_TREE
;
5398 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5399 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5401 yyval
.ttype
= yyvsp
[0].ttype
;
5405 #line 1492 "parse.y"
5406 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5409 #line 1494 "parse.y"
5410 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5413 #line 1496 "parse.y"
5414 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5417 #line 1498 "parse.y"
5419 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5423 #line 1502 "parse.y"
5424 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5427 #line 1504 "parse.y"
5428 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5431 #line 1506 "parse.y"
5432 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5435 #line 1508 "parse.y"
5436 { if (processing_template_decl
)
5437 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5439 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5442 #line 1513 "parse.y"
5443 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5446 #line 1515 "parse.y"
5447 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5450 #line 1517 "parse.y"
5451 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5454 #line 1519 "parse.y"
5455 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5458 #line 1522 "parse.y"
5459 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5462 #line 1524 "parse.y"
5463 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5466 #line 1526 "parse.y"
5468 yyval
.ttype
= error_mark_node
;
5472 #line 1571 "parse.y"
5473 { yyval
.itype
= 0; ;
5476 #line 1573 "parse.y"
5477 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5480 #line 1578 "parse.y"
5481 { yyval
.itype
= 0; ;
5484 #line 1580 "parse.y"
5485 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5488 #line 1585 "parse.y"
5489 { yyval
.ttype
= boolean_true_node
; ;
5492 #line 1587 "parse.y"
5493 { yyval
.ttype
= boolean_false_node
; ;
5496 #line 1594 "parse.y"
5497 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5500 #line 1599 "parse.y"
5502 if (! current_function_parms_stored
)
5503 store_parm_decls ();
5505 /* Always keep the BLOCK node associated with the outermost
5506 pair of curley braces of a function. These are needed
5507 for correct operation of dwarfout.c. */
5512 #line 1612 "parse.y"
5513 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5516 #line 1614 "parse.y"
5518 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5519 got_object
= TREE_TYPE (yyval
.ttype
);
5523 #line 1622 "parse.y"
5525 resume_momentary (yyvsp
[-1].itype
);
5526 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5527 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5531 #line 1628 "parse.y"
5533 resume_momentary (yyvsp
[-1].itype
);
5534 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5538 #line 1633 "parse.y"
5539 { resume_momentary (yyvsp
[-1].itype
); ;
5542 #line 1635 "parse.y"
5544 shadow_tag (yyvsp
[-1].ftype
.t
);
5545 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5549 #line 1640 "parse.y"
5550 { warning ("empty declaration"); ;
5553 #line 1642 "parse.y"
5554 { pedantic
= yyvsp
[-1].itype
; ;
5557 #line 1656 "parse.y"
5558 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5559 NULL_TREE
, NULL_TREE
); ;
5562 #line 1659 "parse.y"
5563 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5567 #line 1666 "parse.y"
5568 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5569 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5572 #line 1669 "parse.y"
5573 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5574 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5577 #line 1672 "parse.y"
5578 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5579 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5582 #line 1675 "parse.y"
5583 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5584 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5587 #line 1678 "parse.y"
5588 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5589 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5592 #line 1694 "parse.y"
5593 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5594 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5597 #line 1697 "parse.y"
5598 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5599 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5602 #line 1700 "parse.y"
5603 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5604 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5607 #line 1703 "parse.y"
5608 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5609 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5612 #line 1706 "parse.y"
5613 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5614 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5617 #line 1709 "parse.y"
5618 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5619 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5620 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5623 #line 1716 "parse.y"
5624 { if (extra_warnings
)
5625 warning ("`%s' is not at beginning of declaration",
5626 IDENTIFIER_POINTER (yyval
.ttype
));
5627 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5630 #line 1721 "parse.y"
5631 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5634 #line 1723 "parse.y"
5635 { if (extra_warnings
)
5636 warning ("`%s' is not at beginning of declaration",
5637 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5638 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5641 #line 1728 "parse.y"
5642 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5645 #line 1730 "parse.y"
5646 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5649 #line 1740 "parse.y"
5650 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5653 #line 1742 "parse.y"
5654 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5657 #line 1744 "parse.y"
5658 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5659 TREE_STATIC (yyval
.ttype
) = 1; ;
5662 #line 1747 "parse.y"
5663 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5664 warning ("`%s' is not at beginning of declaration",
5665 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5666 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5667 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5670 #line 1753 "parse.y"
5671 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5674 #line 1755 "parse.y"
5675 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5678 #line 1766 "parse.y"
5679 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5680 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5683 #line 1769 "parse.y"
5684 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5685 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5688 #line 1772 "parse.y"
5689 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5690 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5693 #line 1775 "parse.y"
5694 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5695 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5698 #line 1781 "parse.y"
5699 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5702 #line 1783 "parse.y"
5703 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5706 #line 1793 "parse.y"
5707 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5710 #line 1795 "parse.y"
5711 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5714 #line 1797 "parse.y"
5715 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5716 yyval
.ftype
.new_type_flag
= 0; ;
5719 #line 1800 "parse.y"
5720 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5721 yyval
.ftype
.new_type_flag
= 0; ;
5724 #line 1803 "parse.y"
5725 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5727 yyval
.ftype
.new_type_flag
= 0;
5728 if (IS_AGGR_TYPE (type
))
5730 sorry ("sigof type specifier");
5731 yyval
.ftype
.t
= type
;
5735 error ("`sigof' applied to non-aggregate expression");
5736 yyval
.ftype
.t
= error_mark_node
;
5741 #line 1818 "parse.y"
5742 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5744 yyval
.ftype
.new_type_flag
= 0;
5745 if (IS_AGGR_TYPE (type
))
5747 sorry ("sigof type specifier");
5748 yyval
.ftype
.t
= type
;
5752 error("`sigof' applied to non-aggregate type");
5753 yyval
.ftype
.t
= error_mark_node
;
5758 #line 1838 "parse.y"
5759 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5762 #line 1840 "parse.y"
5763 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5766 #line 1861 "parse.y"
5767 { yyval
.ttype
= NULL_TREE
; ;
5770 #line 1863 "parse.y"
5771 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5774 #line 1868 "parse.y"
5775 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
5776 yyvsp
[-1].ttype
, prefix_attributes
); ;
5779 #line 1872 "parse.y"
5780 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5783 #line 1874 "parse.y"
5784 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
5785 yyvsp
[0].ttype
, prefix_attributes
);
5786 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5789 #line 1887 "parse.y"
5790 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
5791 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
5794 #line 1892 "parse.y"
5795 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1,
5796 LOOKUP_ONLYCONVERTING
);
5797 yyval
.itype
= yyvsp
[-2].itype
; ;
5800 #line 1896 "parse.y"
5802 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
5803 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5806 #line 1903 "parse.y"
5807 { yyval
.itype
= yyvsp
[0].itype
; ;
5810 #line 1907 "parse.y"
5811 { yyval
.itype
= yyvsp
[0].itype
; ;
5814 #line 1912 "parse.y"
5815 { /* Set things up as initdcl0_innards expects. */
5816 yyval
.ttype
= yyvsp
[-1].ttype
;
5817 yyvsp
[-1].ttype
= NULL_TREE
; ;
5820 #line 1916 "parse.y"
5824 #line 1918 "parse.y"
5826 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
5827 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5830 #line 1927 "parse.y"
5831 { yyval
.ttype
= NULL_TREE
; ;
5834 #line 1929 "parse.y"
5835 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5838 #line 1934 "parse.y"
5839 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5842 #line 1936 "parse.y"
5843 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5846 #line 1941 "parse.y"
5847 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5850 #line 1946 "parse.y"
5851 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5854 #line 1948 "parse.y"
5855 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5858 #line 1953 "parse.y"
5859 { yyval
.ttype
= NULL_TREE
; ;
5862 #line 1955 "parse.y"
5863 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5866 #line 1957 "parse.y"
5867 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5870 #line 1959 "parse.y"
5871 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5874 #line 1961 "parse.y"
5875 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5878 #line 1977 "parse.y"
5879 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5882 #line 1979 "parse.y"
5883 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5886 #line 1984 "parse.y"
5887 { yyval
.ttype
= NULL_TREE
; ;
5890 #line 1986 "parse.y"
5891 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5894 #line 1994 "parse.y"
5895 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5896 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5899 #line 1997 "parse.y"
5900 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
5901 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5904 #line 2000 "parse.y"
5905 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
5906 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5909 #line 2003 "parse.y"
5910 { yyval
.ttype
= NULL_TREE
; ;
5913 #line 2010 "parse.y"
5914 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5917 #line 2012 "parse.y"
5918 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5921 #line 2015 "parse.y"
5922 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5925 #line 2017 "parse.y"
5926 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
5929 #line 2019 "parse.y"
5930 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5933 #line 2024 "parse.y"
5934 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
5936 reinit_parse_for_function (); ;
5939 #line 2030 "parse.y"
5941 int nested
= (hack_decl_function_context
5942 (current_function_decl
) != NULL_TREE
);
5943 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
5944 process_next_inline (yyvsp
[-3].ttype
);
5948 #line 2037 "parse.y"
5949 { process_next_inline (yyvsp
[-2].ttype
); ;
5952 #line 2039 "parse.y"
5953 { process_next_inline (yyvsp
[-2].ttype
); ;
5956 #line 2051 "parse.y"
5957 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5960 #line 2053 "parse.y"
5961 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
5964 #line 2058 "parse.y"
5965 { do_pending_defargs (); ;
5968 #line 2060 "parse.y"
5969 { do_pending_defargs (); ;
5972 #line 2065 "parse.y"
5973 { yyvsp
[0].itype
= suspend_momentary ();
5974 yyval
.ttype
= current_enum_type
;
5975 current_enum_type
= start_enum (yyvsp
[-1].ttype
); ;
5978 #line 2069 "parse.y"
5979 { TYPE_VALUES (current_enum_type
) = yyvsp
[-2].ttype
;
5980 yyval
.ftype
.t
= finish_enum (current_enum_type
);
5981 yyval
.ftype
.new_type_flag
= 1;
5982 current_enum_type
= yyvsp
[-3].ttype
;
5983 resume_momentary ((int) yyvsp
[-4].itype
);
5984 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5987 #line 2076 "parse.y"
5988 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
));
5989 yyval
.ftype
.new_type_flag
= 1;
5990 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5993 #line 2080 "parse.y"
5994 { yyvsp
[0].itype
= suspend_momentary ();
5995 yyval
.ttype
= current_enum_type
;
5996 current_enum_type
= start_enum (make_anon_name ()); ;
5999 #line 2084 "parse.y"
6000 { TYPE_VALUES (current_enum_type
) = yyvsp
[-2].ttype
;
6001 yyval
.ftype
.t
= finish_enum (current_enum_type
);
6002 yyval
.ftype
.new_type_flag
= 1;
6003 current_enum_type
= yyvsp
[-2].ttype
;
6004 resume_momentary ((int) yyvsp
[-5].itype
);
6005 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6008 #line 2091 "parse.y"
6009 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()));
6010 yyval
.ftype
.new_type_flag
= 1;
6011 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6014 #line 2095 "parse.y"
6015 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6016 yyval
.ftype
.new_type_flag
= 0; ;
6019 #line 2098 "parse.y"
6020 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6021 yyval
.ftype
.new_type_flag
= 0; ;
6024 #line 2101 "parse.y"
6025 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6026 yyval
.ftype
.new_type_flag
= 0;
6027 if (!processing_template_decl
)
6028 cp_pedwarn ("using `typename' outside of template"); ;
6031 #line 2108 "parse.y"
6035 if (yychar
== YYEMPTY
)
6037 semi
= yychar
== ';';
6039 yyval
.ttype
= finish_class_definition (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
6043 #line 2118 "parse.y"
6044 { finish_default_args (); ;
6047 #line 2120 "parse.y"
6048 { yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6049 yyval
.ftype
.new_type_flag
= 1;
6050 begin_inline_definitions (); ;
6053 #line 2124 "parse.y"
6055 yyval
.ftype
.new_type_flag
= 0;
6056 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
6058 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
6059 yyval
.ftype
.t
= error_mark_node
;
6063 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6064 /* struct B: public A; is not accepted by the WP grammar. */
6065 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6066 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6067 cp_error ("base clause without member specification for `%#T'",
6073 #line 2151 "parse.y"
6074 { if (pedantic
&& !in_system_header
)
6075 pedwarn ("comma at end of enumerator list"); ;
6078 #line 2158 "parse.y"
6079 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6082 #line 2160 "parse.y"
6083 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6086 #line 2162 "parse.y"
6087 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6090 #line 2164 "parse.y"
6091 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6094 #line 2166 "parse.y"
6095 { yyval
.ttype
= build_decl_list (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6098 #line 2171 "parse.y"
6099 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6102 #line 2176 "parse.y"
6103 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6106 #line 2178 "parse.y"
6107 { yyungetc ('{', 1); ;
6110 #line 2180 "parse.y"
6111 { yyungetc (':', 1); ;
6114 #line 2185 "parse.y"
6116 current_aggr
= yyvsp
[-2].ttype
;
6117 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6121 #line 2190 "parse.y"
6123 current_aggr
= yyvsp
[-3].ttype
;
6124 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6128 #line 2195 "parse.y"
6130 current_aggr
= yyvsp
[-2].ttype
;
6131 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6135 #line 2200 "parse.y"
6136 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6139 #line 2202 "parse.y"
6140 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6143 #line 2207 "parse.y"
6144 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 0); ;
6147 #line 2212 "parse.y"
6148 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 1); ;
6151 #line 2215 "parse.y"
6153 yyval
.ttype
= yyvsp
[-1].ttype
;
6155 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6159 #line 2221 "parse.y"
6161 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6162 if (TREE_INT_CST_LOW (current_aggr
) == union_type
6163 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
6164 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
6165 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
6166 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
6167 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
6170 maybe_process_partial_specialization (yyval
.ttype
);
6171 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6176 #line 2239 "parse.y"
6177 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), 0);
6178 yyungetc ('{', 1); ;
6181 #line 2250 "parse.y"
6182 { yyval
.ttype
= NULL_TREE
; ;
6185 #line 2252 "parse.y"
6186 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6189 #line 2254 "parse.y"
6190 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6193 #line 2260 "parse.y"
6194 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6197 #line 2265 "parse.y"
6198 { yyval
.ttype
= finish_base_specifier (access_default_node
, yyvsp
[0].ttype
,
6200 == signature_type_node
); ;
6203 #line 2269 "parse.y"
6204 { yyval
.ttype
= finish_base_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
,
6206 == signature_type_node
); ;
6209 #line 2276 "parse.y"
6210 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6213 #line 2279 "parse.y"
6215 if (current_aggr
== signature_type_node
)
6217 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6219 sorry ("`sigof' as base signature specifier");
6220 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6224 error ("`sigof' applied to non-aggregate expression");
6225 yyval
.ttype
= error_mark_node
;
6230 error ("`sigof' in struct or class declaration");
6231 yyval
.ttype
= error_mark_node
;
6236 #line 2300 "parse.y"
6238 if (current_aggr
== signature_type_node
)
6240 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6242 sorry ("`sigof' as base signature specifier");
6243 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6247 error ("`sigof' applied to non-aggregate expression");
6248 yyval
.ttype
= error_mark_node
;
6253 error ("`sigof' in struct or class declaration");
6254 yyval
.ttype
= error_mark_node
;
6259 #line 2325 "parse.y"
6260 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6261 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6262 yyval
.ttype
= access_default_virtual_node
; ;
6265 #line 2329 "parse.y"
6267 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6268 error ("multiple access specifiers");
6269 else if (yyvsp
[-1].ttype
== access_public_node
)
6270 yyval
.ttype
= access_public_virtual_node
;
6271 else if (yyvsp
[-1].ttype
== access_protected_node
)
6272 yyval
.ttype
= access_protected_virtual_node
;
6273 else /* $2 == access_private_node */
6274 yyval
.ttype
= access_private_virtual_node
;
6278 #line 2340 "parse.y"
6279 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6280 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6281 else if (yyval
.ttype
== access_public_node
)
6282 yyval
.ttype
= access_public_virtual_node
;
6283 else if (yyval
.ttype
== access_protected_node
)
6284 yyval
.ttype
= access_protected_virtual_node
;
6285 else if (yyval
.ttype
== access_private_node
)
6286 yyval
.ttype
= access_private_virtual_node
;
6288 error ("multiple `virtual' specifiers");
6292 #line 2355 "parse.y"
6293 { yyvsp
[-1].ttype
= begin_class_definition (yyvsp
[-1].ttype
); ;
6296 #line 2360 "parse.y"
6298 yyval
.ttype
= build_self_reference ();
6302 #line 2367 "parse.y"
6303 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6306 #line 2369 "parse.y"
6308 if (current_aggr
== signature_type_node
)
6309 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6311 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6312 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6316 #line 2377 "parse.y"
6318 tree visspec
= yyvsp
[-2].ttype
;
6320 if (current_aggr
== signature_type_node
)
6322 error ("access specifier not allowed in signature");
6323 visspec
= access_public_node
;
6325 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6329 #line 2388 "parse.y"
6331 if (current_aggr
== signature_type_node
)
6332 error ("access specifier not allowed in signature");
6336 #line 2398 "parse.y"
6337 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6341 #line 2401 "parse.y"
6342 { /* In pushdecl, we created a reverse list of names
6343 in this binding level. Make sure that the chain
6344 of what we're trying to add isn't the item itself
6345 (which can happen with what pushdecl's doing). */
6346 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6348 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6349 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6351 yyval
.ttype
= yyvsp
[0].ttype
;
6356 #line 2417 "parse.y"
6360 #line 2419 "parse.y"
6361 { error ("missing ';' before right brace");
6362 yyungetc ('}', 0); ;
6365 #line 2424 "parse.y"
6366 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6369 #line 2426 "parse.y"
6370 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6373 #line 2428 "parse.y"
6374 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6377 #line 2430 "parse.y"
6378 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6381 #line 2432 "parse.y"
6382 { yyval
.ttype
= NULL_TREE
; ;
6385 #line 2434 "parse.y"
6386 { yyval
.ttype
= yyvsp
[0].ttype
;
6387 pedantic
= yyvsp
[-1].itype
; ;
6390 #line 2437 "parse.y"
6391 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6394 #line 2439 "parse.y"
6395 { yyval
.ttype
= finish_member_class_template (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
); ;
6398 #line 2447 "parse.y"
6399 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6402 #line 2449 "parse.y"
6403 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6406 #line 2451 "parse.y"
6407 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6408 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6411 #line 2454 "parse.y"
6412 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6413 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6416 #line 2457 "parse.y"
6417 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6420 #line 2459 "parse.y"
6421 { yyval
.ttype
= NULL_TREE
; ;
6424 #line 2470 "parse.y"
6425 { tree specs
, attrs
;
6426 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6427 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6428 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6431 #line 2475 "parse.y"
6432 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6433 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6436 #line 2478 "parse.y"
6437 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6440 #line 2484 "parse.y"
6441 { yyval
.ttype
= NULL_TREE
; ;
6444 #line 2487 "parse.y"
6446 /* In this context, void_type_node encodes
6447 friends. They have been recorded elsewhere. */
6448 if (yyval
.ttype
== void_type_node
)
6449 yyval
.ttype
= yyvsp
[0].ttype
;
6451 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6455 #line 2499 "parse.y"
6456 { yyval
.ttype
= NULL_TREE
; ;
6459 #line 2502 "parse.y"
6461 /* In this context, void_type_node encodes
6462 friends. They have been recorded elsewhere. */
6463 if (yyval
.ttype
== void_type_node
)
6464 yyval
.ttype
= yyvsp
[0].ttype
;
6466 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6470 #line 2524 "parse.y"
6471 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6472 &prefix_attributes
);
6473 yyvsp
[-4].ttype
= current_declspecs
;
6474 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6475 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6478 #line 2530 "parse.y"
6479 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6480 &prefix_attributes
);
6481 yyvsp
[-4].ttype
= current_declspecs
;
6482 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6483 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6486 #line 2539 "parse.y"
6487 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6488 &prefix_attributes
);
6489 yyvsp
[-4].ttype
= current_declspecs
;
6490 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6491 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6494 #line 2545 "parse.y"
6495 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6496 &prefix_attributes
);
6497 yyvsp
[-4].ttype
= current_declspecs
;
6498 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6499 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6502 #line 2551 "parse.y"
6503 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6504 &prefix_attributes
);
6505 yyvsp
[-4].ttype
= current_declspecs
;
6506 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6507 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6510 #line 2557 "parse.y"
6511 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6512 &prefix_attributes
);
6513 yyvsp
[-3].ttype
= current_declspecs
;
6514 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6515 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6518 #line 2566 "parse.y"
6519 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6520 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6523 #line 2569 "parse.y"
6524 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6525 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6528 #line 2575 "parse.y"
6529 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6530 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6533 #line 2578 "parse.y"
6534 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6535 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6538 #line 2581 "parse.y"
6539 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6540 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6543 #line 2592 "parse.y"
6544 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6547 #line 2597 "parse.y"
6548 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
, current_enum_type
); ;
6551 #line 2599 "parse.y"
6552 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
, current_enum_type
); ;
6555 #line 2605 "parse.y"
6556 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6557 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6560 #line 2608 "parse.y"
6561 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6562 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6565 #line 2615 "parse.y"
6568 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6569 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6570 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6571 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6575 #line 2626 "parse.y"
6576 { yyval
.ttype
= NULL_TREE
; ;
6579 #line 2628 "parse.y"
6580 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6583 #line 2633 "parse.y"
6584 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6585 yyval
.ftype
.new_type_flag
= 0; ;
6588 #line 2636 "parse.y"
6589 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6590 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6593 #line 2645 "parse.y"
6594 { yyval
.itype
= suspend_momentary (); ;
6597 #line 2650 "parse.y"
6598 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6601 #line 2656 "parse.y"
6602 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6605 #line 2658 "parse.y"
6606 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6609 #line 2660 "parse.y"
6610 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6613 #line 2662 "parse.y"
6614 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6617 #line 2669 "parse.y"
6618 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6621 #line 2671 "parse.y"
6622 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6625 #line 2673 "parse.y"
6626 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6629 #line 2675 "parse.y"
6630 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6633 #line 2677 "parse.y"
6634 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6635 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6639 #line 2685 "parse.y"
6641 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6643 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6644 if (current_class_type
6645 && TYPE_BEING_DEFINED (current_class_type
)
6646 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6648 /* Remember that this name has been used in the class
6649 definition, as per [class.scope0] */
6650 pushdecl_class_level (yyval
.ttype
);
6654 yyval
.ttype
= yyvsp
[0].ttype
;
6658 #line 2702 "parse.y"
6660 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6661 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6663 yyval
.ttype
= yyvsp
[0].ttype
;
6664 got_scope
= NULL_TREE
;
6668 #line 2715 "parse.y"
6669 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6672 #line 2720 "parse.y"
6673 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6676 #line 2725 "parse.y"
6677 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6680 #line 2727 "parse.y"
6681 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6684 #line 2729 "parse.y"
6685 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6688 #line 2731 "parse.y"
6689 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6692 #line 2733 "parse.y"
6693 { push_nested_class (yyvsp
[-1].ttype
, 3);
6694 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6695 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6698 #line 2744 "parse.y"
6699 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6702 #line 2746 "parse.y"
6703 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6706 #line 2748 "parse.y"
6707 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6710 #line 2750 "parse.y"
6711 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6714 #line 2752 "parse.y"
6715 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6716 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6720 #line 2760 "parse.y"
6721 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6724 #line 2762 "parse.y"
6725 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6728 #line 2764 "parse.y"
6729 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6732 #line 2766 "parse.y"
6733 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6736 #line 2768 "parse.y"
6737 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6738 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6742 #line 2776 "parse.y"
6743 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6746 #line 2778 "parse.y"
6747 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6750 #line 2780 "parse.y"
6751 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6754 #line 2782 "parse.y"
6755 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6758 #line 2784 "parse.y"
6759 { enter_scope_of (yyvsp
[0].ttype
); ;
6762 #line 2786 "parse.y"
6763 { got_scope
= NULL_TREE
;
6764 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6765 enter_scope_of (yyval
.ttype
);
6769 #line 2794 "parse.y"
6770 { got_scope
= NULL_TREE
;
6771 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6774 #line 2797 "parse.y"
6775 { got_scope
= NULL_TREE
;
6776 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6779 #line 2803 "parse.y"
6780 { got_scope
= NULL_TREE
;
6781 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6784 #line 2806 "parse.y"
6785 { got_scope
= NULL_TREE
;
6786 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6789 #line 2813 "parse.y"
6790 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6793 #line 2818 "parse.y"
6794 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6797 #line 2820 "parse.y"
6798 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6801 #line 2822 "parse.y"
6802 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6805 #line 2833 "parse.y"
6806 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6809 #line 2835 "parse.y"
6810 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6813 #line 2842 "parse.y"
6815 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6817 yyval
.ttype
= lastiddecl
;
6818 /* Remember that this name has been used in the class
6819 definition, as per [class.scope0] */
6820 if (current_class_type
6821 && TYPE_BEING_DEFINED (current_class_type
)
6822 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
6823 pushdecl_class_level (yyval
.ttype
);
6825 got_scope
= yyval
.ttype
= TYPE_MAIN_VARIANT (TREE_TYPE (yyval
.ttype
));
6829 #line 2856 "parse.y"
6831 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6832 yyval
.ttype
= lastiddecl
;
6833 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6837 #line 2862 "parse.y"
6839 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6840 yyval
.ttype
= lastiddecl
;
6841 got_scope
= yyval
.ttype
;
6845 #line 2868 "parse.y"
6846 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
6849 #line 2884 "parse.y"
6850 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6853 #line 2889 "parse.y"
6855 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6856 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6857 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6858 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6861 yyval
.ttype
= yyvsp
[0].ttype
;
6862 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6863 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6868 #line 2902 "parse.y"
6869 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
6872 #line 2904 "parse.y"
6873 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6876 #line 2906 "parse.y"
6877 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6880 #line 2911 "parse.y"
6882 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6883 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6887 #line 2916 "parse.y"
6889 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6890 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6891 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6892 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6895 yyval
.ttype
= yyvsp
[0].ttype
;
6896 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6897 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6902 #line 2929 "parse.y"
6903 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6906 #line 2931 "parse.y"
6907 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6910 #line 2936 "parse.y"
6912 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6913 yyvsp
[-1].ttype
= lastiddecl
;
6915 /* Retrieve the type for the identifier, which might involve
6916 some computation. */
6917 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
6919 if (yyval
.ttype
== error_mark_node
)
6920 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
6924 #line 2948 "parse.y"
6926 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6927 yyval
.ttype
= lastiddecl
;
6928 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
6932 #line 2954 "parse.y"
6933 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
6936 #line 2958 "parse.y"
6938 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6939 yyval
.ttype
= lastiddecl
;
6940 got_scope
= yyval
.ttype
;
6944 #line 2967 "parse.y"
6945 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6948 #line 2972 "parse.y"
6950 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6951 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6953 yyval
.ttype
= yyvsp
[0].ttype
;
6954 got_scope
= NULL_TREE
;
6958 #line 2981 "parse.y"
6959 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6962 #line 2986 "parse.y"
6963 { got_scope
= NULL_TREE
; ;
6966 #line 2988 "parse.y"
6967 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
6970 #line 2995 "parse.y"
6971 { got_scope
= void_type_node
; ;
6974 #line 3001 "parse.y"
6975 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6978 #line 3003 "parse.y"
6979 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6982 #line 3005 "parse.y"
6983 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6986 #line 3007 "parse.y"
6987 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6990 #line 3009 "parse.y"
6991 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
6992 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
6996 #line 3013 "parse.y"
6997 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6998 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7002 #line 3022 "parse.y"
7003 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7006 #line 3024 "parse.y"
7007 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7010 #line 3030 "parse.y"
7011 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7014 #line 3032 "parse.y"
7015 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7018 #line 3034 "parse.y"
7019 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7022 #line 3036 "parse.y"
7023 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7026 #line 3038 "parse.y"
7027 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7030 #line 3040 "parse.y"
7031 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7034 #line 3042 "parse.y"
7035 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7038 #line 3044 "parse.y"
7039 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7042 #line 3046 "parse.y"
7043 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7044 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7048 #line 3050 "parse.y"
7049 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7050 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7054 #line 3059 "parse.y"
7055 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7058 #line 3063 "parse.y"
7059 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7062 #line 3065 "parse.y"
7063 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7066 #line 3067 "parse.y"
7067 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7070 #line 3069 "parse.y"
7071 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7074 #line 3071 "parse.y"
7075 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7078 #line 3073 "parse.y"
7079 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7082 #line 3075 "parse.y"
7083 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7086 #line 3077 "parse.y"
7087 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7090 #line 3079 "parse.y"
7091 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7094 #line 3102 "parse.y"
7096 pedwarn ("ANSI C++ forbids label declarations"); ;
7099 #line 3113 "parse.y"
7101 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7103 tree label
= shadow_label (TREE_VALUE (link
));
7104 C_DECLARED_LABEL_FLAG (label
) = 1;
7105 declare_nonlocal_label (label
);
7110 #line 3127 "parse.y"
7114 #line 3133 "parse.y"
7115 { yyval
.ttype
= begin_compound_stmt (0); ;
7118 #line 3135 "parse.y"
7119 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7122 #line 3140 "parse.y"
7124 yyval
.ttype
= begin_if_stmt ();
7125 cond_stmt_keyword
= "if";
7129 #line 3145 "parse.y"
7130 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7133 #line 3147 "parse.y"
7134 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7137 #line 3152 "parse.y"
7138 { yyval
.ttype
= begin_compound_stmt (0); ;
7141 #line 3154 "parse.y"
7142 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7145 #line 3159 "parse.y"
7149 #line 3165 "parse.y"
7153 #line 3167 "parse.y"
7154 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7157 #line 3169 "parse.y"
7158 { begin_else_clause (); ;
7161 #line 3171 "parse.y"
7163 finish_else_clause (yyvsp
[-3].ttype
);
7168 #line 3176 "parse.y"
7169 { finish_if_stmt (); ;
7172 #line 3178 "parse.y"
7174 yyval
.ttype
= begin_while_stmt ();
7175 cond_stmt_keyword
= "while";
7179 #line 3183 "parse.y"
7180 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7183 #line 3185 "parse.y"
7184 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7187 #line 3187 "parse.y"
7188 { yyval
.ttype
= begin_do_stmt (); ;
7191 #line 3189 "parse.y"
7193 finish_do_body (yyvsp
[-2].ttype
);
7194 cond_stmt_keyword
= "do";
7198 #line 3194 "parse.y"
7199 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7202 #line 3196 "parse.y"
7203 { yyval
.ttype
= begin_for_stmt (); ;
7206 #line 3198 "parse.y"
7207 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7210 #line 3200 "parse.y"
7211 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7214 #line 3202 "parse.y"
7215 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7218 #line 3204 "parse.y"
7219 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7222 #line 3206 "parse.y"
7223 { begin_switch_stmt (); ;
7226 #line 3208 "parse.y"
7227 { yyval
.ttype
= finish_switch_cond (yyvsp
[-1].ttype
); ;
7230 #line 3210 "parse.y"
7231 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7234 #line 3212 "parse.y"
7235 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7238 #line 3215 "parse.y"
7239 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7242 #line 3218 "parse.y"
7243 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7246 #line 3221 "parse.y"
7247 { finish_break_stmt (); ;
7250 #line 3223 "parse.y"
7251 { finish_continue_stmt (); ;
7254 #line 3225 "parse.y"
7255 { finish_return_stmt (NULL_TREE
); ;
7258 #line 3227 "parse.y"
7259 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7262 #line 3229 "parse.y"
7264 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7269 #line 3235 "parse.y"
7271 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7276 #line 3241 "parse.y"
7277 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7280 #line 3245 "parse.y"
7281 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7284 #line 3247 "parse.y"
7287 pedwarn ("ANSI C++ forbids computed gotos");
7288 finish_goto_stmt (yyvsp
[-1].ttype
);
7292 #line 3253 "parse.y"
7293 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7296 #line 3255 "parse.y"
7300 #line 3257 "parse.y"
7301 { error ("label must be followed by statement");
7306 #line 3261 "parse.y"
7310 #line 3265 "parse.y"
7311 { do_local_using_decl (yyvsp
[0].ttype
); ;
7314 #line 3271 "parse.y"
7316 if (! current_function_parms_stored
)
7317 store_parm_decls ();
7318 expand_start_early_try_stmts ();
7322 #line 3277 "parse.y"
7324 expand_start_all_catch ();
7328 #line 3281 "parse.y"
7330 int nested
= (hack_decl_function_context
7331 (current_function_decl
) != NULL_TREE
);
7332 expand_end_all_catch ();
7333 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7337 #line 3291 "parse.y"
7338 { yyval
.ttype
= begin_try_block (); ;
7341 #line 3293 "parse.y"
7342 { finish_try_block (yyvsp
[-1].ttype
); ;
7345 #line 3295 "parse.y"
7346 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7349 #line 3305 "parse.y"
7350 { yyval
.ttype
= begin_handler(); ;
7353 #line 3307 "parse.y"
7354 { finish_handler_parms (yyvsp
[-1].ttype
); ;
7357 #line 3309 "parse.y"
7358 { finish_handler (yyvsp
[-3].ttype
); ;
7361 #line 3319 "parse.y"
7362 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7365 #line 3335 "parse.y"
7366 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7367 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7368 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7371 #line 3342 "parse.y"
7374 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7375 if (label
&& ! minimal_parse_mode
)
7376 expand_label (label
);
7380 #line 3349 "parse.y"
7384 #line 3351 "parse.y"
7388 #line 3353 "parse.y"
7392 #line 3358 "parse.y"
7393 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7396 #line 3361 "parse.y"
7398 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7402 #line 3370 "parse.y"
7403 { emit_line_note (input_filename
, lineno
);
7404 yyval
.ttype
= NULL_TREE
; ;
7407 #line 3373 "parse.y"
7408 { emit_line_note (input_filename
, lineno
); ;
7411 #line 3378 "parse.y"
7412 { yyval
.ttype
= NULL_TREE
; ;
7415 #line 3381 "parse.y"
7416 { yyval
.ttype
= NULL_TREE
; ;
7419 #line 3388 "parse.y"
7420 { yyval
.ttype
= NULL_TREE
; ;
7423 #line 3395 "parse.y"
7424 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7427 #line 3400 "parse.y"
7428 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7431 #line 3405 "parse.y"
7432 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7435 #line 3407 "parse.y"
7436 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7439 #line 3418 "parse.y"
7441 yyval
.ttype
= empty_parms();
7445 #line 3423 "parse.y"
7446 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
7447 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7450 #line 3431 "parse.y"
7451 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7454 #line 3433 "parse.y"
7455 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7458 #line 3436 "parse.y"
7459 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7462 #line 3438 "parse.y"
7463 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7464 yyvsp
[-1].ftype
.t
), 1); ;
7467 #line 3441 "parse.y"
7468 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7471 #line 3443 "parse.y"
7473 /* This helps us recover from really nasty
7474 parse errors, for example, a missing right
7476 yyerror ("possibly missing ')'");
7477 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7483 #line 3453 "parse.y"
7485 /* This helps us recover from really nasty
7486 parse errors, for example, a missing right
7488 yyerror ("possibly missing ')'");
7489 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7490 yyvsp
[-1].ftype
.t
), 0);
7496 #line 3468 "parse.y"
7497 { maybe_snarf_defarg (); ;
7500 #line 3470 "parse.y"
7501 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7504 #line 3481 "parse.y"
7505 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7506 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7509 #line 3484 "parse.y"
7510 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7511 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7514 #line 3487 "parse.y"
7515 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7516 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7519 #line 3490 "parse.y"
7520 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7523 #line 3492 "parse.y"
7524 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7527 #line 3498 "parse.y"
7528 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7529 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7532 #line 3508 "parse.y"
7533 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7534 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7535 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7538 #line 3512 "parse.y"
7539 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7540 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7543 #line 3515 "parse.y"
7544 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
7545 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7548 #line 3518 "parse.y"
7549 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7550 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7551 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7554 #line 3522 "parse.y"
7555 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7556 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7557 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7560 #line 3526 "parse.y"
7561 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7562 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7563 yyval
.ftype
.new_type_flag
= 0; ;
7566 #line 3533 "parse.y"
7567 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7568 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7571 #line 3536 "parse.y"
7572 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7573 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7576 #line 3547 "parse.y"
7577 { see_typename (); ;
7580 #line 3552 "parse.y"
7582 error ("type specifier omitted for parameter");
7583 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7587 #line 3557 "parse.y"
7589 error ("type specifier omitted for parameter");
7590 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7591 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7592 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7593 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7594 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7598 #line 3569 "parse.y"
7599 { yyval
.ttype
= NULL_TREE
; ;
7602 #line 3571 "parse.y"
7603 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7606 #line 3573 "parse.y"
7607 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
7610 #line 3578 "parse.y"
7611 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
7614 #line 3584 "parse.y"
7616 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
7617 yyval
.ttype
= yyvsp
[0].ttype
;
7621 #line 3592 "parse.y"
7622 { yyval
.ttype
= NULL_TREE
; ;
7625 #line 3594 "parse.y"
7626 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7629 #line 3596 "parse.y"
7630 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7633 #line 3598 "parse.y"
7634 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7635 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7639 #line 3605 "parse.y"
7640 { got_scope
= NULL_TREE
; ;
7643 #line 3610 "parse.y"
7644 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
7647 #line 3612 "parse.y"
7648 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
7651 #line 3614 "parse.y"
7652 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
7655 #line 3616 "parse.y"
7656 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
7659 #line 3618 "parse.y"
7660 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
7663 #line 3620 "parse.y"
7664 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
7667 #line 3622 "parse.y"
7668 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
7671 #line 3624 "parse.y"
7672 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
7675 #line 3626 "parse.y"
7676 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
7679 #line 3628 "parse.y"
7680 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
7683 #line 3630 "parse.y"
7684 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7687 #line 3632 "parse.y"
7688 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
7691 #line 3634 "parse.y"
7692 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
7695 #line 3636 "parse.y"
7696 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7699 #line 3638 "parse.y"
7700 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
7703 #line 3640 "parse.y"
7704 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
7707 #line 3642 "parse.y"
7708 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7711 #line 3644 "parse.y"
7712 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7715 #line 3646 "parse.y"
7716 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
7719 #line 3648 "parse.y"
7720 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
7723 #line 3650 "parse.y"
7724 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
7727 #line 3652 "parse.y"
7728 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
7731 #line 3654 "parse.y"
7732 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
7735 #line 3656 "parse.y"
7736 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
7739 #line 3658 "parse.y"
7740 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7743 #line 3660 "parse.y"
7744 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
7747 #line 3662 "parse.y"
7748 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
7751 #line 3664 "parse.y"
7752 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
7755 #line 3666 "parse.y"
7756 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
7759 #line 3668 "parse.y"
7760 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
7763 #line 3670 "parse.y"
7764 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
7767 #line 3672 "parse.y"
7768 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
7771 #line 3674 "parse.y"
7772 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
7775 #line 3677 "parse.y"
7776 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7779 #line 3679 "parse.y"
7780 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
7783 /* the action file gets copied in in place of this dollarsign */
7784 #line 498 "/usr/lib/bison.simple"
7795 short *ssp1
= yyss
- 1;
7796 fprintf (stderr
, "state stack now");
7797 while (ssp1
!= yyssp
)
7798 fprintf (stderr
, " %d", *++ssp1
);
7799 fprintf (stderr
, "\n");
7809 yylsp
->first_line
= yylloc
.first_line
;
7810 yylsp
->first_column
= yylloc
.first_column
;
7811 yylsp
->last_line
= (yylsp
-1)->last_line
;
7812 yylsp
->last_column
= (yylsp
-1)->last_column
;
7817 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
7818 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
7822 /* Now "shift" the result of the reduction.
7823 Determine what state that goes to,
7824 based on the state we popped back to
7825 and the rule number reduced by. */
7829 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
7830 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
7831 yystate
= yytable
[yystate
];
7833 yystate
= yydefgoto
[yyn
- YYNTBASE
];
7837 yyerrlab
: /* here on detecting error */
7840 /* If not already recovering from an error, report this error. */
7844 #ifdef YYERROR_VERBOSE
7845 yyn
= yypact
[yystate
];
7847 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
7854 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7855 for (x
= (yyn
< 0 ? -yyn
: 0);
7856 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7857 if (yycheck
[x
+ yyn
] == x
)
7858 size
+= strlen(yytname
[x
]) + 15, count
++;
7859 msg
= (char *) malloc(size
+ 15);
7862 strcpy(msg
, "parse error");
7867 for (x
= (yyn
< 0 ? -yyn
: 0);
7868 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7869 if (yycheck
[x
+ yyn
] == x
)
7871 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
7872 strcat(msg
, yytname
[x
]);
7881 yyerror ("parse error; also virtual memory exceeded");
7884 #endif /* YYERROR_VERBOSE */
7885 yyerror("parse error");
7889 yyerrlab1
: /* here on error raised explicitly by an action */
7891 if (yyerrstatus
== 3)
7893 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7895 /* return failure if at end of input */
7896 if (yychar
== YYEOF
)
7901 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
7907 /* Else will try to reuse lookahead token
7908 after shifting the error token. */
7910 yyerrstatus
= 3; /* Each real token shifted decrements this */
7914 yyerrdefault
: /* current state does not do anything special for the error token. */
7917 /* This is wrong; only states that explicitly want error tokens
7918 should shift them. */
7919 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7920 if (yyn
) goto yydefault
;
7923 yyerrpop
: /* pop the current state because it cannot handle the error token */
7925 if (yyssp
== yyss
) YYABORT
;
7935 short *ssp1
= yyss
- 1;
7936 fprintf (stderr
, "Error: state stack now");
7937 while (ssp1
!= yyssp
)
7938 fprintf (stderr
, " %d", *++ssp1
);
7939 fprintf (stderr
, "\n");
7945 yyn
= yypact
[yystate
];
7950 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
7969 fprintf(stderr
, "Shifting error token, ");
7980 #line 3682 "parse.y"
7985 debug_yytranslate (value
)
7988 return yytname
[YYTRANSLATE (value
)];