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 most recent one being defined. */
170 static tree current_aggr
;
172 /* Tell yyparse how to print a token's value, if yydebug is set. */
174 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
175 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
176 extern tree combine_strings
PROTO((tree
));
179 parse_decl(declarator
, specs_attrs
, attributes
, initialized
, decl
)
188 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
189 if (current_declspecs
190 && TREE_CODE (current_declspecs
) != TREE_LIST
)
191 current_declspecs
= get_decl_list (current_declspecs
);
192 if (have_extern_spec
&& !used_extern_spec
)
194 current_declspecs
= decl_tree_cons (NULL_TREE
,
195 get_identifier ("extern"),
197 used_extern_spec
= 1;
199 sm
= suspend_momentary ();
200 *decl
= start_decl (declarator
, current_declspecs
, initialized
,
201 attributes
, prefix_attributes
);
215 #define YYFLAG -32768
218 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 395)
220 static const char yytranslate
[] = { 0,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 110, 2, 2, 2, 82, 70, 2, 93,
225 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
227 64, 75, 65, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
230 94, 2, 111, 69, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 58, 68, 109, 88, 2, 2, 2, 2,
234 2, 2, 2, 2, 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, 2, 2, 2, 2, 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, 1, 2, 3, 4, 5,
247 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
248 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
249 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
250 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
251 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
252 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
253 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
254 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
259 static const short yyprhs
[] = { 0,
260 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
261 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
262 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
263 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
264 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
265 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
266 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
267 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
268 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
269 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
270 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
271 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
272 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
273 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
274 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
275 485, 486, 493, 494, 501, 502, 508, 509, 515, 516,
276 524, 525, 533, 534, 541, 542, 549, 550, 551, 557,
277 563, 565, 571, 572, 574, 576, 577, 579, 581, 585,
278 587, 589, 591, 593, 595, 597, 599, 601, 603, 605,
279 607, 611, 613, 617, 618, 620, 622, 623, 631, 633,
280 635, 639, 644, 648, 649, 653, 655, 659, 663, 667,
281 671, 673, 675, 677, 680, 683, 686, 689, 692, 695,
282 698, 703, 706, 711, 714, 718, 722, 727, 733, 740,
283 747, 755, 758, 763, 769, 772, 775, 777, 778, 783,
284 788, 792, 794, 798, 801, 805, 810, 812, 815, 821,
285 823, 827, 831, 835, 839, 843, 847, 851, 855, 859,
286 863, 867, 871, 875, 879, 883, 887, 891, 895, 899,
287 905, 909, 913, 915, 918, 922, 924, 926, 928, 930,
288 932, 933, 939, 945, 951, 957, 963, 965, 967, 969,
289 971, 974, 977, 981, 986, 991, 993, 995, 997, 1001,
290 1003, 1005, 1007, 1009, 1013, 1017, 1021, 1022, 1027, 1032,
291 1035, 1040, 1043, 1048, 1051, 1054, 1056, 1061, 1063, 1071,
292 1079, 1087, 1095, 1100, 1105, 1108, 1111, 1114, 1116, 1121,
293 1124, 1127, 1133, 1137, 1140, 1143, 1149, 1153, 1159, 1163,
294 1168, 1175, 1178, 1180, 1183, 1185, 1188, 1190, 1192, 1194,
295 1197, 1198, 1201, 1204, 1208, 1212, 1216, 1219, 1222, 1225,
296 1227, 1229, 1231, 1234, 1237, 1240, 1243, 1245, 1247, 1249,
297 1251, 1254, 1257, 1261, 1265, 1269, 1274, 1276, 1279, 1282,
298 1285, 1287, 1289, 1291, 1294, 1297, 1300, 1302, 1304, 1307,
299 1310, 1314, 1316, 1319, 1321, 1323, 1325, 1330, 1335, 1340,
300 1345, 1347, 1349, 1351, 1353, 1357, 1359, 1363, 1365, 1369,
301 1370, 1375, 1376, 1383, 1387, 1388, 1393, 1395, 1399, 1403,
302 1404, 1409, 1413, 1414, 1416, 1418, 1421, 1428, 1430, 1434,
303 1435, 1437, 1442, 1449, 1454, 1456, 1458, 1460, 1462, 1464,
304 1468, 1469, 1472, 1474, 1477, 1481, 1486, 1488, 1490, 1494,
305 1499, 1503, 1509, 1511, 1516, 1520, 1524, 1525, 1529, 1533,
306 1537, 1538, 1541, 1544, 1545, 1553, 1558, 1559, 1566, 1570,
307 1573, 1576, 1579, 1580, 1581, 1591, 1593, 1594, 1596, 1597,
308 1599, 1601, 1604, 1607, 1610, 1613, 1616, 1619, 1622, 1625,
309 1628, 1632, 1637, 1641, 1644, 1648, 1649, 1651, 1655, 1658,
310 1661, 1663, 1665, 1666, 1669, 1673, 1675, 1680, 1682, 1686,
311 1688, 1690, 1695, 1700, 1703, 1706, 1710, 1714, 1716, 1717,
312 1719, 1722, 1727, 1731, 1733, 1736, 1739, 1742, 1745, 1748,
313 1751, 1754, 1756, 1759, 1762, 1766, 1769, 1772, 1777, 1782,
314 1785, 1787, 1793, 1798, 1800, 1801, 1803, 1807, 1808, 1810,
315 1814, 1816, 1818, 1820, 1822, 1827, 1832, 1837, 1842, 1847,
316 1851, 1856, 1861, 1866, 1871, 1875, 1877, 1881, 1883, 1887,
317 1890, 1892, 1900, 1901, 1904, 1906, 1909, 1910, 1913, 1918,
318 1923, 1926, 1931, 1935, 1939, 1942, 1945, 1949, 1951, 1953,
319 1956, 1958, 1960, 1963, 1966, 1971, 1976, 1980, 1984, 1987,
320 1989, 1993, 1997, 2000, 2003, 2007, 2009, 2013, 2017, 2020,
321 2023, 2027, 2029, 2034, 2038, 2043, 2047, 2049, 2052, 2055,
322 2058, 2061, 2064, 2066, 2069, 2074, 2079, 2082, 2084, 2086,
323 2088, 2090, 2093, 2098, 2101, 2104, 2107, 2110, 2112, 2115,
324 2118, 2121, 2124, 2128, 2130, 2133, 2137, 2142, 2145, 2148,
325 2151, 2154, 2157, 2160, 2165, 2168, 2170, 2173, 2176, 2180,
326 2182, 2186, 2189, 2193, 2196, 2199, 2203, 2205, 2209, 2214,
327 2218, 2221, 2224, 2226, 2230, 2233, 2236, 2238, 2241, 2245,
328 2247, 2251, 2253, 2260, 2265, 2270, 2274, 2280, 2284, 2288,
329 2292, 2295, 2297, 2299, 2302, 2305, 2308, 2309, 2311, 2313,
330 2316, 2320, 2322, 2325, 2326, 2330, 2331, 2332, 2338, 2340,
331 2341, 2344, 2346, 2348, 2350, 2353, 2354, 2359, 2361, 2362,
332 2363, 2369, 2370, 2371, 2379, 2380, 2381, 2382, 2383, 2396,
333 2397, 2398, 2406, 2407, 2413, 2414, 2422, 2423, 2428, 2431,
334 2434, 2437, 2441, 2448, 2457, 2468, 2481, 2486, 2490, 2493,
335 2496, 2498, 2500, 2502, 2504, 2506, 2507, 2508, 2515, 2516,
336 2517, 2523, 2525, 2528, 2529, 2530, 2536, 2538, 2540, 2544,
337 2548, 2551, 2554, 2557, 2560, 2563, 2565, 2568, 2569, 2571,
338 2572, 2574, 2576, 2577, 2579, 2581, 2585, 2590, 2592, 2596,
339 2597, 2599, 2601, 2603, 2606, 2609, 2612, 2614, 2617, 2620,
340 2621, 2625, 2627, 2629, 2631, 2634, 2637, 2640, 2645, 2648,
341 2651, 2654, 2657, 2660, 2663, 2665, 2668, 2670, 2673, 2675,
342 2677, 2678, 2679, 2681, 2682, 2687, 2690, 2692, 2694, 2698,
343 2699, 2703, 2707, 2711, 2713, 2716, 2719, 2722, 2725, 2728,
344 2731, 2734, 2737, 2740, 2743, 2746, 2749, 2752, 2755, 2758,
345 2761, 2764, 2767, 2770, 2773, 2776, 2779, 2782, 2786, 2789,
346 2792, 2795, 2798, 2802, 2805, 2808, 2813, 2818, 2822
349 static const short yyrhs
[] = { -1,
350 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
351 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
352 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
353 93, 217, 108, 60, 0, 133, 58, 115, 109, 0,
354 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
355 0, 0, 44, 163, 58, 123, 115, 109, 0, 0,
356 44, 58, 124, 115, 109, 0, 125, 0, 127, 60,
357 0, 129, 0, 118, 122, 0, 0, 44, 163, 64,
358 126, 132, 60, 0, 46, 309, 0, 46, 323, 309,
359 0, 46, 323, 208, 0, 46, 131, 163, 0, 46,
360 323, 163, 0, 46, 323, 131, 163, 0, 0, 46,
361 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
362 54, 0, 208, 0, 309, 0, 323, 309, 0, 323,
363 208, 0, 98, 0, 133, 98, 0, 0, 48, 74,
364 135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
365 136, 59, 140, 0, 163, 0, 0, 266, 137, 0,
366 45, 137, 0, 134, 266, 137, 0, 138, 0, 138,
367 64, 223, 0, 386, 0, 386, 64, 203, 0, 139,
368 0, 139, 64, 183, 0, 134, 142, 0, 134, 1,
369 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
370 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
371 142, 0, 234, 60, 0, 227, 233, 60, 0, 224,
372 232, 60, 0, 259, 60, 0, 234, 60, 0, 227,
373 233, 60, 0, 224, 232, 60, 0, 227, 60, 0,
374 166, 60, 0, 224, 60, 0, 1, 60, 0, 1,
375 109, 0, 60, 0, 218, 0, 159, 0, 0, 158,
376 0, 158, 60, 0, 0, 107, 0, 154, 146, 145,
377 333, 0, 154, 146, 357, 0, 154, 146, 1, 0,
378 0, 314, 5, 93, 150, 377, 108, 296, 389, 0,
379 314, 5, 47, 296, 389, 0, 0, 323, 314, 5,
380 93, 151, 377, 108, 296, 389, 0, 323, 314, 5,
381 47, 296, 389, 0, 0, 314, 178, 93, 152, 377,
382 108, 296, 389, 0, 314, 178, 47, 296, 389, 0,
383 0, 323, 314, 178, 93, 153, 377, 108, 296, 389,
384 0, 323, 314, 178, 47, 296, 389, 0, 224, 221,
385 0, 227, 306, 0, 306, 0, 227, 149, 0, 149,
386 0, 5, 93, 377, 108, 296, 389, 0, 5, 47,
387 296, 389, 0, 178, 93, 377, 108, 296, 389, 0,
388 178, 47, 296, 389, 0, 227, 155, 0, 155, 0,
389 224, 221, 0, 227, 306, 0, 306, 0, 227, 149,
390 0, 149, 0, 25, 3, 0, 157, 251, 0, 157,
391 93, 195, 108, 0, 157, 47, 0, 62, 160, 161,
392 0, 0, 0, 162, 0, 161, 59, 162, 0, 161,
393 1, 0, 93, 195, 108, 0, 47, 0, 164, 93,
394 195, 108, 0, 164, 47, 0, 302, 93, 195, 108,
395 0, 302, 47, 0, 316, 93, 195, 108, 0, 316,
396 47, 0, 3, 0, 4, 0, 5, 0, 56, 0,
397 57, 0, 3, 0, 56, 0, 57, 0, 104, 0,
398 103, 0, 105, 0, 0, 48, 175, 230, 60, 167,
399 176, 0, 0, 48, 175, 224, 221, 168, 176, 0,
400 0, 48, 175, 306, 169, 176, 0, 0, 48, 175,
401 149, 170, 176, 0, 0, 7, 48, 175, 230, 60,
402 171, 176, 0, 0, 7, 48, 175, 224, 221, 172,
403 176, 0, 0, 7, 48, 175, 306, 173, 176, 0,
404 0, 7, 48, 175, 149, 174, 176, 0, 0, 0,
405 56, 74, 181, 180, 179, 0, 4, 74, 181, 180,
406 179, 0, 178, 0, 5, 74, 181, 180, 179, 0,
407 0, 75, 0, 77, 0, 0, 182, 0, 183, 0,
408 182, 59, 183, 0, 223, 0, 56, 0, 203, 0,
409 79, 0, 78, 0, 86, 0, 87, 0, 110, 0,
410 194, 0, 203, 0, 47, 0, 93, 185, 108, 0,
411 47, 0, 93, 189, 108, 0, 0, 189, 0, 1,
412 0, 0, 367, 221, 235, 244, 64, 190, 252, 0,
413 185, 0, 109, 0, 330, 328, 109, 0, 330, 328,
414 1, 109, 0, 330, 1, 109, 0, 0, 58, 193,
415 191, 0, 342, 0, 203, 59, 203, 0, 203, 59,
416 1, 0, 194, 59, 203, 0, 194, 59, 1, 0,
417 203, 0, 194, 0, 212, 0, 118, 202, 0, 80,
418 202, 0, 70, 202, 0, 88, 202, 0, 184, 202,
419 0, 67, 163, 0, 13, 196, 0, 13, 93, 223,
420 108, 0, 29, 196, 0, 29, 93, 223, 108, 0,
421 214, 295, 0, 214, 295, 200, 0, 214, 199, 295,
422 0, 214, 199, 295, 200, 0, 214, 93, 198, 223,
423 197, 0, 214, 93, 198, 223, 197, 200, 0, 214,
424 199, 93, 198, 223, 197, 0, 214, 199, 93, 198,
425 223, 197, 200, 0, 215, 202, 0, 215, 94, 111,
426 202, 0, 215, 94, 185, 111, 202, 0, 34, 202,
427 0, 35, 202, 0, 108, 0, 0, 93, 198, 195,
428 108, 0, 58, 198, 195, 109, 0, 93, 195, 108,
429 0, 47, 0, 93, 230, 108, 0, 64, 252, 0,
430 93, 223, 108, 0, 201, 93, 223, 108, 0, 196,
431 0, 201, 196, 0, 201, 58, 253, 264, 109, 0,
432 202, 0, 203, 83, 203, 0, 203, 84, 203, 0,
433 203, 78, 203, 0, 203, 79, 203, 0, 203, 80,
434 203, 0, 203, 81, 203, 0, 203, 82, 203, 0,
435 203, 76, 203, 0, 203, 77, 203, 0, 203, 73,
436 203, 0, 203, 74, 203, 0, 203, 75, 203, 0,
437 203, 72, 203, 0, 203, 71, 203, 0, 203, 70,
438 203, 0, 203, 68, 203, 0, 203, 69, 203, 0,
439 203, 67, 203, 0, 203, 66, 203, 0, 203, 65,
440 372, 62, 203, 0, 203, 64, 203, 0, 203, 63,
441 203, 0, 61, 0, 61, 203, 0, 88, 387, 163,
442 0, 206, 0, 394, 0, 3, 0, 56, 0, 57,
443 0, 0, 6, 74, 205, 181, 180, 0, 394, 74,
444 205, 181, 180, 0, 48, 163, 74, 181, 180, 0,
445 48, 6, 74, 181, 180, 0, 48, 394, 74, 181,
446 180, 0, 204, 0, 4, 0, 5, 0, 204, 0,
447 80, 209, 0, 70, 209, 0, 93, 209, 108, 0,
448 3, 74, 181, 180, 0, 57, 74, 182, 180, 0,
449 308, 0, 204, 0, 210, 0, 93, 209, 108, 0,
450 204, 0, 10, 0, 216, 0, 217, 0, 93, 185,
451 108, 0, 93, 209, 108, 0, 93, 1, 108, 0,
452 0, 93, 213, 334, 108, 0, 204, 93, 195, 108,
453 0, 204, 47, 0, 212, 93, 195, 108, 0, 212,
454 47, 0, 212, 94, 185, 111, 0, 212, 86, 0,
455 212, 87, 0, 40, 0, 9, 93, 195, 108, 0,
456 312, 0, 50, 74, 223, 75, 93, 185, 108, 0,
457 51, 74, 223, 75, 93, 185, 108, 0, 52, 74,
458 223, 75, 93, 185, 108, 0, 53, 74, 223, 75,
459 93, 185, 108, 0, 49, 93, 185, 108, 0, 49,
460 93, 223, 108, 0, 323, 3, 0, 323, 206, 0,
461 323, 394, 0, 311, 0, 311, 93, 195, 108, 0,
462 311, 47, 0, 219, 207, 0, 219, 207, 93, 195,
463 108, 0, 219, 207, 47, 0, 219, 208, 0, 219,
464 311, 0, 219, 208, 93, 195, 108, 0, 219, 208,
465 47, 0, 219, 311, 93, 195, 108, 0, 219, 311,
466 47, 0, 219, 88, 8, 47, 0, 219, 8, 54,
467 88, 8, 47, 0, 219, 1, 0, 39, 0, 323,
468 39, 0, 38, 0, 323, 215, 0, 42, 0, 43,
469 0, 11, 0, 217, 11, 0, 0, 212, 92, 0,
470 212, 91, 0, 230, 232, 60, 0, 224, 232, 60,
471 0, 227, 233, 60, 0, 224, 60, 0, 227, 60,
472 0, 118, 220, 0, 301, 0, 306, 0, 47, 0,
473 222, 47, 0, 228, 326, 0, 297, 326, 0, 230,
474 326, 0, 228, 0, 297, 0, 228, 0, 225, 0,
475 227, 230, 0, 230, 226, 0, 230, 229, 226, 0,
476 227, 230, 226, 0, 227, 230, 229, 0, 227, 230,
477 229, 226, 0, 7, 0, 226, 231, 0, 226, 7,
478 0, 226, 245, 0, 245, 0, 297, 0, 7, 0,
479 227, 9, 0, 227, 7, 0, 227, 245, 0, 245,
480 0, 230, 0, 297, 230, 0, 230, 229, 0, 297,
481 230, 229, 0, 231, 0, 229, 231, 0, 259, 0,
482 8, 0, 303, 0, 28, 93, 185, 108, 0, 28,
483 93, 223, 108, 0, 30, 93, 185, 108, 0, 30,
484 93, 223, 108, 0, 8, 0, 9, 0, 259, 0,
485 240, 0, 232, 59, 236, 0, 241, 0, 233, 59,
486 236, 0, 242, 0, 234, 59, 236, 0, 0, 119,
487 93, 217, 108, 0, 0, 221, 235, 244, 64, 237,
488 252, 0, 221, 235, 244, 0, 0, 244, 64, 239,
489 252, 0, 244, 0, 221, 235, 238, 0, 306, 235,
490 238, 0, 0, 306, 235, 243, 238, 0, 149, 235,
491 244, 0, 0, 245, 0, 246, 0, 245, 246, 0,
492 31, 93, 93, 247, 108, 108, 0, 248, 0, 247,
493 59, 248, 0, 0, 249, 0, 249, 93, 3, 108,
494 0, 249, 93, 3, 59, 195, 108, 0, 249, 93,
495 195, 108, 0, 163, 0, 7, 0, 8, 0, 9,
496 0, 163, 0, 250, 59, 163, 0, 0, 64, 252,
497 0, 203, 0, 58, 109, 0, 58, 253, 109, 0,
498 58, 253, 59, 109, 0, 1, 0, 252, 0, 253,
499 59, 252, 0, 94, 203, 111, 252, 0, 163, 62,
500 252, 0, 253, 59, 163, 62, 252, 0, 97, 0,
501 254, 146, 145, 333, 0, 254, 146, 357, 0, 254,
502 146, 1, 0, 0, 256, 255, 147, 0, 102, 203,
503 107, 0, 102, 1, 107, 0, 0, 258, 257, 0,
504 258, 1, 0, 0, 14, 163, 58, 260, 293, 265,
505 109, 0, 14, 163, 58, 109, 0, 0, 14, 58,
506 261, 293, 265, 109, 0, 14, 58, 109, 0, 14,
507 163, 0, 14, 321, 0, 45, 316, 0, 0, 0,
508 273, 279, 281, 109, 244, 262, 258, 263, 256, 0,
509 273, 0, 0, 59, 0, 0, 59, 0, 36, 0,
510 266, 7, 0, 266, 8, 0, 266, 9, 0, 266,
511 36, 0, 266, 245, 0, 266, 163, 0, 266, 165,
512 0, 267, 58, 0, 267, 62, 0, 266, 314, 163,
513 0, 266, 323, 314, 163, 0, 266, 323, 163, 0,
514 266, 177, 0, 266, 314, 177, 0, 0, 267, 0,
515 268, 270, 274, 0, 269, 274, 0, 266, 58, 0,
516 272, 0, 271, 0, 0, 62, 387, 0, 62, 387,
517 275, 0, 276, 0, 275, 59, 387, 276, 0, 277,
518 0, 278, 387, 277, 0, 316, 0, 302, 0, 30,
519 93, 185, 108, 0, 30, 93, 223, 108, 0, 37,
520 387, 0, 7, 387, 0, 278, 37, 387, 0, 278,
521 7, 387, 0, 58, 0, 0, 280, 0, 280, 282,
522 0, 281, 37, 62, 282, 0, 281, 37, 62, 0,
523 283, 0, 282, 283, 0, 284, 60, 0, 284, 109,
524 0, 156, 62, 0, 156, 95, 0, 156, 25, 0,
525 156, 58, 0, 60, 0, 118, 283, 0, 134, 283,
526 0, 134, 224, 60, 0, 224, 285, 0, 227, 286,
527 0, 306, 235, 244, 251, 0, 149, 235, 244, 251,
528 0, 62, 203, 0, 1, 0, 227, 155, 235, 244,
529 251, 0, 155, 235, 244, 251, 0, 127, 0, 0,
530 287, 0, 285, 59, 288, 0, 0, 290, 0, 286,
531 59, 292, 0, 289, 0, 290, 0, 291, 0, 292,
532 0, 301, 235, 244, 251, 0, 4, 62, 203, 244,
533 0, 306, 235, 244, 251, 0, 149, 235, 244, 251,
534 0, 3, 62, 203, 244, 0, 62, 203, 244, 0,
535 301, 235, 244, 251, 0, 4, 62, 203, 244, 0,
536 306, 235, 244, 251, 0, 3, 62, 203, 244, 0,
537 62, 203, 244, 0, 294, 0, 293, 59, 294, 0,
538 163, 0, 163, 64, 203, 0, 367, 324, 0, 367,
539 0, 93, 198, 223, 197, 94, 185, 111, 0, 0,
540 296, 9, 0, 9, 0, 297, 9, 0, 0, 298,
541 185, 0, 298, 93, 195, 108, 0, 298, 93, 377,
542 108, 0, 298, 47, 0, 298, 93, 1, 108, 0,
543 80, 297, 301, 0, 70, 297, 301, 0, 80, 301,
544 0, 70, 301, 0, 322, 296, 301, 0, 305, 0,
545 313, 0, 323, 313, 0, 302, 0, 304, 0, 323,
546 304, 0, 314, 313, 0, 305, 300, 296, 389, 0,
547 305, 94, 299, 111, 0, 305, 94, 111, 0, 93,
548 301, 108, 0, 314, 313, 0, 313, 0, 80, 297,
549 306, 0, 70, 297, 306, 0, 80, 306, 0, 70,
550 306, 0, 322, 296, 306, 0, 211, 0, 80, 297,
551 306, 0, 70, 297, 306, 0, 80, 307, 0, 70,
552 307, 0, 322, 296, 306, 0, 308, 0, 211, 300,
553 296, 389, 0, 93, 307, 108, 0, 211, 94, 299,
554 111, 0, 211, 94, 111, 0, 310, 0, 314, 210,
555 0, 314, 208, 0, 314, 207, 0, 314, 204, 0,
556 314, 207, 0, 310, 0, 323, 310, 0, 230, 93,
557 195, 108, 0, 230, 93, 209, 108, 0, 230, 222,
558 0, 4, 0, 5, 0, 177, 0, 315, 0, 314,
559 315, 0, 314, 48, 320, 54, 0, 4, 54, 0,
560 5, 54, 0, 57, 54, 0, 177, 54, 0, 317,
561 0, 323, 317, 0, 318, 163, 0, 318, 177, 0,
562 318, 320, 0, 318, 48, 320, 0, 319, 0, 318,
563 319, 0, 318, 320, 54, 0, 318, 48, 320, 54,
564 0, 4, 54, 0, 5, 54, 0, 177, 54, 0,
565 56, 54, 0, 3, 54, 0, 57, 54, 0, 163,
566 74, 181, 180, 0, 323, 313, 0, 304, 0, 323,
567 304, 0, 314, 80, 0, 323, 314, 80, 0, 54,
568 0, 80, 296, 324, 0, 80, 296, 0, 70, 296,
569 324, 0, 70, 296, 0, 322, 296, 0, 322, 296,
570 324, 0, 325, 0, 94, 185, 111, 0, 325, 94,
571 299, 111, 0, 80, 297, 326, 0, 80, 326, 0,
572 80, 297, 0, 80, 0, 70, 297, 326, 0, 70,
573 326, 0, 70, 297, 0, 70, 0, 322, 296, 0,
574 322, 296, 326, 0, 327, 0, 93, 326, 108, 0,
575 90, 0, 327, 93, 377, 108, 296, 389, 0, 327,
576 47, 296, 389, 0, 327, 94, 299, 111, 0, 327,
577 94, 111, 0, 93, 378, 108, 296, 389, 0, 201,
578 296, 389, 0, 222, 296, 389, 0, 94, 299, 111,
579 0, 94, 111, 0, 341, 0, 329, 0, 328, 341,
580 0, 328, 329, 0, 1, 60, 0, 0, 331, 0,
581 332, 0, 331, 332, 0, 33, 250, 60, 0, 334,
582 0, 1, 334, 0, 0, 58, 335, 191, 0, 0,
583 0, 15, 337, 187, 338, 339, 0, 334, 0, 0,
584 340, 342, 0, 334, 0, 342, 0, 220, 0, 185,
585 60, 0, 0, 336, 16, 343, 339, 0, 336, 0,
586 0, 0, 17, 344, 187, 345, 192, 0, 0, 0,
587 18, 346, 339, 17, 347, 186, 60, 0, 0, 0,
588 0, 0, 19, 348, 93, 370, 349, 188, 60, 350,
589 372, 108, 351, 192, 0, 0, 0, 20, 352, 93,
590 189, 108, 353, 339, 0, 0, 21, 203, 62, 354,
591 341, 0, 0, 21, 203, 12, 203, 62, 355, 341,
592 0, 0, 22, 62, 356, 341, 0, 23, 60, 0,
593 24, 60, 0, 25, 60, 0, 25, 185, 60, 0,
594 119, 371, 93, 217, 108, 60, 0, 119, 371, 93,
595 217, 62, 373, 108, 60, 0, 119, 371, 93, 217,
596 62, 373, 62, 373, 108, 60, 0, 119, 371, 93,
597 217, 62, 373, 62, 373, 62, 376, 108, 60, 0,
598 26, 80, 185, 60, 0, 26, 163, 60, 0, 369,
599 341, 0, 369, 109, 0, 60, 0, 360, 0, 129,
600 0, 128, 0, 125, 0, 0, 0, 95, 358, 145,
601 334, 359, 363, 0, 0, 0, 95, 361, 334, 362,
602 363, 0, 364, 0, 363, 364, 0, 0, 0, 96,
603 365, 368, 366, 334, 0, 228, 0, 297, 0, 93,
604 12, 108, 0, 93, 386, 108, 0, 3, 62, 0,
605 56, 62, 0, 4, 62, 0, 5, 62, 0, 372,
606 60, 0, 220, 0, 58, 191, 0, 0, 9, 0,
607 0, 185, 0, 1, 0, 0, 374, 0, 375, 0,
608 374, 59, 375, 0, 11, 93, 185, 108, 0, 11,
609 0, 376, 59, 11, 0, 0, 378, 0, 223, 0,
610 382, 0, 383, 12, 0, 382, 12, 0, 223, 12,
611 0, 12, 0, 382, 62, 0, 223, 62, 0, 0,
612 64, 380, 381, 0, 101, 0, 252, 0, 384, 0,
613 386, 379, 0, 383, 385, 0, 383, 388, 0, 383,
614 388, 64, 252, 0, 382, 59, 0, 223, 59, 0,
615 225, 221, 0, 228, 221, 0, 230, 221, 0, 225,
616 326, 0, 225, 0, 227, 306, 0, 386, 0, 386,
617 379, 0, 384, 0, 223, 0, 0, 0, 306, 0,
618 0, 61, 93, 391, 108, 0, 61, 47, 0, 223,
619 0, 390, 0, 391, 59, 390, 0, 0, 80, 296,
620 392, 0, 70, 296, 392, 0, 322, 296, 392, 0,
621 41, 0, 393, 80, 0, 393, 81, 0, 393, 82,
622 0, 393, 78, 0, 393, 79, 0, 393, 70, 0,
623 393, 68, 0, 393, 69, 0, 393, 88, 0, 393,
624 59, 0, 393, 73, 0, 393, 74, 0, 393, 75,
625 0, 393, 72, 0, 393, 63, 0, 393, 64, 0,
626 393, 76, 0, 393, 77, 0, 393, 86, 0, 393,
627 87, 0, 393, 67, 0, 393, 66, 0, 393, 110,
628 0, 393, 65, 62, 0, 393, 71, 0, 393, 91,
629 0, 393, 83, 0, 393, 47, 0, 393, 94, 111,
630 0, 393, 39, 0, 393, 38, 0, 393, 39, 94,
631 111, 0, 393, 38, 94, 111, 0, 393, 367, 392,
638 static const short yyrline
[] = { 0,
639 331, 333, 341, 344, 345, 349, 351, 354, 359, 363,
640 369, 373, 376, 380, 383, 385, 387, 390, 392, 395,
641 398, 400, 402, 404, 406, 407, 409, 410, 414, 417,
642 426, 429, 431, 435, 438, 440, 444, 447, 459, 466,
643 474, 476, 477, 479, 483, 486, 492, 495, 497, 502,
644 505, 509, 512, 515, 518, 522, 527, 537, 539, 541,
645 543, 545, 558, 561, 565, 568, 570, 572, 575, 578,
646 582, 584, 586, 588, 593, 595, 597, 599, 601, 602,
647 609, 610, 611, 614, 617, 621, 623, 624, 627, 629,
648 632, 635, 637, 641, 644, 646, 650, 652, 654, 658,
649 660, 662, 666, 668, 670, 676, 680, 683, 686, 689,
650 694, 697, 699, 701, 707, 717, 719, 722, 725, 727,
651 730, 734, 743, 746, 748, 752, 765, 785, 788, 790,
652 791, 794, 801, 807, 809, 811, 813, 815, 818, 823,
653 825, 826, 827, 828, 831, 833, 834, 837, 839, 840,
654 843, 848, 848, 852, 852, 855, 855, 858, 858, 862,
655 862, 867, 867, 870, 870, 873, 875, 878, 885, 889,
656 892, 895, 901, 910, 912, 920, 923, 926, 929, 933,
657 936, 938, 941, 944, 946, 948, 950, 954, 957, 960,
658 965, 969, 974, 978, 981, 982, 986, 1005, 1012, 1015,
659 1017, 1018, 1019, 1022, 1026, 1027, 1031, 1035, 1038, 1040,
660 1044, 1047, 1050, 1054, 1057, 1059, 1061, 1063, 1066, 1070,
661 1072, 1074, 1076, 1082, 1085, 1088, 1091, 1103, 1108, 1112,
662 1116, 1121, 1123, 1127, 1131, 1133, 1142, 1146, 1149, 1152,
663 1157, 1160, 1162, 1170, 1183, 1188, 1194, 1196, 1198, 1211,
664 1214, 1216, 1218, 1220, 1222, 1224, 1226, 1228, 1230, 1232,
665 1234, 1236, 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252,
666 1254, 1258, 1260, 1262, 1279, 1282, 1283, 1284, 1285, 1286,
667 1289, 1292, 1295, 1299, 1302, 1304, 1309, 1311, 1312, 1315,
668 1317, 1319, 1321, 1325, 1328, 1332, 1336, 1337, 1338, 1342,
669 1350, 1351, 1352, 1360, 1362, 1365, 1367, 1377, 1382, 1384,
670 1386, 1388, 1390, 1392, 1394, 1397, 1399, 1443, 1444, 1448,
671 1452, 1456, 1460, 1462, 1466, 1468, 1470, 1478, 1480, 1482,
672 1484, 1488, 1490, 1492, 1494, 1499, 1501, 1503, 1505, 1508,
673 1510, 1512, 1556, 1559, 1563, 1566, 1570, 1573, 1578, 1580,
674 1584, 1597, 1600, 1607, 1614, 1619, 1621, 1626, 1628, 1635,
675 1637, 1641, 1645, 1651, 1655, 1658, 1661, 1664, 1674, 1676,
676 1679, 1683, 1686, 1689, 1692, 1695, 1701, 1707, 1709, 1714,
677 1716, 1725, 1728, 1730, 1733, 1739, 1741, 1751, 1755, 1758,
678 1761, 1766, 1769, 1777, 1779, 1781, 1783, 1786, 1789, 1804,
679 1823, 1826, 1828, 1831, 1833, 1836, 1838, 1841, 1843, 1846,
680 1849, 1853, 1859, 1860, 1872, 1879, 1882, 1888, 1892, 1897,
681 1903, 1904, 1912, 1915, 1919, 1922, 1926, 1931, 1934, 1938,
682 1941, 1943, 1945, 1947, 1954, 1956, 1957, 1958, 1962, 1965,
683 1969, 1972, 1978, 1980, 1983, 1986, 1989, 1995, 1998, 2001,
684 2003, 2005, 2009, 2015, 2023, 2025, 2029, 2031, 2036, 2039,
685 2042, 2044, 2046, 2050, 2054, 2059, 2063, 2066, 2071, 2075,
686 2078, 2081, 2085, 2097, 2099, 2102, 2122, 2124, 2127, 2129,
687 2134, 2136, 2138, 2140, 2142, 2144, 2148, 2153, 2156, 2158,
688 2162, 2168, 2173, 2178, 2180, 2184, 2189, 2192, 2199, 2216,
689 2222, 2224, 2227, 2230, 2232, 2236, 2238, 2242, 2275, 2311,
690 2314, 2315, 2336, 2359, 2361, 2365, 2376, 2390, 2395, 2402,
691 2405, 2413, 2424, 2433, 2437, 2452, 2455, 2460, 2462, 2464,
692 2466, 2468, 2470, 2473, 2475, 2479, 2485, 2487, 2490, 2493,
693 2495, 2506, 2511, 2514, 2519, 2522, 2523, 2534, 2537, 2538,
694 2549, 2551, 2554, 2556, 2559, 2566, 2574, 2581, 2587, 2593,
695 2601, 2605, 2610, 2614, 2617, 2626, 2628, 2632, 2635, 2640,
696 2644, 2650, 2661, 2664, 2668, 2672, 2680, 2685, 2691, 2694,
697 2696, 2698, 2704, 2707, 2709, 2711, 2713, 2717, 2720, 2738,
698 2748, 2750, 2751, 2755, 2760, 2763, 2765, 2767, 2769, 2773,
699 2779, 2782, 2784, 2786, 2788, 2792, 2795, 2798, 2800, 2802,
700 2804, 2808, 2811, 2814, 2816, 2818, 2820, 2822, 2829, 2833,
701 2838, 2842, 2847, 2849, 2853, 2856, 2858, 2862, 2864, 2865,
702 2868, 2870, 2872, 2878, 2893, 2899, 2905, 2919, 2921, 2925,
703 2939, 2941, 2943, 2947, 2953, 2966, 2968, 2972, 2985, 2991,
704 2993, 2994, 2995, 3003, 3008, 3017, 3018, 3022, 3025, 3031,
705 3037, 3040, 3042, 3044, 3046, 3050, 3054, 3058, 3061, 3066,
706 3069, 3071, 3073, 3075, 3077, 3079, 3081, 3083, 3087, 3091,
707 3095, 3099, 3100, 3102, 3104, 3106, 3108, 3110, 3112, 3114,
708 3116, 3124, 3126, 3127, 3128, 3131, 3137, 3139, 3144, 3146,
709 3149, 3163, 3166, 3169, 3173, 3176, 3183, 3185, 3188, 3190,
710 3192, 3195, 3198, 3201, 3204, 3206, 3209, 3213, 3215, 3221,
711 3223, 3224, 3226, 3231, 3233, 3235, 3237, 3239, 3242, 3243,
712 3245, 3248, 3249, 3252, 3252, 3255, 3255, 3258, 3258, 3260,
713 3262, 3264, 3266, 3272, 3278, 3281, 3284, 3290, 3292, 3294,
714 3298, 3300, 3301, 3302, 3304, 3307, 3314, 3319, 3327, 3331,
715 3333, 3336, 3338, 3341, 3345, 3347, 3350, 3352, 3355, 3372,
716 3378, 3386, 3388, 3390, 3394, 3397, 3398, 3406, 3410, 3414,
717 3417, 3418, 3424, 3427, 3430, 3432, 3436, 3441, 3444, 3454,
718 3459, 3460, 3467, 3470, 3473, 3475, 3478, 3480, 3490, 3504,
719 3508, 3511, 3513, 3517, 3521, 3524, 3527, 3529, 3533, 3535,
720 3542, 3549, 3552, 3555, 3559, 3563, 3569, 3573, 3578, 3580,
721 3583, 3588, 3594, 3605, 3608, 3610, 3614, 3619, 3621, 3628,
722 3631, 3633, 3635, 3641, 3646, 3649, 3651, 3653, 3655, 3657,
723 3659, 3661, 3663, 3665, 3667, 3669, 3671, 3673, 3675, 3677,
724 3679, 3681, 3683, 3685, 3687, 3689, 3691, 3693, 3695, 3697,
725 3699, 3701, 3703, 3705, 3707, 3709, 3711, 3714, 3716
730 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
732 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
733 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
734 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
735 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
736 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
737 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
738 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
739 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
740 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
741 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
742 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
743 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
744 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
745 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
746 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
747 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
748 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
749 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
750 "template_type_parm","template_template_parm","template_parm","template_def",
751 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
752 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
753 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
754 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
755 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
756 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
757 "self_template_type",".finish_template_type","template_close_bracket","template_arg_list_opt",
758 "template_arg_list","template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null",
759 "xcond","condition","@20","compstmtend","already_scoped_stmt","@21","nontrivial_exprlist",
760 "nonnull_exprlist","unary_expr",".finish_new_placement",".begin_new_placement",
761 "new_placement","new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas",
762 "notype_unqualified_id","do_id","template_id","object_template_id","unqualified_id",
763 "expr_or_declarator","notype_template_declarator","direct_notype_declarator",
764 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
765 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
766 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
767 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
768 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
769 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
770 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
771 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
772 "@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
773 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
774 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
775 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
776 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
777 "component_decl_1","components","notype_components","component_declarator0",
778 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
779 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
780 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
781 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
782 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
783 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
784 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
785 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
786 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
787 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
788 "label_decls","label_decl","compstmt_or_error","compstmt","@30","simple_if",
789 "@31","@32","implicitly_scoped_stmt","@33","stmt","simple_stmt","@34","@35",
790 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","function_try_block",
791 "@48","@49","try_block","@50","@51","handler_seq","handler","@52","@53","type_specifier_seq",
792 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
793 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
794 "complex_parmlist","defarg","@54","defarg1","parms","parms_comma","named_parm",
795 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
796 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
800 static const short yyr1
[] = { 0,
801 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
802 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
803 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
804 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
805 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
806 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
807 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
808 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
809 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
810 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
811 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
812 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
813 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
814 161, 162, 162, 162, 162, 162, 162, 162, 162, 163,
815 163, 163, 163, 163, 164, 164, 164, 165, 165, 165,
816 167, 166, 168, 166, 169, 166, 170, 166, 171, 166,
817 172, 166, 173, 166, 174, 166, 175, 176, 177, 177,
818 177, 178, 179, 180, 180, 181, 181, 182, 182, 183,
819 183, 183, 184, 184, 184, 184, 184, 185, 185, 186,
820 186, 187, 187, 188, 188, 188, 190, 189, 189, 191,
821 191, 191, 191, 193, 192, 192, 194, 194, 194, 194,
822 195, 195, 196, 196, 196, 196, 196, 196, 196, 196,
823 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
824 196, 196, 196, 196, 196, 196, 197, 198, 199, 199,
825 200, 200, 200, 200, 201, 201, 202, 202, 202, 203,
826 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
827 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
828 203, 203, 203, 203, 204, 204, 204, 204, 204, 204,
829 205, 206, 206, 207, 207, 207, 208, 208, 208, 209,
830 209, 209, 209, 210, 210, 211, 211, 211, 211, 212,
831 212, 212, 212, 212, 212, 212, 213, 212, 212, 212,
832 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
833 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
834 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
835 212, 212, 214, 214, 215, 215, 216, 216, 217, 217,
836 218, 219, 219, 220, 220, 220, 220, 220, 220, 221,
837 221, 222, 222, 223, 223, 223, 223, 223, 224, 224,
838 225, 225, 225, 225, 225, 225, 226, 226, 226, 226,
839 226, 227, 227, 227, 227, 227, 227, 228, 228, 228,
840 228, 229, 229, 230, 230, 230, 230, 230, 230, 230,
841 231, 231, 231, 232, 232, 233, 233, 234, 234, 235,
842 235, 237, 236, 236, 239, 238, 238, 240, 241, 243,
843 242, 242, 244, 244, 245, 245, 246, 247, 247, 248,
844 248, 248, 248, 248, 249, 249, 249, 249, 250, 250,
845 251, 251, 252, 252, 252, 252, 252, 253, 253, 253,
846 253, 253, 254, 255, 255, 255, 256, 256, 257, 257,
847 258, 258, 258, 260, 259, 259, 261, 259, 259, 259,
848 259, 259, 262, 263, 259, 259, 264, 264, 265, 265,
849 266, 266, 266, 266, 266, 266, 267, 268, 268, 268,
850 269, 269, 269, 269, 269, 270, 271, 271, 271, 272,
851 273, 273, 274, 274, 274, 275, 275, 276, 276, 277,
852 277, 277, 277, 278, 278, 278, 278, 279, 280, 281,
853 281, 281, 281, 282, 282, 283, 283, 283, 283, 283,
854 283, 283, 283, 283, 283, 284, 284, 284, 284, 284,
855 284, 284, 284, 284, 285, 285, 285, 286, 286, 286,
856 287, 287, 288, 288, 289, 289, 290, 290, 290, 290,
857 291, 291, 292, 292, 292, 293, 293, 294, 294, 295,
858 295, 295, 296, 296, 297, 297, 298, 299, 300, 300,
859 300, 300, 301, 301, 301, 301, 301, 301, 302, 302,
860 303, 303, 303, 304, 305, 305, 305, 305, 305, 305,
861 306, 306, 306, 306, 306, 306, 307, 307, 307, 307,
862 307, 307, 308, 308, 308, 308, 308, 308, 309, 309,
863 310, 310, 311, 311, 312, 312, 312, 313, 313, 313,
864 314, 314, 314, 315, 315, 315, 315, 316, 316, 317,
865 317, 317, 317, 318, 318, 318, 318, 319, 319, 319,
866 319, 319, 319, 320, 321, 321, 321, 322, 322, 323,
867 324, 324, 324, 324, 324, 324, 324, 325, 325, 326,
868 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
869 327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
870 327, 328, 328, 328, 328, 329, 330, 330, 331, 331,
871 332, 333, 333, 335, 334, 337, 338, 336, 339, 340,
872 339, 341, 341, 342, 342, 343, 342, 342, 344, 345,
873 342, 346, 347, 342, 348, 349, 350, 351, 342, 352,
874 353, 342, 354, 342, 355, 342, 356, 342, 342, 342,
875 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
876 342, 342, 342, 342, 342, 358, 359, 357, 361, 362,
877 360, 363, 363, 365, 366, 364, 367, 367, 368, 368,
878 369, 369, 369, 369, 370, 370, 370, 371, 371, 372,
879 372, 372, 373, 373, 374, 374, 375, 376, 376, 377,
880 377, 377, 378, 378, 378, 378, 378, 378, 378, 380,
881 379, 381, 381, 382, 382, 382, 382, 382, 383, 383,
882 384, 384, 384, 384, 384, 384, 385, 385, 386, 386,
883 387, 388, 388, 389, 389, 389, 390, 391, 391, 392,
884 392, 392, 392, 393, 394, 394, 394, 394, 394, 394,
885 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
886 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
887 394, 394, 394, 394, 394, 394, 394, 394, 394
890 static const short yyr2
[] = { 0,
891 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
892 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
893 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
894 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
895 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
896 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
897 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
898 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
899 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
900 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
901 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
902 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
903 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
904 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
905 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
906 0, 6, 0, 6, 0, 5, 0, 5, 0, 7,
907 0, 7, 0, 6, 0, 6, 0, 0, 5, 5,
908 1, 5, 0, 1, 1, 0, 1, 1, 3, 1,
909 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
910 3, 1, 3, 0, 1, 1, 0, 7, 1, 1,
911 3, 4, 3, 0, 3, 1, 3, 3, 3, 3,
912 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
913 4, 2, 4, 2, 3, 3, 4, 5, 6, 6,
914 7, 2, 4, 5, 2, 2, 1, 0, 4, 4,
915 3, 1, 3, 2, 3, 4, 1, 2, 5, 1,
916 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
917 3, 3, 3, 3, 3, 3, 3, 3, 3, 5,
918 3, 3, 1, 2, 3, 1, 1, 1, 1, 1,
919 0, 5, 5, 5, 5, 5, 1, 1, 1, 1,
920 2, 2, 3, 4, 4, 1, 1, 1, 3, 1,
921 1, 1, 1, 3, 3, 3, 0, 4, 4, 2,
922 4, 2, 4, 2, 2, 1, 4, 1, 7, 7,
923 7, 7, 4, 4, 2, 2, 2, 1, 4, 2,
924 2, 5, 3, 2, 2, 5, 3, 5, 3, 4,
925 6, 2, 1, 2, 1, 2, 1, 1, 1, 2,
926 0, 2, 2, 3, 3, 3, 2, 2, 2, 1,
927 1, 1, 2, 2, 2, 2, 1, 1, 1, 1,
928 2, 2, 3, 3, 3, 4, 1, 2, 2, 2,
929 1, 1, 1, 2, 2, 2, 1, 1, 2, 2,
930 3, 1, 2, 1, 1, 1, 4, 4, 4, 4,
931 1, 1, 1, 1, 3, 1, 3, 1, 3, 0,
932 4, 0, 6, 3, 0, 4, 1, 3, 3, 0,
933 4, 3, 0, 1, 1, 2, 6, 1, 3, 0,
934 1, 4, 6, 4, 1, 1, 1, 1, 1, 3,
935 0, 2, 1, 2, 3, 4, 1, 1, 3, 4,
936 3, 5, 1, 4, 3, 3, 0, 3, 3, 3,
937 0, 2, 2, 0, 7, 4, 0, 6, 3, 2,
938 2, 2, 0, 0, 9, 1, 0, 1, 0, 1,
939 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
940 3, 4, 3, 2, 3, 0, 1, 3, 2, 2,
941 1, 1, 0, 2, 3, 1, 4, 1, 3, 1,
942 1, 4, 4, 2, 2, 3, 3, 1, 0, 1,
943 2, 4, 3, 1, 2, 2, 2, 2, 2, 2,
944 2, 1, 2, 2, 3, 2, 2, 4, 4, 2,
945 1, 5, 4, 1, 0, 1, 3, 0, 1, 3,
946 1, 1, 1, 1, 4, 4, 4, 4, 4, 3,
947 4, 4, 4, 4, 3, 1, 3, 1, 3, 2,
948 1, 7, 0, 2, 1, 2, 0, 2, 4, 4,
949 2, 4, 3, 3, 2, 2, 3, 1, 1, 2,
950 1, 1, 2, 2, 4, 4, 3, 3, 2, 1,
951 3, 3, 2, 2, 3, 1, 3, 3, 2, 2,
952 3, 1, 4, 3, 4, 3, 1, 2, 2, 2,
953 2, 2, 1, 2, 4, 4, 2, 1, 1, 1,
954 1, 2, 4, 2, 2, 2, 2, 1, 2, 2,
955 2, 2, 3, 1, 2, 3, 4, 2, 2, 2,
956 2, 2, 2, 4, 2, 1, 2, 2, 3, 1,
957 3, 2, 3, 2, 2, 3, 1, 3, 4, 3,
958 2, 2, 1, 3, 2, 2, 1, 2, 3, 1,
959 3, 1, 6, 4, 4, 3, 5, 3, 3, 3,
960 2, 1, 1, 2, 2, 2, 0, 1, 1, 2,
961 3, 1, 2, 0, 3, 0, 0, 5, 1, 0,
962 2, 1, 1, 1, 2, 0, 4, 1, 0, 0,
963 5, 0, 0, 7, 0, 0, 0, 0, 12, 0,
964 0, 7, 0, 5, 0, 7, 0, 4, 2, 2,
965 2, 3, 6, 8, 10, 12, 4, 3, 2, 2,
966 1, 1, 1, 1, 1, 0, 0, 6, 0, 0,
967 5, 1, 2, 0, 0, 5, 1, 1, 3, 3,
968 2, 2, 2, 2, 2, 1, 2, 0, 1, 0,
969 1, 1, 0, 1, 1, 3, 4, 1, 3, 0,
970 1, 1, 1, 2, 2, 2, 1, 2, 2, 0,
971 3, 1, 1, 1, 2, 2, 2, 4, 2, 2,
972 2, 2, 2, 2, 1, 2, 1, 2, 1, 1,
973 0, 0, 1, 0, 4, 2, 1, 1, 3, 0,
974 3, 3, 3, 1, 2, 2, 2, 2, 2, 2,
975 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
976 2, 2, 2, 2, 2, 2, 2, 3, 2, 2,
977 2, 2, 3, 2, 2, 4, 4, 3, 2
980 static const short yydefact
[] = { 3,
981 12, 12, 5, 0, 4, 0, 278, 628, 629, 0,
982 383, 395, 575, 0, 11, 0, 0, 0, 10, 481,
983 834, 0, 0, 0, 167, 660, 279, 280, 83, 0,
984 0, 821, 0, 45, 0, 0, 13, 25, 0, 27,
985 8, 0, 16, 15, 89, 110, 86, 0, 630, 171,
986 297, 276, 298, 606, 0, 370, 0, 369, 388, 0,
987 408, 387, 425, 394, 0, 497, 496, 503, 502, 501,
988 476, 382, 591, 396, 592, 108, 296, 617, 589, 0,
989 631, 573, 0, 0, 277, 81, 82, 176, 634, 176,
990 635, 176, 281, 167, 140, 141, 142, 143, 144, 467,
991 470, 0, 656, 0, 471, 0, 0, 0, 0, 141,
992 142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
993 0, 472, 638, 0, 644, 0, 0, 0, 37, 0,
994 0, 31, 0, 0, 47, 0, 176, 636, 0, 0,
995 604, 0, 0, 0, 603, 0, 0, 0, 0, 297,
996 0, 577, 0, 296, 573, 28, 0, 26, 3, 46,
997 0, 64, 383, 0, 0, 8, 67, 63, 66, 89,
998 0, 0, 0, 394, 90, 14, 0, 423, 0, 0,
999 441, 87, 79, 637, 577, 0, 573, 80, 0, 0,
1000 0, 106, 0, 404, 360, 588, 361, 600, 0, 573,
1001 385, 384, 78, 109, 371, 0, 406, 386, 107, 377,
1002 401, 402, 372, 390, 392, 381, 403, 0, 75, 426,
1003 482, 483, 484, 485, 500, 149, 148, 150, 487, 488,
1004 494, 486, 0, 0, 489, 490, 503, 821, 499, 518,
1005 519, 576, 389, 0, 420, 629, 0, 658, 171, 621,
1006 622, 618, 594, 632, 0, 593, 590, 0, 869, 865,
1007 864, 862, 844, 849, 850, 0, 856, 855, 841, 842,
1008 840, 859, 848, 845, 846, 847, 851, 852, 838, 839,
1009 835, 836, 837, 861, 853, 854, 843, 860, 0, 857,
1010 767, 388, 768, 830, 281, 278, 575, 301, 349, 0,
1011 0, 0, 0, 345, 343, 316, 347, 348, 0, 0,
1012 0, 0, 0, 279, 280, 273, 0, 0, 184, 183,
1013 0, 185, 186, 0, 0, 187, 0, 0, 177, 178,
1014 0, 247, 0, 250, 182, 300, 213, 0, 0, 302,
1015 303, 0, 180, 367, 388, 368, 623, 328, 318, 0,
1016 0, 0, 0, 176, 0, 469, 0, 464, 0, 657,
1017 655, 0, 188, 189, 0, 0, 0, 430, 3, 21,
1018 29, 652, 648, 649, 651, 653, 650, 140, 141, 142,
1019 0, 143, 144, 640, 641, 645, 642, 639, 0, 288,
1020 289, 287, 620, 619, 33, 32, 49, 0, 157, 0,
1021 0, 388, 155, 0, 0, 602, 0, 601, 275, 292,
1022 0, 610, 291, 0, 609, 0, 299, 614, 0, 0,
1023 12, 0, 167, 9, 9, 70, 0, 65, 0, 0,
1024 71, 74, 0, 422, 424, 122, 93, 127, 756, 0,
1025 85, 84, 92, 125, 0, 0, 123, 88, 616, 0,
1026 0, 581, 0, 824, 0, 586, 0, 585, 0, 0,
1027 0, 0, 573, 423, 0, 77, 577, 573, 599, 0,
1028 374, 375, 0, 76, 423, 379, 378, 380, 373, 393,
1029 410, 409, 491, 495, 493, 0, 498, 504, 0, 0,
1030 391, 423, 573, 94, 0, 0, 0, 0, 573, 100,
1031 574, 605, 629, 659, 171, 0, 0, 858, 863, 390,
1032 573, 573, 0, 573, 868, 176, 0, 0, 0, 220,
1033 0, 0, 222, 235, 236, 0, 0, 0, 0, 0,
1034 274, 219, 216, 215, 217, 0, 0, 0, 0, 0,
1035 300, 0, 0, 0, 214, 174, 175, 294, 0, 218,
1036 0, 0, 248, 0, 0, 0, 0, 0, 0, 0,
1037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1038 0, 0, 0, 0, 0, 310, 0, 312, 314, 315,
1039 353, 352, 0, 0, 238, 238, 0, 224, 571, 0,
1040 232, 350, 342, 0, 0, 821, 331, 334, 335, 0,
1041 0, 362, 677, 673, 682, 0, 577, 573, 573, 573,
1042 364, 680, 0, 627, 366, 0, 0, 365, 330, 0,
1043 325, 344, 326, 346, 624, 0, 327, 173, 173, 0,
1044 165, 0, 388, 163, 568, 479, 566, 466, 0, 0,
1045 397, 0, 0, 398, 399, 400, 436, 437, 438, 435,
1046 0, 428, 431, 0, 3, 0, 643, 176, 646, 0,
1047 41, 42, 0, 53, 0, 0, 57, 61, 50, 820,
1048 815, 0, 367, 388, 53, 368, 819, 59, 168, 153,
1049 151, 168, 173, 295, 608, 607, 299, 611, 0, 18,
1050 20, 89, 9, 9, 73, 72, 0, 128, 351, 0,
1051 704, 91, 702, 447, 0, 443, 442, 212, 0, 211,
1052 578, 615, 0, 797, 0, 792, 388, 0, 791, 793,
1053 822, 804, 0, 0, 613, 584, 583, 0, 0, 598,
1054 0, 418, 417, 405, 597, 0, 824, 587, 376, 407,
1055 419, 423, 492, 628, 629, 821, 0, 821, 630, 505,
1056 506, 508, 821, 511, 510, 0, 541, 629, 0, 532,
1057 0, 0, 544, 0, 121, 116, 0, 171, 545, 548,
1058 0, 524, 0, 119, 0, 423, 421, 824, 790, 176,
1059 176, 633, 176, 824, 790, 573, 97, 573, 103, 867,
1060 866, 830, 830, 830, 0, 0, 0, 0, 627, 0,
1061 0, 0, 0, 388, 0, 0, 0, 306, 0, 304,
1062 305, 0, 245, 179, 278, 628, 629, 279, 280, 0,
1063 0, 448, 477, 0, 272, 271, 782, 781, 0, 269,
1064 268, 266, 267, 265, 264, 263, 260, 261, 262, 258,
1065 259, 253, 254, 255, 256, 257, 251, 252, 0, 0,
1066 0, 0, 0, 238, 226, 242, 0, 0, 225, 573,
1067 573, 0, 573, 570, 667, 0, 0, 0, 0, 0,
1068 333, 0, 337, 0, 339, 0, 676, 675, 672, 671,
1069 820, 0, 0, 691, 0, 0, 824, 363, 824, 678,
1070 573, 790, 577, 677, 673, 0, 0, 573, 0, 0,
1071 0, 0, 0, 170, 172, 282, 168, 161, 159, 168,
1072 0, 480, 0, 479, 210, 209, 208, 207, 430, 0,
1073 0, 24, 0, 0, 647, 0, 38, 44, 43, 55,
1074 52, 53, 0, 48, 0, 0, 677, 673, 0, 811,
1075 573, 814, 816, 0, 812, 813, 54, 487, 0, 158,
1076 168, 168, 156, 169, 17, 19, 69, 89, 411, 145,
1077 133, 146, 147, 0, 126, 129, 0, 0, 0, 0,
1078 703, 697, 444, 0, 124, 582, 579, 796, 810, 799,
1079 0, 580, 795, 809, 798, 794, 823, 806, 817, 807,
1080 800, 805, 826, 0, 415, 596, 595, 414, 515, 0,
1081 514, 821, 821, 821, 0, 573, 790, 540, 533, 545,
1082 534, 423, 423, 530, 531, 528, 529, 573, 790, 278,
1083 628, 0, 410, 117, 536, 546, 551, 552, 410, 410,
1084 0, 0, 410, 115, 537, 549, 410, 525, 526, 527,
1085 423, 0, 473, 96, 0, 0, 0, 0, 102, 0,
1086 824, 790, 824, 790, 832, 831, 833, 283, 317, 221,
1087 223, 323, 324, 0, 0, 0, 0, 305, 308, 0,
1088 0, 0, 0, 246, 0, 309, 311, 313, 0, 0,
1089 0, 0, 227, 244, 0, 0, 664, 662, 0, 665,
1090 577, 233, 0, 0, 176, 340, 0, 0, 0, 674,
1091 670, 681, 573, 690, 688, 689, 679, 824, 0, 686,
1092 0, 625, 626, 0, 329, 166, 168, 168, 164, 569,
1093 567, 468, 0, 429, 427, 278, 0, 22, 30, 654,
1094 56, 51, 58, 62, 676, 672, 677, 673, 0, 589,
1095 0, 573, 678, 60, 154, 152, 68, 0, 131, 0,
1096 135, 0, 137, 0, 139, 0, 757, 0, 200, 705,
1097 0, 698, 699, 0, 445, 677, 673, 0, 300, 0,
1098 623, 818, 0, 0, 827, 828, 0, 0, 412, 0,
1099 0, 0, 517, 516, 509, 824, 0, 535, 441, 441,
1100 824, 0, 0, 0, 423, 423, 0, 423, 423, 0,
1101 423, 0, 441, 0, 461, 573, 285, 284, 286, 573,
1102 99, 0, 105, 0, 0, 0, 0, 0, 0, 451,
1103 0, 449, 249, 270, 240, 239, 237, 228, 0, 241,
1104 243, 663, 661, 668, 666, 0, 234, 0, 0, 332,
1105 336, 338, 824, 684, 573, 685, 162, 160, 465, 0,
1106 432, 434, 676, 672, 594, 678, 132, 130, 0, 0,
1107 0, 0, 439, 0, 0, 278, 628, 629, 706, 719,
1108 722, 725, 730, 0, 0, 0, 0, 0, 0, 0,
1109 0, 279, 751, 759, 0, 778, 755, 754, 753, 0,
1110 714, 0, 0, 388, 0, 693, 712, 718, 692, 713,
1111 752, 0, 700, 446, 0, 626, 808, 802, 803, 801,
1112 0, 825, 416, 0, 512, 513, 507, 112, 573, 539,
1113 543, 114, 573, 423, 423, 560, 441, 278, 628, 0,
1114 547, 553, 554, 410, 410, 441, 441, 0, 441, 550,
1115 538, 0, 824, 824, 573, 573, 0, 0, 0, 0,
1116 450, 0, 0, 229, 230, 669, 341, 284, 687, 824,
1117 0, 134, 136, 138, 764, 758, 762, 0, 701, 696,
1118 203, 771, 773, 774, 0, 0, 710, 0, 0, 0,
1119 737, 739, 740, 741, 0, 0, 0, 0, 0, 0,
1120 0, 772, 0, 359, 779, 0, 715, 357, 410, 0,
1121 358, 0, 410, 0, 0, 0, 201, 695, 694, 716,
1122 750, 749, 305, 829, 413, 824, 824, 559, 556, 558,
1123 0, 0, 423, 423, 423, 555, 557, 542, 463, 0,
1124 462, 457, 95, 101, 824, 824, 319, 320, 321, 322,
1125 452, 0, 231, 683, 433, 0, 763, 440, 192, 0,
1126 707, 720, 709, 0, 0, 0, 0, 0, 733, 0,
1127 742, 0, 748, 39, 144, 34, 144, 0, 35, 760,
1128 0, 355, 356, 0, 0, 0, 354, 202, 710, 111,
1129 113, 423, 423, 565, 441, 441, 0, 0, 475, 98,
1130 104, 572, 0, 765, 199, 0, 388, 0, 710, 0,
1131 723, 711, 697, 776, 726, 0, 0, 0, 0, 738,
1132 747, 40, 36, 0, 0, 717, 564, 562, 561, 563,
1133 460, 459, 453, 86, 89, 0, 0, 0, 193, 410,
1134 708, 204, 721, 206, 0, 777, 0, 775, 731, 735,
1135 734, 761, 783, 0, 0, 458, 769, 770, 766, 423,
1136 697, 190, 0, 0, 196, 0, 195, 710, 0, 0,
1137 0, 784, 785, 743, 456, 0, 455, 0, 205, 0,
1138 724, 727, 732, 736, 0, 783, 0, 0, 454, 197,
1139 191, 0, 0, 0, 744, 786, 0, 0, 787, 0,
1140 0, 198, 728, 788, 0, 745, 0, 0, 0, 729,
1144 static const short yydefgoto
[] = { 1603,
1145 421, 2, 422, 161, 691, 327, 177, 3, 4, 37,
1146 655, 369, 1287, 656, 763, 1288, 1289, 389, 1390, 660,
1147 41, 764, 398, 666, 930, 667, 668, 669, 43, 168,
1148 169, 44, 440, 180, 176, 45, 46, 779, 1052, 785,
1149 1054, 47, 766, 767, 181, 182, 441, 698, 965, 966,
1150 635, 967, 230, 48, 952, 951, 682, 679, 1118, 1117,
1151 910, 907, 136, 950, 49, 50, 904, 548, 328, 329,
1152 330, 331, 1290, 1554, 1451, 1556, 1496, 1587, 1160, 1533,
1153 1551, 363, 897, 332, 1228, 852, 587, 859, 333, 334,
1154 364, 336, 354, 52, 251, 661, 410, 53, 54, 337,
1155 543, 338, 339, 340, 341, 442, 342, 1291, 481, 609,
1156 343, 1292, 56, 213, 672, 344, 214, 521, 215, 193,
1157 206, 60, 464, 482, 1314, 732, 1178, 194, 207, 61,
1158 492, 733, 62, 63, 651, 652, 653, 1264, 447, 822,
1159 823, 1524, 1525, 1489, 1431, 1342, 64, 639, 357, 1205,
1160 1432, 1073, 913, 65, 66, 67, 68, 237, 69, 70,
1161 71, 239, 750, 751, 752, 753, 241, 489, 490, 771,
1162 772, 773, 1025, 1035, 1026, 1331, 1027, 1028, 1332, 1333,
1163 636, 637, 588, 887, 346, 450, 451, 187, 195, 73,
1164 74, 75, 196, 197, 153, 77, 132, 347, 348, 349,
1165 79, 350, 81, 755, 123, 124, 125, 497, 105, 82,
1166 351, 864, 865, 882, 612, 1295, 1296, 1161, 1162, 1163,
1167 702, 1297, 972, 1298, 1375, 1499, 1454, 1455, 1299, 1300,
1168 1479, 1376, 1500, 1377, 1535, 1378, 1537, 1582, 1597, 1379,
1169 1558, 1509, 1559, 1460, 443, 699, 1262, 1301, 1393, 1514,
1170 1366, 1367, 1446, 1528, 1498, 1494, 1302, 1505, 1396, 829,
1171 1561, 1562, 1563, 1595, 718, 719, 992, 1174, 1310, 720,
1172 721, 722, 988, 723, 146, 990, 725, 1176, 1177, 515,
1176 static const short yypact
[] = { 99,
1177 136,-32768,-32768, 5741,-32768, 123, 81, 64, 66, 145,
1178 232,-32768,-32768, 1239,-32768, 150, 191, 230,-32768,-32768,
1179 -32768, 1151, 1456, 1280, 242,-32768, 267, 154,-32768, 1676,
1180 1676,-32768, 2226,-32768, 5741, 286,-32768,-32768, 346,-32768,
1181 248, 5602,-32768,-32768, 335, 1120, 425, 416, 435,-32768,
1182 -32768,-32768,-32768, 717, 2012,-32768, 4290,-32768, 2422, 63,
1183 -32768, 462,-32768,-32768, 894, 247,-32768, 452,-32768,-32768,
1184 519, 4808,-32768,-32768,-32768, 1086,-32768,-32768,-32768, 1036,
1185 -32768,-32768, 748, 4527, 508,-32768,-32768, 9572,-32768, 9572,
1186 -32768, 9572,-32768,-32768,-32768, 64, 66, 267, 541, 511,
1187 566, 435,-32768, 764,-32768, 748, 9658, 9658, 536,-32768,
1188 -32768,-32768,-32768,-32768, 405, 581, 233, 316, 358, 584,
1189 598,-32768,-32768, 912,-32768, 666, 64, 66,-32768, 267,
1190 541,-32768, 557, 822, 614, 10860, 9572,-32768, 9572, 3175,
1191 -32768, 1336, 830, 3175,-32768, 1750, 3235, 3235, 2226, 585,
1192 589, 608, 639, 662,-32768,-32768, 695,-32768, 607,-32768,
1193 2973,-32768,-32768, 242, 4770, 676,-32768,-32768,-32768, 335,
1194 5148, 10915, 411, 729,-32768,-32768, 708, 462, 805, 200,
1195 393, 757,-32768,-32768, 719, 153,-32768,-32768, 3414, 3414,
1196 5205, 1086, 424,-32768,-32768, 834,-32768,-32768, 1946,-32768,
1197 -32768,-32768,-32768,-32768, 2422, 507,-32768, 462, 1086,-32768,
1198 -32768,-32768, 2706, 2422,-32768, 462,-32768, 5148,-32768,-32768,
1199 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1200 435, 462, 1181, 1852,-32768,-32768, 452,-32768,-32768,-32768,
1201 -32768,-32768, 1213, 748,-32768, 426, 1617,-32768, 217,-32768,
1202 -32768,-32768,-32768,-32768, 3546,-32768,-32768, 532,-32768, 772,
1203 780,-32768,-32768,-32768,-32768, 818,-32768,-32768,-32768,-32768,
1204 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1205 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 731,-32768,
1206 -32768, 1213, 4808, 268,-32768,-32768, 790,-32768,-32768, 10266,
1207 10352, 10438, 10438,-32768,-32768,-32768,-32768,-32768, 792, 826,
1208 845, 860, 865, 516, 541, 9744, 1750, 10438,-32768,-32768,
1209 10438,-32768,-32768, 10438, 7715,-32768, 10438, 778, 862,-32768,
1210 10438,-32768, 9830,-32768, 10910, 302, 820, 4207, 9916,-32768,
1211 934, 1885,-32768, 1556, 3785, 3321,-32768, 374,-32768, 1756,
1212 2361, 778, 778, 9572, 10860,-32768, 1750, 838, 1750,-32768,
1213 -32768, 841, 899, 6848, 868, 874, 881, 1872, 607,-32768,
1214 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 581, 233, 316,
1215 1750, 358, 584, 919, 598,-32768, 941,-32768, 1470, 64,
1216 66,-32768,-32768,-32768,-32768,-32768,-32768, 5292,-32768, 5148,
1217 6133, 1435,-32768, 778, 420,-32768, 682,-32768,-32768,-32768,
1218 3175,-32768,-32768, 3175,-32768, 896,-32768,-32768, 3546, 84,
1219 893, 910,-32768,-32768,-32768,-32768, 10860,-32768, 544, 602,
1220 -32768,-32768, 695,-32768, 462,-32768,-32768,-32768,-32768, 68,
1221 -32768,-32768,-32768,-32768, 7806, 9744,-32768,-32768,-32768, 9744,
1222 913,-32768, 7163, 93, 4023,-32768, 4023,-32768, 4051, 4051,
1223 5205, 915,-32768, 462, 5148,-32768, 914,-32768,-32768, 4152,
1224 2706, 2422, 5148,-32768, 462,-32768,-32768, 462, 2706,-32768,
1225 1000,-32768,-32768, 435,-32768, 1181,-32768, 1544, 3587, 97,
1226 1213, 462,-32768,-32768, 971, 972, 995, 983,-32768,-32768,
1227 -32768,-32768, 982,-32768, 428, 953, 956,-32768,-32768, 1213,
1228 -32768,-32768, 974,-32768,-32768, 9572, 9744, 790, 7715,-32768,
1229 517, 7715,-32768,-32768,-32768, 9658, 6004, 6004, 6004, 6004,
1230 10969,-32768,-32768,-32768,-32768, 950, 10524, 10524, 7715, 960,
1231 157, 966, 1032, 977,-32768,-32768,-32768,-32768, 9572,-32768,
1232 7345, 7715,-32768, 9744, 9744, 7897, 9744, 9744, 9744, 9744,
1233 9744, 9744, 9744, 9744, 9744, 9744, 9744, 9744, 9744, 9744,
1234 9744, 9744, 9744, 9744, 9744,-32768, 9744,-32768,-32768,-32768,
1235 -32768,-32768, 9744, 9744,-32768,-32768, 3679, 486, 900, 8529,
1236 -32768,-32768,-32768, 1050, 1617, 1097, 534, 540, 547, 2126,
1237 830,-32768, 2494, 2494,-32768, 3420, 997, 1019, 1067,-32768,
1238 -32768, 890, 9027, 1758,-32768, 996, 748,-32768,-32768, 9744,
1239 -32768,-32768,-32768,-32768,-32768, 87, 508,-32768,-32768, 778,
1240 -32768, 5148, 2378,-32768, 1055, 1061,-32768,-32768, 1750, 919,
1241 -32768, 8261, 8352,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1242 80,-32768, 1029, 1043, 607, 1470, 1074, 9572,-32768, 1078,
1243 -32768,-32768, 822, 1858, 1098, 146, 1089, 1096,-32768,-32768,
1244 2282, 10915, 2282, 2651, 894, 10678,-32768, 1099,-32768,-32768,
1245 -32768,-32768,-32768,-32768,-32768,-32768, 1065,-32768, 1109,-32768,
1246 -32768, 335,-32768,-32768,-32768,-32768, 95, 499, 1114, 1032,
1247 -32768,-32768,-32768,-32768, 6042, 10969,-32768, 899, 1069, 6848,
1248 -32768,-32768, 1073,-32768, 1075, 224, 2833, 1080,-32768, 118,
1249 5104, 1118, 1126, 668,-32768,-32768,-32768, 4023, 4023,-32768,
1250 4152,-32768, 1129,-32768,-32768, 1087, 93,-32768, 2706,-32768,
1251 -32768, 462,-32768, 233, 316,-32768, 1104,-32768, 598, 1142,
1252 -32768,-32768, 398,-32768,-32768, 1964,-32768, 1025, 155,-32768,
1253 9744, 6467,-32768, 6467, 309, 309, 334, 685, 2647, 10733,
1254 5013,-32768, 147, 309, 1141, 462,-32768, 93, 5883, 9572,
1255 9572,-32768, 9572, 93, 5883,-32768,-32768,-32768,-32768,-32768,
1256 -32768, 569, 569, 569, 778, 1106, 1107, 10008, 1067, 1111,
1257 1112, 1115, 1137, 3899, 1149, 1150, 1156,-32768, 1131,-32768,
1258 -32768, 1140,-32768,-32768, 1188, 545, 815, 392, 240, 9744,
1259 1189,-32768, 1194, 1146, 10969, 10969,-32768,-32768, 1195, 3499,
1260 4573, 5902, 6161, 6214, 4096, 2565, 3049, 3049, 3049, 2119,
1261 2119, 1263, 1263, 643, 643, 643,-32768,-32768, 1152, 1155,
1262 1148, 9744, 9658,-32768, 486,-32768, 7806, 9744,-32768,-32768,
1263 -32768, 9744,-32768,-32768, 1168, 10438, 1157, 1177, 1192, 1220,
1264 -32768, 9744,-32768, 9744,-32768, 9744, 2861,-32768, 2861,-32768,
1265 89, 1162, 1163,-32768, 1161, 6004, 93,-32768, 93, 3431,
1266 -32768, 5883, 1165, 9211, 9211, 5356, 1166, 9830, 1170, 2541,
1267 2361, 1092, 1172,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1268 9744, 1750, 1173, 1061,-32768, 10969,-32768, 10969, 1872, 1178,
1269 10094,-32768, 1179, 1227,-32768, 778,-32768,-32768,-32768,-32768,
1270 -32768, 1401, 5292,-32768, 6004, 9572, 1891, 1891, 4882,-32768,
1271 -32768,-32768,-32768, 1946,-32768,-32768,-32768, 787, 9744,-32768,
1272 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 335,-32768, 581,
1273 -32768, 358, 584, 9744, 1231,-32768, 689, 739, 744, 1032,
1274 -32768, 82,-32768, 72,-32768,-32768,-32768,-32768,-32768,-32768,
1275 9119,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1126, 1228,
1276 -32768,-32768,-32768, 6004,-32768,-32768,-32768, 1236,-32768, 9658,
1277 -32768,-32768,-32768,-32768, 1736,-32768, 5883, 10969,-32768, 1780,
1278 -32768, 462, 462,-32768,-32768,-32768,-32768,-32768, 5883, 522,
1279 879, 9744, 1000,-32768, 1242,-32768,-32768,-32768, 195, 406,
1280 1036, 830, 447, 309, 1249,-32768, 619,-32768,-32768,-32768,
1281 462, 6397,-32768,-32768, 1202, 778, 778, 778,-32768, 1207,
1282 93, 5883, 93, 5883,-32768,-32768,-32768,-32768,-32768,-32768,
1283 -32768,-32768,-32768, 1225, 1229, 1232, 1234, 1065,-32768, 6251,
1284 7806, 7439, 1211,-32768, 9744,-32768,-32768,-32768, 1222, 1224,
1285 1241, 6004,-32768,-32768, 1243, 207, 814, 814, 1246, 814,
1286 -32768,-32768, 10438, 1327, 9572,-32768, 1244, 1245, 1251,-32768,
1287 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 93, 1252,-32768,
1288 1254,-32768,-32768, 2755,-32768,-32768,-32768,-32768,-32768, 10969,
1289 -32768,-32768, 1253,-32768,-32768, 222, 1255,-32768,-32768,-32768,
1290 -32768,-32768,-32768,-32768, 2181, 2181, 2482, 2482, 4882,-32768,
1291 1946,-32768, 3106, 10910,-32768,-32768,-32768, 1260,-32768, 499,
1292 -32768, 9744,-32768, 9744,-32768, 9744,-32768, 1750,-32768,-32768,
1293 7070, 1317,-32768, 7530,-32768, 9303, 9303, 6565, 571, 1261,
1294 610,-32768, 7806, 7621,-32768,-32768, 223, 7806,-32768, 1264,
1295 1267, 1544,-32768,-32768,-32768, 93, 1270,-32768, 1307, 1307,
1296 93, 1277, 9744, 9744, 5795, 462, 4396, 462, 462, 1154,
1297 462, 4899, 1307, 6659,-32768,-32768,-32768, 1332,-32768,-32768,
1298 -32768, 1286,-32768, 1295, 9744, 9744, 9744, 9744, 7806,-32768,
1299 1326,-32768,-32768, 10969,-32768,-32768,-32768, 661, 1241,-32768,
1300 -32768,-32768,-32768,-32768,-32768, 1300,-32768, 1365, 778,-32768,
1301 -32768,-32768, 93,-32768,-32768,-32768,-32768,-32768,-32768, 9744,
1302 -32768,-32768, 2181, 2181,-32768, 3106,-32768,-32768, 1313, 1315,
1303 1321, 1319,-32768, 697, 199, 1368, 954, 1009,-32768,-32768,
1304 -32768,-32768,-32768, 9744, 1369, 1373, 1374, 9395, 382, 1750,
1305 1117, 593,-32768,-32768, 9486, 1427,-32768,-32768,-32768, 1378,
1306 -32768, 2774, 10801, 4656, 6960,-32768,-32768, 1423,-32768,-32768,
1307 -32768, 8638,-32768,-32768, 1337, 616,-32768,-32768,-32768,-32768,
1308 6004,-32768,-32768, 7806,-32768,-32768,-32768,-32768,-32768,-32768,
1309 -32768,-32768,-32768, 5795, 5795,-32768, 1307, 621, 1027, 9744,
1310 -32768,-32768,-32768, 1000, 1000, 1307, 1307, 982, 1307,-32768,
1311 -32768, 6795, 93, 93,-32768,-32768, 1340, 1342, 1347, 1360,
1312 -32768, 7806, 9744,-32768, 661,-32768,-32768,-32768,-32768, 93,
1313 1362,-32768,-32768,-32768,-32768, 1319,-32768, 1750,-32768,-32768,
1314 -32768,-32768,-32768,-32768, 767, 767, 1032, 1397, 1400, 5445,
1315 -32768,-32768,-32768,-32768, 1380, 9744, 1434, 1433, 1444, 2060,
1316 2105,-32768, 1032,-32768,-32768, 1406,-32768,-32768, 1000, 831,
1317 -32768, 947, 1000, 10180, 951, 238,-32768,-32768,-32768,-32768,
1318 -32768,-32768, 635,-32768,-32768, 93, 93,-32768,-32768,-32768,
1319 9744, 9744, 5795, 462, 462,-32768,-32768,-32768,-32768, 8443,
1320 -32768,-32768,-32768,-32768, 93, 93,-32768,-32768,-32768,-32768,
1321 -32768, 1389,-32768,-32768,-32768, 1411,-32768,-32768,-32768, 9658,
1322 -32768,-32768,-32768, 1489, 8934, 7254, 9658, 9744,-32768, 8746,
1323 -32768, 1454,-32768,-32768, 1461,-32768, 1444, 2060,-32768,-32768,
1324 695,-32768,-32768, 10610, 10610, 7988,-32768,-32768, 1032,-32768,
1325 -32768, 5795, 5795,-32768, 1307, 1307, 1412, 6706, 1425,-32768,
1326 -32768,-32768, 5913,-32768,-32768, 1415, 344, 5148, 1032, 8840,
1327 -32768,-32768, 82,-32768,-32768, 1460, 1422, 10947, 8746,-32768,
1328 -32768,-32768,-32768, 1319, 94,-32768,-32768,-32768,-32768,-32768,
1329 -32768,-32768,-32768, 425, 335, 1424, 1430, 1032,-32768, 1000,
1330 -32768,-32768,-32768,-32768, 849,-32768, 8079,-32768,-32768,-32768,
1331 -32768, 1319, 1530, 1482, 209,-32768,-32768,-32768,-32768, 462,
1332 82,-32768, 9744, 1483,-32768, 1484,-32768, 1032, 8746, 1452,
1333 432, 1487,-32768,-32768,-32768, 68,-32768, 1493,-32768, 1451,
1334 -32768,-32768,-32768,-32768, 9744, 1530, 1507, 1530,-32768,-32768,
1335 -32768, 8170, 1462, 847,-32768,-32768, 7806, 1465,-32768, 1558,
1336 1515,-32768,-32768,-32768, 269,-32768, 8840, 1565, 1517,-32768,
1337 -32768,-32768, 1578, 1580,-32768
1340 static const short yypgoto
[] = {-32768,
1341 1582,-32768, -322, 1419, -375, 31, 7, 1584,-32768, 1554,
1342 -32768,-32768, 353,-32768, 380,-32768, 409,-32768, 201, 938,
1343 49, 13,-32768,-32768, -615,-32768,-32768, 669, 51, 1431,
1344 1182, 1438, -684, 90, -164, 29, -29,-32768,-32768,-32768,
1345 -32768,-32768, 835,-32768,-32768,-32768,-32768,-32768,-32768, 458,
1346 1542,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1347 -32768,-32768, 1521, -532, 5760, 69, -531, -61, 92, 1472,
1348 -520,-32768, -74,-32768, 241,-32768, -1365,-32768, -1386, 21,
1349 -32768, 2003, -216, -277, 390, -534,-32768, -798, 2869, -79,
1350 1138, 3740, 1334, -325, -72, -93, 78, -26, 252,-32768,
1351 -32768,-32768, -330,-32768, -154,-32768,-32768, -1221, 27, -335,
1352 1272, 1, 1024, -133, 9, 79, -198, -4, -117, -155,
1353 -168, 34, 32, -102,-32768, -348,-32768,-32768,-32768,-32768,
1354 -32768, -69, 631, -37,-32768, 712,-32768,-32768, -1061, -326,
1355 922,-32768,-32768,-32768,-32768,-32768, 20,-32768,-32768,-32768,
1356 -32768,-32768, 718, -368,-32768,-32768,-32768,-32768,-32768,-32768,
1357 -32768, 1398,-32768, 457, 629,-32768,-32768,-32768,-32768, 599,
1358 -697,-32768,-32768,-32768,-32768,-32768,-32768, 870,-32768, 440,
1359 1006, 735, 1064, 2671, 28, 35, -440, 1457, 2054, -451,
1360 -32768, -6,-32768, 5541, -146, 260, -112, 4334, 1306,-32768,
1361 5087, 2005, 1491, -14, -108,-32768, 1528, -49,-32768, 4525,
1362 2933, -231,-32768, 3377,-32768,-32768, 362,-32768,-32768, 497,
1363 96, -141,-32768,-32768,-32768,-32768, -1389,-32768, -1149, -1342,
1364 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1365 -32768,-32768,-32768,-32768, 115,-32768,-32768,-32768,-32768,-32768,
1366 149, -1281,-32768,-32768, -35,-32768,-32768,-32768,-32768, -1369,
1367 85,-32768, 91,-32768, -511, -567, 678,-32768,-32768,-32768,
1368 -32768, -386,-32768, -384, -219,-32768, 663, 354,-32768, 170,
1373 #define YYLAST 11053
1376 static const short yytable
[] = { 59,
1377 412, 415, 420, 430, 55, 428, 472, 103, 122, 614,
1378 36, 677, 57, 678, 970, 429, 42, 388, 488, 498,
1379 624, 396, 520, 523, 220, 623, 736, 204, 814, 675,
1380 59, 72, 362, 366, 35, 55, 754, 59, 883, 394,
1381 395, 36, 171, 57, 491, 883, 654, 42, 294, 692,
1382 172, 853, 205, 252, 42, 553, 1083, 140, 144, 947,
1383 393, 174, 72, 1394, 1009, 35, 1011, 243, 700, 72,
1384 170, 471, 165, 1038, 387, 173, 256, 178, 217, 292,
1385 479, 192, 58, 345, 1447, 345, 1506, 345, 186, 1516,
1386 166, 1507, 167, 510, 592, 477, 480, 905, -1, 360,
1387 978, 501, 345, 345, 592, 592, 399, 245, 434, 1531,
1388 151, 293, 1502, 58, 1158, 252, 1536, 89, 707, 91,
1389 58, 218, 219, 627, 304, 701, 741, 1320, 1321, 983,
1390 1164, 402, 345, 775, 345, -2, 400, 90, 919, 92,
1391 26, 1341, 204, 777, 401, 1409, 510, 979, 249, 953,
1392 980, 954, 1412, 724, 88, 1543, 59, 1534, 127, 128,
1393 59, 55, 291, 72, 1569, 171, 885, 205, 1573, 57,
1394 220, 1557, 252, 172, 411, 414, 984, 42, 220, 985,
1395 1165, 352, 86, 353, 174, 799, 186, 920, 72, 425,
1396 1159, 689, 72, 170, 220, 165, 813, 192, 173, 452,
1397 437, 1544, 959, 576, 933, 776, 1039, 138, 26, 1565,
1398 130, 131, 1588, 166, 58, 167, 455, 457, 93, -360,
1399 934, 15, 524, 525, 217, 413, 416, 139, 404, 709,
1400 186, 87, 217, 217, 1504, 978, 715, 256, 533, 58,
1401 475, 534, 107, 58, 535, 453, 968, 545, 598, 577,
1402 540, 550, -360, 602, 1534, 1040, -360, -351, 1370, 591,
1403 1447, 438, 217, 499, -290, 1420, -351, 1045, 151, 597,
1404 438, 127, 128, 1050, 1426, 1427, 662, 1428, 697, 94,
1405 1250, 1311, 979, 108, 152, 980, 373, -820, 243, -360,
1406 628, 629, 154, 138, 439, 624, 932, 1370, 703, 798,
1407 796, -144, 589, 439, 235, 159, 90, 1371, 236, 500,
1408 1510, 217, 412, 415, 1231, 135, 1131, 957, 958, 1082,
1409 345, 26, 109, 130, 131, 631, 505, 1598, 883, 1251,
1410 1312, 657, 923, 292, 677, 15, 989, 511, 739, -410,
1411 137, 243, 683, 684, 256, 160, 1478, 512, 576, 345,
1412 633, 211, 212, 477, 480, 632, 38, 14, 1014, 1541,
1413 849, 477, 734, 401, 217, 293, 850, 498, -410, 374,
1414 740, 883, -410, 480, 1116, 711, 1599, 1119, 157, 20,
1415 1109, 614, 72, 39, 95, 110, 111, 38, 23, 92,
1416 602, 1015, 480, 674, 577, 1016, 205, 220, 152, 152,
1417 152, 812, 542, 903, 1003, 158, 154, 154, 154, 1574,
1418 665, 375, 40, 883, 39, 1134, 291, -410, 1145, 1146,
1419 619, 217, 59, 1519, 1520, 676, 680, 171, 1017, 1354,
1420 -361, 137, 15, 58, 1004, 172, 798, 112, 113, 444,
1421 220, 175, 152, 40, 540, 630, 174, 540, 717, 179,
1422 154, 801, 1111, -143, 72, 694, 445, 533, 534, 765,
1423 173, 1386, 370, -361, 540, 137, 620, -361, 371, 218,
1424 431, -120, 493, 15, 788, 183, 673, 540, 549, 91,
1425 676, 828, 465, 466, 59, 446, 728, 729, 184, 769,
1426 217, 217, 18, 1576, 546, 1187, 547, 770, 217, 92,
1427 -361, 960, 744, 745, -120, 58, 1038, 1192, -120, 851,
1428 217, 345, 742, 238, 345, 867, 72, 345, 494, 762,
1429 789, 345, 804, 804, 804, 804, 999, 956, 1001, 217,
1430 1084, 673, 856, 1005, 345, 8, 503, 413, 416, 1577,
1431 1212, -120, 1214, 662, 345, 961, 677, 345, 678, 857,
1432 929, 589, 26, 754, 962, 963, 1443, 768, 971, 296,
1433 390, 391, 10, 602, 675, 473, 474, 58, 906, 928,
1434 624, 883, 127, 128, -181, 623, 240, 501, 858, 359,
1435 871, 295, 292, 1193, 1247, 1248, 873, 130, 131, 137,
1436 -181, 964, -181, 875, 138, 88, 542, 21, 89, 542,
1437 883, 674, 465, 695, 247, 510, -141, 795, 717, 798,
1438 256, 504, 27, 315, 293, 413, 809, -297, 90, 356,
1439 553, 477, 26, 358, 130, 131, 872, -299, 368, 542,
1440 877, 879, 874, 676, 372, 1079, 1080, 376, 511, 876,
1441 676, 1085, -299, -118, 32, 15, -299, 388, 512, 122,
1442 1236, 377, 217, 345, 1392, 1097, -617, 1098, 908, 1099,
1443 473, 696, -299, -297, -297, 291, 137, 205, 116, 117,
1444 118, 243, 998, 627, -299, -299, -118, -299, -290, -299,
1445 -118, -299, 1421, 969, 673, 127, 128, 208, 397, 216,
1446 899, 673, -290, 217, 88, 232, 417, 940, 968, 945,
1447 946, 185, -617, -617, 1127, 299, 1043, 856, -299, -299,
1448 152, 152, 152, -118, 993, -7, 674, -617, 154, 154,
1449 154, 119, 120, -299, 857, 574, 575, -299, -299, 359,
1450 754, 1018, 765, 1058, 765, 1151, 217, 130, 131, 1023,
1451 1033, 765, -293, 946, 1220, 1222, 418, 1148, 676, 926,
1452 799, 8, 9, 858, 1353, 1368, 1369, 59, 217, 59,
1453 994, 504, 769, -577, 1010, 205, 59, 8, 9, -612,
1454 770, 769, 770, 160, 674, 345, 345, 1019, 345, 770,
1455 674, 1152, 1182, 1183, 1184, 1153, 1092, 1089, 432, 72,
1456 1155, 72, 762, 1147, 762, 1024, 1012, 1013, 72, 673,
1457 433, 762, 208, 130, 131, 1041, 676, 436, 435, -577,
1458 185, 359, 676, 1449, 533, 534, 448, 127, 128, 130,
1459 131, 540, 501, 217, 296, 390, 391, 10, 1157, 449,
1460 768, 1154, 768, 127, 128, 216, 1156, 1222, 768, 768,
1461 58, 509, 58, 478, 216, -52, 1307, 1309, 345, 58,
1462 -52, 1313, 546, 1086, 547, 1232, 1233, 673, 1235, 1450,
1463 1566, -52, 21, 673, 1130, 506, 578, 26, 91, 130,
1464 131, 1046, 1047, 507, 1048, 899, -142, 27, 315, 508,
1465 -577, 804, 517, 860, 526, 130, 131, 674, 92, 465,
1466 1472, 717, 1351, 861, 256, 1552, 95, 96, 97, 527,
1467 221, 222, 223, 127, 128, 579, 580, 862, 1590, 32,
1468 581, 582, 583, 584, 378, 379, 380, 252, 528, 676,
1469 549, 877, 879, 676, 18, 1180, -577, 467, 674, 224,
1470 804, 345, 89, 529, 674, 1259, 891, 1260, 530, 1261,
1471 1194, 1553, 1189, 1190, 592, 665, 638, 26, 641, 98,
1472 99, 225, 90, 26, 1591, 130, 131, 642, 799, 381,
1473 676, 1055, 1056, 1057, 1135, 1136, 676, 382, 383, 860,
1474 673, 1203, 413, 809, 673, 644, 717, 127, 128, 861,
1475 1023, 645, 892, 893, 1207, 1208, 1209, 1415, 646, 804,
1476 412, 415, 658, 862, 659, 345, 226, 227, 228, 8,
1477 9, -6, 674, 687, 252, 473, 1473, 89, 676, 465,
1478 1477, 673, 765, 1237, 674, 1373, 151, 673, 690, 412,
1479 415, 359, 730, 712, 735, 1441, 15, 90, 786, 130,
1480 131, 208, 216, 1361, 676, 91, 1024, 59, 7, 8,
1481 246, 10, 769, 359, 780, 781, 676, 674, 782, 674,
1482 770, 130, 131, 248, 1196, 92, 783, 808, 1170, 673,
1483 1198, 1199, 91, 790, 1196, 1201, 791, 810, 1199, 72,
1484 1374, 1006, 762, 811, 787, 248, 21, 804, 91, 676,
1485 89, 676, 92, 247, 813, 673, 533, 534, 1422, 701,
1486 345, 27, 28, 540, 435, 8, 9, 673, 92, 249,
1487 90, 478, 216, 868, 870, 435, 677, 884, 1527, 478,
1488 768, 886, 15, 888, 252, 248, -410, 1007, 911, 912,
1489 58, 921, 435, 32, 1402, 1326, 1327, 925, 1336, 1337,
1490 673, 1339, 673, 20, 674, 969, 1400, 927, 1405, 359,
1491 1347, 1348, 1349, 1350, -410, -410, 15, 130, 131, -410,
1492 -410, 922, 935, 95, 110, 111, 1294, 127, 1338, 936,
1493 129, 799, 949, 717, 1253, 1254, 676, 1286, 955, 1293,
1494 26, 504, -293, 1389, 765, 438, 975, 1358, -410, -410,
1495 976, -819, 977, 95, 96, 97, 1239, 982, 72, 991,
1496 152, 1285, 995, 1253, 1254, 676, 1000, 996, 154, 59,
1497 1002, 359, 1042, 1385, 769, 545, 112, 113, 114, 130,
1498 131, 1064, 770, 1059, 1060, 413, 416, 673, 1061, 1062,
1499 211, 212, 1063, 1065, 1066, 335, 14, 335, 359, 335,
1500 1067, 72, 152, 504, 762, 1453, 98, 99, 1068, 58,
1501 154, 95, 96, 97, 413, 1305, 673, 1069, 20, -140,
1502 1071, 1470, 1072, 1074, 1418, 1419, 1075, 23, 1078, 1076,
1503 1592, 1091, 1077, 216, 1094, 1095, 1096, 1093, 505, 1102,
1504 1103, 1104, 768, 1112, 335, 1110, 335, 1113, 1442, 1115,
1505 1294, 1122, 58, 127, 128, 1125, 1129, 1128, 205, 1150,
1506 1294, 1173, 26, 1293, 98, 99, 100, 1294, 510, 1179,
1507 1197, 1286, 208, 1293, 216, 232, 804, 1202, 1286, 1206,
1508 1293, 1462, 72, 217, 1210, 1285, 1515, 1215, 1399, 1223,
1509 1399, 1216, 72, 129, 1217, 1285, 1218, 412, 415, 72,
1510 1225, 1226, 1285, 26, 1238, 130, 131, 1453, 7, 127,
1511 128, 10, 571, 572, 573, 574, 575, 216, 1227, 1158,
1512 1230, 1240, 1241, 1484, 1485, 1486, 1234, 1453, 1242, 1245,
1513 1546, 1249, 1252, 58, 1246, 1424, 1425, 1257, 1306, 478,
1514 445, 1315, 435, 58, 1316, 1495, 21, 1319, 365, 367,
1515 58, 828, 1495, 247, 1323, -654, 1549, 1352, 152, 152,
1516 152, 27, 28, 1345, 533, 534, 154, 154, 154, 997,
1517 208, 540, 1346, 95, 110, 111, 435, 221, 222, 223,
1518 1356, 1357, 1517, 1518, 1365, 248, 1453, 152, 152, 152,
1519 1362, 671, 1363, 32, 703, 154, 154, 154, 1364, 1372,
1520 1381, 18, 1382, 1383, 475, 1395, 224, 1397, 1410, 1461,
1521 1044, 210, 211, 212, 1413, 1497, 1049, 1437, 14, 1438,
1522 1294, 1294, 1497, 531, 1439, 1294, 112, 113, 116, 117,
1523 118, 1286, 1495, 1293, 1293, 18, 1286, 1440, 1293, 1445,
1524 20, 345, 296, 390, 391, 10, 671, 293, 1570, 23,
1525 1568, 1170, 72, 72, 293, 1285, 1285, 72, 674, 1456,
1526 1285, 335, 1457, 1463, 681, 1294, 371, 1464, 1471, 1492,
1527 1583, 728, 729, 1493, 1294, 1501, 1286, 828, 1293, 26,
1528 21, 119, 120, 1511, 1512, 1286, 217, 1293, 1521, 1538,
1529 676, 1523, 1529, 26, 1530, 27, 315, 72, 291, 1539,
1530 1285, 1547, 1497, 58, 58, 291, 72, 1548, 58, 1285,
1531 1560, 1564, 1571, 1572, 1575, 1578, 116, 744, 745, 1105,
1532 746, 1106, 413, 1305, 1294, 101, 1580, 32, 1581, 127,
1533 128, 1550, 232, 115, 293, 1286, 1585, 1293, 1594, 1589,
1534 254, 673, 1593, 747, 1596, 1601, 1602, 1604, 58, 1605,
1535 748, 1, 706, 710, 427, 5, 72, 58, 156, 1285,
1536 710, 1468, 1294, 924, 254, 426, 544, 26, 424, 119,
1537 120, 1132, 602, 1286, 1034, 1293, 229, 1258, 693, 26,
1538 405, 130, 131, 1545, 355, 291, 1452, 1600, 1355, 95,
1539 110, 111, 495, 254, 72, 603, 974, 1285, 516, 671,
1540 1124, 1123, 254, 1185, 487, 604, 671, 58, 1317, 1036,
1541 1204, 1340, 435, 435, 914, 605, 1121, 599, 606, 607,
1542 855, 386, 468, 335, 710, 152, 1408, 21, 1303, 1567,
1543 1584, 1579, 1542, 154, 1414, 384, 1172, 0, 1586, 670,
1544 0, 435, 112, 113, 0, 58, 0, 0, 7, 127,
1545 128, 10, 0, 0, 13, 0, 335, 409, 706, 254,
1546 0, 825, 826, 0, 830, 831, 832, 833, 834, 835,
1547 836, 837, 838, 839, 840, 841, 842, 843, 844, 845,
1548 846, 847, 848, 1211, 710, 1213, 21, 0, 0, 0,
1549 710, 0, 0, 254, 716, 152, 152, 152, 0, 26,
1550 0, 27, 28, 154, 154, 154, 0, 0, 116, 744,
1551 745, 0, 0, 0, 671, 30, 0, 0, 254, 0,
1552 710, 0, 95, 110, 111, 31, 0, 710, 296, 8,
1553 9, 10, 0, 32, 0, 747, -573, 0, 33, -573,
1554 1244, 0, 0, 0, 483, 485, 0, 0, 0, 916,
1555 918, 0, 1020, 1021, 9, 10, 0, 0, 496, 26,
1556 797, 119, 120, 800, 0, 335, 21, 802, 803, 805,
1557 806, 807, 671, 247, 888, 112, 113, 0, 671, 0,
1558 544, 27, 315, 0, 0, 0, -573, 0, -573, -573,
1559 21, -573, 0, 824, 0, 435, 435, 0, 435, 435,
1560 0, 435, -573, 26, -573, 27, 28, 0, 0, 1188,
1561 254, 1022, 706, 32, 0, 0, 0, 0, 1318, 189,
1562 -573, -573, 0, 1322, 95, 96, 97, 0, 532, 190,
1563 378, 379, 380, 0, 0, -573, 0, 32, 0, 0,
1564 0, 0, 191, 0, 95, 110, 111, 881, 647, 648,
1565 649, 0, 0, 0, 881, 593, 0, 296, 390, 391,
1566 10, 0, 594, 7, 8, 9, 10, 254, 1008, 13,
1567 640, 0, 0, 0, 0, 1359, 0, 98, 99, 650,
1568 0, 26, 0, 382, 383, 671, 0, 335, 335, 671,
1569 335, 0, 640, 208, 216, 21, 0, 112, 113, 0,
1570 0, 21, 595, 0, 0, 710, 0, 602, 26, 0,
1571 27, 315, 0, 0, 26, 0, 27, 28, 7, 8,
1572 9, 10, 0, 0, 435, 435, 671, 1070, 0, 0,
1573 937, 0, 671, 0, 0, 0, 116, 744, 745, 0,
1574 938, 0, 596, 0, 0, 0, 254, 0, 32, 0,
1575 605, 0, 0, 939, 607, 0, 21, 0, 0, 710,
1576 710, 0, 670, 247, 706, 710, 0, 0, 0, 0,
1577 0, 27, 28, 254, 671, 1433, 1434, 0, 80, 710,
1578 0, 710, 0, 710, 7, 8, 9, 10, 104, 119,
1579 120, 0, 1444, 0, 0, 248, 0, 743, 133, 0,
1580 671, 0, 0, 32, 142, 142, 0, 142, 0, 80,
1581 0, 0, 671, 0, 0, 0, 80, 0, 1120, 0,
1582 716, 0, 21, 435, 435, 435, 716, 0, 710, 199,
1583 0, 80, 95, 110, 111, 26, 0, 27, 28, 233,
1584 0, 188, 0, 335, 0, 671, 104, 671, 1480, 1481,
1585 0, 189, 0, 0, 0, 0, 1144, 258, 104, 0,
1586 254, 190, 821, 0, 0, 0, 0, 1490, 1491, 32,
1587 0, 710, 0, 0, 191, 0, 254, 95, 110, 111,
1588 104, 0, 435, 435, 0, 112, 1465, 0, 710, 0,
1589 0, 0, 0, 0, 1081, 0, 0, 0, 296, 127,
1590 128, 10, 0, 0, 0, 0, 869, 0, 133, 0,
1591 80, 0, 0, 0, 142, 0, 0, 407, 142, 0,
1592 0, 142, 142, 142, 0, 0, 0, 824, 0, 1195,
1593 112, 1467, 671, 716, 0, 80, 21, 881, 0, 80,
1594 0, 0, 0, 247, 0, 199, 80, 0, 0, 0,
1595 435, 27, 315, 7, 8, 9, 10, 0, 0, 242,
1596 0, 671, 0, 199, 199, 199, 569, 570, 571, 572,
1597 573, 574, 575, 0, 670, 931, 1133, 0, 706, 706,
1598 881, 0, 1224, 32, 0, 0, 948, 0, 0, 0,
1599 0, 21, 199, 0, 0, 0, 0, 602, 7, 127,
1600 128, 10, 335, 0, 26, 0, 27, 28, 486, 0,
1601 0, 0, 456, 458, 462, 0, 821, 0, 104, 0,
1602 937, 0, 881, 0, 0, 0, 0, 0, 0, 142,
1603 938, 0, 0, 0, 0, 1175, 21, 0, 32, 0,
1604 605, 1181, 0, 939, 607, 0, 0, 0, 716, 26,
1605 0, 27, 28, 0, 7, 8, 9, 10, 0, 710,
1606 716, 710, 0, 710, 0, 147, 0, 104, 513, 0,
1607 0, 706, 0, 0, 0, 148, 0, 0, 0, 0,
1608 706, 706, 0, 32, 0, 706, 0, 0, 149, 0,
1609 0, 0, 21, 716, 0, 716, 0, 0, 602, 0,
1610 1324, 1325, 0, 0, 0, 26, 0, 27, 28, 0,
1611 0, 0, 104, 0, 0, 0, 600, 0, 513, 513,
1612 616, 937, 0, 1229, 0, 0, 706, 0, 0, 80,
1613 0, 938, 0, 621, 8, 9, 10, 0, 0, 32,
1614 0, 605, 0, 0, 939, 607, 0, 0, 0, 0,
1615 0, 0, 0, 0, 210, 211, 212, 710, 0, 0,
1616 254, 14, 254, 133, 0, 0, 0, 0, 304, 622,
1617 0, 21, 104, 0, 199, 104, 0, 0, 18, 0,
1618 881, 1380, 0, 20, 26, 142, 130, 131, 142, 0,
1619 0, 0, 23, 142, 0, 0, 0, 0, 210, 211,
1620 212, 80, 0, 0, 254, 14, 0, 909, 0, 881,
1621 0, 0, 0, 0, 0, 0, 0, 0, 708, 0,
1622 0, 706, 18, 0, 0, 708, 0, 20, 0, 199,
1623 650, 199, 0, 199, 199, 199, 23, 1423, 0, 199,
1624 0, 0, 0, 931, 199, 0, 0, 199, 0, 0,
1625 0, 0, 0, 0, 7, 8, 9, 10, 0, 706,
1626 13, 0, 0, 80, 0, 0, 0, 127, 128, 0,
1627 0, 0, 13, 0, 0, 0, 0, 0, 726, 0,
1628 727, 0, 456, 458, 462, 0, 671, 0, 0, 708,
1629 0, 254, 21, 738, 0, 0, 0, 0, 602, 0,
1630 0, 104, 104, 104, 104, 26, 0, 27, 28, 0,
1631 602, 710, 0, 296, 8, 9, 10, 26, 0, 130,
1632 131, 1137, 0, 0, 0, 0, 0, 0, 1482, 1483,
1633 0, 1138, 0, 603, 0, 0, 0, 1488, 0, 32,
1634 0, 605, 0, 604, 1139, 607, 0, 0, 0, 708,
1635 0, 21, 1175, 605, 0, 708, 606, 607, 247, 0,
1636 0, 104, 0, 513, 0, 1508, 27, 315, 0, 0,
1637 0, 0, 0, 0, 254, 600, 0, 513, 513, 0,
1638 616, 0, 0, 1221, 0, 708, 0, 900, 0, 0,
1639 248, 902, 708, 0, 0, 0, 0, 0, 32, 0,
1640 0, 254, 0, 0, 0, 0, 199, 564, 565, 566,
1641 567, 568, 569, 570, 571, 572, 573, 574, 575, 1020,
1642 1021, 9, 10, 7, 8, 9, 10, 210, 211, 212,
1643 133, 0, 0, 0, 14, 0, 0, 133, 0, 0,
1644 0, 0, 0, 0, 0, 199, 944, 199, 199, 233,
1645 616, 18, 0, 0, 0, 0, 20, 21, 0, 0,
1646 254, 21, 0, 0, 0, 23, 0, 602, 0, 1263,
1647 26, 0, 27, 28, 26, 1221, 27, 28, 1022, 0,
1648 0, 0, 476, 211, 212, 0, 189, 0, 0, 14,
1649 937, 199, 0, 0, 706, 944, 190, 0, 0, 0,
1650 938, 0, 199, 199, 32, 199, 18, 0, 32, 191,
1651 605, 20, 0, 939, 607, 0, 0, 544, 0, 0,
1652 23, 0, 255, 0, 0, 0, 0, 296, 8, 9,
1653 10, 0, 0, 133, 670, 0, 80, 0, 80, 0,
1654 0, 0, 0, 1031, 80, 80, 7, 8, 9, 10,
1655 0, 726, 727, 104, 738, 0, 0, 0, 0, 104,
1656 0, 0, 0, 0, 0, 21, 513, 513, 513, 0,
1657 708, 0, 247, 0, 0, 0, 0, 0, 513, 0,
1658 27, 315, 0, 0, 21, 0, 0, 0, 0, 0,
1659 1387, 1388, 1029, 0, 0, 419, 0, 26, 0, 27,
1660 28, 0, 0, 1398, 504, 7, 8, 9, 10, 210,
1661 211, 212, 32, 189, 0, 0, 14, 0, 0, 0,
1662 0, 0, 0, 190, 708, 708, 0, 454, 0, 0,
1663 708, 32, 0, 18, 127, 128, 191, 0, 20, 242,
1664 470, 0, 0, 21, 708, 0, 708, 23, 708, 602,
1665 0, 513, 0, 513, 0, 0, 26, 0, 27, 28,
1666 104, 0, 0, 0, 513, 0, 104, 0, 900, 900,
1667 900, 0, 937, 0, 0, 1114, 0, 602, 0, 1448,
1668 0, 0, 938, 0, 26, 0, 130, 131, 0, 0,
1669 32, 0, 605, 708, 0, 981, 607, 0, 0, 0,
1670 603, 1466, 1469, 0, 0, 0, 83, 104, 0, 104,
1671 604, 199, 199, 1141, 0, 0, 106, 0, 0, 0,
1672 605, 0, 0, 606, 607, 126, 134, 0, 0, 0,
1673 0, 0, 143, 143, 0, 143, 708, 83, 0, 0,
1674 0, 0, 0, 6, 83, 7, 8, 9, 10, 11,
1675 12, 13, 0, 708, 0, 1141, 14, 143, 0, 83,
1676 456, 458, 462, 0, 0, 0, 0, 234, 104, 0,
1677 16, 0, 17, 18, 244, 0, 0, 0, 20, 1513,
1678 0, 104, 0, 21, 1031, 0, 244, 23, 0, 0,
1679 423, 0, 0, 104, 0, 0, 26, 0, 27, 28,
1680 0, 0, 29, 0, 462, 0, 1200, 0, 0, 0,
1681 0, 0, 30, 0, 0, 0, 80, 0, 0, 0,
1682 0, 0, 31, 0, 0, 0, 104, 0, 104, 0,
1683 32, 0, 0, 1029, 0, 33, 0, 0, 83, 0,
1684 0, 0, 143, 0, 0, 0, 143, 0, 0, 143,
1685 143, 143, 0, 0, 0, 0, 104, 0, 0, 0,
1686 0, 513, 513, 83, 513, 0, 0, 83, 0, 0,
1687 0, 0, 0, 143, 83, 0, 0, 0, 7, 8,
1688 9, 10, 0, 0, 501, 0, 0, 0, 0, 0,
1689 0, 143, 143, 143, 567, 568, 569, 570, 571, 572,
1690 573, 574, 575, 731, 0, 0, 0, 0, 737, 199,
1691 199, 199, 199, 1141, 0, 0, 21, 199, 0, 0,
1692 143, 0, 602, 0, 708, 0, 708, 0, 708, 26,
1693 0, 27, 28, 778, 0, 0, 0, 0, 0, 784,
1694 1141, 1141, 1141, 0, 0, 937, 0, 7, 127, 128,
1695 10, 792, 793, 242, 794, 938, 0, 143, 726, 727,
1696 456, 458, 462, 32, 0, 605, 738, 0, 939, 607,
1697 0, 199, 0, 0, 0, 0, 142, 0, 80, 0,
1698 0, 0, 608, 608, 608, 21, 0, 0, 0, 456,
1699 458, 462, 0, 0, 0, 244, 143, 0, 26, 0,
1700 27, 28, 0, 0, 0, 0, 0, 7, 127, 128,
1701 10, 0, 0, 13, 30, 0, 0, 0, 0, 0,
1702 1334, 0, 708, 0, 31, 0, 0, 199, 199, 0,
1703 199, 0, 32, 0, 0, 0, 0, 33, 0, 0,
1704 244, 0, 0, 0, 601, 21, 143, 143, 617, 889,
1705 890, 0, 0, 626, 889, 0, 0, 83, 26, 0,
1706 27, 28, 0, 0, 0, 0, 199, 944, 199, 0,
1707 0, 0, 0, 0, 147, 0, 726, 727, 0, 738,
1708 0, 0, 0, 0, 148, 104, 0, 0, 0, 0,
1709 0, 663, 32, 0, 8, 9, 0, 149, 12, 242,
1710 244, 0, 143, 244, 14, 0, 0, 0, 0, 0,
1711 0, 0, 0, 143, 0, 0, 143, 0, 16, 0,
1712 17, 143, 0, 0, 0, 0, 20, 0, 0, 83,
1713 0, 0, 0, 0, 0, 23, 0, 602, 0, 0,
1714 0, 0, 0, 0, 26, 0, 130, 131, 0, 0,
1715 0, 0, 0, 0, 0, 0, 0, 143, 0, 143,
1716 603, 143, 143, 143, 0, 0, 0, 143, 0, 0,
1717 604, 0, 143, 0, 0, 143, 708, 0, 1141, 0,
1718 605, 0, 0, 606, 607, 0, 7, 8, 9, 10,
1719 756, 83, 13, 8, 9, 0, 163, 12, 13, 0,
1720 0, 714, 0, 14, 127, 128, 0, 0, 0, 501,
1721 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
1722 18, 0, 0, 0, 21, 20, 1051, 462, 1053, 244,
1723 244, 244, 244, 0, 23, 0, 602, 26, 0, 27,
1724 28, 608, 608, 26, 608, 130, 131, 602, 1141, 1141,
1725 1141, 898, 0, 189, 26, 0, 130, 131, 0, 603,
1726 0, 0, 0, 190, 0, 0, 0, 104, 0, 604,
1727 603, 32, 199, 0, 0, 0, 191, 0, 0, 605,
1728 604, 0, 606, 607, 0, 0, 0, 0, 0, 244,
1729 605, 143, 0, 606, 607, 0, 0, 456, 458, 462,
1730 1087, 1088, 0, 1090, 0, 143, 143, 0, 617, 608,
1731 0, 608, 608, 0, 608, 901, 0, 0, 7, 127,
1732 128, 10, 0, 0, 501, 0, 0, 0, 626, 0,
1733 0, 1108, 0, 0, 143, 558, 559, 560, 561, 562,
1734 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
1735 573, 574, 575, 0, 0, 608, 21, 757, 663, 7,
1736 8, 758, 10, 163, 12, 13, 126, 0, 0, 26,
1737 14, 27, 28, 143, 617, 143, 143, 234, 617, 0,
1738 0, 1143, 0, 0, 16, 30, 17, 18, 19, 0,
1739 0, 0, 20, -520, 0, 31, 0, 21, 0, 0,
1740 756, 23, 759, 32, 164, 0, 0, 0, 33, 0,
1741 26, 0, 27, 28, 0, 0, 760, 0, 761, 143,
1742 0, 0, 0, 617, 0, 0, 30, 0, 0, 0,
1743 143, 143, 0, 143, 0, 0, 31, 0, 0, 0,
1744 0, 0, 608, 0, 32, 0, 1186, 0, 0, 33,
1745 0, 0, 8, 9, 0, 0, 12, 13, 1191, 0,
1746 0, 134, 14, 0, 83, -520, 83, 0, 0, 0,
1747 0, 1032, 83, 83, 0, 0, 16, 0, 17, 0,
1748 0, 244, 0, 0, 20, 0, 0, 244, 0, 0,
1749 611, 615, 618, 23, 143, 143, 143, 0, 0, 0,
1750 0, 0, 26, 0, 130, 131, 143, 0, 0, 0,
1751 0, 0, 0, 51, 0, 608, 0, 608, 0, 0,
1752 0, 0, 0, 0, 0, 0, 0, 0, 608, 0,
1753 0, 0, 898, 898, 898, 0, 0, 0, 0, 51,
1754 51, 854, 150, 1243, 51, 0, 0, 0, 0, 0,
1755 0, 51, 0, 0, 0, 0, 0, 0, 127, 128,
1756 0, 0, 211, 212, 51, 0, 51, 0, 14, 0,
1757 0, 0, 0, 0, 0, 608, 608, 608, 0, 143,
1758 0, 143, 1256, 0, 0, 0, 0, 0, 244, 250,
1759 20, 0, 143, 0, 244, 0, 901, 901, 901, 23,
1760 0, 602, 0, 626, 0, 0, 0, 0, 26, 0,
1761 130, 131, 0, 0, 0, 0, 0, 0, 0, 898,
1762 0, 0, 0, 0, 603, 0, 0, 0, 0, 0,
1763 0, 0, 0, 0, 604, 244, 0, 244, 0, 143,
1764 143, 617, 392, 392, 605, 51, 1343, 613, 607, 51,
1765 1344, 250, 0, 51, 0, 0, 150, 150, 150, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1767 51, 0, 127, 128, 51, 0, 211, 212, 0, 0,
1768 51, 51, 14, 901, 0, 1360, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 244, 0, 51, 51,
1770 150, 0, 0, 0, 20, 0, 0, 756, 250, 244,
1771 0, 0, 1032, 23, 0, 602, 0, 0, 0, 0,
1772 0, 244, 26, 0, 130, 131, 0, 51, 0, 0,
1773 0, 0, 0, 0, 0, 0, 0, 0, 603, 0,
1774 0, 0, 0, 0, 83, 0, 0, 0, 604, 878,
1775 880, 0, 0, 0, 244, 0, 244, 0, 605, 1416,
1776 0, 606, 607, 1417, 51, 0, 0, 0, 0, 0,
1777 0, 0, 0, 608, 608, 608, 608, 608, 0, 0,
1778 0, 608, 0, 0, 244, 1435, 1436, 0, 0, 143,
1779 143, 0, 143, 0, 0, 7, 8, 9, 10, 0,
1780 0, 242, 0, 0, 898, 898, 898, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 0, 942, 0, 611,
1782 615, 0, 618, 7, 8, 9, 10, 0, 0, 13,
1783 0, 0, 0, 21, 541, 0, 0, 143, 143, 143,
1784 143, 617, 0, 0, 0, 143, 26, 0, 27, 28,
1785 0, 392, 756, 0, 0, 0, 0, 0, 0, 250,
1786 0, 21, 189, 615, 51, 0, 0, 0, 901, 901,
1787 901, 0, 190, 0, 26, 0, 27, 28, 0, 0,
1788 32, 0, 0, 0, 756, 191, 0, 0, 0, 0,
1789 459, 608, 608, 0, 608, 0, 0, 0, 392, 143,
1790 460, 0, 0, 0, 143, 0, 83, 0, 32, 51,
1791 0, 0, 0, 461, 0, 0, 0, 0, 0, 0,
1792 51, 0, 0, 51, 7, 8, 9, 10, 51, 0,
1793 501, 0, 0, 0, 0, 0, 51, 563, 564, 565,
1794 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
1795 615, 0, 0, 0, 0, 143, 143, 0, 143, 0,
1796 0, 0, 21, 0, 51, 0, 51, 0, 150, 150,
1797 150, 0, 0, 0, 51, 26, 0, 27, 28, 51,
1798 8, 9, 51, 1391, 12, 13, 0, 0, 0, 0,
1799 14, 189, 0, 0, 143, 617, 143, 0, 51, 0,
1800 0, 190, 0, 0, 16, 0, 17, 0, 0, 32,
1801 0, 0, 20, 244, 191, 0, 0, 0, 0, 0,
1802 0, 23, 0, 1100, 0, 1101, 0, 0, 541, 0,
1803 26, 541, 130, 131, 585, 0, 1107, 0, 0, 0,
1804 878, 880, 0, 0, 0, 0, 541, 541, 541, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 541, 7, 8, 9, 10, 201, 12, 202, 586,
1807 0, 0, 0, 14, 0, 0, 0, 0, 0, 0,
1808 0, 0, 0, 878, 880, 0, 0, 16, 0, 17,
1809 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
1810 21, 0, 0, 0, 23, 0, 901, 78, 0, 250,
1811 0, 0, 0, 26, 0, 27, 28, 0, 0, 203,
1812 0, 0, 541, 0, 0, 0, 0, 0, 0, 30,
1813 0, 0, 0, 78, 78, 0, 78, 0, 78, 31,
1814 0, 51, 0, 0, 0, 78, 0, 32, 0, 0,
1815 0, 0, 33, 0, 0, 0, 0, 0, 78, 0,
1816 78, 0, 0, 0, 0, 392, 0, 0, 1328, 1329,
1817 9, 10, 392, 0, 0, 0, 901, 901, 901, 0,
1818 51, 51, 51, 51, 0, 0, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 244, 0, 0, 0, 0,
1820 143, 0, 0, 0, 0, 0, 21, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
1822 0, 27, 28, 0, 0, 0, 51, 1330, 0, 0,
1823 51, 0, 0, 0, 0, 189, 0, 51, 51, 78,
1824 51, 0, 0, 78, 0, 190, 0, 78, 0, 0,
1825 78, 78, 78, 32, 0, 0, 0, 0, 191, 0,
1826 0, 0, 0, 0, 78, 0, 0, 0, 78, 0,
1827 0, 51, 0, 51, 78, 78, 0, 0, 51, 51,
1828 51, 1100, 1101, 878, 880, 0, 0, 0, 0, 1107,
1829 0, 0, 78, 78, 78, 0, 0, 259, 0, 0,
1830 8, 9, 0, 0, 12, 13, 0, 541, 0, 0,
1831 14, 0, 878, 880, 0, 0, 0, 0, 0, 0,
1832 0, 78, 0, 0, 16, 0, 17, 155, 0, 0,
1833 0, 0, 20, 0, 260, 261, 0, 0, 0, 0,
1834 0, 23, 0, 262, 0, 0, 0, 0, 0, 200,
1835 26, 0, 130, 131, 0, 263, 0, 0, 78, 264,
1836 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1837 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1838 0, 0, 285, 286, 287, 0, 0, 288, 0, 0,
1839 289, 0, 0, 0, 0, 0, 0, 0, 0, 1100,
1840 1101, 0, 1107, 541, 541, 541, 290, 0, 0, 250,
1841 559, 560, 561, 562, 563, 564, 565, 566, 567, 568,
1842 569, 570, 571, 572, 573, 574, 575, 0, 7, 8,
1843 9, 10, 210, 211, 212, 0, 0, 0, 0, 14,
1844 0, 155, 155, 155, 0, 0, 51, 51, 150, 0,
1845 0, 0, 0, 250, 625, 0, 18, 0, 78, 0,
1846 0, 20, 0, 0, 0, 200, 21, 0, 0, 0,
1847 23, 0, 602, 0, 0, 0, 0, 0, 0, 26,
1848 0, 27, 28, 200, 200, 463, 0, 0, 0, 0,
1849 1169, 0, 0, 0, 0, 189, 0, 0, 0, 0,
1850 0, 0, 0, 78, 0, 190, 0, 0, 0, 0,
1851 0, 0, 200, 32, 78, 0, 0, 78, 1404, 51,
1852 0, 0, 78, 0, 0, 0, 0, 0, 0, 0,
1853 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1854 250, 0, 7, 8, 9, 10, 163, 12, 13, 0,
1855 0, 51, 0, 14, 0, 0, 0, 0, 78, 0,
1856 78, 0, 78, 78, 78, 0, 0, 16, 78, 17,
1857 18, 19, 0, 78, 0, 20, 78, 0, 0, 0,
1858 21, 8, 9, 0, 23, 12, 242, 164, 514, 0,
1859 0, 14, 78, 26, 0, 27, 28, 0, 0, 0,
1860 0, 0, 0, 0, 0, 16, 0, 17, 0, 30,
1861 0, 0, 0, 20, 0, 0, 0, 0, 0, 31,
1862 0, 0, 23, 250, 0, 0, 0, 32, 0, 0,
1863 0, 26, 33, 130, 131, 0, 0, 34, 610, 610,
1864 610, 0, 0, 0, 51, 51, 150, 150, 150, 0,
1865 250, 0, 51, 0, 7, 8, 9, 10, 163, 12,
1866 13, 0, 0, 714, 0, 14, 0, 0, 0, 0,
1867 0, 1328, 127, 128, 10, 1169, 1169, 1169, 0, 16,
1868 0, 17, 18, 0, 0, 0, 0, 20, 0, 0,
1869 0, 0, 21, 0, 200, 0, 23, 0, 602, 0,
1870 0, 0, 0, 0, 625, 26, 51, 27, 28, 21,
1871 0, 51, 0, 51, 0, 0, 0, 0, 0, 0,
1872 0, 1137, 26, 0, 27, 28, 0, 0, 0, 0,
1873 1330, 1138, 0, 0, 0, 78, 0, 0, 30, 32,
1874 0, 605, 0, 0, 1139, 607, 0, 0, 31, 200,
1875 0, 200, 0, 463, 463, 463, 32, 0, 0, 200,
1876 0, 33, 51, 51, 200, 51, 0, 200, 0, 0,
1877 0, 0, 0, 0, 78, 78, 78, 78, 0, 0,
1878 0, 0, 0, 757, 0, 7, 8, 758, 10, 163,
1879 12, 13, 0, 0, 0, 0, 14, 0, 0, 0,
1880 0, 51, 51, 51, 0, 0, 0, 0, 0, 0,
1881 16, 0, 17, 18, 19, 0, 0, 0, 20, -521,
1882 78, 0, 0, 21, 78, 0, 0, 23, 759, 0,
1883 164, 78, 78, 0, 78, 0, 26, 0, 27, 28,
1884 0, 0, 760, 0, 761, 0, 0, 0, 0, 0,
1885 0, 0, 30, 0, 0, 0, 0, 0, 0, 0,
1886 0, 0, 31, 0, 0, 78, 0, 78, 0, 0,
1887 32, 0, 78, 78, 78, 33, 7, 8, 9, 10,
1888 163, 12, 13, 863, 0, 986, 0, 14, 0, 0,
1889 0, -521, 0, 0, 0, 0, 0, 610, 610, 0,
1890 610, 16, 0, 17, 18, 0, 0, 610, 0, 20,
1891 0, 198, 0, 1169, 21, 0, 0, 0, 23, 0,
1892 7, 8, 9, 10, 0, 0, 200, 26, 0, 27,
1893 28, 0, 0, 0, 0, 0, 253, 0, 0, 257,
1894 0, 0, 0, 30, 0, 0, 0, 0, 0, 0,
1895 0, 0, 0, 31, 0, 0, 0, 0, 21, 0,
1896 253, 32, 361, 0, 0, 941, 33, 941, 941, 0,
1897 610, 26, 0, 27, 28, 0, 0, 7, 8, 9,
1898 10, 0, 0, 1169, 1169, 1169, 0, 189, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 190, 0, 0,
1900 0, 0, 0, 0, 625, 32, 0, 51, 0, 0,
1901 191, 941, 0, 0, 0, 21, 0, 0, 0, 0,
1902 0, 0, 200, 200, 0, 200, 0, 198, 26, 0,
1903 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
1904 78, 78, 78, 0, 459, 198, 198, 198, 0, 0,
1905 0, 0, 0, 0, 460, 469, 0, 0, 0, 0,
1906 0, 0, 32, 200, 0, 8, 9, 461, 163, 12,
1907 13, 0, 0, 0, 198, 14, 0, 0, 0, 0,
1908 0, 0, 0, 0, 1171, 0, 514, 514, 514, 16,
1909 0, 17, 18, 0, 0, 0, 0, 20, 610, 0,
1910 257, 0, 0, 0, 0, 0, 664, 0, 0, 164,
1911 0, 0, 0, 78, 253, 26, 0, 130, 131, 0,
1912 0, 0, 0, 0, 0, 0, 536, 0, 296, 8,
1913 9, 10, 163, 12, 297, 298, 299, 714, 300, 14,
1914 0, 0, 0, 0, 0, 78, 0, 0, 0, 0,
1915 0, 0, 0, 16, 301, 17, 18, 19, 0, 302,
1916 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
1917 23, 610, 602, 610, 309, 310, 311, 312, 313, 26,
1918 0, 27, 315, -307, 610, 0, 316, 0, 610, 610,
1919 610, 0, 317, 0, 0, 894, 0, 0, 0, 0,
1920 0, 0, 0, 319, 320, 895, 253, 257, 0, 0,
1921 0, 322, 323, 324, 0, 605, 0, 0, 896, 607,
1922 0, 0, 0, 0, 0, 0, 1458, 0, 0, 0,
1923 0, 941, 941, 1142, 0, 326, 0, 0, 78, 78,
1924 78, 78, 78, 0, 0, 0, 78, 0, 0, 0,
1925 0, 0, 0, 0, 0, 0, 198, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 1171,
1927 1171, 1171, 0, 0, 0, 1142, 1459, 554, 555, 556,
1928 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
1929 567, 568, 569, 570, 571, 572, 573, 574, 575, 0,
1930 78, 0, 0, 0, 200, 78, 0, 78, 0, 0,
1931 0, 198, 0, 198, 76, 198, 198, 198, 0, 0,
1932 0, 198, 0, 0, 0, 0, 198, 0, 0, 198,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 141, 145, 0, 0, 0, 76, 0, 0, 0, 0,
1935 0, 0, 76, 0, 0, 0, 78, 78, 0, 78,
1936 0, 0, 0, 0, 0, 0, 0, 209, 0, 0,
1937 0, 0, 162, 0, 7, 8, 9, 10, 163, 12,
1938 13, 863, 863, 0, 863, 14, 0, 0, 0, 0,
1939 0, 0, 0, 0, 0, 78, 78, 78, 0, 16,
1940 0, 17, 18, 19, 0, 0, 0, 20, 0, 0,
1941 0, 0, 21, 0, 0, 0, 23, 0, 0, 164,
1942 0, 0, 0, 0, 0, 26, 0, 27, 28, 941,
1943 941, 1142, 1142, 1142, 0, 0, 0, 941, 0, 0,
1944 0, 30, 0, 0, 0, 0, 403, 0, 0, 0,
1945 406, 31, 0, 0, 408, 0, 0, 0, 0, 32,
1946 1142, 1142, 1142, 0, 33, 0, 0, 0, 0, 34,
1947 0, 76, 253, 257, 0, 76, 0, 0, 0, 0,
1948 0, 0, 209, 0, 0, 0, 0, 0, 198, 0,
1949 0, 200, 0, 0, 0, 0, 0, 0, 0, 141,
1950 145, 0, 0, 0, 0, 0, 0, 1171, 0, 0,
1951 0, 6, 0, 7, 8, 9, 10, 11, 12, 13,
1952 0, 0, 0, 0, 14, 0, 0, 198, 0, 198,
1953 198, 0, 0, 0, 0, 0, 0, 15, 16, 0,
1954 17, 18, 19, 102, 0, 0, 20, 941, 941, 0,
1955 941, 21, 121, 102, 22, 23, 24, 0, 25, 102,
1956 102, 0, 102, 0, 26, 502, 27, 28, 0, 0,
1957 29, 0, 0, 198, 0, 0, 0, 1171, 1171, 1171,
1958 30, 0, 0, 0, 198, 198, 200, 198, 200, 0,
1959 31, 0, 0, 0, 231, 18, 0, 0, 32, 0,
1960 0, 78, 0, 33, 0, 0, 0, 0, 34, 0,
1961 0, 0, 257, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 198, 0, 554, 555, 556,
1963 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
1964 567, 568, 569, 570, 571, 572, 573, 574, 575, 0,
1965 0, 0, 0, 385, 0, 121, 8, 9, 0, 163,
1966 12, 13, 102, 102, 714, 634, 14, 0, 0, 102,
1967 0, 102, 102, 102, 0, 0, 102, 102, 102, 0,
1968 16, 0, 17, 18, 0, 0, 8, 9, 20, 163,
1969 12, 13, 0, 0, 1526, 0, 14, 23, 463, 0,
1970 0, 0, 0, 0, 0, 0, 26, 0, 130, 131,
1971 16, 0, 17, 18, 0, 0, 0, 0, 20, 0,
1972 0, 685, 0, 0, 686, 0, 0, 23, 0, 688,
1973 0, 0, 0, 0, 0, 0, 26, 76, 130, 131,
1974 560, 561, 562, 563, 564, 565, 566, 567, 568, 569,
1975 570, 571, 572, 573, 574, 575, 253, 257, 253, 0,
1976 0, 0, 484, 102, 0, 406, 0, 408, 463, 463,
1977 463, 0, 0, 0, 0, 0, 0, 8, 9, 0,
1978 502, 12, 13, 0, 102, 0, 0, 14, 0, 0,
1979 0, 0, 200, 198, 198, 1140, 0, 0, 0, 774,
1980 253, 16, 0, 17, 0, 0, 0, 0, 0, 20,
1981 0, 0, 704, 0, 815, 816, 817, 10, 23, 12,
1982 518, 298, 299, 102, 300, 14, 0, 26, 0, 130,
1983 131, 0, 0, 0, 0, 0, 0, 1140, 0, 16,
1984 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
1985 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
1986 309, 310, 311, 312, 313, 26, 198, 818, 819, 705,
1987 0, 102, 316, 102, 102, 0, 0, 0, 317, 0,
1988 0, 318, 0, 0, 0, 0, 0, 469, 0, 319,
1989 320, 321, 0, 0, 0, 0, 0, 322, 323, 324,
1990 0, 0, 0, 0, 325, 820, 8, 9, 0, 201,
1991 12, 202, 0, 0, 0, 0, 14, 0, 102, 0,
1992 973, 326, 0, 0, 0, 0, 0, 0, 0, 0,
1993 16, 0, 17, 18, 0, 0, 102, 0, 20, 0,
1994 102, 0, 0, 102, 0, 0, 0, 23, 102, 0,
1995 0, 0, 0, 0, 0, 0, 26, 0, 130, 131,
1996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 253, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 943, 0, 0, 0, 0, 0, 0, 0,
1999 0, 198, 198, 198, 198, 1140, 0, 1255, 0, 198,
2000 561, 562, 563, 564, 565, 566, 567, 568, 569, 570,
2001 571, 572, 573, 574, 575, 102, 0, 749, 0, 0,
2002 0, 0, 1140, 1140, 1140, 0, 0, 0, 0, 0,
2003 0, 987, 0, 0, 0, 0, 0, 0, 685, 686,
2004 0, 688, 102, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 198, 562, 563, 564, 565, 566, 567,
2006 568, 569, 570, 571, 572, 573, 574, 575, 0, 0,
2007 0, 0, 774, 0, 774, 0, 0, 0, 0, 1030,
2008 1037, 774, 0, 554, 555, 556, 557, 558, 559, 560,
2009 561, 562, 563, 564, 565, 566, 567, 568, 569, 570,
2010 571, 572, 573, 574, 575, 0, 0, 0, 0, 198,
2011 198, 0, 198, 0, 0, 0, 0, 0, 102, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
2013 102, 1219, 102, 102, 0, 0, 0, 0, 0, 0,
2014 0, 0, 0, 0, 0, 0, 0, 0, 198, 0,
2015 198, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2016 0, 0, 0, 0, 0, 0, 0, 757, 0, 7,
2017 8, 758, 10, 163, 12, 13, 0, 0, 0, 0,
2018 14, 0, 0, 0, 0, 102, 0, 0, 0, 0,
2019 0, 0, 102, 121, 16, 0, 17, 18, 19, 0,
2020 0, 0, 20, -523, 231, 0, 0, 21, 0, 0,
2021 0, 23, 759, 0, 164, 0, 0, 0, 0, 0,
2022 26, 0, 27, 28, 0, 0, 760, 749, 761, 0,
2023 0, 0, 0, 0, 0, 0, 30, 757, 0, 7,
2024 8, 758, 10, 163, 12, 13, 31, 141, 145, 0,
2025 14, 0, 0, 0, 32, 0, 0, 0, 0, 33,
2026 1140, 0, 0, 0, 16, 0, 17, 18, 19, 0,
2027 0, 0, 20, 0, 0, -523, 0, 21, 0, 0,
2028 0, 23, 759, 0, 164, 749, 0, 0, 102, 0,
2029 26, 0, 27, 28, 0, 0, 760, 0, 761, 0,
2030 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
2031 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2032 1030, 102, 102, 102, 32, 0, 0, 0, 0, 33,
2033 1140, 1140, 1140, 102, 0, 536, 0, 7, 8, 9,
2034 10, 163, 12, 297, 298, 299, 714, 300, 14, 0,
2035 0, 0, 774, 0, 198, 0, 0, 0, 0, 0,
2036 0, 0, 16, 301, 17, 18, 19, 0, 302, 303,
2037 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2038 0, 602, 0, 309, 310, 311, 312, 313, 26, 0,
2039 27, 28, -307, 0, 0, 316, 0, 0, 0, 0,
2040 0, 317, 0, 0, 1166, 0, 102, 0, 102, 0,
2041 0, 0, 319, 320, 1167, 0, 0, 0, 0, 102,
2042 322, 323, 324, 0, 605, 0, 0, 1168, 607, 757,
2043 0, 7, 8, 758, 10, 163, 12, 13, 0, 0,
2044 0, 0, 14, 0, 326, 406, 408, 0, 0, 0,
2045 0, 0, 0, 502, 0, 0, 16, 0, 17, 18,
2046 19, 0, 0, 0, 20, -522, 0, 0, 0, 21,
2047 0, 0, 0, 23, 759, 0, 164, 0, 0, 0,
2048 0, 0, 26, 0, 27, 28, 0, 0, 760, 0,
2049 761, 0, 0, 0, 0, 0, 0, 0, 30, 0,
2050 0, 0, 0, 0, 0, 0, 0, 1335, 31, 0,
2051 0, 0, 1335, 0, 774, 0, 32, 0, 0, 0,
2052 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
2053 0, 0, 0, 0, 749, 0, 0, -522, 554, 555,
2054 556, 557, 558, 559, 560, 561, 562, 563, 564, 565,
2055 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
2056 0, 102, 0, 685, 686, 1429, 688, -474, -474, -474,
2057 -474, -474, -474, -474, 0, 0, -474, 0, -474, 0,
2058 0, 0, 1522, 0, 0, 0, 0, 0, 0, -474,
2059 0, -474, 0, 0, 0, -474, 0, 0, 0, 0,
2060 -474, 0, 0, 1403, 0, -474, 0, 0, 0, -474,
2061 0, -474, 0, 0, 0, 0, 102, 102, -474, 102,
2062 -474, -474, -474, -474, -474, 0, -474, -474, -474, -474,
2063 -474, -474, -474, -474, -474, -474, -474, -474, -474, -474,
2064 -474, -474, -474, -474, -474, -474, -474, -474, -474, 0,
2065 -474, -474, -474, 0, -474, -474, -474, -474, -474, -474,
2066 0, -474, 0, 0, 0, 0, 1430, 0, 0, 0,
2067 0, -474, -474, -474, 0, -474, 643, 0, 0, 749,
2068 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
2069 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
2070 574, 575, 0, 0, 0, 0, 0, 0, 0, 0,
2071 0, 749, 0, 0, 0, 0, 0, 0, 0, 0,
2072 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
2073 1406, 102, 1266, 1267, 1268, 10, 163, 12, 297, 298,
2074 299, 0, 300, 14, 1269, 0, 1270, 1271, 1272, 1273,
2075 1274, 1275, 1276, 1277, 1278, 1279, 15, 16, 301, 17,
2076 18, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2077 21, 307, 308, 1280, 23, 1281, 0, 0, 309, 310,
2078 311, 312, 313, 26, 0, 1282, 315, 701, 0, 1283,
2079 316, 0, 0, 0, 0, 0, 317, 0, 0, 318,
2080 0, 0, 0, 0, 0, 0, 0, 319, 320, 321,
2081 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2082 0, 0, 325, 0, 1284, 0, 0, 0, 0, 0,
2083 0, 0, 0, 0, 0, 0, 0, 0, 1407, 326,
2084 1265, 0, 1266, 1267, 1268, 10, 163, 12, 297, 298,
2085 299, 0, 300, 14, 1269, 0, 1270, 1271, 1272, 1273,
2086 1274, 1275, 1276, 1277, 1278, 1279, 15, 16, 301, 17,
2087 18, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2088 21, 307, 308, 1280, 23, 1281, 0, 0, 309, 310,
2089 311, 312, 313, 26, 0, 1282, 315, 701, 0, 1283,
2090 316, 0, 0, 0, 0, 0, 317, 0, 0, 318,
2091 0, 0, 0, 0, 0, 0, 0, 319, 320, 321,
2092 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2093 0, 0, 325, 713, 1284, 296, 8, 9, 10, 163,
2094 12, 297, 298, 299, 714, 300, 14, 0, 0, 326,
2095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2096 16, 301, 17, 18, 19, 0, 302, 303, 20, 0,
2097 304, 305, 306, 21, 307, 308, 0, 23, 0, 0,
2098 0, 309, 310, 311, 312, 313, 26, 0, 27, 315,
2099 0, 0, 0, 316, 0, 0, 0, 0, 0, 317,
2100 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2101 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2102 324, 0, 0, 0, 827, 325, 296, 8, 9, 10,
2103 163, 12, 297, 298, 299, 0, 300, 14, 0, 0,
2104 -790, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2105 0, 16, 301, 17, 18, 19, 0, 302, 303, 20,
2106 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2107 0, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2108 315, 1503, 0, -780, 316, 0, 0, 0, 0, 0,
2109 317, 0, 0, 318, 0, 0, 0, 0, 0, 0,
2110 0, 319, 320, 321, 0, 0, 0, 0, 0, 322,
2111 323, 324, 0, 0, 0, 704, 325, 815, 816, 817,
2112 10, 0, 12, 518, 298, 299, 0, 300, 14, 0,
2113 0, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2114 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2115 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2116 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2117 818, 819, 705, 0, 0, 316, 0, 0, 0, 0,
2118 0, 317, 0, 0, 318, 0, 0, 0, 0, 0,
2119 0, 0, 319, 320, 321, 0, 0, 0, 0, 0,
2120 322, 323, 324, 0, 0, 0, 0, 325, 820, 704,
2121 0, 815, 816, 817, 10, 0, 12, 518, 298, 299,
2122 0, 300, 14, 0, 326, 0, 0, 0, 0, 0,
2123 0, 0, 0, 0, 0, 0, 16, 301, 17, 0,
2124 19, 0, 302, 303, 20, 0, 304, 305, 306, 21,
2125 307, 308, 0, 23, 0, 0, 0, 309, 310, 311,
2126 312, 313, 26, 0, 818, 819, 705, 0, 0, 316,
2127 0, 0, 0, 0, 0, 317, 0, 0, 318, 0,
2128 0, 0, 0, 0, 0, 0, 319, 320, 321, 0,
2129 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2130 704, 325, 815, 816, 817, 10, 0, 12, 518, 298,
2131 299, 0, 300, 14, 0, 0, 0, -478, 326, 0,
2132 0, 0, 0, 0, 0, 0, 0, 16, 301, 17,
2133 0, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2134 21, 307, 308, 0, 23, 0, 0, 0, 309, 310,
2135 311, 312, 313, 26, 0, 818, 819, 705, 0, 0,
2136 316, 0, 0, 0, 0, 0, 317, 0, 0, 318,
2137 0, 0, 0, 0, 0, 0, 0, 319, 320, 321,
2138 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2139 0, 704, 325, 296, 8, 9, 10, 0, 12, 518,
2140 298, 299, 0, 300, 14, 0, 0, 0, 1304, 326,
2141 0, 0, 0, 0, 0, 0, 0, 0, 16, 301,
2142 17, 0, 19, 0, 302, 303, 20, 0, 304, 305,
2143 306, 21, 307, 308, 0, 23, 0, 0, 0, 309,
2144 310, 311, 312, 313, 26, 0, 27, 315, 705, 0,
2145 0, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2146 318, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2147 321, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2148 0, 0, 0, 325, 0, 536, 0, 296, 8, 9,
2149 10, 1308, 12, 297, 298, 299, 0, 300, 14, 0,
2150 326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2151 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2152 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2153 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2154 27, 315, -307, 0, 0, 316, 0, 0, 0, 0,
2155 0, 317, 0, 0, 537, 0, 0, 0, 0, 0,
2156 0, 0, 319, 320, 538, 0, 0, 0, 0, 0,
2157 322, 323, 324, 0, 0, 0, 704, 539, 296, 8,
2158 9, 10, 0, 12, 518, 298, 299, 0, 300, 14,
2159 0, 0, 0, 0, 326, 0, 0, 0, 0, 0,
2160 0, 0, 0, 16, 301, 17, 0, 19, 0, 302,
2161 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2162 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2163 0, 27, 315, 705, 0, 0, 316, 0, 0, 0,
2164 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2165 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2166 0, 322, 323, 324, 0, 0, 0, 827, 325, 296,
2167 8, 9, 10, 0, 12, 518, 298, 299, 0, 300,
2168 14, 0, 0, 0, 0, 326, 0, 0, 0, 0,
2169 0, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2170 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2171 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2172 26, 0, 27, 315, 0, 0, 0, 316, -780, 0,
2173 0, 0, 0, 317, 0, 0, 318, 0, 0, 0,
2174 0, 0, 0, 0, 319, 320, 321, 0, 0, 0,
2175 0, 0, 322, 323, 324, 0, 0, 0, 536, 325,
2176 7, 8, 9, 10, 0, 12, 297, 298, 299, 0,
2177 300, 14, 0, 0, 0, 0, 326, 0, 0, 0,
2178 0, 0, 0, 0, 0, 16, 301, 17, 0, 19,
2179 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2180 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2181 313, 26, 0, 27, 28, -307, 0, 0, 316, 0,
2182 0, 0, 0, 0, 317, 0, 0, 1474, 0, 0,
2183 0, 0, 0, 0, 0, 319, 320, 1475, 0, 0,
2184 0, 0, 0, 322, 323, 324, 0, 0, 0, 1555,
2185 1476, 296, 8, 9, 10, 0, 12, 297, 298, 299,
2186 0, 300, 14, 0, 0, 0, 0, 326, 0, 0,
2187 0, 0, 0, 0, 0, 0, 16, 301, 17, 0,
2188 19, 0, 302, 303, 20, 0, 304, 305, 306, 21,
2189 307, 308, 0, 23, 0, 0, 0, 309, 310, 311,
2190 312, 313, 26, 0, 27, 315, 0, 0, -194, 316,
2191 0, 0, 0, 0, 0, 317, 0, 0, 318, 0,
2192 0, 0, 0, 0, 0, 0, 319, 320, 321, 0,
2193 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2194 827, 325, 296, 8, 9, 10, 0, 12, 518, 298,
2195 299, 0, 300, 14, 0, 0, 0, 0, 326, 0,
2196 0, 0, 0, 0, 0, 0, 0, 16, 301, 17,
2197 0, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2198 21, 307, 308, 0, 23, 0, 0, 0, 309, 310,
2199 311, 312, 313, 26, 0, 27, 315, 0, 0, 0,
2200 316, 0, 0, 0, 0, 0, 317, 0, 0, 318,
2201 0, 0, 0, 0, 0, 0, 0, 319, 320, 321,
2202 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2203 0, 915, 325, 296, 8, 9, 10, 0, 12, 518,
2204 298, 299, 0, 300, 14, 0, 0, -780, 0, 326,
2205 0, 0, 0, 0, 0, 0, 0, 0, 16, 301,
2206 17, 0, 19, 0, 302, 303, 20, 0, 304, 305,
2207 306, 21, 307, 308, 0, 23, 0, 0, 0, 309,
2208 310, 311, 312, 313, 26, 0, 27, 315, 0, 0,
2209 0, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2210 318, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2211 321, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2212 0, 0, 917, 325, 296, 8, 9, 10, 0, 12,
2213 518, 298, 299, 0, 300, 14, 0, 0, 0, 0,
2214 326, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2215 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
2216 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
2217 309, 310, 311, 312, 313, 26, 0, 27, 315, 0,
2218 0, 0, 316, 0, 0, 0, 0, 0, 317, 0,
2219 0, 318, 0, 0, 0, 0, 0, 0, 0, 319,
2220 320, 321, 0, 0, 0, 0, 0, 322, 323, 324,
2221 0, 0, 0, 1487, 325, 296, 8, 9, 10, 0,
2222 12, 518, 298, 299, 0, 300, 14, 0, 0, 0,
2223 0, 326, 0, 0, 0, 0, 0, 0, 0, 0,
2224 16, 301, 17, 0, 19, 0, 302, 303, 20, 0,
2225 304, 305, 306, 21, 307, 308, 0, 23, 0, 0,
2226 0, 309, 310, 311, 312, 313, 26, 0, 27, 315,
2227 0, 0, 0, 316, 0, 0, 0, 0, 0, 317,
2228 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2229 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2230 324, 296, 8, 9, 10, 325, 12, 518, 298, 299,
2231 0, 300, 14, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 326, 0, 0, 0, 16, 301, 17, 0,
2233 19, 0, 302, 303, 20, 0, 304, 305, 306, 21,
2234 307, 308, 0, 23, 0, 0, 0, 309, 310, 311,
2235 312, 313, 26, 0, 27, 315, 0, 0, 0, 316,
2236 0, 0, 0, 0, 0, 317, 0, 0, 318, 0,
2237 0, 0, 0, 0, 0, 0, 319, 320, 321, 0,
2238 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2239 0, 325, 0, 0, 0, 0, 0, 0, 0, 0,
2240 0, 0, 0, 0, 0, 0, 0, 0, 326, 866,
2241 1266, 1267, 1268, 10, 163, 12, 297, 298, 299, 0,
2242 300, 14, 1269, 0, 1270, 1271, 1272, 1273, 1274, 1275,
2243 1276, 1277, 1278, 1279, 15, 16, 301, 17, 18, 19,
2244 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2245 308, 1280, 23, 1281, 0, 0, 309, 310, 311, 312,
2246 313, 26, 0, 1282, 315, 701, 0, 1283, 316, 0,
2247 0, 0, 0, 0, 317, 0, 0, 318, 0, 0,
2248 0, 0, 0, 0, 0, 319, 320, 321, 0, 0,
2249 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2250 325, 0, 1284, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 1411, 326, 1266, 1267,
2252 1268, 10, 163, 12, 297, 298, 299, 0, 300, 14,
2253 1269, 0, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277,
2254 1278, 1279, 15, 16, 301, 17, 18, 19, 0, 302,
2255 303, 20, 0, 304, 305, 306, 21, 307, 308, 1280,
2256 23, 1281, 0, 0, 309, 310, 311, 312, 313, 26,
2257 0, 1282, 315, 701, 0, 1283, 316, 0, 0, 0,
2258 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2259 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2260 0, 322, 323, 324, 0, 0, 0, 0, 325, 0,
2261 1284, 0, 1266, 1267, 1268, 10, 163, 12, 297, 298,
2262 299, 0, 300, 14, 1269, 326, 1270, 1271, 1272, 1273,
2263 1274, 1275, 1276, 1277, 1278, 1279, 15, 16, 301, 17,
2264 18, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2265 21, 307, 308, 1280, 23, 1281, 0, 0, 309, 310,
2266 311, 312, 313, 26, 0, 1282, 315, 1532, 0, 1283,
2267 316, 0, 0, 0, 0, 0, 317, 0, 0, 318,
2268 0, 0, 0, 0, 0, 0, 0, 319, 320, 321,
2269 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2270 0, 0, 325, 0, 1284, 0, 1266, 1267, 1268, 10,
2271 163, 12, 297, 298, 299, 0, 300, 14, 1269, 326,
2272 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279,
2273 15, 16, 301, 17, 18, 19, 0, 302, 303, 20,
2274 0, 304, 305, 306, 21, 307, 308, 1280, 23, 1281,
2275 0, 0, 309, 310, 311, 312, 313, 26, 0, 1282,
2276 315, 0, 0, 1283, 316, 0, 0, 0, 0, 0,
2277 317, 0, 0, 318, 0, 0, 0, 0, 0, 0,
2278 0, 319, 320, 321, 0, 0, 0, 0, 0, 322,
2279 323, 324, 0, 0, 0, 0, 325, 0, 1284, 296,
2280 8, 9, 10, 163, 12, 297, 298, 299, 714, 300,
2281 14, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2282 0, 0, 0, 0, 16, 301, 17, 18, 19, 0,
2283 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2284 0, 23, 0, 602, 0, 309, 310, 311, 312, 313,
2285 26, 0, 27, 315, 0, 0, 0, 316, 0, 0,
2286 0, 0, 0, 317, 0, 0, 894, 0, 0, 0,
2287 0, 0, 0, 0, 319, 320, 895, 0, 0, 0,
2288 0, 0, 322, 323, 324, 0, 605, 0, 0, 896,
2289 607, 7, 8, 9, 10, 163, 12, 297, 298, 299,
2290 714, 300, 14, 0, 0, 0, 326, 0, 0, 0,
2291 0, 0, 0, 0, 0, 0, 16, 301, 17, 18,
2292 19, 0, 302, 303, 20, 0, 304, 305, 306, 21,
2293 307, 308, 0, 23, 0, 602, 0, 309, 310, 311,
2294 312, 313, 26, 0, 27, 28, 0, 0, 0, 316,
2295 0, 0, 0, 0, 0, 317, 0, 0, 1166, 0,
2296 0, 0, 0, 0, 0, 0, 319, 320, 1167, 0,
2297 0, 0, 0, 0, 322, 323, 324, 0, 605, 0,
2298 0, 1168, 607, 296, 8, 9, 10, 0, 12, 297,
2299 298, 299, 0, 300, 14, 0, 0, 0, 326, 0,
2300 0, 0, 0, 0, 0, 0, 0, 0, 16, 301,
2301 17, 0, 19, 0, 302, 303, 20, 0, 304, 305,
2302 306, 21, 307, 308, 0, 23, 0, 602, 0, 309,
2303 310, 311, 312, 313, 26, 0, 27, 315, 0, 0,
2304 0, 0, 0, 0, 0, 0, 0, 317, 0, 0,
2305 894, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2306 895, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2307 605, 0, 0, 896, 607, 7, 8, 9, 10, 0,
2308 12, 297, 298, 299, 0, 300, 14, 0, 0, 0,
2309 326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2310 16, 301, 17, 0, 19, 0, 302, 303, 20, 0,
2311 304, 305, 306, 21, 307, 308, 0, 23, 0, 602,
2312 0, 309, 310, 311, 312, 313, 26, 0, 27, 28,
2313 0, 0, 0, 0, 0, 0, 0, 0, 0, 317,
2314 0, 0, 1166, 0, 0, 0, 0, 0, 0, 0,
2315 319, 320, 1167, 0, 0, 0, 0, 0, 322, 323,
2316 324, 0, 605, 0, 0, 1168, 607, 296, 8, 9,
2317 10, 0, 12, 518, 298, 299, 0, 300, 14, 0,
2318 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2319 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2320 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2321 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2322 27, 315, 0, 0, 1384, 316, 0, 0, 0, 0,
2323 0, 317, 0, 0, 318, 0, 0, 0, 0, 0,
2324 0, 0, 319, 320, 321, 0, 0, 0, 0, 0,
2325 322, 323, 324, 0, 0, 0, 0, 325, 296, 8,
2326 9, 10, 163, 12, 297, 298, 299, 0, 300, 14,
2327 0, 0, 0, 0, 326, 0, 0, 0, 0, 0,
2328 0, 0, 0, 16, 301, 17, 18, 19, 0, 302,
2329 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2330 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2331 0, 27, 315, 0, 0, 0, 0, 0, 0, 0,
2332 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2333 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2334 0, 322, 323, 324, 296, 8, 9, 10, 325, 12,
2335 297, 298, 299, 0, 300, 14, 0, 0, 0, 0,
2336 0, 0, 0, 0, 0, 326, 0, 0, 0, 16,
2337 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
2338 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
2339 309, 310, 311, 312, 313, 26, 0, 314, 315, 0,
2340 0, 0, 316, 0, 0, 0, 0, 0, 317, 0,
2341 0, 318, 0, 0, 0, 0, 0, 0, 0, 319,
2342 320, 321, 0, 0, 0, 0, 0, 322, 323, 324,
2343 296, 8, 9, 10, 325, 12, 297, 298, 299, 0,
2344 300, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2345 0, 326, 0, 0, 0, 16, 301, 17, 0, 19,
2346 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2347 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2348 313, 26, 0, 27, 315, 0, 0, 0, 316, 0,
2349 0, 0, 0, 0, 317, 0, 0, 318, 0, 0,
2350 0, 0, 0, 0, 0, 319, 320, 321, 0, 0,
2351 0, 0, 0, 322, 323, 324, 296, 8, 9, 10,
2352 325, 12, 518, 298, 299, 0, 300, 14, 0, 0,
2353 0, 0, 0, 0, 0, 0, 0, 326, 0, 0,
2354 0, 16, 301, 17, 0, 19, 0, 302, 303, 20,
2355 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2356 0, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2357 315, 0, 0, 0, 316, 0, 0, 0, 0, 0,
2358 317, 0, 0, 318, 0, 0, 0, 0, 0, 0,
2359 0, 319, 320, 321, 0, 0, 0, 0, 0, 322,
2360 323, 324, 296, 8, 9, 10, 325, 12, 518, 298,
2361 299, 0, 300, 14, 0, 0, 0, 0, 0, 0,
2362 0, 0, 0, 326, 0, 0, 0, 16, 301, 17,
2363 0, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2364 21, 307, 308, 0, 23, 0, 0, 0, 309, 310,
2365 311, 312, 313, 26, 0, 27, 315, 551, 0, 0,
2366 0, 0, 0, 0, 0, 0, 317, 0, 0, 318,
2367 0, 0, 0, 0, 0, 0, 0, 319, 320, 321,
2368 0, 0, 0, 0, 0, 322, 323, 324, 296, 8,
2369 9, 10, 552, 12, 518, 298, 299, 0, 300, 14,
2370 0, 0, 0, 0, 0, 0, 0, 0, 0, 326,
2371 0, 0, 0, 16, 301, 17, 0, 19, 0, 302,
2372 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2373 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2374 0, 27, 315, 0, 0, 0, 0, 0, 0, 0,
2375 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2376 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2377 0, 322, 323, 324, 0, 0, 0, 0, 325, 590,
2378 296, 8, 9, 10, 0, 12, 518, 298, 299, 0,
2379 300, 14, 0, 0, 0, 326, 0, 0, 0, 0,
2380 0, 0, 0, 0, 0, 16, 301, 17, 0, 19,
2381 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2382 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2383 313, 26, 0, 27, 315, 0, 0, 0, 316, 0,
2384 0, 0, 0, 0, 317, 0, 0, 537, 0, 0,
2385 0, 0, 0, 0, 0, 319, 320, 538, 0, 0,
2386 0, 0, 0, 322, 323, 324, 1126, 8, 9, 10,
2387 539, 12, 518, 298, 299, 0, 300, 14, 0, 0,
2388 0, 0, 0, 0, 0, 0, 0, 326, 0, 0,
2389 0, 16, 301, 17, 0, 19, 0, 302, 303, 20,
2390 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2391 0, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2392 315, 0, 0, 0, 316, 0, 0, 0, 0, 0,
2393 317, 0, 0, 318, 0, 0, 0, 0, 0, 0,
2394 0, 319, 320, 321, 0, 0, 0, 0, 0, 322,
2395 323, 324, 7, 8, 9, 10, 325, 12, 518, 298,
2396 299, 0, 300, 14, 0, 0, 0, 0, 0, 0,
2397 0, 0, 0, 326, 0, 0, 0, 16, 301, 17,
2398 0, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2399 21, 307, 308, 0, 23, 0, 0, 0, 309, 310,
2400 311, 312, 313, 26, 0, 27, 28, 0, 0, 0,
2401 316, 0, 0, 0, 0, 0, 317, 0, 0, 1474,
2402 0, 0, 0, 0, 0, 0, 0, 319, 320, 1475,
2403 0, 0, 0, 0, 0, 322, 323, 324, 296, 8,
2404 9, 10, 1476, 12, 518, 298, 299, 0, 300, 14,
2405 0, 0, 0, 0, 0, 0, 0, 0, 0, 326,
2406 0, 0, 0, 16, 301, 17, 0, 19, 0, 302,
2407 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2408 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2409 0, 27, 315, 0, 0, 0, 0, 0, 0, 0,
2410 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2411 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2412 0, 322, 323, 324, 296, 8, 9, 10, 519, 12,
2413 518, 298, 299, 0, 300, 14, 0, 0, 0, 0,
2414 0, 0, 0, 0, 0, 326, 0, 0, 0, 16,
2415 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
2416 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
2417 309, 310, 311, 312, 313, 26, 0, 27, 315, 0,
2418 0, 0, 0, 0, 0, 0, 0, 0, 317, 0,
2419 0, 318, 0, 0, 0, 0, 0, 0, 0, 319,
2420 320, 321, 0, 0, 0, 0, 0, 322, 323, 324,
2421 296, 8, 9, 10, 522, 12, 518, 298, 299, 0,
2422 300, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2423 0, 326, 0, 0, 0, 16, 301, 17, 0, 19,
2424 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2425 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2426 313, 26, 0, 27, 315, 0, 0, 0, 0, 0,
2427 0, 0, 0, 0, 317, 0, 0, 318, 0, 0,
2428 0, 0, 0, 0, 0, 319, 320, 321, 0, 0,
2429 0, 0, 0, 322, 323, 324, 296, 8, 9, 10,
2430 325, 12, 518, 298, 299, 0, 300, 14, 0, 0,
2431 0, 0, 0, 0, 0, 0, 0, 326, 0, 0,
2432 0, 16, 301, 17, 0, 19, 0, 302, 303, 20,
2433 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2434 0, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2435 315, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2436 317, 0, 0, 537, 0, 0, 0, 0, 0, 0,
2437 0, 319, 320, 538, 0, 0, 0, 0, 0, 322,
2438 323, 324, 7, 8, 9, 10, 539, 12, 297, 298,
2439 299, 0, 300, 14, 0, 0, 0, 0, 0, 0,
2440 0, 0, 0, 326, 0, 0, 0, 16, 301, 17,
2441 0, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2442 21, 307, 308, 0, 23, 0, 0, 0, 309, 310,
2443 311, 312, 313, 26, 0, 27, 28, 0, 0, 0,
2444 0, 0, 0, 0, 0, 0, 317, 0, 0, 1474,
2445 -382, 8, 9, -382, -382, 12, 242, 319, 320, 1475,
2446 0, 14, 0, 0, 0, 322, 323, 324, 0, 0,
2447 0, 0, 1476, 0, 0, 16, 0, 17, -382, 0,
2448 0, 0, 0, 20, 0, 0, 0, 0, -382, 326,
2449 0, 0, 23, 0, 602, 0, 0, 0, 0, 0,
2450 0, 26, 0, 130, 131, 1020, 8, 758, 10, 201,
2451 12, 202, 0, 0, 0, 0, 14, 603, 0, 0,
2452 0, 0, 0, 0, 0, 0, 0, 604, 0, 0,
2453 16, 0, 17, 18, 0, -382, 0, 605, 20, 0,
2454 606, 607, 0, 21, 0, 0, 0, 23, 0, 0,
2455 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2456 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0,
2457 0, 0, 30, 7, 8, 9, 10, 201, 12, 202,
2458 0, 0, 31, 0, 14, 0, 0, 0, 0, 0,
2459 32, 0, 0, 0, 0, 33, 0, 0, 16, 0,
2460 17, 18, 0, 0, 0, 0, 20, 0, 0, 0,
2461 0, 21, 0, 0, 0, 23, 0, 0, 0, 0,
2462 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
2463 1401, 0, 7, 8, 9, 10, 163, 12, 13, 0,
2464 30, 0, 0, 14, 0, 0, 0, 0, 0, 0,
2465 31, 0, 0, 0, 0, 0, 0, 16, 32, 17,
2466 18, 0, 0, 33, 0, 20, 0, 0, 0, 0,
2467 21, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2468 0, 0, 0, 26, 0, 27, 28, 7, 8, 9,
2469 10, 201, 12, 202, 0, 0, 0, 0, 14, 30,
2470 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2471 0, 0, 16, 0, 17, 18, 0, 32, 0, 0,
2472 20, 0, 33, 0, 0, 21, 0, 0, 0, 23,
2473 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
2474 27, 28, 554, 555, 556, 557, 558, 559, 560, 561,
2475 562, 563, 564, 565, 30, 567, 568, 569, 570, 571,
2476 572, 573, 574, 575, 31, 0, 0, 0, 0, 0,
2477 0, 0, 32, 0, 0, 0, 0, 33, 1540, 554,
2478 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
2479 565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
2480 575, 554, 555, 556, 557, 558, 559, 560, 561, 562,
2481 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
2485 static const short yycheck
[] = { 4,
2486 147, 148, 157, 172, 4, 170, 205, 14, 23, 345,
2487 4, 398, 4, 398, 699, 171, 4, 126, 238, 247,
2488 351, 134, 300, 301, 62, 351, 467, 57, 549, 398,
2489 35, 4, 107, 108, 4, 35, 488, 42, 606, 133,
2490 134, 35, 42, 35, 243, 613, 369, 35, 84, 425,
2491 42, 586, 57, 80, 42, 333, 855, 30, 31, 675,
2492 133, 42, 35, 1285, 762, 35, 764, 72, 1, 42,
2493 42, 205, 42, 771, 124, 42, 83, 46, 59, 84,
2494 214, 55, 4, 88, 1366, 90, 1456, 92, 54, 1479,
2495 42, 1457, 42, 292, 11, 213, 214, 629, 0, 106,
2496 12, 9, 107, 108, 11, 11, 136, 76, 178, 1499,
2497 33, 84, 1455, 35, 33, 142, 1503, 54, 445, 54,
2498 42, 59, 60, 351, 38, 58, 475, 1189, 1190, 12,
2499 59, 136, 137, 37, 139, 0, 136, 74, 59, 74,
2500 54, 1203, 172, 492, 136, 1295, 345, 59, 80, 682,
2501 62, 683, 1302, 61, 74, 62, 161, 1500, 4, 5,
2502 165, 161, 84, 136, 1551, 165, 607, 172, 1558, 161,
2503 208, 1537, 199, 165, 147, 148, 59, 165, 216, 62,
2504 109, 90, 60, 92, 165, 521, 152, 108, 161, 161,
2505 109, 108, 165, 165, 232, 165, 108, 171, 165, 47,
2506 1, 108, 108, 47, 59, 109, 60, 54, 54, 1,
2507 56, 57, 1582, 165, 136, 165, 189, 190, 74, 25,
2508 75, 27, 302, 303, 205, 148, 149, 74, 137, 446,
2509 196, 109, 213, 214, 1456, 12, 453, 244, 318, 161,
2510 209, 321, 93, 165, 324, 93, 698, 327, 342, 93,
2511 325, 331, 58, 47, 1597, 109, 62, 58, 60, 339,
2512 1542, 62, 243, 47, 108, 1327, 58, 779, 191, 342,
2513 62, 4, 5, 785, 1336, 1337, 389, 1339, 433, 48,
2514 59, 59, 59, 93, 33, 62, 54, 64, 293, 95,
2515 352, 353, 33, 54, 95, 626, 665, 60, 440, 93,
2516 517, 62, 338, 95, 58, 58, 74, 109, 62, 93,
2517 1460, 292, 459, 460, 108, 74, 932, 693, 694, 854,
2518 325, 54, 93, 56, 57, 355, 258, 59, 896, 108,
2519 108, 381, 655, 338, 721, 27, 721, 70, 472, 31,
2520 74, 346, 404, 405, 351, 98, 109, 80, 47, 354,
2521 355, 8, 9, 471, 472, 355, 4, 14, 25, 1509,
2522 577, 479, 465, 355, 345, 338, 583, 595, 60, 54,
2523 473, 939, 64, 491, 907, 450, 108, 910, 93, 36,
2524 892, 717, 355, 4, 3, 4, 5, 35, 45, 74,
2525 47, 58, 510, 398, 93, 62, 401, 435, 147, 148,
2526 149, 543, 325, 620, 7, 60, 147, 148, 149, 1559,
2527 398, 54, 4, 981, 35, 936, 338, 109, 951, 952,
2528 47, 402, 427, 1485, 1486, 398, 400, 427, 95, 1228,
2529 25, 74, 27, 355, 37, 427, 93, 56, 57, 47,
2530 478, 107, 191, 35, 519, 354, 427, 522, 453, 25,
2531 191, 526, 893, 62, 427, 427, 64, 537, 538, 489,
2532 427, 80, 58, 58, 539, 74, 93, 62, 64, 59,
2533 60, 25, 47, 27, 47, 60, 398, 552, 59, 54,
2534 453, 556, 59, 60, 489, 93, 459, 460, 54, 489,
2535 471, 472, 31, 62, 75, 1007, 77, 489, 479, 74,
2536 95, 3, 4, 5, 58, 427, 1204, 1019, 62, 584,
2537 491, 516, 481, 62, 519, 590, 489, 522, 93, 489,
2538 93, 526, 527, 528, 529, 530, 746, 692, 748, 510,
2539 857, 453, 47, 753, 539, 4, 5, 460, 461, 108,
2540 1052, 95, 1054, 656, 549, 47, 933, 552, 933, 64,
2541 663, 587, 54, 1005, 56, 57, 1355, 489, 700, 3,
2542 4, 5, 6, 47, 933, 59, 60, 489, 630, 663,
2543 901, 1139, 4, 5, 59, 901, 58, 9, 93, 48,
2544 47, 74, 587, 62, 1117, 1118, 47, 56, 57, 74,
2545 75, 93, 77, 47, 54, 74, 519, 41, 54, 522,
2546 1168, 606, 59, 60, 48, 804, 62, 516, 613, 93,
2547 617, 80, 56, 57, 587, 538, 539, 47, 74, 109,
2548 898, 739, 54, 58, 56, 57, 93, 12, 93, 552,
2549 603, 604, 93, 606, 54, 852, 853, 54, 70, 93,
2550 613, 858, 27, 25, 88, 27, 31, 756, 80, 664,
2551 1091, 54, 633, 658, 62, 872, 47, 874, 632, 876,
2552 59, 60, 47, 93, 94, 587, 74, 672, 3, 4,
2553 5, 676, 742, 901, 59, 60, 58, 62, 108, 64,
2554 62, 47, 62, 698, 606, 4, 5, 57, 75, 59,
2555 613, 613, 108, 674, 74, 65, 108, 671, 1150, 673,
2556 674, 94, 93, 94, 921, 11, 776, 47, 93, 94,
2557 459, 460, 461, 95, 47, 109, 721, 108, 459, 460,
2558 461, 56, 57, 108, 64, 83, 84, 93, 94, 48,
2559 1182, 47, 762, 795, 764, 47, 717, 56, 57, 769,
2560 770, 771, 108, 717, 1071, 1072, 108, 964, 721, 658,
2561 1086, 4, 5, 93, 94, 59, 60, 762, 739, 764,
2562 93, 80, 762, 47, 764, 770, 771, 4, 5, 108,
2563 762, 771, 764, 98, 779, 780, 781, 93, 783, 771,
2564 785, 93, 1002, 1003, 1004, 47, 866, 862, 60, 762,
2565 47, 764, 762, 958, 764, 769, 765, 766, 771, 721,
2566 93, 771, 172, 56, 57, 774, 779, 3, 178, 93,
2567 94, 48, 785, 47, 894, 895, 60, 4, 5, 56,
2568 57, 896, 9, 804, 3, 4, 5, 6, 970, 111,
2569 762, 93, 764, 4, 5, 205, 93, 1164, 770, 771,
2570 762, 111, 764, 213, 214, 59, 1173, 1174, 853, 771,
2571 64, 1178, 75, 858, 77, 1087, 1088, 779, 1090, 93,
2572 1545, 75, 41, 785, 926, 94, 47, 54, 54, 56,
2573 57, 780, 781, 94, 783, 798, 62, 56, 57, 62,
2574 47, 886, 93, 70, 93, 56, 57, 892, 74, 59,
2575 60, 896, 1219, 80, 901, 47, 3, 4, 5, 74,
2576 7, 8, 9, 4, 5, 86, 87, 94, 62, 88,
2577 91, 92, 93, 94, 3, 4, 5, 944, 74, 892,
2578 59, 894, 895, 896, 31, 1000, 93, 94, 933, 36,
2579 935, 936, 54, 74, 939, 1152, 47, 1154, 74, 1156,
2580 62, 93, 1012, 1013, 11, 933, 109, 54, 108, 56,
2581 57, 58, 74, 54, 108, 56, 57, 59, 1294, 48,
2582 933, 792, 793, 794, 937, 938, 939, 56, 57, 70,
2583 892, 1041, 895, 896, 896, 108, 981, 4, 5, 80,
2584 1010, 108, 93, 94, 1046, 1047, 1048, 1314, 108, 994,
2585 1137, 1138, 74, 94, 54, 1000, 103, 104, 105, 4,
2586 5, 109, 1007, 108, 1031, 59, 60, 54, 981, 59,
2587 60, 933, 1042, 1093, 1019, 62, 939, 939, 109, 1166,
2588 1167, 48, 108, 111, 111, 1352, 27, 74, 47, 56,
2589 57, 401, 402, 1250, 1007, 54, 1010, 1042, 3, 4,
2590 5, 6, 1042, 48, 74, 74, 1019, 1052, 54, 1054,
2591 1042, 56, 57, 80, 1023, 74, 74, 108, 981, 981,
2592 1029, 1030, 54, 111, 1033, 1034, 111, 108, 1037, 1042,
2593 62, 47, 1042, 108, 93, 80, 41, 1082, 54, 1052,
2594 54, 1054, 74, 48, 108, 1007, 1166, 1167, 62, 58,
2595 1095, 56, 57, 1168, 464, 4, 5, 1019, 74, 1031,
2596 74, 471, 472, 54, 8, 475, 1493, 111, 1493, 479,
2597 1042, 93, 27, 47, 1141, 80, 31, 93, 64, 59,
2598 1042, 93, 492, 88, 1293, 1195, 1196, 54, 1198, 1199,
2599 1052, 1201, 1054, 36, 1139, 1150, 1292, 60, 1294, 48,
2600 1215, 1216, 1217, 1218, 59, 60, 27, 56, 57, 64,
2601 31, 109, 64, 3, 4, 5, 1161, 4, 5, 64,
2602 44, 1497, 64, 1168, 1137, 1138, 1139, 1161, 60, 1161,
2603 54, 80, 108, 57, 1204, 62, 108, 1239, 59, 60,
2604 108, 64, 108, 3, 4, 5, 1095, 108, 1161, 64,
2605 939, 1161, 64, 1166, 1167, 1168, 93, 111, 939, 1204,
2606 59, 48, 62, 1278, 1204, 1285, 56, 57, 58, 56,
2607 57, 75, 1204, 108, 108, 1138, 1139, 1139, 108, 108,
2608 8, 9, 108, 75, 75, 88, 14, 90, 48, 92,
2609 75, 1204, 981, 80, 1204, 1377, 56, 57, 108, 1161,
2610 981, 3, 4, 5, 1167, 1168, 1168, 108, 36, 62,
2611 62, 1393, 59, 108, 1324, 1325, 62, 45, 111, 108,
2612 1587, 94, 108, 633, 88, 74, 47, 111, 1200, 108,
2613 108, 111, 1204, 108, 137, 111, 139, 108, 1353, 108,
2614 1285, 109, 1204, 4, 5, 108, 60, 109, 1293, 59,
2615 1295, 64, 54, 1285, 56, 57, 58, 1302, 1497, 64,
2616 59, 1295, 672, 1295, 674, 675, 1311, 59, 1302, 108,
2617 1302, 1386, 1285, 1294, 108, 1285, 1471, 93, 1292, 109,
2618 1294, 93, 1295, 44, 93, 1295, 93, 1474, 1475, 1302,
2619 109, 108, 1302, 54, 8, 56, 57, 1479, 3, 4,
2620 5, 6, 80, 81, 82, 83, 84, 717, 108, 33,
2621 108, 108, 108, 1423, 1424, 1425, 111, 1499, 108, 108,
2622 1525, 109, 108, 1285, 111, 1334, 1335, 108, 108, 739,
2623 64, 108, 742, 1295, 108, 1450, 41, 108, 107, 108,
2624 1302, 1456, 1457, 48, 108, 54, 1528, 62, 1137, 1138,
2625 1139, 56, 57, 108, 1474, 1475, 1137, 1138, 1139, 737,
2626 770, 1476, 108, 3, 4, 5, 776, 7, 8, 9,
2627 111, 47, 1482, 1483, 96, 80, 1558, 1166, 1167, 1168,
2628 108, 398, 108, 88, 1566, 1166, 1167, 1168, 108, 62,
2629 62, 31, 60, 60, 1403, 9, 36, 60, 16, 60,
2630 778, 7, 8, 9, 108, 1450, 784, 108, 14, 108,
2631 1455, 1456, 1457, 316, 108, 1460, 56, 57, 3, 4,
2632 5, 1455, 1537, 1455, 1456, 31, 1460, 108, 1460, 108,
2633 36, 1476, 3, 4, 5, 6, 453, 1450, 1553, 45,
2634 1550, 1404, 1455, 1456, 1457, 1455, 1456, 1460, 1493, 93,
2635 1460, 354, 93, 60, 60, 1500, 64, 54, 93, 111,
2636 1575, 1474, 1475, 93, 1509, 17, 1500, 1582, 1500, 54,
2637 41, 56, 57, 60, 54, 1509, 1497, 1509, 107, 60,
2638 1493, 97, 108, 54, 1498, 56, 57, 1500, 1450, 108,
2639 1500, 108, 1537, 1455, 1456, 1457, 1509, 108, 1460, 1509,
2640 11, 60, 60, 60, 93, 59, 3, 4, 5, 887,
2641 7, 889, 1475, 1476, 1559, 14, 64, 88, 108, 4,
2642 5, 1530, 932, 22, 1537, 1559, 60, 1559, 11, 108,
2643 80, 1493, 108, 30, 60, 11, 60, 0, 1500, 0,
2644 37, 0, 445, 446, 166, 2, 1559, 1509, 35, 1559,
2645 453, 1391, 1597, 656, 104, 165, 325, 54, 161, 56,
2646 57, 933, 47, 1597, 770, 1597, 65, 1150, 427, 54,
2647 139, 56, 57, 1524, 94, 1537, 1376, 1597, 1229, 3,
2648 4, 5, 6, 133, 1597, 70, 705, 1597, 295, 606,
2649 919, 914, 142, 1005, 237, 80, 613, 1559, 1182, 770,
2650 1042, 1202, 1012, 1013, 639, 90, 912, 342, 93, 94,
2651 587, 124, 196, 516, 517, 1404, 1295, 41, 1162, 1545,
2652 1576, 1566, 1514, 1404, 1311, 124, 989, -1, 1578, 398,
2653 -1, 1041, 56, 57, -1, 1597, -1, -1, 3, 4,
2654 5, 6, -1, -1, 9, -1, 549, 146, 551, 199,
2655 -1, 554, 555, -1, 557, 558, 559, 560, 561, 562,
2656 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
2657 573, 574, 575, 1051, 577, 1053, 41, -1, -1, -1,
2658 583, -1, -1, 233, 453, 1474, 1475, 1476, -1, 54,
2659 -1, 56, 57, 1474, 1475, 1476, -1, -1, 3, 4,
2660 5, -1, -1, -1, 721, 70, -1, -1, 258, -1,
2661 613, -1, 3, 4, 5, 80, -1, 620, 3, 4,
2662 5, 6, -1, 88, -1, 30, 9, -1, 93, 12,
2663 1108, -1, -1, -1, 233, 234, -1, -1, -1, 642,
2664 643, -1, 3, 4, 5, 6, -1, -1, 247, 54,
2665 519, 56, 57, 522, -1, 658, 41, 526, 527, 528,
2666 529, 530, 779, 48, 47, 56, 57, -1, 785, -1,
2667 539, 56, 57, -1, -1, -1, 59, -1, 61, 62,
2668 41, 64, -1, 552, -1, 1195, 1196, -1, 1198, 1199,
2669 -1, 1201, 75, 54, 77, 56, 57, -1, -1, 60,
2670 350, 62, 705, 88, -1, -1, -1, -1, 1186, 70,
2671 93, 94, -1, 1191, 3, 4, 5, -1, 317, 80,
2672 3, 4, 5, -1, -1, 108, -1, 88, -1, -1,
2673 -1, -1, 93, -1, 3, 4, 5, 606, 7, 8,
2674 9, -1, -1, -1, 613, 1, -1, 3, 4, 5,
2675 6, -1, 8, 3, 4, 5, 6, 407, 761, 9,
2676 359, -1, -1, -1, -1, 1243, -1, 56, 57, 368,
2677 -1, 54, -1, 56, 57, 892, -1, 780, 781, 896,
2678 783, -1, 381, 1293, 1294, 41, -1, 56, 57, -1,
2679 -1, 41, 48, -1, -1, 798, -1, 47, 54, -1,
2680 56, 57, -1, -1, 54, -1, 56, 57, 3, 4,
2681 5, 6, -1, -1, 1324, 1325, 933, 820, -1, -1,
2682 70, -1, 939, -1, -1, -1, 3, 4, 5, -1,
2683 80, -1, 88, -1, -1, -1, 486, -1, 88, -1,
2684 90, -1, -1, 93, 94, -1, 41, -1, -1, 852,
2685 853, -1, 721, 48, 857, 858, -1, -1, -1, -1,
2686 -1, 56, 57, 513, 981, 1343, 1344, -1, 4, 872,
2687 -1, 874, -1, 876, 3, 4, 5, 6, 14, 56,
2688 57, -1, 1360, -1, -1, 80, -1, 486, 24, -1,
2689 1007, -1, -1, 88, 30, 31, -1, 33, -1, 35,
2690 -1, -1, 1019, -1, -1, -1, 42, -1, 911, -1,
2691 779, -1, 41, 1423, 1424, 1425, 785, -1, 921, 55,
2692 -1, 57, 3, 4, 5, 54, -1, 56, 57, 65,
2693 -1, 60, -1, 936, -1, 1052, 72, 1054, 1416, 1417,
2694 -1, 70, -1, -1, -1, -1, 949, 83, 84, -1,
2695 600, 80, 551, -1, -1, -1, -1, 1435, 1436, 88,
2696 -1, 964, -1, -1, 93, -1, 616, 3, 4, 5,
2697 106, -1, 1482, 1483, -1, 56, 57, -1, 981, -1,
2698 -1, -1, -1, -1, 853, -1, -1, -1, 3, 4,
2699 5, 6, -1, -1, -1, -1, 595, -1, 134, -1,
2700 136, -1, -1, -1, 140, -1, -1, 143, 144, -1,
2701 -1, 147, 148, 149, -1, -1, -1, 886, -1, 1022,
2702 56, 57, 1139, 892, -1, 161, 41, 896, -1, 165,
2703 -1, -1, -1, 48, -1, 171, 172, -1, -1, -1,
2704 1550, 56, 57, 3, 4, 5, 6, -1, -1, 9,
2705 -1, 1168, -1, 189, 190, 191, 78, 79, 80, 81,
2706 82, 83, 84, -1, 933, 664, 935, -1, 1071, 1072,
2707 939, -1, 1075, 88, -1, -1, 675, -1, -1, -1,
2708 -1, 41, 218, -1, -1, -1, -1, 47, 3, 4,
2709 5, 6, 1095, -1, 54, -1, 56, 57, 234, -1,
2710 -1, -1, 189, 190, 191, -1, 705, -1, 244, -1,
2711 70, -1, 981, -1, -1, -1, -1, -1, -1, 255,
2712 80, -1, -1, -1, -1, 994, 41, -1, 88, -1,
2713 90, 1000, -1, 93, 94, -1, -1, -1, 1007, 54,
2714 -1, 56, 57, -1, 3, 4, 5, 6, -1, 1152,
2715 1019, 1154, -1, 1156, -1, 70, -1, 293, 294, -1,
2716 -1, 1164, -1, -1, -1, 80, -1, -1, -1, -1,
2717 1173, 1174, -1, 88, -1, 1178, -1, -1, 93, -1,
2718 -1, -1, 41, 1052, -1, 1054, -1, -1, 47, -1,
2719 1193, 1194, -1, -1, -1, 54, -1, 56, 57, -1,
2720 -1, -1, 338, -1, -1, -1, 342, -1, 344, 345,
2721 346, 70, -1, 1082, -1, -1, 1219, -1, -1, 355,
2722 -1, 80, -1, 3, 4, 5, 6, -1, -1, 88,
2723 -1, 90, -1, -1, 93, 94, -1, -1, -1, -1,
2724 -1, -1, -1, -1, 7, 8, 9, 1250, -1, -1,
2725 900, 14, 902, 389, -1, -1, -1, -1, 38, 39,
2726 -1, 41, 398, -1, 400, 401, -1, -1, 31, -1,
2727 1139, 1274, -1, 36, 54, 411, 56, 57, 414, -1,
2728 -1, -1, 45, 419, -1, -1, -1, -1, 7, 8,
2729 9, 427, -1, -1, 944, 14, -1, 60, -1, 1168,
2730 -1, -1, -1, -1, -1, -1, -1, -1, 446, -1,
2731 -1, 1314, 31, -1, -1, 453, -1, 36, -1, 455,
2732 919, 457, -1, 459, 460, 461, 45, 1330, -1, 465,
2733 -1, -1, -1, 932, 470, -1, -1, 473, -1, -1,
2734 -1, -1, -1, -1, 3, 4, 5, 6, -1, 1352,
2735 9, -1, -1, 489, -1, -1, -1, 4, 5, -1,
2736 -1, -1, 9, -1, -1, -1, -1, -1, 455, -1,
2737 457, -1, 459, 460, 461, -1, 1493, -1, -1, 517,
2738 -1, 1031, 41, 470, -1, -1, -1, -1, 47, -1,
2739 -1, 527, 528, 529, 530, 54, -1, 56, 57, -1,
2740 47, 1404, -1, 3, 4, 5, 6, 54, -1, 56,
2741 57, 70, -1, -1, -1, -1, -1, -1, 1421, 1422,
2742 -1, 80, -1, 70, -1, -1, -1, 1430, -1, 88,
2743 -1, 90, -1, 80, 93, 94, -1, -1, -1, 577,
2744 -1, 41, 1311, 90, -1, 583, 93, 94, 48, -1,
2745 -1, 587, -1, 589, -1, 1458, 56, 57, -1, -1,
2746 -1, -1, -1, -1, 1114, 601, -1, 603, 604, -1,
2747 606, -1, -1, 1072, -1, 613, -1, 613, -1, -1,
2748 80, 617, 620, -1, -1, -1, -1, -1, 88, -1,
2749 -1, 1141, -1, -1, -1, -1, 632, 73, 74, 75,
2750 76, 77, 78, 79, 80, 81, 82, 83, 84, 3,
2751 4, 5, 6, 3, 4, 5, 6, 7, 8, 9,
2752 656, -1, -1, -1, 14, -1, -1, 663, -1, -1,
2753 -1, -1, -1, -1, -1, 671, 672, 673, 674, 675,
2754 676, 31, -1, -1, -1, -1, 36, 41, -1, -1,
2755 1200, 41, -1, -1, -1, 45, -1, 47, -1, 1158,
2756 54, -1, 56, 57, 54, 1164, 56, 57, 62, -1,
2757 -1, -1, 7, 8, 9, -1, 70, -1, -1, 14,
2758 70, 717, -1, -1, 1587, 721, 80, -1, -1, -1,
2759 80, -1, 728, 729, 88, 731, 31, -1, 88, 93,
2760 90, 36, -1, 93, 94, -1, -1, 1476, -1, -1,
2761 45, -1, 82, -1, -1, -1, -1, 3, 4, 5,
2762 6, -1, -1, 759, 1493, -1, 762, -1, 764, -1,
2763 -1, -1, -1, 769, 770, 771, 3, 4, 5, 6,
2764 -1, 728, 729, 779, 731, -1, -1, -1, -1, 785,
2765 -1, -1, -1, -1, -1, 41, 792, 793, 794, -1,
2766 798, -1, 48, -1, -1, -1, -1, -1, 804, -1,
2767 56, 57, -1, -1, 41, -1, -1, -1, -1, -1,
2768 1279, 1280, 769, -1, -1, 155, -1, 54, -1, 56,
2769 57, -1, -1, 60, 80, 3, 4, 5, 6, 7,
2770 8, 9, 88, 70, -1, -1, 14, -1, -1, -1,
2771 -1, -1, -1, 80, 852, 853, -1, 187, -1, -1,
2772 858, 88, -1, 31, 4, 5, 93, -1, 36, 9,
2773 200, -1, -1, 41, 872, -1, 874, 45, 876, 47,
2774 -1, 877, -1, 879, -1, -1, 54, -1, 56, 57,
2775 886, -1, -1, -1, 890, -1, 892, -1, 894, 895,
2776 896, -1, 70, -1, -1, 901, -1, 47, -1, 1368,
2777 -1, -1, 80, -1, 54, -1, 56, 57, -1, -1,
2778 88, -1, 90, 921, -1, 93, 94, -1, -1, -1,
2779 70, 1390, 1391, -1, -1, -1, 4, 933, -1, 935,
2780 80, 937, 938, 939, -1, -1, 14, -1, -1, -1,
2781 90, -1, -1, 93, 94, 23, 24, -1, -1, -1,
2782 -1, -1, 30, 31, -1, 33, 964, 35, -1, -1,
2783 -1, -1, -1, 1, 42, 3, 4, 5, 6, 7,
2784 8, 9, -1, 981, -1, 981, 14, 55, -1, 57,
2785 937, 938, 939, -1, -1, -1, -1, 65, 994, -1,
2786 28, -1, 30, 31, 72, -1, -1, -1, 36, 1468,
2787 -1, 1007, -1, 41, 1010, -1, 84, 45, -1, -1,
2788 48, -1, -1, 1019, -1, -1, 54, -1, 56, 57,
2789 -1, -1, 60, -1, 981, -1, 1032, -1, -1, -1,
2790 -1, -1, 70, -1, -1, -1, 1042, -1, -1, -1,
2791 -1, -1, 80, -1, -1, -1, 1052, -1, 1054, -1,
2792 88, -1, -1, 1010, -1, 93, -1, -1, 136, -1,
2793 -1, -1, 140, -1, -1, -1, 144, -1, -1, 147,
2794 148, 149, -1, -1, -1, -1, 1082, -1, -1, -1,
2795 -1, 1087, 1088, 161, 1090, -1, -1, 165, -1, -1,
2796 -1, -1, -1, 171, 172, -1, -1, -1, 3, 4,
2797 5, 6, -1, -1, 9, -1, -1, -1, -1, -1,
2798 -1, 189, 190, 191, 76, 77, 78, 79, 80, 81,
2799 82, 83, 84, 463, -1, -1, -1, -1, 468, 1135,
2800 1136, 1137, 1138, 1139, -1, -1, 41, 1143, -1, -1,
2801 218, -1, 47, -1, 1152, -1, 1154, -1, 1156, 54,
2802 -1, 56, 57, 493, -1, -1, -1, -1, -1, 499,
2803 1166, 1167, 1168, -1, -1, 70, -1, 3, 4, 5,
2804 6, 511, 512, 9, 514, 80, -1, 255, 1135, 1136,
2805 1137, 1138, 1139, 88, -1, 90, 1143, -1, 93, 94,
2806 -1, 1197, -1, -1, -1, -1, 1202, -1, 1204, -1,
2807 -1, -1, 344, 345, 346, 41, -1, -1, -1, 1166,
2808 1167, 1168, -1, -1, -1, 293, 294, -1, 54, -1,
2809 56, 57, -1, -1, -1, -1, -1, 3, 4, 5,
2810 6, -1, -1, 9, 70, -1, -1, -1, -1, -1,
2811 1197, -1, 1250, -1, 80, -1, -1, 1253, 1254, -1,
2812 1256, -1, 88, -1, -1, -1, -1, 93, -1, -1,
2813 338, -1, -1, -1, 342, 41, 344, 345, 346, 609,
2814 610, -1, -1, 351, 614, -1, -1, 355, 54, -1,
2815 56, 57, -1, -1, -1, -1, 1292, 1293, 1294, -1,
2816 -1, -1, -1, -1, 70, -1, 1253, 1254, -1, 1256,
2817 -1, -1, -1, -1, 80, 1311, -1, -1, -1, -1,
2818 -1, 389, 88, -1, 4, 5, -1, 93, 8, 9,
2819 398, -1, 400, 401, 14, -1, -1, -1, -1, -1,
2820 -1, -1, -1, 411, -1, -1, 414, -1, 28, -1,
2821 30, 419, -1, -1, -1, -1, 36, -1, -1, 427,
2822 -1, -1, -1, -1, -1, 45, -1, 47, -1, -1,
2823 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
2824 -1, -1, -1, -1, -1, -1, -1, 455, -1, 457,
2825 70, 459, 460, 461, -1, -1, -1, 465, -1, -1,
2826 80, -1, 470, -1, -1, 473, 1404, -1, 1404, -1,
2827 90, -1, -1, 93, 94, -1, 3, 4, 5, 6,
2828 488, 489, 9, 4, 5, -1, 7, 8, 9, -1,
2829 -1, 12, -1, 14, 4, 5, -1, -1, -1, 9,
2830 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
2831 31, -1, -1, -1, 41, 36, 786, 1404, 788, 527,
2832 528, 529, 530, -1, 45, -1, 47, 54, -1, 56,
2833 57, 603, 604, 54, 606, 56, 57, 47, 1474, 1475,
2834 1476, 613, -1, 70, 54, -1, 56, 57, -1, 70,
2835 -1, -1, -1, 80, -1, -1, -1, 1493, -1, 80,
2836 70, 88, 1498, -1, -1, -1, 93, -1, -1, 90,
2837 80, -1, 93, 94, -1, -1, -1, -1, -1, 587,
2838 90, 589, -1, 93, 94, -1, -1, 1474, 1475, 1476,
2839 860, 861, -1, 863, -1, 603, 604, -1, 606, 671,
2840 -1, 673, 674, -1, 676, 613, -1, -1, 3, 4,
2841 5, 6, -1, -1, 9, -1, -1, -1, 626, -1,
2842 -1, 891, -1, -1, 632, 67, 68, 69, 70, 71,
2843 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2844 82, 83, 84, -1, -1, 717, 41, 1, 656, 3,
2845 4, 5, 6, 7, 8, 9, 664, -1, -1, 54,
2846 14, 56, 57, 671, 672, 673, 674, 675, 676, -1,
2847 -1, 941, -1, -1, 28, 70, 30, 31, 32, -1,
2848 -1, -1, 36, 37, -1, 80, -1, 41, -1, -1,
2849 698, 45, 46, 88, 48, -1, -1, -1, 93, -1,
2850 54, -1, 56, 57, -1, -1, 60, -1, 62, 717,
2851 -1, -1, -1, 721, -1, -1, 70, -1, -1, -1,
2852 728, 729, -1, 731, -1, -1, 80, -1, -1, -1,
2853 -1, -1, 804, -1, 88, -1, 1006, -1, -1, 93,
2854 -1, -1, 4, 5, -1, -1, 8, 9, 1018, -1,
2855 -1, 759, 14, -1, 762, 109, 764, -1, -1, -1,
2856 -1, 769, 770, 771, -1, -1, 28, -1, 30, -1,
2857 -1, 779, -1, -1, 36, -1, -1, 785, -1, -1,
2858 344, 345, 346, 45, 792, 793, 794, -1, -1, -1,
2859 -1, -1, 54, -1, 56, 57, 804, -1, -1, -1,
2860 -1, -1, -1, 4, -1, 877, -1, 879, -1, -1,
2861 -1, -1, -1, -1, -1, -1, -1, -1, 890, -1,
2862 -1, -1, 894, 895, 896, -1, -1, -1, -1, 30,
2863 31, 93, 33, 1103, 35, -1, -1, -1, -1, -1,
2864 -1, 42, -1, -1, -1, -1, -1, -1, 4, 5,
2865 -1, -1, 8, 9, 55, -1, 57, -1, 14, -1,
2866 -1, -1, -1, -1, -1, 937, 938, 939, -1, 877,
2867 -1, 879, 1142, -1, -1, -1, -1, -1, 886, 80,
2868 36, -1, 890, -1, 892, -1, 894, 895, 896, 45,
2869 -1, 47, -1, 901, -1, -1, -1, -1, 54, -1,
2870 56, 57, -1, -1, -1, -1, -1, -1, -1, 981,
2871 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
2872 -1, -1, -1, -1, 80, 933, -1, 935, -1, 937,
2873 938, 939, 133, 134, 90, 136, 1206, 93, 94, 140,
2874 1210, 142, -1, 144, -1, -1, 147, 148, 149, -1,
2875 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2876 161, -1, 4, 5, 165, -1, 8, 9, -1, -1,
2877 171, 172, 14, 981, -1, 1245, -1, -1, -1, -1,
2878 -1, -1, -1, -1, -1, -1, 994, -1, 189, 190,
2879 191, -1, -1, -1, 36, -1, -1, 1005, 199, 1007,
2880 -1, -1, 1010, 45, -1, 47, -1, -1, -1, -1,
2881 -1, 1019, 54, -1, 56, 57, -1, 218, -1, -1,
2882 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2883 -1, -1, -1, -1, 1042, -1, -1, -1, 80, 603,
2884 604, -1, -1, -1, 1052, -1, 1054, -1, 90, 1319,
2885 -1, 93, 94, 1323, 255, -1, -1, -1, -1, -1,
2886 -1, -1, -1, 1135, 1136, 1137, 1138, 1139, -1, -1,
2887 -1, 1143, -1, -1, 1082, 1345, 1346, -1, -1, 1087,
2888 1088, -1, 1090, -1, -1, 3, 4, 5, 6, -1,
2889 -1, 9, -1, -1, 1166, 1167, 1168, -1, -1, -1,
2890 -1, -1, -1, -1, -1, -1, -1, 671, -1, 673,
2891 674, -1, 676, 3, 4, 5, 6, -1, -1, 9,
2892 -1, -1, -1, 41, 325, -1, -1, 1135, 1136, 1137,
2893 1138, 1139, -1, -1, -1, 1143, 54, -1, 56, 57,
2894 -1, 342, 1150, -1, -1, -1, -1, -1, -1, 350,
2895 -1, 41, 70, 717, 355, -1, -1, -1, 1166, 1167,
2896 1168, -1, 80, -1, 54, -1, 56, 57, -1, -1,
2897 88, -1, -1, -1, 1182, 93, -1, -1, -1, -1,
2898 70, 1253, 1254, -1, 1256, -1, -1, -1, 389, 1197,
2899 80, -1, -1, -1, 1202, -1, 1204, -1, 88, 400,
2900 -1, -1, -1, 93, -1, -1, -1, -1, -1, -1,
2901 411, -1, -1, 414, 3, 4, 5, 6, 419, -1,
2902 9, -1, -1, -1, -1, -1, 427, 72, 73, 74,
2903 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2904 804, -1, -1, -1, -1, 1253, 1254, -1, 1256, -1,
2905 -1, -1, 41, -1, 455, -1, 457, -1, 459, 460,
2906 461, -1, -1, -1, 465, 54, -1, 56, 57, 470,
2907 4, 5, 473, 1281, 8, 9, -1, -1, -1, -1,
2908 14, 70, -1, -1, 1292, 1293, 1294, -1, 489, -1,
2909 -1, 80, -1, -1, 28, -1, 30, -1, -1, 88,
2910 -1, -1, 36, 1311, 93, -1, -1, -1, -1, -1,
2911 -1, 45, -1, 877, -1, 879, -1, -1, 519, -1,
2912 54, 522, 56, 57, 58, -1, 890, -1, -1, -1,
2913 894, 895, -1, -1, -1, -1, 537, 538, 539, -1,
2914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2915 -1, 552, 3, 4, 5, 6, 7, 8, 9, 93,
2916 -1, -1, -1, 14, -1, -1, -1, -1, -1, -1,
2917 -1, -1, -1, 937, 938, -1, -1, 28, -1, 30,
2918 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
2919 41, -1, -1, -1, 45, -1, 1404, 4, -1, 600,
2920 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
2921 -1, -1, 613, -1, -1, -1, -1, -1, -1, 70,
2922 -1, -1, -1, 30, 31, -1, 33, -1, 35, 80,
2923 -1, 632, -1, -1, -1, 42, -1, 88, -1, -1,
2924 -1, -1, 93, -1, -1, -1, -1, -1, 55, -1,
2925 57, -1, -1, -1, -1, 656, -1, -1, 3, 4,
2926 5, 6, 663, -1, -1, -1, 1474, 1475, 1476, -1,
2927 671, 672, 673, 674, -1, -1, -1, -1, -1, -1,
2928 -1, -1, -1, -1, -1, 1493, -1, -1, -1, -1,
2929 1498, -1, -1, -1, -1, -1, 41, -1, -1, -1,
2930 -1, -1, -1, -1, -1, -1, -1, -1, -1, 54,
2931 -1, 56, 57, -1, -1, -1, 717, 62, -1, -1,
2932 721, -1, -1, -1, -1, 70, -1, 728, 729, 136,
2933 731, -1, -1, 140, -1, 80, -1, 144, -1, -1,
2934 147, 148, 149, 88, -1, -1, -1, -1, 93, -1,
2935 -1, -1, -1, -1, 161, -1, -1, -1, 165, -1,
2936 -1, 762, -1, 764, 171, 172, -1, -1, 769, 770,
2937 771, 1135, 1136, 1137, 1138, -1, -1, -1, -1, 1143,
2938 -1, -1, 189, 190, 191, -1, -1, 1, -1, -1,
2939 4, 5, -1, -1, 8, 9, -1, 798, -1, -1,
2940 14, -1, 1166, 1167, -1, -1, -1, -1, -1, -1,
2941 -1, 218, -1, -1, 28, -1, 30, 33, -1, -1,
2942 -1, -1, 36, -1, 38, 39, -1, -1, -1, -1,
2943 -1, 45, -1, 47, -1, -1, -1, -1, -1, 55,
2944 54, -1, 56, 57, -1, 59, -1, -1, 255, 63,
2945 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2946 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2947 -1, -1, 86, 87, 88, -1, -1, 91, -1, -1,
2948 94, -1, -1, -1, -1, -1, -1, -1, -1, 1253,
2949 1254, -1, 1256, 894, 895, 896, 110, -1, -1, 900,
2950 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2951 78, 79, 80, 81, 82, 83, 84, -1, 3, 4,
2952 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2953 -1, 147, 148, 149, -1, -1, 937, 938, 939, -1,
2954 -1, -1, -1, 944, 351, -1, 31, -1, 355, -1,
2955 -1, 36, -1, -1, -1, 171, 41, -1, -1, -1,
2956 45, -1, 47, -1, -1, -1, -1, -1, -1, 54,
2957 -1, 56, 57, 189, 190, 191, -1, -1, -1, -1,
2958 981, -1, -1, -1, -1, 70, -1, -1, -1, -1,
2959 -1, -1, -1, 400, -1, 80, -1, -1, -1, -1,
2960 -1, -1, 218, 88, 411, -1, -1, 414, 93, 1010,
2961 -1, -1, 419, -1, -1, -1, -1, -1, -1, -1,
2962 427, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2963 1031, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2964 -1, 1042, -1, 14, -1, -1, -1, -1, 455, -1,
2965 457, -1, 459, 460, 461, -1, -1, 28, 465, 30,
2966 31, 32, -1, 470, -1, 36, 473, -1, -1, -1,
2967 41, 4, 5, -1, 45, 8, 9, 48, 294, -1,
2968 -1, 14, 489, 54, -1, 56, 57, -1, -1, -1,
2969 -1, -1, -1, -1, -1, 28, -1, 30, -1, 70,
2970 -1, -1, -1, 36, -1, -1, -1, -1, -1, 80,
2971 -1, -1, 45, 1114, -1, -1, -1, 88, -1, -1,
2972 -1, 54, 93, 56, 57, -1, -1, 98, 344, 345,
2973 346, -1, -1, -1, 1135, 1136, 1137, 1138, 1139, -1,
2974 1141, -1, 1143, -1, 3, 4, 5, 6, 7, 8,
2975 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
2976 -1, 3, 4, 5, 6, 1166, 1167, 1168, -1, 28,
2977 -1, 30, 31, -1, -1, -1, -1, 36, -1, -1,
2978 -1, -1, 41, -1, 400, -1, 45, -1, 47, -1,
2979 -1, -1, -1, -1, 601, 54, 1197, 56, 57, 41,
2980 -1, 1202, -1, 1204, -1, -1, -1, -1, -1, -1,
2981 -1, 70, 54, -1, 56, 57, -1, -1, -1, -1,
2982 62, 80, -1, -1, -1, 632, -1, -1, 70, 88,
2983 -1, 90, -1, -1, 93, 94, -1, -1, 80, 455,
2984 -1, 457, -1, 459, 460, 461, 88, -1, -1, 465,
2985 -1, 93, 1253, 1254, 470, 1256, -1, 473, -1, -1,
2986 -1, -1, -1, -1, 671, 672, 673, 674, -1, -1,
2987 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
2988 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
2989 -1, 1292, 1293, 1294, -1, -1, -1, -1, -1, -1,
2990 28, -1, 30, 31, 32, -1, -1, -1, 36, 37,
2991 717, -1, -1, 41, 721, -1, -1, 45, 46, -1,
2992 48, 728, 729, -1, 731, -1, 54, -1, 56, 57,
2993 -1, -1, 60, -1, 62, -1, -1, -1, -1, -1,
2994 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
2995 -1, -1, 80, -1, -1, 762, -1, 764, -1, -1,
2996 88, -1, 769, 770, 771, 93, 3, 4, 5, 6,
2997 7, 8, 9, 589, -1, 12, -1, 14, -1, -1,
2998 -1, 109, -1, -1, -1, -1, -1, 603, 604, -1,
2999 606, 28, -1, 30, 31, -1, -1, 613, -1, 36,
3000 -1, 55, -1, 1404, 41, -1, -1, -1, 45, -1,
3001 3, 4, 5, 6, -1, -1, 632, 54, -1, 56,
3002 57, -1, -1, -1, -1, -1, 80, -1, -1, 83,
3003 -1, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3004 -1, -1, -1, 80, -1, -1, -1, -1, 41, -1,
3005 104, 88, 106, -1, -1, 671, 93, 673, 674, -1,
3006 676, 54, -1, 56, 57, -1, -1, 3, 4, 5,
3007 6, -1, -1, 1474, 1475, 1476, -1, 70, -1, -1,
3008 -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3009 -1, -1, -1, -1, 901, 88, -1, 1498, -1, -1,
3010 93, 717, -1, -1, -1, 41, -1, -1, -1, -1,
3011 -1, -1, 728, 729, -1, 731, -1, 171, 54, -1,
3012 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3013 937, 938, 939, -1, 70, 189, 190, 191, -1, -1,
3014 -1, -1, -1, -1, 80, 199, -1, -1, -1, -1,
3015 -1, -1, 88, 769, -1, 4, 5, 93, 7, 8,
3016 9, -1, -1, -1, 218, 14, -1, -1, -1, -1,
3017 -1, -1, -1, -1, 981, -1, 792, 793, 794, 28,
3018 -1, 30, 31, -1, -1, -1, -1, 36, 804, -1,
3019 244, -1, -1, -1, -1, -1, 45, -1, -1, 48,
3020 -1, -1, -1, 1010, 258, 54, -1, 56, 57, -1,
3021 -1, -1, -1, -1, -1, -1, 1, -1, 3, 4,
3022 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3023 -1, -1, -1, -1, -1, 1042, -1, -1, -1, -1,
3024 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3025 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3026 45, 877, 47, 879, 49, 50, 51, 52, 53, 54,
3027 -1, 56, 57, 58, 890, -1, 61, -1, 894, 895,
3028 896, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3029 -1, -1, -1, 78, 79, 80, 350, 351, -1, -1,
3030 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3031 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
3032 -1, 937, 938, 939, -1, 110, -1, -1, 1135, 1136,
3033 1137, 1138, 1139, -1, -1, -1, 1143, -1, -1, -1,
3034 -1, -1, -1, -1, -1, -1, 400, -1, -1, -1,
3035 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1166,
3036 1167, 1168, -1, -1, -1, 981, 62, 63, 64, 65,
3037 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3038 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
3039 1197, -1, -1, -1, 1010, 1202, -1, 1204, -1, -1,
3040 -1, 455, -1, 457, 4, 459, 460, 461, -1, -1,
3041 -1, 465, -1, -1, -1, -1, 470, -1, -1, 473,
3042 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3043 30, 31, -1, -1, -1, 35, -1, -1, -1, -1,
3044 -1, -1, 42, -1, -1, -1, 1253, 1254, -1, 1256,
3045 -1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
3046 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3047 9, 1087, 1088, -1, 1090, 14, -1, -1, -1, -1,
3048 -1, -1, -1, -1, -1, 1292, 1293, 1294, -1, 28,
3049 -1, 30, 31, 32, -1, -1, -1, 36, -1, -1,
3050 -1, -1, 41, -1, -1, -1, 45, -1, -1, 48,
3051 -1, -1, -1, -1, -1, 54, -1, 56, 57, 1135,
3052 1136, 1137, 1138, 1139, -1, -1, -1, 1143, -1, -1,
3053 -1, 70, -1, -1, -1, -1, 136, -1, -1, -1,
3054 140, 80, -1, -1, 144, -1, -1, -1, -1, 88,
3055 1166, 1167, 1168, -1, 93, -1, -1, -1, -1, 98,
3056 -1, 161, 616, 617, -1, 165, -1, -1, -1, -1,
3057 -1, -1, 172, -1, -1, -1, -1, -1, 632, -1,
3058 -1, 1197, -1, -1, -1, -1, -1, -1, -1, 189,
3059 190, -1, -1, -1, -1, -1, -1, 1404, -1, -1,
3060 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3061 -1, -1, -1, -1, 14, -1, -1, 671, -1, 673,
3062 674, -1, -1, -1, -1, -1, -1, 27, 28, -1,
3063 30, 31, 32, 14, -1, -1, 36, 1253, 1254, -1,
3064 1256, 41, 23, 24, 44, 45, 46, -1, 48, 30,
3065 31, -1, 33, -1, 54, 255, 56, 57, -1, -1,
3066 60, -1, -1, 717, -1, -1, -1, 1474, 1475, 1476,
3067 70, -1, -1, -1, 728, 729, 1292, 731, 1294, -1,
3068 80, -1, -1, -1, 65, 31, -1, -1, 88, -1,
3069 -1, 1498, -1, 93, -1, -1, -1, -1, 98, -1,
3070 -1, -1, 756, -1, -1, -1, -1, -1, -1, -1,
3071 -1, -1, -1, -1, -1, 769, -1, 63, 64, 65,
3072 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3073 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
3074 -1, -1, -1, 124, -1, 126, 4, 5, -1, 7,
3075 8, 9, 133, 134, 12, 355, 14, -1, -1, 140,
3076 -1, 142, 143, 144, -1, -1, 147, 148, 149, -1,
3077 28, -1, 30, 31, -1, -1, 4, 5, 36, 7,
3078 8, 9, -1, -1, 12, -1, 14, 45, 1404, -1,
3079 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3080 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
3081 -1, 411, -1, -1, 414, -1, -1, 45, -1, 419,
3082 -1, -1, -1, -1, -1, -1, 54, 427, 56, 57,
3083 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3084 79, 80, 81, 82, 83, 84, 900, 901, 902, -1,
3085 -1, -1, 233, 234, -1, 455, -1, 457, 1474, 1475,
3086 1476, -1, -1, -1, -1, -1, -1, 4, 5, -1,
3087 470, 8, 9, -1, 255, -1, -1, 14, -1, -1,
3088 -1, -1, 1498, 937, 938, 939, -1, -1, -1, 489,
3089 944, 28, -1, 30, -1, -1, -1, -1, -1, 36,
3090 -1, -1, 1, -1, 3, 4, 5, 6, 45, 8,
3091 9, 10, 11, 294, 13, 14, -1, 54, -1, 56,
3092 57, -1, -1, -1, -1, -1, -1, 981, -1, 28,
3093 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3094 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3095 49, 50, 51, 52, 53, 54, 1010, 56, 57, 58,
3096 -1, 342, 61, 344, 345, -1, -1, -1, 67, -1,
3097 -1, 70, -1, -1, -1, -1, -1, 1031, -1, 78,
3098 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3099 -1, -1, -1, -1, 93, 94, 4, 5, -1, 7,
3100 8, 9, -1, -1, -1, -1, 14, -1, 389, -1,
3101 109, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3102 28, -1, 30, 31, -1, -1, 407, -1, 36, -1,
3103 411, -1, -1, 414, -1, -1, -1, 45, 419, -1,
3104 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3106 1114, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3107 -1, -1, 672, -1, -1, -1, -1, -1, -1, -1,
3108 -1, 1135, 1136, 1137, 1138, 1139, -1, 1141, -1, 1143,
3109 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3110 80, 81, 82, 83, 84, 486, -1, 488, -1, -1,
3111 -1, -1, 1166, 1167, 1168, -1, -1, -1, -1, -1,
3112 -1, 721, -1, -1, -1, -1, -1, -1, 728, 729,
3113 -1, 731, 513, -1, -1, -1, -1, -1, -1, -1,
3114 -1, -1, -1, 1197, 71, 72, 73, 74, 75, 76,
3115 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
3116 -1, -1, 762, -1, 764, -1, -1, -1, -1, 769,
3117 770, 771, -1, 63, 64, 65, 66, 67, 68, 69,
3118 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3119 80, 81, 82, 83, 84, -1, -1, -1, -1, 1253,
3120 1254, -1, 1256, -1, -1, -1, -1, -1, 589, -1,
3121 -1, -1, -1, -1, -1, -1, -1, -1, -1, 600,
3122 601, 111, 603, 604, -1, -1, -1, -1, -1, -1,
3123 -1, -1, -1, -1, -1, -1, -1, -1, 1292, -1,
3124 1294, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3125 -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
3126 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
3127 14, -1, -1, -1, -1, 656, -1, -1, -1, -1,
3128 -1, -1, 663, 664, 28, -1, 30, 31, 32, -1,
3129 -1, -1, 36, 37, 675, -1, -1, 41, -1, -1,
3130 -1, 45, 46, -1, 48, -1, -1, -1, -1, -1,
3131 54, -1, 56, 57, -1, -1, 60, 698, 62, -1,
3132 -1, -1, -1, -1, -1, -1, 70, 1, -1, 3,
3133 4, 5, 6, 7, 8, 9, 80, 937, 938, -1,
3134 14, -1, -1, -1, 88, -1, -1, -1, -1, 93,
3135 1404, -1, -1, -1, 28, -1, 30, 31, 32, -1,
3136 -1, -1, 36, -1, -1, 109, -1, 41, -1, -1,
3137 -1, 45, 46, -1, 48, 756, -1, -1, 759, -1,
3138 54, -1, 56, 57, -1, -1, 60, -1, 62, -1,
3139 -1, -1, -1, -1, -1, -1, 70, -1, -1, -1,
3140 -1, -1, -1, -1, -1, -1, 80, -1, -1, -1,
3141 1010, 792, 793, 794, 88, -1, -1, -1, -1, 93,
3142 1474, 1475, 1476, 804, -1, 1, -1, 3, 4, 5,
3143 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3144 -1, -1, 1042, -1, 1498, -1, -1, -1, -1, -1,
3145 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3146 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3147 -1, 47, -1, 49, 50, 51, 52, 53, 54, -1,
3148 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3149 -1, 67, -1, -1, 70, -1, 877, -1, 879, -1,
3150 -1, -1, 78, 79, 80, -1, -1, -1, -1, 890,
3151 86, 87, 88, -1, 90, -1, -1, 93, 94, 1,
3152 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3153 -1, -1, 14, -1, 110, 1135, 1136, -1, -1, -1,
3154 -1, -1, -1, 1143, -1, -1, 28, -1, 30, 31,
3155 32, -1, -1, -1, 36, 37, -1, -1, -1, 41,
3156 -1, -1, -1, 45, 46, -1, 48, -1, -1, -1,
3157 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3158 62, -1, -1, -1, -1, -1, -1, -1, 70, -1,
3159 -1, -1, -1, -1, -1, -1, -1, 1197, 80, -1,
3160 -1, -1, 1202, -1, 1204, -1, 88, -1, -1, -1,
3161 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
3162 -1, -1, -1, -1, 1005, -1, -1, 109, 63, 64,
3163 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3164 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3165 -1, 1032, -1, 1253, 1254, 1, 1256, 3, 4, 5,
3166 6, 7, 8, 9, -1, -1, 12, -1, 14, -1,
3167 -1, -1, 107, -1, -1, -1, -1, -1, -1, 25,
3168 -1, 27, -1, -1, -1, 31, -1, -1, -1, -1,
3169 36, -1, -1, 1293, -1, 41, -1, -1, -1, 45,
3170 -1, 47, -1, -1, -1, -1, 1087, 1088, 54, 1090,
3171 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
3172 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3173 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
3174 86, 87, 88, -1, 90, 91, 92, 93, 94, 95,
3175 -1, 97, -1, -1, -1, -1, 102, -1, -1, -1,
3176 -1, 107, 108, 109, -1, 111, 59, -1, -1, 1150,
3177 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3178 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3179 83, 84, -1, -1, -1, -1, -1, -1, -1, -1,
3180 -1, 1182, -1, -1, -1, -1, -1, -1, -1, -1,
3181 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1200,
3182 1, 1202, 3, 4, 5, 6, 7, 8, 9, 10,
3183 11, -1, 13, 14, 15, -1, 17, 18, 19, 20,
3184 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3185 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3186 41, 42, 43, 44, 45, 46, -1, -1, 49, 50,
3187 51, 52, 53, 54, -1, 56, 57, 58, -1, 60,
3188 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3189 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3190 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3191 -1, -1, 93, -1, 95, -1, -1, -1, -1, -1,
3192 -1, -1, -1, -1, -1, -1, -1, -1, 109, 110,
3193 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3194 11, -1, 13, 14, 15, -1, 17, 18, 19, 20,
3195 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3196 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3197 41, 42, 43, 44, 45, 46, -1, -1, 49, 50,
3198 51, 52, 53, 54, -1, 56, 57, 58, -1, 60,
3199 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3200 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3201 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3202 -1, -1, 93, 1, 95, 3, 4, 5, 6, 7,
3203 8, 9, 10, 11, 12, 13, 14, -1, -1, 110,
3204 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3205 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3206 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3207 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3208 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3209 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3210 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3211 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3212 7, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3213 108, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3214 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3215 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3216 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3217 57, 58, -1, 60, 61, -1, -1, -1, -1, -1,
3218 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3219 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3220 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3221 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3222 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3223 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3224 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3225 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3226 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3227 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3228 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3229 86, 87, 88, -1, -1, -1, -1, 93, 94, 1,
3230 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3231 -1, 13, 14, -1, 110, -1, -1, -1, -1, -1,
3232 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3233 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3234 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3235 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3236 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3237 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3238 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3239 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3240 11, -1, 13, 14, -1, -1, -1, 109, 110, -1,
3241 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3242 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3243 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3244 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3245 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3246 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3247 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3248 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3249 10, 11, -1, 13, 14, -1, -1, -1, 109, 110,
3250 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3251 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3252 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3253 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3254 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3255 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3256 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3257 -1, -1, -1, 93, -1, 1, -1, 3, 4, 5,
3258 6, 101, 8, 9, 10, 11, -1, 13, 14, -1,
3259 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3260 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3261 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3262 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3263 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3264 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3265 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3266 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3267 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3268 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3269 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3270 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3271 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3272 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3273 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3274 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3275 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3276 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3277 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3278 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3279 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3280 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3281 54, -1, 56, 57, -1, -1, -1, 61, 62, -1,
3282 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3283 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3284 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3285 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3286 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3287 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3288 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3289 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3290 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3291 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3292 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3293 -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
3294 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3295 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3296 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3297 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3298 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3299 52, 53, 54, -1, 56, 57, -1, -1, 60, 61,
3300 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3301 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3302 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3303 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3304 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3305 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3306 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3307 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3308 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3309 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3310 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3311 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3312 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3313 10, 11, -1, 13, 14, -1, -1, 108, -1, 110,
3314 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3315 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3316 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3317 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3318 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3319 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3320 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3321 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3322 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3323 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3324 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3325 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3326 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3327 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3328 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3329 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3330 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3331 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3332 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3333 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3334 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3335 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3336 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3337 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3338 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3339 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3340 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3341 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3342 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3343 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3344 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3345 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3346 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3347 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3348 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
3349 -1, -1, -1, -1, -1, -1, -1, -1, 110, 111,
3350 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3351 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
3352 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3353 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3354 43, 44, 45, 46, -1, -1, 49, 50, 51, 52,
3355 53, 54, -1, 56, 57, 58, -1, 60, 61, -1,
3356 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3357 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3358 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3359 93, -1, 95, -1, -1, -1, -1, -1, -1, -1,
3360 -1, -1, -1, -1, -1, -1, 109, 110, 3, 4,
3361 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3362 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3363 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3364 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
3365 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
3366 -1, 56, 57, 58, -1, 60, 61, -1, -1, -1,
3367 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3368 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3369 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3370 95, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3371 11, -1, 13, 14, 15, 110, 17, 18, 19, 20,
3372 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3373 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3374 41, 42, 43, 44, 45, 46, -1, -1, 49, 50,
3375 51, 52, 53, 54, -1, 56, 57, 58, -1, 60,
3376 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3377 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3378 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3379 -1, -1, 93, -1, 95, -1, 3, 4, 5, 6,
3380 7, 8, 9, 10, 11, -1, 13, 14, 15, 110,
3381 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3382 27, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3383 -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
3384 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3385 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
3386 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3387 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3388 87, 88, -1, -1, -1, -1, 93, -1, 95, 3,
3389 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3390 14, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3391 -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
3392 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3393 -1, 45, -1, 47, -1, 49, 50, 51, 52, 53,
3394 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3395 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3396 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3397 -1, -1, 86, 87, 88, -1, 90, -1, -1, 93,
3398 94, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3399 12, 13, 14, -1, -1, -1, 110, -1, -1, -1,
3400 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3401 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3402 42, 43, -1, 45, -1, 47, -1, 49, 50, 51,
3403 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3404 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3405 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3406 -1, -1, -1, -1, 86, 87, 88, -1, 90, -1,
3407 -1, 93, 94, 3, 4, 5, 6, -1, 8, 9,
3408 10, 11, -1, 13, 14, -1, -1, -1, 110, -1,
3409 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3410 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3411 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3412 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3413 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3414 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3415 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3416 90, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3417 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3418 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3419 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3420 38, 39, 40, 41, 42, 43, -1, 45, -1, 47,
3421 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3422 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3423 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3424 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3425 88, -1, 90, -1, -1, 93, 94, 3, 4, 5,
3426 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3427 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3428 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3429 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3430 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3431 56, 57, -1, -1, 60, 61, -1, -1, -1, -1,
3432 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3433 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3434 86, 87, 88, -1, -1, -1, -1, 93, 3, 4,
3435 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3436 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3437 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3438 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3439 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3440 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3441 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3442 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3443 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3444 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3445 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3446 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3447 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3448 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3449 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3450 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3451 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3452 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3453 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3454 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3455 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3456 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3457 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3458 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3459 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3460 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3461 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3462 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3463 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3464 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3465 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3466 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3467 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3468 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3469 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3470 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3471 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3472 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3473 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3474 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3475 -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3476 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3477 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3478 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3479 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3480 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3481 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3482 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3483 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3484 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3485 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3486 -1, 86, 87, 88, -1, -1, -1, -1, 93, 94,
3487 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3488 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3489 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3490 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3491 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3492 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3493 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3494 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3495 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3496 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3497 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3498 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3499 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3500 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3501 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3502 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3503 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3504 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3505 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3506 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3507 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3508 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3509 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3510 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3511 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3512 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3513 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3514 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3515 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3516 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3517 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3518 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3519 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3520 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3521 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3522 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3523 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3524 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3525 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3526 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3527 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
3528 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3529 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3530 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3531 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3532 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3533 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3534 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3535 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3536 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3537 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3538 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3539 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3540 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3541 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3542 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3543 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3544 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3545 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3546 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3547 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3548 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3549 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3550 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3551 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3552 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3553 -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3554 3, 4, 5, 6, 7, 8, 9, 78, 79, 80,
3555 -1, 14, -1, -1, -1, 86, 87, 88, -1, -1,
3556 -1, -1, 93, -1, -1, 28, -1, 30, 31, -1,
3557 -1, -1, -1, 36, -1, -1, -1, -1, 41, 110,
3558 -1, -1, 45, -1, 47, -1, -1, -1, -1, -1,
3559 -1, 54, -1, 56, 57, 3, 4, 5, 6, 7,
3560 8, 9, -1, -1, -1, -1, 14, 70, -1, -1,
3561 -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3562 28, -1, 30, 31, -1, 88, -1, 90, 36, -1,
3563 93, 94, -1, 41, -1, -1, -1, 45, -1, -1,
3564 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3565 -1, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3566 -1, -1, 70, 3, 4, 5, 6, 7, 8, 9,
3567 -1, -1, 80, -1, 14, -1, -1, -1, -1, -1,
3568 88, -1, -1, -1, -1, 93, -1, -1, 28, -1,
3569 30, 31, -1, -1, -1, -1, 36, -1, -1, -1,
3570 -1, 41, -1, -1, -1, 45, -1, -1, -1, -1,
3571 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
3572 60, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3573 70, -1, -1, 14, -1, -1, -1, -1, -1, -1,
3574 80, -1, -1, -1, -1, -1, -1, 28, 88, 30,
3575 31, -1, -1, 93, -1, 36, -1, -1, -1, -1,
3576 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3577 -1, -1, -1, 54, -1, 56, 57, 3, 4, 5,
3578 6, 7, 8, 9, -1, -1, -1, -1, 14, 70,
3579 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
3580 -1, -1, 28, -1, 30, 31, -1, 88, -1, -1,
3581 36, -1, 93, -1, -1, 41, -1, -1, -1, 45,
3582 -1, -1, -1, -1, -1, -1, -1, -1, 54, -1,
3583 56, 57, 63, 64, 65, 66, 67, 68, 69, 70,
3584 71, 72, 73, 74, 70, 76, 77, 78, 79, 80,
3585 81, 82, 83, 84, 80, -1, -1, -1, -1, -1,
3586 -1, -1, 88, -1, -1, -1, -1, 93, 62, 63,
3587 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3588 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3589 84, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3590 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3593 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3594 #line 3 "/usr/lib/bison.simple"
3596 /* Skeleton output parser for bison,
3597 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3599 This program is free software; you can redistribute it and/or modify
3600 it under the terms of the GNU General Public License as published by
3601 the Free Software Foundation; either version 2, or (at your option)
3604 This program is distributed in the hope that it will be useful,
3605 but WITHOUT ANY WARRANTY; without even the implied warranty of
3606 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3607 GNU General Public License for more details.
3609 You should have received a copy of the GNU General Public License
3610 along with this program; if not, write to the Free Software
3611 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3613 /* As a special exception, when this file is copied by Bison into a
3614 Bison output file, you may use that output file without restriction.
3615 This special exception was added by the Free Software Foundation
3616 in version 1.24 of Bison. */
3620 #define alloca __builtin_alloca
3621 #else /* not GNU C. */
3622 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3624 #else /* not sparc */
3625 #if defined (MSDOS) && !defined (__TURBOC__)
3627 #else /* not MSDOS, or __TURBOC__ */
3631 #else /* not MSDOS, __TURBOC__, or _AIX */
3635 void *alloca (unsigned int);
3637 #else /* not __cplusplus */
3639 #endif /* not __cplusplus */
3641 #endif /* not _AIX */
3642 #endif /* not MSDOS, or __TURBOC__ */
3643 #endif /* not sparc. */
3644 #endif /* not GNU C. */
3645 #endif /* alloca not defined. */
3647 /* This is the parser code that is written into each bison parser
3648 when the %semantic_parser declaration is not specified in the grammar.
3649 It was written by Richard Stallman by simplifying the hairy parser
3650 used when %semantic_parser is specified. */
3652 /* Note: there must be only one dollar sign in this file.
3653 It is replaced by the list of actions, each action
3654 as one case of the switch. */
3656 #define yyerrok (yyerrstatus = 0)
3657 #define yyclearin (yychar = YYEMPTY)
3660 #define YYACCEPT return(0)
3661 #define YYABORT return(1)
3662 #define YYERROR goto yyerrlab1
3663 /* Like YYERROR except do call yyerror.
3664 This remains here temporarily to ease the
3665 transition to the new meaning of YYERROR, for GCC.
3666 Once GCC version 2 has supplanted version 1, this can go. */
3667 #define YYFAIL goto yyerrlab
3668 #define YYRECOVERING() (!!yyerrstatus)
3669 #define YYBACKUP(token, value) \
3671 if (yychar == YYEMPTY && yylen == 1) \
3672 { yychar = (token), yylval = (value); \
3673 yychar1 = YYTRANSLATE (yychar); \
3678 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3682 #define YYERRCODE 256
3685 #define YYLEX yylex()
3691 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3693 #define YYLEX yylex(&yylval, &yylloc)
3695 #else /* not YYLSP_NEEDED */
3697 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3699 #define YYLEX yylex(&yylval)
3701 #endif /* not YYLSP_NEEDED */
3704 /* If nonreentrant, generate the variables here */
3708 int yychar
; /* the lookahead symbol */
3709 YYSTYPE yylval
; /* the semantic value of the */
3710 /* lookahead symbol */
3713 YYLTYPE yylloc
; /* location data for the lookahead */
3717 int yynerrs
; /* number of parse errors so far */
3718 #endif /* not YYPURE */
3721 int yydebug
; /* nonzero means print parse trace */
3722 /* Since this is uninitialized, it does not stop multiple parsers
3726 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3729 #define YYINITDEPTH 200
3732 /* YYMAXDEPTH is the maximum size the stacks can grow to
3733 (effective only if the built-in stack extension method is used). */
3740 #define YYMAXDEPTH 10000
3743 /* Prevent warning if -Wstrict-prototypes. */
3748 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3749 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3750 #else /* not GNU C or C++ */
3753 /* This is the most reliable way to avoid incompatibilities
3754 in available built-in functions on various systems. */
3756 __yy_memcpy (to
, from
, count
)
3761 register char *f
= from
;
3762 register char *t
= to
;
3763 register int i
= count
;
3769 #else /* __cplusplus */
3771 /* This is the most reliable way to avoid incompatibilities
3772 in available built-in functions on various systems. */
3774 __yy_memcpy (char *to
, char *from
, int count
)
3776 register char *f
= from
;
3777 register char *t
= to
;
3778 register int i
= count
;
3787 #line 196 "/usr/lib/bison.simple"
3789 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3790 into yyparse. The argument should have type void *.
3791 It should actually point to an object.
3792 Grammar actions can access the variable by casting it
3793 to the proper pointer type. */
3795 #ifdef YYPARSE_PARAM
3797 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3798 #define YYPARSE_PARAM_DECL
3799 #else /* not __cplusplus */
3800 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3801 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3802 #endif /* not __cplusplus */
3803 #else /* not YYPARSE_PARAM */
3804 #define YYPARSE_PARAM_ARG
3805 #define YYPARSE_PARAM_DECL
3806 #endif /* not YYPARSE_PARAM */
3809 yyparse(YYPARSE_PARAM_ARG
)
3812 register int yystate
;
3814 register short *yyssp
;
3815 register YYSTYPE
*yyvsp
;
3816 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3817 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3819 short yyssa
[YYINITDEPTH
]; /* the state stack */
3820 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3822 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3823 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3826 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3827 YYLTYPE
*yyls
= yylsa
;
3830 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3832 #define YYPOPSTACK (yyvsp--, yyssp--)
3835 int yystacksize
= YYINITDEPTH
;
3846 YYSTYPE yyval
; /* the variable used to return */
3847 /* semantic values from the action */
3854 fprintf(stderr
, "Starting parse\n");
3860 yychar
= YYEMPTY
; /* Cause a token to be read. */
3862 /* Initialize stack pointers.
3863 Waste one element of value and location stack
3864 so that they stay on the same level as the state stack.
3865 The wasted elements are never initialized. */
3873 /* Push a new state, which is found in yystate . */
3874 /* In all cases, when you get here, the value and location stacks
3875 have just been pushed. so pushing a state here evens the stacks. */
3880 if (yyssp
>= yyss
+ yystacksize
- 1)
3882 /* Give user a chance to reallocate the stack */
3883 /* Use copies of these so that the &'s don't force the real ones into memory. */
3884 YYSTYPE
*yyvs1
= yyvs
;
3885 short *yyss1
= yyss
;
3887 YYLTYPE
*yyls1
= yyls
;
3890 /* Get the current used size of the three stacks, in elements. */
3891 int size
= yyssp
- yyss
+ 1;
3894 /* Each stack pointer address is followed by the size of
3895 the data in use in that stack, in bytes. */
3897 /* This used to be a conditional around just the two extra args,
3898 but that might be undefined if yyoverflow is a macro. */
3899 yyoverflow("parser stack overflow",
3900 &yyss1
, size
* sizeof (*yyssp
),
3901 &yyvs1
, size
* sizeof (*yyvsp
),
3902 &yyls1
, size
* sizeof (*yylsp
),
3905 yyoverflow("parser stack overflow",
3906 &yyss1
, size
* sizeof (*yyssp
),
3907 &yyvs1
, size
* sizeof (*yyvsp
),
3911 yyss
= yyss1
; yyvs
= yyvs1
;
3915 #else /* no yyoverflow */
3916 /* Extend the stack our own way. */
3917 if (yystacksize
>= YYMAXDEPTH
)
3919 yyerror("parser stack overflow");
3923 if (yystacksize
> YYMAXDEPTH
)
3924 yystacksize
= YYMAXDEPTH
;
3925 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3926 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3927 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3928 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3930 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3931 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3933 #endif /* no yyoverflow */
3935 yyssp
= yyss
+ size
- 1;
3936 yyvsp
= yyvs
+ size
- 1;
3938 yylsp
= yyls
+ size
- 1;
3943 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3946 if (yyssp
>= yyss
+ yystacksize
- 1)
3952 fprintf(stderr
, "Entering state %d\n", yystate
);
3958 /* Do appropriate processing given the current state. */
3959 /* Read a lookahead token if we need one and don't already have one. */
3962 /* First try to decide what to do without reference to lookahead token. */
3964 yyn
= yypact
[yystate
];
3968 /* Not known => get a lookahead token if don't already have one. */
3970 /* yychar is either YYEMPTY or YYEOF
3971 or a valid token in external form. */
3973 if (yychar
== YYEMPTY
)
3977 fprintf(stderr
, "Reading a token: ");
3982 /* Convert token to internal form (in yychar1) for indexing tables with */
3984 if (yychar
<= 0) /* This means end of input. */
3987 yychar
= YYEOF
; /* Don't call YYLEX any more */
3991 fprintf(stderr
, "Now at end of input.\n");
3996 yychar1
= YYTRANSLATE(yychar
);
4001 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
4002 /* Give the individual parser a way to print the precise meaning
4003 of a token, for further debugging info. */
4005 YYPRINT (stderr
, yychar
, yylval
);
4007 fprintf (stderr
, ")\n");
4013 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
4018 /* yyn is what to do for this token type in this state.
4019 Negative => reduce, -yyn is rule number.
4020 Positive => shift, yyn is new state.
4021 New state is final state => don't bother to shift,
4022 just return success.
4023 0, or most negative number => error. */
4038 /* Shift the lookahead token. */
4042 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
4045 /* Discard the token being shifted unless it is eof. */
4046 if (yychar
!= YYEOF
)
4054 /* count tokens shifted since error; after three, turn off error status. */
4055 if (yyerrstatus
) yyerrstatus
--;
4060 /* Do the default action for the current state. */
4063 yyn
= yydefact
[yystate
];
4067 /* Do a reduction. yyn is the number of a rule to reduce with. */
4071 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
4078 fprintf (stderr
, "Reducing via rule %d (line %d), ",
4081 /* Print the symbols being reduced, and their result. */
4082 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
4083 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
4084 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4093 { finish_translation_unit (); ;
4097 { yyval
.ttype
= NULL_TREE
; ;
4101 { yyval
.ttype
= NULL_TREE
; ;
4105 { yyval
.ttype
= NULL_TREE
; ;
4109 { have_extern_spec
= 1;
4110 used_extern_spec
= 0;
4111 yyval
.ttype
= NULL_TREE
; ;
4115 { have_extern_spec
= 0; ;
4119 { yyval
.itype
= pedantic
;
4124 { if (pending_lang_change
) do_pending_lang_change(); ;
4128 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4129 pop_everything (); ;
4133 { if (pending_inlines
) do_pending_inlines (); ;
4137 { if (pending_inlines
) do_pending_inlines (); ;
4141 { if (pending_inlines
) do_pending_inlines (); ;
4145 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4146 assemble_asm (yyvsp
[-2].ttype
); ;
4150 { pop_lang_context (); ;
4154 { if (pending_inlines
) do_pending_inlines ();
4155 pop_lang_context (); ;
4159 { if (pending_inlines
) do_pending_inlines ();
4160 pop_lang_context (); ;
4164 { push_namespace (yyvsp
[-1].ttype
); ;
4168 { pop_namespace (); ;
4172 { push_namespace (NULL_TREE
); ;
4176 { pop_namespace (); ;
4180 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4184 { pedantic
= yyvsp
[-1].itype
; ;
4188 { begin_only_namespace_names (); ;
4193 end_only_namespace_names ();
4195 yyvsp
[-1].ttype
= lastiddecl
;
4196 do_namespace_alias (yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
4201 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4205 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4209 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4213 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4217 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
); ;
4221 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4225 { begin_only_namespace_names (); ;
4230 end_only_namespace_names ();
4231 /* If no declaration was found, the using-directive is
4232 invalid. Since that was not reported, we need the
4233 identifier for the error message. */
4234 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4235 yyvsp
[-1].ttype
= lastiddecl
;
4236 do_using_directive (yyvsp
[-1].ttype
);
4242 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4243 yyval
.ttype
= lastiddecl
;
4244 got_scope
= yyval
.ttype
;
4250 yyval
.ttype
= yyvsp
[-1].ttype
;
4251 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4252 yyval
.ttype
= lastiddecl
;
4253 got_scope
= yyval
.ttype
;
4258 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4262 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4266 { push_lang_context (yyvsp
[0].ttype
); ;
4270 { if (current_lang_name
!= yyvsp
[0].ttype
)
4271 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4272 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4276 { begin_template_parm_list (); ;
4280 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4284 { begin_specialization();
4285 yyval
.ttype
= NULL_TREE
; ;
4289 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4293 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4297 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4301 { yyval
.ttype
= NULL_TREE
; ;
4305 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4309 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4313 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4317 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4321 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4325 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4329 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4333 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4338 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4339 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4340 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4342 error ("invalid default template argument");
4343 yyvsp
[0].ttype
= error_mark_node
;
4345 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4350 { finish_template_decl (yyvsp
[-1].ttype
); ;
4354 { finish_template_decl (yyvsp
[-1].ttype
); ;
4358 { if (pending_inlines
) do_pending_inlines (); ;
4362 { if (pending_inlines
) do_pending_inlines (); ;
4366 { if (pending_inlines
) do_pending_inlines (); ;
4370 { if (pending_inlines
) do_pending_inlines ();
4371 pop_lang_context (); ;
4375 { if (pending_inlines
) do_pending_inlines ();
4376 pop_lang_context (); ;
4380 { pedantic
= yyvsp
[-1].itype
; ;
4388 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4392 { maybe_process_partial_specialization (yyvsp
[-1].ftype
.t
);
4393 note_got_semicolon (yyvsp
[-1].ftype
.t
); ;
4401 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4405 { pedwarn ("empty declaration"); ;
4411 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4413 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4418 { yyval
.itype
= 0; ;
4422 { yyval
.itype
= 1; ;
4426 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4438 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4442 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4446 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4447 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4452 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4456 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4460 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4461 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4466 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4470 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4474 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4475 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4480 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4484 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4488 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4489 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4494 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4499 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4504 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4509 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4514 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4519 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4523 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4527 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4531 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4535 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4536 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4540 if (yychar
== YYEMPTY
)
4542 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4546 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4550 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4551 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4555 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4556 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4560 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4564 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4565 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4569 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4574 if (! current_function_parms_stored
)
4575 store_parm_decls ();
4576 yyval
.ttype
= yyvsp
[0].ttype
;
4581 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4585 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4589 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4594 if (yyvsp
[0].itype
== 0)
4595 error ("no base initializers given following ':'");
4597 /* Always keep the BLOCK node associated with the outermost
4598 pair of curley braces of a function. These are needed
4599 for correct operation of dwarfout.c. */
4606 if (! current_function_parms_stored
)
4607 store_parm_decls ();
4609 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4611 /* Make a contour for the initializer list. */
4614 expand_start_bindings (0);
4616 else if (current_class_type
== NULL_TREE
)
4617 error ("base initializers not allowed for non-member functions");
4618 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4619 error ("only constructors take base initializers");
4624 { yyval
.itype
= 0; ;
4628 { yyval
.itype
= 1; ;
4633 if (current_class_name
)
4634 pedwarn ("anachronistic old style base class initializer");
4635 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4641 if (current_class_name
)
4642 pedwarn ("anachronistic old style base class initializer");
4643 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4648 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4652 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4656 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4660 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4664 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4669 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4674 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4675 yyungetc (';', 1); ;
4679 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4680 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4684 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4688 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4692 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4693 yyungetc (';', 1); ;
4697 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4698 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4702 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4706 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4710 { begin_explicit_instantiation(); ;
4714 { end_explicit_instantiation(); ;
4718 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4722 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4726 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4731 if (yychar
== YYEMPTY
)
4734 yyval
.ttype
= finish_template_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
4741 /* Handle `Class<Class<Type>>' without space in the `>>' */
4742 pedwarn ("`>>' should be `> >' in template class name");
4748 { yyval
.ttype
= NULL_TREE
; ;
4752 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4756 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4760 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4764 { yyval
.ttype
= lastiddecl
; ;
4768 { yyval
.code
= NEGATE_EXPR
; ;
4772 { yyval
.code
= CONVERT_EXPR
; ;
4776 { yyval
.code
= PREINCREMENT_EXPR
; ;
4780 { yyval
.code
= PREDECREMENT_EXPR
; ;
4784 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4788 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4792 { error ("ANSI C++ forbids an empty condition for `%s'",
4794 yyval
.ttype
= integer_zero_node
; ;
4798 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4802 { error ("ANSI C++ forbids an empty condition for `%s'",
4804 yyval
.ttype
= integer_zero_node
; ;
4808 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4812 { yyval
.ttype
= NULL_TREE
; ;
4816 { yyval
.ttype
= NULL_TREE
; ;
4822 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4823 if (TREE_CODE (d
) == TYPE_DECL
) {
4824 tree s
= TREE_TYPE (d
);
4825 if (TREE_CODE (s
) == RECORD_TYPE
)
4826 cp_error ("definition of class `%T' in condition", s
);
4827 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4828 cp_error ("definition of enum `%T' in condition", s
);
4831 current_declspecs
= yyvsp
[-4].ftype
.t
;
4832 yyvsp
[0].itype
= suspend_momentary ();
4833 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
4834 yyvsp
[-1].ttype
, /*prefix_attributes*/ NULL_TREE
);
4838 #line 1005 "parse.y"
4840 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4841 resume_momentary (yyvsp
[-2].itype
);
4842 yyval
.ttype
= yyvsp
[-1].ttype
;
4843 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4844 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4848 #line 1024 "parse.y"
4849 { yyval
.ttype
= begin_compound_stmt (1); ;
4852 #line 1026 "parse.y"
4853 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
4856 #line 1033 "parse.y"
4857 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4858 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4861 #line 1036 "parse.y"
4862 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4863 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4866 #line 1039 "parse.y"
4867 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4870 #line 1041 "parse.y"
4871 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4874 #line 1046 "parse.y"
4875 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4878 #line 1052 "parse.y"
4879 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4882 #line 1055 "parse.y"
4883 { yyval
.ttype
= yyvsp
[0].ttype
;
4884 pedantic
= yyvsp
[-1].itype
; ;
4887 #line 1058 "parse.y"
4888 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4891 #line 1060 "parse.y"
4892 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4895 #line 1062 "parse.y"
4896 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4899 #line 1064 "parse.y"
4900 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
4903 #line 1067 "parse.y"
4905 pedwarn ("ANSI C++ forbids `&&'");
4906 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
4909 #line 1071 "parse.y"
4910 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4913 #line 1073 "parse.y"
4914 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4917 #line 1075 "parse.y"
4918 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4921 #line 1077 "parse.y"
4922 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4923 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4926 #line 1083 "parse.y"
4927 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4928 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4931 #line 1086 "parse.y"
4932 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4933 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4936 #line 1089 "parse.y"
4937 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4938 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4941 #line 1092 "parse.y"
4942 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4943 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4946 #line 1105 "parse.y"
4947 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4948 NULL_TREE
, yyvsp
[-4].itype
);
4949 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4952 #line 1110 "parse.y"
4953 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4954 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4957 #line 1114 "parse.y"
4958 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-5].itype
);
4959 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4962 #line 1118 "parse.y"
4963 { yyval
.ttype
= build_new (yyvsp
[-5].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-6].itype
);
4964 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4967 #line 1122 "parse.y"
4968 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4971 #line 1124 "parse.y"
4972 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4973 if (yychar
== YYEMPTY
)
4977 #line 1128 "parse.y"
4978 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4979 if (yychar
== YYEMPTY
)
4983 #line 1132 "parse.y"
4984 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4987 #line 1134 "parse.y"
4988 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4991 #line 1144 "parse.y"
4992 { finish_new_placement (NULL_TREE
, yyvsp
[-2].itype
); ;
4995 #line 1147 "parse.y"
4996 { yyval
.itype
= begin_new_placement (); ;
4999 #line 1151 "parse.y"
5000 { yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5003 #line 1153 "parse.y"
5004 { cp_pedwarn ("old style placement syntax, use () instead");
5005 yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5008 #line 1159 "parse.y"
5009 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5012 #line 1161 "parse.y"
5013 { yyval
.ttype
= NULL_TREE
; ;
5016 #line 1163 "parse.y"
5018 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
5019 yyval
.ttype
= error_mark_node
;
5023 #line 1171 "parse.y"
5026 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5027 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
5028 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
5029 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
5031 yyval
.ttype
= yyvsp
[0].ttype
;
5035 #line 1185 "parse.y"
5036 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5037 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5038 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5041 #line 1189 "parse.y"
5042 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5043 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5044 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5047 #line 1197 "parse.y"
5048 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5051 #line 1199 "parse.y"
5053 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5054 nreverse (yyvsp
[-2].ttype
));
5056 pedwarn ("ANSI C++ forbids constructor-expressions");
5057 /* Indicate that this was a GNU C constructor expression. */
5058 TREE_HAS_CONSTRUCTOR (init
) = 1;
5060 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5064 #line 1215 "parse.y"
5065 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5068 #line 1217 "parse.y"
5069 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5072 #line 1219 "parse.y"
5073 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5076 #line 1221 "parse.y"
5077 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5080 #line 1223 "parse.y"
5081 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5084 #line 1225 "parse.y"
5085 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5088 #line 1227 "parse.y"
5089 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5092 #line 1229 "parse.y"
5093 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5096 #line 1231 "parse.y"
5097 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5100 #line 1233 "parse.y"
5101 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5104 #line 1235 "parse.y"
5105 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5108 #line 1237 "parse.y"
5109 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5112 #line 1239 "parse.y"
5113 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5116 #line 1241 "parse.y"
5117 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5120 #line 1243 "parse.y"
5121 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5124 #line 1245 "parse.y"
5125 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5128 #line 1247 "parse.y"
5129 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5132 #line 1249 "parse.y"
5133 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5136 #line 1251 "parse.y"
5137 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5140 #line 1253 "parse.y"
5141 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5144 #line 1255 "parse.y"
5145 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5146 if (yyval
.ttype
!= error_mark_node
)
5147 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5150 #line 1259 "parse.y"
5151 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5154 #line 1261 "parse.y"
5155 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5158 #line 1263 "parse.y"
5159 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5162 #line 1281 "parse.y"
5163 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5166 #line 1290 "parse.y"
5167 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1, NULL_TREE
); ;
5170 #line 1294 "parse.y"
5171 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5174 #line 1296 "parse.y"
5175 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5178 #line 1301 "parse.y"
5179 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5182 #line 1303 "parse.y"
5183 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5186 #line 1306 "parse.y"
5187 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5190 #line 1318 "parse.y"
5191 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5194 #line 1320 "parse.y"
5195 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5198 #line 1322 "parse.y"
5199 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5202 #line 1327 "parse.y"
5203 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5206 #line 1329 "parse.y"
5207 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5210 #line 1339 "parse.y"
5211 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5214 #line 1344 "parse.y"
5216 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
5217 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
5219 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
5223 #line 1353 "parse.y"
5225 if (processing_template_decl
)
5226 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5227 yyval
.ttype
= combine_strings (yyval
.ttype
);
5228 if (processing_template_decl
)
5233 #line 1361 "parse.y"
5234 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5237 #line 1363 "parse.y"
5238 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5239 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5242 #line 1366 "parse.y"
5243 { yyval
.ttype
= error_mark_node
; ;
5246 #line 1368 "parse.y"
5247 { if (current_function_decl
== 0)
5249 error ("braced-group within expression allowed only inside a function");
5253 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5254 yyval
.ttype
= begin_stmt_expr ();
5258 #line 1378 "parse.y"
5259 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5262 #line 1383 "parse.y"
5263 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
5266 #line 1385 "parse.y"
5267 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 1); ;
5270 #line 1387 "parse.y"
5271 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 0); ;
5274 #line 1389 "parse.y"
5275 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 0); ;
5278 #line 1391 "parse.y"
5279 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5282 #line 1393 "parse.y"
5283 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5286 #line 1395 "parse.y"
5287 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5290 #line 1398 "parse.y"
5291 { yyval
.ttype
= finish_this_expr (); ;
5294 #line 1400 "parse.y"
5296 tree type
= NULL_TREE
;
5297 tree id
= yyval
.ttype
;
5299 /* This is a C cast in C++'s `functional' notation. */
5300 if (yyvsp
[-1].ttype
== error_mark_node
)
5302 yyval
.ttype
= error_mark_node
;
5306 if (yyvsp
[-1].ttype
== NULL_TREE
)
5308 error ("cannot cast null list to type `%s'",
5309 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5310 yyval
.ttype
= error_mark_node
;
5315 /* type is not set! (mrs) */
5316 if (type
== error_mark_node
)
5317 yyval
.ttype
= error_mark_node
;
5321 if (id
== ridpointers
[(int) RID_CONST
])
5322 type
= build_type_variant (integer_type_node
, 1, 0);
5323 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5324 type
= build_type_variant (integer_type_node
, 0, 1);
5326 /* should not be able to get here (mrs) */
5327 else if (id
== ridpointers
[(int) RID_FRIEND
])
5329 error ("cannot cast expression to `friend' type");
5330 yyval
.ttype
= error_mark_node
;
5334 else my_friendly_abort (79);
5335 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5340 #line 1445 "parse.y"
5341 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5342 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5343 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5346 #line 1449 "parse.y"
5347 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5348 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5349 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5352 #line 1453 "parse.y"
5353 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5354 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5355 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5358 #line 1457 "parse.y"
5359 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5360 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5361 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5364 #line 1461 "parse.y"
5365 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5368 #line 1463 "parse.y"
5369 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5370 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5371 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5374 #line 1467 "parse.y"
5375 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5378 #line 1469 "parse.y"
5379 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5382 #line 1471 "parse.y"
5384 got_scope
= NULL_TREE
;
5385 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5386 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5388 yyval
.ttype
= yyvsp
[0].ttype
;
5392 #line 1479 "parse.y"
5393 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5396 #line 1481 "parse.y"
5397 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5400 #line 1483 "parse.y"
5401 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5404 #line 1485 "parse.y"
5406 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5410 #line 1489 "parse.y"
5411 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5414 #line 1491 "parse.y"
5415 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5418 #line 1493 "parse.y"
5419 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5422 #line 1495 "parse.y"
5423 { if (processing_template_decl
)
5424 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5426 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5429 #line 1500 "parse.y"
5430 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5433 #line 1502 "parse.y"
5434 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5437 #line 1504 "parse.y"
5438 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5441 #line 1506 "parse.y"
5442 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5445 #line 1509 "parse.y"
5446 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5449 #line 1511 "parse.y"
5450 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5453 #line 1513 "parse.y"
5455 yyval
.ttype
= error_mark_node
;
5459 #line 1558 "parse.y"
5460 { yyval
.itype
= 0; ;
5463 #line 1560 "parse.y"
5464 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5467 #line 1565 "parse.y"
5468 { yyval
.itype
= 0; ;
5471 #line 1567 "parse.y"
5472 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5475 #line 1572 "parse.y"
5476 { yyval
.ttype
= boolean_true_node
; ;
5479 #line 1574 "parse.y"
5480 { yyval
.ttype
= boolean_false_node
; ;
5483 #line 1581 "parse.y"
5484 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5487 #line 1586 "parse.y"
5489 if (! current_function_parms_stored
)
5490 store_parm_decls ();
5492 /* Always keep the BLOCK node associated with the outermost
5493 pair of curley braces of a function. These are needed
5494 for correct operation of dwarfout.c. */
5499 #line 1599 "parse.y"
5500 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5503 #line 1601 "parse.y"
5505 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5506 got_object
= TREE_TYPE (yyval
.ttype
);
5510 #line 1609 "parse.y"
5512 resume_momentary (yyvsp
[-1].itype
);
5513 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5514 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5518 #line 1615 "parse.y"
5520 resume_momentary (yyvsp
[-1].itype
);
5521 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5525 #line 1620 "parse.y"
5526 { resume_momentary (yyvsp
[-1].itype
); ;
5529 #line 1622 "parse.y"
5531 shadow_tag (yyvsp
[-1].ftype
.t
);
5532 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5536 #line 1627 "parse.y"
5537 { warning ("empty declaration"); ;
5540 #line 1629 "parse.y"
5541 { pedantic
= yyvsp
[-1].itype
; ;
5544 #line 1643 "parse.y"
5545 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5546 NULL_TREE
, NULL_TREE
); ;
5549 #line 1646 "parse.y"
5550 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5554 #line 1653 "parse.y"
5555 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5556 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5559 #line 1656 "parse.y"
5560 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5561 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5564 #line 1659 "parse.y"
5565 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5566 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5569 #line 1662 "parse.y"
5570 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5571 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5574 #line 1665 "parse.y"
5575 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5576 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5579 #line 1681 "parse.y"
5580 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5581 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5584 #line 1684 "parse.y"
5585 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5586 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5589 #line 1687 "parse.y"
5590 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5591 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5594 #line 1690 "parse.y"
5595 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5596 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5599 #line 1693 "parse.y"
5600 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5601 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5604 #line 1696 "parse.y"
5605 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5606 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5607 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5610 #line 1703 "parse.y"
5611 { if (extra_warnings
)
5612 warning ("`%s' is not at beginning of declaration",
5613 IDENTIFIER_POINTER (yyval
.ttype
));
5614 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5617 #line 1708 "parse.y"
5618 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5621 #line 1710 "parse.y"
5622 { if (extra_warnings
)
5623 warning ("`%s' is not at beginning of declaration",
5624 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5625 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5628 #line 1715 "parse.y"
5629 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5632 #line 1717 "parse.y"
5633 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5636 #line 1727 "parse.y"
5637 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5640 #line 1729 "parse.y"
5641 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5644 #line 1731 "parse.y"
5645 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5646 TREE_STATIC (yyval
.ttype
) = 1; ;
5649 #line 1734 "parse.y"
5650 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5651 warning ("`%s' is not at beginning of declaration",
5652 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5653 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5654 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5657 #line 1740 "parse.y"
5658 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5661 #line 1742 "parse.y"
5662 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5665 #line 1753 "parse.y"
5666 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5667 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5670 #line 1756 "parse.y"
5671 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5672 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5675 #line 1759 "parse.y"
5676 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5677 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5680 #line 1762 "parse.y"
5681 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5682 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5685 #line 1768 "parse.y"
5686 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5689 #line 1770 "parse.y"
5690 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5693 #line 1780 "parse.y"
5694 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5697 #line 1782 "parse.y"
5698 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5701 #line 1784 "parse.y"
5702 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5703 yyval
.ftype
.new_type_flag
= 0; ;
5706 #line 1787 "parse.y"
5707 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5708 yyval
.ftype
.new_type_flag
= 0; ;
5711 #line 1790 "parse.y"
5712 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5714 yyval
.ftype
.new_type_flag
= 0;
5715 if (IS_AGGR_TYPE (type
))
5717 sorry ("sigof type specifier");
5718 yyval
.ftype
.t
= type
;
5722 error ("`sigof' applied to non-aggregate expression");
5723 yyval
.ftype
.t
= error_mark_node
;
5728 #line 1805 "parse.y"
5729 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5731 yyval
.ftype
.new_type_flag
= 0;
5732 if (IS_AGGR_TYPE (type
))
5734 sorry ("sigof type specifier");
5735 yyval
.ftype
.t
= type
;
5739 error("`sigof' applied to non-aggregate type");
5740 yyval
.ftype
.t
= error_mark_node
;
5745 #line 1825 "parse.y"
5746 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5749 #line 1827 "parse.y"
5750 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5753 #line 1848 "parse.y"
5754 { yyval
.ttype
= NULL_TREE
; ;
5757 #line 1850 "parse.y"
5758 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5761 #line 1855 "parse.y"
5762 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
5763 yyvsp
[-1].ttype
, prefix_attributes
); ;
5766 #line 1859 "parse.y"
5767 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5770 #line 1861 "parse.y"
5771 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
5772 yyvsp
[0].ttype
, prefix_attributes
);
5773 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5776 #line 1874 "parse.y"
5777 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
5778 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
5781 #line 1879 "parse.y"
5782 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1,
5783 LOOKUP_ONLYCONVERTING
);
5784 yyval
.itype
= yyvsp
[-2].itype
; ;
5787 #line 1883 "parse.y"
5789 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
5790 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5793 #line 1890 "parse.y"
5794 { yyval
.itype
= yyvsp
[0].itype
; ;
5797 #line 1894 "parse.y"
5798 { yyval
.itype
= yyvsp
[0].itype
; ;
5801 #line 1899 "parse.y"
5802 { /* Set things up as initdcl0_innards expects. */
5803 yyval
.ttype
= yyvsp
[-1].ttype
;
5804 yyvsp
[-1].ttype
= NULL_TREE
; ;
5807 #line 1903 "parse.y"
5811 #line 1905 "parse.y"
5813 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
5814 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5817 #line 1914 "parse.y"
5818 { yyval
.ttype
= NULL_TREE
; ;
5821 #line 1916 "parse.y"
5822 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5825 #line 1921 "parse.y"
5826 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5829 #line 1923 "parse.y"
5830 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5833 #line 1928 "parse.y"
5834 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5837 #line 1933 "parse.y"
5838 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5841 #line 1935 "parse.y"
5842 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5845 #line 1940 "parse.y"
5846 { yyval
.ttype
= NULL_TREE
; ;
5849 #line 1942 "parse.y"
5850 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5853 #line 1944 "parse.y"
5854 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5857 #line 1946 "parse.y"
5858 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5861 #line 1948 "parse.y"
5862 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5865 #line 1964 "parse.y"
5866 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5869 #line 1966 "parse.y"
5870 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5873 #line 1971 "parse.y"
5874 { yyval
.ttype
= NULL_TREE
; ;
5877 #line 1973 "parse.y"
5878 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5881 #line 1981 "parse.y"
5882 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5883 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5886 #line 1984 "parse.y"
5887 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
5888 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5891 #line 1987 "parse.y"
5892 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
5893 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5896 #line 1990 "parse.y"
5897 { yyval
.ttype
= NULL_TREE
; ;
5900 #line 1997 "parse.y"
5901 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5904 #line 1999 "parse.y"
5905 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5908 #line 2002 "parse.y"
5909 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5912 #line 2004 "parse.y"
5913 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
5916 #line 2006 "parse.y"
5917 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5920 #line 2011 "parse.y"
5921 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
5923 reinit_parse_for_function (); ;
5926 #line 2017 "parse.y"
5928 int nested
= (hack_decl_function_context
5929 (current_function_decl
) != NULL_TREE
);
5930 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
5931 process_next_inline (yyvsp
[-3].ttype
);
5935 #line 2024 "parse.y"
5936 { process_next_inline (yyvsp
[-2].ttype
); ;
5939 #line 2026 "parse.y"
5940 { process_next_inline (yyvsp
[-2].ttype
); ;
5943 #line 2038 "parse.y"
5944 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5947 #line 2040 "parse.y"
5948 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
5951 #line 2045 "parse.y"
5952 { do_pending_defargs (); ;
5955 #line 2047 "parse.y"
5956 { do_pending_defargs (); ;
5959 #line 2052 "parse.y"
5960 { yyvsp
[0].itype
= suspend_momentary ();
5961 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
5964 #line 2055 "parse.y"
5965 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5966 yyval
.ftype
.new_type_flag
= 1;
5967 resume_momentary ((int) yyvsp
[-4].itype
);
5968 check_for_missing_semicolon (yyvsp
[-3].ttype
); ;
5971 #line 2060 "parse.y"
5972 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
), NULL_TREE
);
5973 yyval
.ftype
.new_type_flag
= 1;
5974 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5977 #line 2064 "parse.y"
5978 { yyvsp
[0].itype
= suspend_momentary ();
5979 yyval
.ttype
= start_enum (make_anon_name ()); ;
5982 #line 2067 "parse.y"
5983 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5984 resume_momentary ((int) yyvsp
[-5].itype
);
5985 check_for_missing_semicolon (yyvsp
[-3].ttype
);
5986 yyval
.ftype
.new_type_flag
= 1; ;
5989 #line 2072 "parse.y"
5990 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()), NULL_TREE
);
5991 yyval
.ftype
.new_type_flag
= 1;
5992 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5995 #line 2076 "parse.y"
5996 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5997 yyval
.ftype
.new_type_flag
= 0; ;
6000 #line 2079 "parse.y"
6001 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6002 yyval
.ftype
.new_type_flag
= 0; ;
6005 #line 2082 "parse.y"
6006 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6007 yyval
.ftype
.new_type_flag
= 0; ;
6010 #line 2087 "parse.y"
6014 if (yychar
== YYEMPTY
)
6016 semi
= yychar
== ';';
6018 yyval
.ttype
= finish_class_definition (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
6022 #line 2097 "parse.y"
6023 { finish_default_args (); ;
6026 #line 2099 "parse.y"
6027 { yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6028 yyval
.ftype
.new_type_flag
= 1;
6029 begin_inline_definitions (); ;
6032 #line 2103 "parse.y"
6034 yyval
.ftype
.new_type_flag
= 0;
6035 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
6037 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
6038 yyval
.ftype
.t
= error_mark_node
;
6042 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6043 /* struct B: public A; is not accepted by the WP grammar. */
6044 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6045 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6046 cp_error ("base clause without member specification for `%#T'",
6052 #line 2130 "parse.y"
6053 { if (pedantic
&& !in_system_header
)
6054 pedwarn ("comma at end of enumerator list"); ;
6057 #line 2137 "parse.y"
6058 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6061 #line 2139 "parse.y"
6062 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6065 #line 2141 "parse.y"
6066 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6069 #line 2143 "parse.y"
6070 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6073 #line 2145 "parse.y"
6074 { yyval
.ttype
= build_decl_list (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6077 #line 2150 "parse.y"
6078 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6081 #line 2155 "parse.y"
6082 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6085 #line 2157 "parse.y"
6086 { yyungetc ('{', 1); ;
6089 #line 2159 "parse.y"
6090 { yyungetc (':', 1); ;
6093 #line 2164 "parse.y"
6095 current_aggr
= yyvsp
[-2].ttype
;
6096 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6100 #line 2169 "parse.y"
6102 current_aggr
= yyvsp
[-3].ttype
;
6103 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6107 #line 2174 "parse.y"
6109 current_aggr
= yyvsp
[-2].ttype
;
6110 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6114 #line 2179 "parse.y"
6115 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6118 #line 2181 "parse.y"
6119 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6122 #line 2186 "parse.y"
6123 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 0); ;
6126 #line 2191 "parse.y"
6127 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
6130 #line 2194 "parse.y"
6132 yyval
.ttype
= yyvsp
[-1].ttype
;
6134 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6138 #line 2200 "parse.y"
6140 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6141 if (TREE_INT_CST_LOW (current_aggr
) == union_type
6142 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
6143 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
6144 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
6145 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
6146 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
6149 maybe_process_partial_specialization (yyval
.ttype
);
6150 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6155 #line 2218 "parse.y"
6156 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), NULL_TREE
, 0);
6157 yyungetc ('{', 1); ;
6160 #line 2229 "parse.y"
6161 { yyval
.ttype
= NULL_TREE
; ;
6164 #line 2231 "parse.y"
6165 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6168 #line 2233 "parse.y"
6169 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6172 #line 2239 "parse.y"
6173 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6176 #line 2244 "parse.y"
6179 if (yyvsp
[0].ttype
== NULL_TREE
)
6181 error ("invalid base class");
6182 type
= error_mark_node
;
6185 type
= TREE_TYPE (yyvsp
[0].ttype
);
6186 if (! is_aggr_type (type
, 1))
6187 yyval
.ttype
= NULL_TREE
;
6188 else if (current_aggr
== signature_type_node
6189 && (! type
) && (! IS_SIGNATURE (type
)))
6191 error ("class name not allowed as base signature");
6192 yyval
.ttype
= NULL_TREE
;
6194 else if (current_aggr
== signature_type_node
)
6196 sorry ("signature inheritance, base type `%s' ignored",
6197 IDENTIFIER_POINTER (yyval
.ttype
));
6198 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6200 else if (type
&& IS_SIGNATURE (type
))
6202 error ("signature name not allowed as base class");
6203 yyval
.ttype
= NULL_TREE
;
6206 yyval
.ttype
= build_tree_list (access_default_node
, type
);
6210 #line 2276 "parse.y"
6213 if (yyvsp
[0].ttype
== NULL_TREE
)
6215 error ("invalid base class");
6216 type
= error_mark_node
;
6219 type
= TREE_TYPE (yyvsp
[0].ttype
);
6220 if (current_aggr
== signature_type_node
)
6221 error ("access and source specifiers not allowed in signature");
6222 if (! is_aggr_type (type
, 1))
6223 yyval
.ttype
= NULL_TREE
;
6224 else if (current_aggr
== signature_type_node
6225 && (! type
) && (! IS_SIGNATURE (type
)))
6227 error ("class name not allowed as base signature");
6228 yyval
.ttype
= NULL_TREE
;
6230 else if (current_aggr
== signature_type_node
)
6232 sorry ("signature inheritance, base type `%s' ignored",
6233 IDENTIFIER_POINTER (yyval
.ttype
));
6234 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6236 else if (type
&& IS_SIGNATURE (type
))
6238 error ("signature name not allowed as base class");
6239 yyval
.ttype
= NULL_TREE
;
6242 yyval
.ttype
= build_tree_list (yyval
.ttype
, type
);
6246 #line 2313 "parse.y"
6247 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6250 #line 2316 "parse.y"
6252 if (current_aggr
== signature_type_node
)
6254 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6256 sorry ("`sigof' as base signature specifier");
6257 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6261 error ("`sigof' applied to non-aggregate expression");
6262 yyval
.ttype
= error_mark_node
;
6267 error ("`sigof' in struct or class declaration");
6268 yyval
.ttype
= error_mark_node
;
6273 #line 2337 "parse.y"
6275 if (current_aggr
== signature_type_node
)
6277 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6279 sorry ("`sigof' as base signature specifier");
6280 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6284 error ("`sigof' applied to non-aggregate expression");
6285 yyval
.ttype
= error_mark_node
;
6290 error ("`sigof' in struct or class declaration");
6291 yyval
.ttype
= error_mark_node
;
6296 #line 2362 "parse.y"
6297 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6298 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6299 yyval
.ttype
= access_default_virtual_node
; ;
6302 #line 2366 "parse.y"
6304 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6305 error ("multiple access specifiers");
6306 else if (yyvsp
[-1].ttype
== access_public_node
)
6307 yyval
.ttype
= access_public_virtual_node
;
6308 else if (yyvsp
[-1].ttype
== access_protected_node
)
6309 yyval
.ttype
= access_protected_virtual_node
;
6310 else /* $2 == access_private_node */
6311 yyval
.ttype
= access_private_virtual_node
;
6315 #line 2377 "parse.y"
6316 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6317 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6318 else if (yyval
.ttype
== access_public_node
)
6319 yyval
.ttype
= access_public_virtual_node
;
6320 else if (yyval
.ttype
== access_protected_node
)
6321 yyval
.ttype
= access_protected_virtual_node
;
6322 else if (yyval
.ttype
== access_private_node
)
6323 yyval
.ttype
= access_private_virtual_node
;
6325 error ("multiple `virtual' specifiers");
6329 #line 2392 "parse.y"
6330 { yyvsp
[-1].ttype
= begin_class_definition (yyvsp
[-1].ttype
); ;
6333 #line 2397 "parse.y"
6335 yyval
.ttype
= build_self_reference ();
6339 #line 2404 "parse.y"
6340 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6343 #line 2406 "parse.y"
6345 if (current_aggr
== signature_type_node
)
6346 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6348 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6349 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6353 #line 2414 "parse.y"
6355 tree visspec
= yyvsp
[-2].ttype
;
6357 if (current_aggr
== signature_type_node
)
6359 error ("access specifier not allowed in signature");
6360 visspec
= access_public_node
;
6362 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6366 #line 2425 "parse.y"
6368 if (current_aggr
== signature_type_node
)
6369 error ("access specifier not allowed in signature");
6373 #line 2435 "parse.y"
6374 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6378 #line 2438 "parse.y"
6379 { /* In pushdecl, we created a reverse list of names
6380 in this binding level. Make sure that the chain
6381 of what we're trying to add isn't the item itself
6382 (which can happen with what pushdecl's doing). */
6383 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6385 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6386 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6388 yyval
.ttype
= yyvsp
[0].ttype
;
6393 #line 2454 "parse.y"
6397 #line 2456 "parse.y"
6398 { error ("missing ';' before right brace");
6399 yyungetc ('}', 0); ;
6402 #line 2461 "parse.y"
6403 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6406 #line 2463 "parse.y"
6407 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6410 #line 2465 "parse.y"
6411 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6414 #line 2467 "parse.y"
6415 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6418 #line 2469 "parse.y"
6419 { yyval
.ttype
= NULL_TREE
; ;
6422 #line 2471 "parse.y"
6423 { yyval
.ttype
= yyvsp
[0].ttype
;
6424 pedantic
= yyvsp
[-1].itype
; ;
6427 #line 2474 "parse.y"
6428 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6431 #line 2476 "parse.y"
6432 { yyval
.ttype
= finish_member_class_template (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
); ;
6435 #line 2484 "parse.y"
6436 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6439 #line 2486 "parse.y"
6440 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6443 #line 2488 "parse.y"
6444 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6445 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6448 #line 2491 "parse.y"
6449 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6450 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6453 #line 2494 "parse.y"
6454 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6457 #line 2496 "parse.y"
6458 { yyval
.ttype
= NULL_TREE
; ;
6461 #line 2507 "parse.y"
6462 { tree specs
, attrs
;
6463 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6464 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6465 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6468 #line 2512 "parse.y"
6469 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6470 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6473 #line 2515 "parse.y"
6474 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6477 #line 2521 "parse.y"
6478 { yyval
.ttype
= NULL_TREE
; ;
6481 #line 2524 "parse.y"
6483 /* In this context, void_type_node encodes
6484 friends. They have been recorded elsewhere. */
6485 if (yyval
.ttype
== void_type_node
)
6486 yyval
.ttype
= yyvsp
[0].ttype
;
6488 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6492 #line 2536 "parse.y"
6493 { yyval
.ttype
= NULL_TREE
; ;
6496 #line 2539 "parse.y"
6498 /* In this context, void_type_node encodes
6499 friends. They have been recorded elsewhere. */
6500 if (yyval
.ttype
== void_type_node
)
6501 yyval
.ttype
= yyvsp
[0].ttype
;
6503 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6507 #line 2561 "parse.y"
6508 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6509 &prefix_attributes
);
6510 yyvsp
[-4].ttype
= current_declspecs
;
6511 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6512 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6515 #line 2567 "parse.y"
6516 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6517 &prefix_attributes
);
6518 yyvsp
[-4].ttype
= current_declspecs
;
6519 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6520 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6523 #line 2576 "parse.y"
6524 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6525 &prefix_attributes
);
6526 yyvsp
[-4].ttype
= current_declspecs
;
6527 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6528 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6531 #line 2582 "parse.y"
6532 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6533 &prefix_attributes
);
6534 yyvsp
[-4].ttype
= current_declspecs
;
6535 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6536 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6539 #line 2588 "parse.y"
6540 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6541 &prefix_attributes
);
6542 yyvsp
[-4].ttype
= current_declspecs
;
6543 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6544 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6547 #line 2594 "parse.y"
6548 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6549 &prefix_attributes
);
6550 yyvsp
[-3].ttype
= current_declspecs
;
6551 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6552 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6555 #line 2603 "parse.y"
6556 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6557 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6560 #line 2606 "parse.y"
6561 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6562 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6565 #line 2612 "parse.y"
6566 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6567 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6570 #line 2615 "parse.y"
6571 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6572 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6575 #line 2618 "parse.y"
6576 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6577 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6580 #line 2629 "parse.y"
6581 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6584 #line 2634 "parse.y"
6585 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
); ;
6588 #line 2636 "parse.y"
6589 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
); ;
6592 #line 2642 "parse.y"
6593 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6594 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6597 #line 2645 "parse.y"
6598 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6599 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6602 #line 2652 "parse.y"
6605 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6606 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6607 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6608 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6612 #line 2663 "parse.y"
6613 { yyval
.ttype
= NULL_TREE
; ;
6616 #line 2665 "parse.y"
6617 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6620 #line 2670 "parse.y"
6621 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6622 yyval
.ftype
.new_type_flag
= 0; ;
6625 #line 2673 "parse.y"
6626 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6627 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6630 #line 2682 "parse.y"
6631 { yyval
.itype
= suspend_momentary (); ;
6634 #line 2687 "parse.y"
6635 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6638 #line 2693 "parse.y"
6639 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6642 #line 2695 "parse.y"
6643 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6646 #line 2697 "parse.y"
6647 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6650 #line 2699 "parse.y"
6651 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6654 #line 2706 "parse.y"
6655 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6658 #line 2708 "parse.y"
6659 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6662 #line 2710 "parse.y"
6663 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6666 #line 2712 "parse.y"
6667 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6670 #line 2714 "parse.y"
6671 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6672 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6676 #line 2722 "parse.y"
6678 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6680 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6681 if (current_class_type
6682 && TYPE_BEING_DEFINED (current_class_type
)
6683 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6685 /* Remember that this name has been used in the class
6686 definition, as per [class.scope0] */
6687 pushdecl_class_level (yyval
.ttype
);
6691 yyval
.ttype
= yyvsp
[0].ttype
;
6695 #line 2739 "parse.y"
6697 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6698 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6700 yyval
.ttype
= yyvsp
[0].ttype
;
6701 got_scope
= NULL_TREE
;
6705 #line 2752 "parse.y"
6706 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6709 #line 2757 "parse.y"
6710 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6713 #line 2762 "parse.y"
6714 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6717 #line 2764 "parse.y"
6718 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6721 #line 2766 "parse.y"
6722 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6725 #line 2768 "parse.y"
6726 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6729 #line 2770 "parse.y"
6730 { push_nested_class (yyvsp
[-1].ttype
, 3);
6731 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6732 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6735 #line 2781 "parse.y"
6736 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6739 #line 2783 "parse.y"
6740 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6743 #line 2785 "parse.y"
6744 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6747 #line 2787 "parse.y"
6748 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6751 #line 2789 "parse.y"
6752 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6753 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6757 #line 2797 "parse.y"
6758 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6761 #line 2799 "parse.y"
6762 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6765 #line 2801 "parse.y"
6766 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6769 #line 2803 "parse.y"
6770 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6773 #line 2805 "parse.y"
6774 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6775 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6779 #line 2813 "parse.y"
6780 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6783 #line 2815 "parse.y"
6784 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6787 #line 2817 "parse.y"
6788 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6791 #line 2819 "parse.y"
6792 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6795 #line 2821 "parse.y"
6796 { enter_scope_of (yyvsp
[0].ttype
); ;
6799 #line 2823 "parse.y"
6800 { got_scope
= NULL_TREE
;
6801 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6802 enter_scope_of (yyval
.ttype
);
6806 #line 2831 "parse.y"
6807 { got_scope
= NULL_TREE
;
6808 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6811 #line 2834 "parse.y"
6812 { got_scope
= NULL_TREE
;
6813 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6816 #line 2840 "parse.y"
6817 { got_scope
= NULL_TREE
;
6818 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6821 #line 2843 "parse.y"
6822 { got_scope
= NULL_TREE
;
6823 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6826 #line 2850 "parse.y"
6827 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6830 #line 2855 "parse.y"
6831 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6834 #line 2857 "parse.y"
6835 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6838 #line 2859 "parse.y"
6839 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6842 #line 2871 "parse.y"
6843 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6846 #line 2873 "parse.y"
6847 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6850 #line 2880 "parse.y"
6852 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6854 yyval
.ttype
= lastiddecl
;
6855 /* Remember that this name has been used in the class
6856 definition, as per [class.scope0] */
6857 if (current_class_type
6858 && TYPE_BEING_DEFINED (current_class_type
)
6859 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
6860 pushdecl_class_level (yyval
.ttype
);
6862 got_scope
= yyval
.ttype
= TYPE_MAIN_VARIANT (TREE_TYPE (yyval
.ttype
));
6866 #line 2894 "parse.y"
6868 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6869 yyval
.ttype
= lastiddecl
;
6870 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6874 #line 2900 "parse.y"
6876 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6877 yyval
.ttype
= lastiddecl
;
6878 got_scope
= yyval
.ttype
;
6882 #line 2906 "parse.y"
6883 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
6886 #line 2922 "parse.y"
6887 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6890 #line 2927 "parse.y"
6892 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6893 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6894 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6895 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6898 yyval
.ttype
= yyvsp
[0].ttype
;
6899 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6900 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6905 #line 2940 "parse.y"
6906 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
6909 #line 2942 "parse.y"
6910 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6913 #line 2944 "parse.y"
6914 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6917 #line 2949 "parse.y"
6919 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6920 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6924 #line 2954 "parse.y"
6926 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6927 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6928 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6929 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6932 yyval
.ttype
= yyvsp
[0].ttype
;
6933 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6934 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6939 #line 2967 "parse.y"
6940 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6943 #line 2969 "parse.y"
6944 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6947 #line 2974 "parse.y"
6949 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6950 yyvsp
[-1].ttype
= lastiddecl
;
6952 /* Retrieve the type for the identifier, which might involve
6953 some computation. */
6954 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
6956 if (yyval
.ttype
== error_mark_node
)
6957 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
6961 #line 2986 "parse.y"
6963 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6964 yyval
.ttype
= lastiddecl
;
6965 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
6969 #line 2992 "parse.y"
6970 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
6973 #line 2996 "parse.y"
6975 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6976 yyval
.ttype
= lastiddecl
;
6977 got_scope
= yyval
.ttype
;
6981 #line 3005 "parse.y"
6982 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6985 #line 3010 "parse.y"
6987 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6988 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6990 yyval
.ttype
= yyvsp
[0].ttype
;
6991 got_scope
= NULL_TREE
;
6995 #line 3019 "parse.y"
6996 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6999 #line 3024 "parse.y"
7000 { got_scope
= NULL_TREE
; ;
7003 #line 3026 "parse.y"
7004 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7007 #line 3033 "parse.y"
7008 { got_scope
= void_type_node
; ;
7011 #line 3039 "parse.y"
7012 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7015 #line 3041 "parse.y"
7016 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7019 #line 3043 "parse.y"
7020 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7023 #line 3045 "parse.y"
7024 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7027 #line 3047 "parse.y"
7028 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7029 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7033 #line 3051 "parse.y"
7034 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7035 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7039 #line 3060 "parse.y"
7040 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7043 #line 3062 "parse.y"
7044 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7047 #line 3068 "parse.y"
7048 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7051 #line 3070 "parse.y"
7052 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7055 #line 3072 "parse.y"
7056 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7059 #line 3074 "parse.y"
7060 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7063 #line 3076 "parse.y"
7064 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7067 #line 3078 "parse.y"
7068 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7071 #line 3080 "parse.y"
7072 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7075 #line 3082 "parse.y"
7076 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7079 #line 3084 "parse.y"
7080 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7081 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7085 #line 3088 "parse.y"
7086 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7087 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7091 #line 3097 "parse.y"
7092 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7095 #line 3101 "parse.y"
7096 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7099 #line 3103 "parse.y"
7100 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7103 #line 3105 "parse.y"
7104 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7107 #line 3107 "parse.y"
7108 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7111 #line 3109 "parse.y"
7112 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7115 #line 3111 "parse.y"
7116 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7119 #line 3113 "parse.y"
7120 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7123 #line 3115 "parse.y"
7124 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7127 #line 3117 "parse.y"
7128 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7131 #line 3140 "parse.y"
7133 pedwarn ("ANSI C++ forbids label declarations"); ;
7136 #line 3151 "parse.y"
7138 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7140 tree label
= shadow_label (TREE_VALUE (link
));
7141 C_DECLARED_LABEL_FLAG (label
) = 1;
7142 declare_nonlocal_label (label
);
7147 #line 3165 "parse.y"
7151 #line 3171 "parse.y"
7152 { yyval
.ttype
= begin_compound_stmt (0); ;
7155 #line 3173 "parse.y"
7156 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7159 #line 3178 "parse.y"
7161 yyval
.ttype
= begin_if_stmt ();
7162 cond_stmt_keyword
= "if";
7166 #line 3183 "parse.y"
7167 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7170 #line 3185 "parse.y"
7171 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7174 #line 3190 "parse.y"
7175 { yyval
.ttype
= begin_compound_stmt (0); ;
7178 #line 3192 "parse.y"
7179 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7182 #line 3197 "parse.y"
7186 #line 3203 "parse.y"
7190 #line 3205 "parse.y"
7191 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7194 #line 3207 "parse.y"
7195 { begin_else_clause (); ;
7198 #line 3209 "parse.y"
7200 finish_else_clause (yyvsp
[-3].ttype
);
7205 #line 3214 "parse.y"
7206 { finish_if_stmt (); ;
7209 #line 3216 "parse.y"
7211 yyval
.ttype
= begin_while_stmt ();
7212 cond_stmt_keyword
= "while";
7216 #line 3221 "parse.y"
7217 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7220 #line 3223 "parse.y"
7221 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7224 #line 3225 "parse.y"
7225 { yyval
.ttype
= begin_do_stmt (); ;
7228 #line 3227 "parse.y"
7230 finish_do_body (yyvsp
[-2].ttype
);
7231 cond_stmt_keyword
= "do";
7235 #line 3232 "parse.y"
7236 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7239 #line 3234 "parse.y"
7240 { yyval
.ttype
= begin_for_stmt (); ;
7243 #line 3236 "parse.y"
7244 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7247 #line 3238 "parse.y"
7248 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7251 #line 3240 "parse.y"
7252 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7255 #line 3242 "parse.y"
7256 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7259 #line 3244 "parse.y"
7260 { begin_switch_stmt (); ;
7263 #line 3246 "parse.y"
7264 { yyval
.ttype
= finish_switch_cond (yyvsp
[-1].ttype
); ;
7267 #line 3248 "parse.y"
7268 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7271 #line 3250 "parse.y"
7272 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7275 #line 3253 "parse.y"
7276 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7279 #line 3256 "parse.y"
7280 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7283 #line 3259 "parse.y"
7284 { finish_break_stmt (); ;
7287 #line 3261 "parse.y"
7288 { finish_continue_stmt (); ;
7291 #line 3263 "parse.y"
7292 { finish_return_stmt (NULL_TREE
); ;
7295 #line 3265 "parse.y"
7296 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7299 #line 3267 "parse.y"
7301 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7306 #line 3273 "parse.y"
7308 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7313 #line 3279 "parse.y"
7314 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7317 #line 3283 "parse.y"
7318 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7321 #line 3285 "parse.y"
7324 pedwarn ("ANSI C++ forbids computed gotos");
7325 finish_goto_stmt (yyvsp
[-1].ttype
);
7329 #line 3291 "parse.y"
7330 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7333 #line 3293 "parse.y"
7337 #line 3295 "parse.y"
7338 { error ("label must be followed by statement");
7343 #line 3299 "parse.y"
7347 #line 3303 "parse.y"
7348 { do_local_using_decl (yyvsp
[0].ttype
); ;
7351 #line 3309 "parse.y"
7353 if (! current_function_parms_stored
)
7354 store_parm_decls ();
7355 expand_start_early_try_stmts ();
7359 #line 3315 "parse.y"
7361 expand_start_all_catch ();
7365 #line 3319 "parse.y"
7367 int nested
= (hack_decl_function_context
7368 (current_function_decl
) != NULL_TREE
);
7369 expand_end_all_catch ();
7370 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7374 #line 3329 "parse.y"
7375 { yyval
.ttype
= begin_try_block (); ;
7378 #line 3331 "parse.y"
7379 { finish_try_block (yyvsp
[-1].ttype
); ;
7382 #line 3333 "parse.y"
7383 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7386 #line 3343 "parse.y"
7387 { yyval
.ttype
= begin_handler(); ;
7390 #line 3345 "parse.y"
7391 { finish_handler_parms (yyvsp
[-1].ttype
); ;
7394 #line 3347 "parse.y"
7395 { finish_handler (yyvsp
[-3].ttype
); ;
7398 #line 3357 "parse.y"
7399 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7402 #line 3373 "parse.y"
7403 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7404 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7405 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7408 #line 3380 "parse.y"
7411 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7412 if (label
&& ! minimal_parse_mode
)
7413 expand_label (label
);
7417 #line 3387 "parse.y"
7421 #line 3389 "parse.y"
7425 #line 3391 "parse.y"
7429 #line 3396 "parse.y"
7430 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7433 #line 3399 "parse.y"
7435 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7439 #line 3408 "parse.y"
7440 { emit_line_note (input_filename
, lineno
);
7441 yyval
.ttype
= NULL_TREE
; ;
7444 #line 3411 "parse.y"
7445 { emit_line_note (input_filename
, lineno
); ;
7448 #line 3416 "parse.y"
7449 { yyval
.ttype
= NULL_TREE
; ;
7452 #line 3419 "parse.y"
7453 { yyval
.ttype
= NULL_TREE
; ;
7456 #line 3426 "parse.y"
7457 { yyval
.ttype
= NULL_TREE
; ;
7460 #line 3433 "parse.y"
7461 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7464 #line 3438 "parse.y"
7465 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7468 #line 3443 "parse.y"
7469 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7472 #line 3445 "parse.y"
7473 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7476 #line 3456 "parse.y"
7478 yyval
.ttype
= empty_parms();
7482 #line 3461 "parse.y"
7483 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
7484 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7487 #line 3469 "parse.y"
7488 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7491 #line 3471 "parse.y"
7492 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7495 #line 3474 "parse.y"
7496 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7499 #line 3476 "parse.y"
7500 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7501 yyvsp
[-1].ftype
.t
), 1); ;
7504 #line 3479 "parse.y"
7505 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7508 #line 3481 "parse.y"
7510 /* This helps us recover from really nasty
7511 parse errors, for example, a missing right
7513 yyerror ("possibly missing ')'");
7514 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7520 #line 3491 "parse.y"
7522 /* This helps us recover from really nasty
7523 parse errors, for example, a missing right
7525 yyerror ("possibly missing ')'");
7526 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7527 yyvsp
[-1].ftype
.t
), 0);
7533 #line 3506 "parse.y"
7534 { maybe_snarf_defarg (); ;
7537 #line 3508 "parse.y"
7538 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7541 #line 3519 "parse.y"
7542 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7543 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7546 #line 3522 "parse.y"
7547 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7548 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7551 #line 3525 "parse.y"
7552 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7553 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7556 #line 3528 "parse.y"
7557 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7560 #line 3530 "parse.y"
7561 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7564 #line 3536 "parse.y"
7565 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7566 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7569 #line 3546 "parse.y"
7570 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7571 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7572 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7575 #line 3550 "parse.y"
7576 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7577 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7580 #line 3553 "parse.y"
7581 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
7582 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7585 #line 3556 "parse.y"
7586 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7587 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7588 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7591 #line 3560 "parse.y"
7592 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7593 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7594 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7597 #line 3564 "parse.y"
7598 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7599 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7600 yyval
.ftype
.new_type_flag
= 0; ;
7603 #line 3571 "parse.y"
7604 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7605 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7608 #line 3574 "parse.y"
7609 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7610 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7613 #line 3585 "parse.y"
7614 { see_typename (); ;
7617 #line 3590 "parse.y"
7619 error ("type specifier omitted for parameter");
7620 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7624 #line 3595 "parse.y"
7626 error ("type specifier omitted for parameter");
7627 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7628 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7629 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7630 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7631 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7635 #line 3607 "parse.y"
7636 { yyval
.ttype
= NULL_TREE
; ;
7639 #line 3609 "parse.y"
7640 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7643 #line 3611 "parse.y"
7644 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
7647 #line 3616 "parse.y"
7648 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
7651 #line 3622 "parse.y"
7653 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
7654 yyval
.ttype
= yyvsp
[0].ttype
;
7658 #line 3630 "parse.y"
7659 { yyval
.ttype
= NULL_TREE
; ;
7662 #line 3632 "parse.y"
7663 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7666 #line 3634 "parse.y"
7667 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7670 #line 3636 "parse.y"
7671 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7672 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7676 #line 3643 "parse.y"
7677 { got_scope
= NULL_TREE
; ;
7680 #line 3648 "parse.y"
7681 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
7684 #line 3650 "parse.y"
7685 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
7688 #line 3652 "parse.y"
7689 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
7692 #line 3654 "parse.y"
7693 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
7696 #line 3656 "parse.y"
7697 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
7700 #line 3658 "parse.y"
7701 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
7704 #line 3660 "parse.y"
7705 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
7708 #line 3662 "parse.y"
7709 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
7712 #line 3664 "parse.y"
7713 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
7716 #line 3666 "parse.y"
7717 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
7720 #line 3668 "parse.y"
7721 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7724 #line 3670 "parse.y"
7725 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
7728 #line 3672 "parse.y"
7729 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
7732 #line 3674 "parse.y"
7733 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7736 #line 3676 "parse.y"
7737 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
7740 #line 3678 "parse.y"
7741 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
7744 #line 3680 "parse.y"
7745 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7748 #line 3682 "parse.y"
7749 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7752 #line 3684 "parse.y"
7753 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
7756 #line 3686 "parse.y"
7757 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
7760 #line 3688 "parse.y"
7761 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
7764 #line 3690 "parse.y"
7765 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
7768 #line 3692 "parse.y"
7769 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
7772 #line 3694 "parse.y"
7773 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
7776 #line 3696 "parse.y"
7777 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7780 #line 3698 "parse.y"
7781 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
7784 #line 3700 "parse.y"
7785 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
7788 #line 3702 "parse.y"
7789 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
7792 #line 3704 "parse.y"
7793 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
7796 #line 3706 "parse.y"
7797 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
7800 #line 3708 "parse.y"
7801 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
7804 #line 3710 "parse.y"
7805 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
7808 #line 3712 "parse.y"
7809 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
7812 #line 3715 "parse.y"
7813 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7816 #line 3717 "parse.y"
7817 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
7820 /* the action file gets copied in in place of this dollarsign */
7821 #line 498 "/usr/lib/bison.simple"
7832 short *ssp1
= yyss
- 1;
7833 fprintf (stderr
, "state stack now");
7834 while (ssp1
!= yyssp
)
7835 fprintf (stderr
, " %d", *++ssp1
);
7836 fprintf (stderr
, "\n");
7846 yylsp
->first_line
= yylloc
.first_line
;
7847 yylsp
->first_column
= yylloc
.first_column
;
7848 yylsp
->last_line
= (yylsp
-1)->last_line
;
7849 yylsp
->last_column
= (yylsp
-1)->last_column
;
7854 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
7855 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
7859 /* Now "shift" the result of the reduction.
7860 Determine what state that goes to,
7861 based on the state we popped back to
7862 and the rule number reduced by. */
7866 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
7867 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
7868 yystate
= yytable
[yystate
];
7870 yystate
= yydefgoto
[yyn
- YYNTBASE
];
7874 yyerrlab
: /* here on detecting error */
7877 /* If not already recovering from an error, report this error. */
7881 #ifdef YYERROR_VERBOSE
7882 yyn
= yypact
[yystate
];
7884 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
7891 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7892 for (x
= (yyn
< 0 ? -yyn
: 0);
7893 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7894 if (yycheck
[x
+ yyn
] == x
)
7895 size
+= strlen(yytname
[x
]) + 15, count
++;
7896 msg
= (char *) malloc(size
+ 15);
7899 strcpy(msg
, "parse error");
7904 for (x
= (yyn
< 0 ? -yyn
: 0);
7905 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7906 if (yycheck
[x
+ yyn
] == x
)
7908 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
7909 strcat(msg
, yytname
[x
]);
7918 yyerror ("parse error; also virtual memory exceeded");
7921 #endif /* YYERROR_VERBOSE */
7922 yyerror("parse error");
7926 yyerrlab1
: /* here on error raised explicitly by an action */
7928 if (yyerrstatus
== 3)
7930 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7932 /* return failure if at end of input */
7933 if (yychar
== YYEOF
)
7938 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
7944 /* Else will try to reuse lookahead token
7945 after shifting the error token. */
7947 yyerrstatus
= 3; /* Each real token shifted decrements this */
7951 yyerrdefault
: /* current state does not do anything special for the error token. */
7954 /* This is wrong; only states that explicitly want error tokens
7955 should shift them. */
7956 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7957 if (yyn
) goto yydefault
;
7960 yyerrpop
: /* pop the current state because it cannot handle the error token */
7962 if (yyssp
== yyss
) YYABORT
;
7972 short *ssp1
= yyss
- 1;
7973 fprintf (stderr
, "Error: state stack now");
7974 while (ssp1
!= yyssp
)
7975 fprintf (stderr
, " %d", *++ssp1
);
7976 fprintf (stderr
, "\n");
7982 yyn
= yypact
[yystate
];
7987 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8006 fprintf(stderr
, "Shifting error token, ");
8017 #line 3720 "parse.y"
8022 debug_yytranslate (value
)
8025 return yytname
[YYTRANSLATE (value
)];