2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
6 #define YYBISON 1 /* Identify Bison output. */
14 #define CV_QUALIFIER 264
32 #define ASM_KEYWORD 282
50 #define TYPENAME_KEYWORD 300
52 #define LEFT_RIGHT 302
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
69 #define ARITHCOMPARE 319
72 #define POINTSAT_STAR 322
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
85 #define PRE_PARSED_CLASS_DECL 335
87 #define DEFARG_MARKER 337
88 #define TYPENAME_DEFN 338
89 #define IDENTIFIER_DEFN 339
90 #define PTYPENAME_DEFN 340
91 #define END_OF_LINE 341
92 #define END_OF_SAVED_INPUT 342
96 /* Cause the `yydebug' variable to be defined. */
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 char *language_string
= "GNU C++";
116 extern tree void_list_node
;
117 extern struct obstack permanent_obstack
;
119 extern int end_of_file
;
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static char *cond_stmt_keyword
;
131 static tree empty_parms
PROTO((void));
133 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
134 int have_extern_spec
;
135 int used_extern_spec
;
137 /* Cons up an empty parameter list. */
147 || current_class_type
!= NULL
)
148 parms
= void_list_node
;
156 typedef union {long itype
; tree ttype
; char *strtype
; enum tree_code code
; flagged_type_tree ftype
; } YYSTYPE
;
159 /* List of types and structure classes of the current declaration. */
160 static tree current_declspecs
;
162 /* List of prefix attributes in effect.
163 Prefix attributes are parsed by the reserved_declspecs and declmods
164 rules. They create a list that contains *both* declspecs and attrs. */
165 /* ??? It is not clear yet that all cases where an attribute can now appear in
166 a declspec list have been updated. */
167 static tree prefix_attributes
;
169 /* When defining an aggregate, this is the kind of the most recent one
170 being defined. (For example, this might be class_type_node.) */
171 static tree current_aggr
;
173 /* When defining an enumeration, this is the type of the enumeration. */
174 static tree current_enum_type
;
176 /* Tell yyparse how to print a token's value, if yydebug is set. */
178 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
179 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
180 extern tree combine_strings
PROTO((tree
));
183 parse_decl(declarator
, specs_attrs
, attributes
, initialized
, decl
)
192 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
193 if (current_declspecs
194 && TREE_CODE (current_declspecs
) != TREE_LIST
)
195 current_declspecs
= get_decl_list (current_declspecs
);
196 if (have_extern_spec
&& !used_extern_spec
)
198 current_declspecs
= decl_tree_cons (NULL_TREE
,
199 get_identifier ("extern"),
201 used_extern_spec
= 1;
203 sm
= suspend_momentary ();
204 *decl
= start_decl (declarator
, current_declspecs
, initialized
,
205 attributes
, prefix_attributes
);
219 #define YYFLAG -32768
222 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 399)
224 static const char yytranslate
[] = { 0,
225 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 110, 2, 2, 2, 82, 70, 2, 93,
229 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
230 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
231 64, 75, 65, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
234 94, 2, 111, 69, 2, 2, 2, 2, 2, 2,
235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 58, 68, 109, 88, 2, 2, 2, 2,
238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
247 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
248 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
249 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
250 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
251 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
252 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
253 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
254 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
255 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
256 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
257 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
258 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
263 static const short yyprhs
[] = { 0,
264 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
265 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
266 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
267 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
268 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
269 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
270 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
271 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
272 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
273 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
274 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
275 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
276 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
277 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
278 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
279 485, 486, 493, 494, 501, 502, 508, 509, 515, 516,
280 524, 525, 533, 534, 541, 542, 549, 550, 551, 557,
281 563, 565, 567, 573, 579, 580, 582, 584, 585, 587,
282 589, 593, 595, 597, 599, 601, 603, 605, 607, 609,
283 611, 613, 615, 619, 621, 625, 626, 628, 630, 631,
284 639, 641, 643, 647, 652, 656, 657, 661, 663, 667,
285 671, 675, 679, 681, 683, 685, 688, 691, 694, 697,
286 700, 703, 706, 711, 714, 719, 722, 726, 730, 735,
287 741, 748, 755, 763, 766, 771, 777, 780, 783, 785,
288 786, 791, 796, 800, 802, 806, 809, 813, 818, 820,
289 823, 829, 831, 835, 839, 843, 847, 851, 855, 859,
290 863, 867, 871, 875, 879, 883, 887, 891, 895, 899,
291 903, 907, 913, 917, 921, 923, 926, 930, 934, 936,
292 938, 940, 942, 944, 945, 951, 957, 963, 969, 975,
293 977, 979, 981, 983, 986, 988, 991, 994, 998, 1003,
294 1008, 1010, 1012, 1014, 1018, 1020, 1022, 1024, 1026, 1030,
295 1034, 1038, 1039, 1044, 1049, 1052, 1057, 1060, 1065, 1068,
296 1071, 1073, 1078, 1080, 1088, 1096, 1104, 1112, 1117, 1122,
297 1125, 1128, 1131, 1133, 1138, 1141, 1144, 1150, 1154, 1157,
298 1160, 1166, 1170, 1176, 1180, 1185, 1192, 1195, 1197, 1200,
299 1202, 1205, 1207, 1209, 1211, 1214, 1215, 1218, 1221, 1225,
300 1229, 1233, 1236, 1239, 1242, 1244, 1246, 1248, 1251, 1254,
301 1257, 1260, 1262, 1264, 1266, 1268, 1271, 1274, 1278, 1282,
302 1286, 1291, 1293, 1296, 1299, 1302, 1304, 1306, 1308, 1311,
303 1314, 1317, 1319, 1321, 1324, 1327, 1331, 1333, 1336, 1338,
304 1340, 1342, 1347, 1352, 1357, 1362, 1364, 1366, 1368, 1370,
305 1374, 1376, 1380, 1382, 1386, 1387, 1392, 1393, 1400, 1404,
306 1405, 1410, 1412, 1416, 1420, 1421, 1426, 1430, 1431, 1433,
307 1435, 1438, 1445, 1447, 1451, 1452, 1454, 1459, 1466, 1471,
308 1473, 1475, 1477, 1479, 1481, 1485, 1486, 1489, 1491, 1494,
309 1498, 1503, 1505, 1507, 1511, 1516, 1520, 1526, 1528, 1533,
310 1537, 1541, 1542, 1546, 1550, 1554, 1555, 1558, 1561, 1562,
311 1570, 1575, 1576, 1583, 1587, 1590, 1593, 1596, 1597, 1598,
312 1608, 1610, 1611, 1613, 1614, 1616, 1618, 1621, 1624, 1627,
313 1630, 1633, 1636, 1639, 1642, 1645, 1649, 1654, 1658, 1661,
314 1665, 1667, 1668, 1672, 1673, 1677, 1680, 1682, 1684, 1685,
315 1688, 1692, 1694, 1699, 1701, 1705, 1707, 1709, 1714, 1719,
316 1722, 1725, 1729, 1733, 1735, 1736, 1738, 1742, 1745, 1748,
317 1750, 1753, 1756, 1759, 1762, 1765, 1768, 1771, 1773, 1776,
318 1779, 1783, 1786, 1789, 1794, 1799, 1802, 1804, 1810, 1815,
319 1817, 1818, 1820, 1824, 1825, 1827, 1831, 1833, 1835, 1837,
320 1839, 1844, 1849, 1854, 1859, 1864, 1868, 1873, 1878, 1883,
321 1888, 1892, 1894, 1898, 1900, 1904, 1907, 1909, 1917, 1918,
322 1921, 1923, 1926, 1927, 1930, 1935, 1940, 1943, 1948, 1952,
323 1956, 1959, 1962, 1966, 1968, 1970, 1973, 1975, 1977, 1980,
324 1983, 1988, 1993, 1997, 2001, 2004, 2006, 2008, 2011, 2015,
325 2019, 2022, 2025, 2029, 2031, 2035, 2039, 2042, 2045, 2049,
326 2051, 2056, 2060, 2065, 2069, 2071, 2074, 2077, 2080, 2083,
327 2086, 2088, 2091, 2096, 2101, 2104, 2106, 2108, 2110, 2112,
328 2115, 2120, 2123, 2126, 2129, 2132, 2134, 2137, 2140, 2143,
329 2146, 2150, 2152, 2155, 2159, 2164, 2167, 2170, 2173, 2176,
330 2179, 2182, 2187, 2190, 2192, 2195, 2198, 2202, 2204, 2208,
331 2211, 2215, 2218, 2221, 2225, 2227, 2231, 2236, 2240, 2243,
332 2246, 2248, 2252, 2255, 2258, 2260, 2263, 2267, 2269, 2273,
333 2275, 2282, 2287, 2292, 2296, 2302, 2306, 2310, 2314, 2317,
334 2319, 2321, 2324, 2327, 2330, 2331, 2333, 2335, 2338, 2342,
335 2344, 2347, 2348, 2352, 2353, 2354, 2360, 2362, 2363, 2366,
336 2368, 2370, 2372, 2375, 2376, 2381, 2383, 2384, 2385, 2391,
337 2392, 2393, 2401, 2402, 2403, 2404, 2405, 2418, 2419, 2420,
338 2428, 2429, 2435, 2436, 2444, 2445, 2450, 2453, 2456, 2459,
339 2463, 2470, 2479, 2490, 2503, 2508, 2512, 2515, 2518, 2520,
340 2522, 2524, 2526, 2528, 2529, 2530, 2537, 2538, 2539, 2545,
341 2547, 2550, 2551, 2552, 2558, 2560, 2562, 2566, 2570, 2573,
342 2576, 2579, 2582, 2585, 2587, 2590, 2591, 2593, 2594, 2596,
343 2598, 2599, 2601, 2603, 2607, 2612, 2614, 2618, 2619, 2621,
344 2623, 2625, 2628, 2631, 2634, 2636, 2639, 2642, 2643, 2647,
345 2649, 2651, 2653, 2656, 2659, 2662, 2667, 2670, 2673, 2676,
346 2679, 2682, 2685, 2687, 2690, 2692, 2695, 2697, 2699, 2700,
347 2701, 2703, 2704, 2709, 2712, 2714, 2716, 2720, 2721, 2725,
348 2729, 2733, 2735, 2738, 2741, 2744, 2747, 2750, 2753, 2756,
349 2759, 2762, 2765, 2768, 2771, 2774, 2777, 2780, 2783, 2786,
350 2789, 2792, 2795, 2798, 2801, 2804, 2808, 2811, 2814, 2817,
351 2820, 2824, 2827, 2830, 2835, 2840, 2844
354 static const short yyrhs
[] = { -1,
355 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
356 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
357 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
358 93, 219, 108, 60, 0, 133, 58, 115, 109, 0,
359 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
360 0, 0, 44, 163, 58, 123, 115, 109, 0, 0,
361 44, 58, 124, 115, 109, 0, 125, 0, 127, 60,
362 0, 129, 0, 118, 122, 0, 0, 44, 163, 64,
363 126, 132, 60, 0, 46, 313, 0, 46, 327, 313,
364 0, 46, 327, 209, 0, 46, 131, 163, 0, 46,
365 327, 163, 0, 46, 327, 131, 163, 0, 0, 46,
366 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
367 54, 0, 209, 0, 313, 0, 327, 313, 0, 327,
368 209, 0, 98, 0, 133, 98, 0, 0, 48, 74,
369 135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
370 136, 59, 140, 0, 163, 0, 0, 268, 137, 0,
371 45, 137, 0, 134, 268, 137, 0, 138, 0, 138,
372 64, 225, 0, 390, 0, 390, 64, 204, 0, 139,
373 0, 139, 64, 184, 0, 134, 142, 0, 134, 1,
374 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
375 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
376 142, 0, 236, 60, 0, 229, 235, 60, 0, 226,
377 234, 60, 0, 261, 60, 0, 236, 60, 0, 229,
378 235, 60, 0, 226, 234, 60, 0, 229, 60, 0,
379 166, 60, 0, 226, 60, 0, 1, 60, 0, 1,
380 109, 0, 60, 0, 220, 0, 159, 0, 0, 158,
381 0, 158, 60, 0, 0, 107, 0, 154, 146, 145,
382 337, 0, 154, 146, 361, 0, 154, 146, 1, 0,
383 0, 318, 5, 93, 150, 381, 108, 299, 393, 0,
384 318, 5, 47, 299, 393, 0, 0, 327, 318, 5,
385 93, 151, 381, 108, 299, 393, 0, 327, 318, 5,
386 47, 299, 393, 0, 0, 318, 179, 93, 152, 381,
387 108, 299, 393, 0, 318, 179, 47, 299, 393, 0,
388 0, 327, 318, 179, 93, 153, 381, 108, 299, 393,
389 0, 327, 318, 179, 47, 299, 393, 0, 226, 223,
390 0, 229, 310, 0, 310, 0, 229, 149, 0, 149,
391 0, 5, 93, 381, 108, 299, 393, 0, 5, 47,
392 299, 393, 0, 179, 93, 381, 108, 299, 393, 0,
393 179, 47, 299, 393, 0, 229, 155, 0, 155, 0,
394 226, 223, 0, 229, 310, 0, 310, 0, 229, 149,
395 0, 149, 0, 25, 3, 0, 157, 253, 0, 157,
396 93, 196, 108, 0, 157, 47, 0, 62, 160, 161,
397 0, 0, 0, 162, 0, 161, 59, 162, 0, 161,
398 1, 0, 93, 196, 108, 0, 47, 0, 164, 93,
399 196, 108, 0, 164, 47, 0, 305, 93, 196, 108,
400 0, 305, 47, 0, 320, 93, 196, 108, 0, 320,
401 47, 0, 3, 0, 4, 0, 5, 0, 56, 0,
402 57, 0, 3, 0, 56, 0, 57, 0, 104, 0,
403 103, 0, 105, 0, 0, 48, 175, 232, 60, 167,
404 176, 0, 0, 48, 175, 226, 223, 168, 176, 0,
405 0, 48, 175, 310, 169, 176, 0, 0, 48, 175,
406 149, 170, 176, 0, 0, 7, 48, 175, 232, 60,
407 171, 176, 0, 0, 7, 48, 175, 226, 223, 172,
408 176, 0, 0, 7, 48, 175, 310, 173, 176, 0,
409 0, 7, 48, 175, 149, 174, 176, 0, 0, 0,
410 56, 74, 182, 181, 180, 0, 4, 74, 182, 181,
411 180, 0, 179, 0, 177, 0, 163, 74, 182, 75,
412 180, 0, 5, 74, 182, 181, 180, 0, 0, 75,
413 0, 77, 0, 0, 183, 0, 184, 0, 183, 59,
414 184, 0, 225, 0, 56, 0, 204, 0, 79, 0,
415 78, 0, 86, 0, 87, 0, 110, 0, 195, 0,
416 204, 0, 47, 0, 93, 186, 108, 0, 47, 0,
417 93, 190, 108, 0, 0, 190, 0, 1, 0, 0,
418 371, 223, 237, 246, 64, 191, 254, 0, 186, 0,
419 109, 0, 334, 332, 109, 0, 334, 332, 1, 109,
420 0, 334, 1, 109, 0, 0, 58, 194, 192, 0,
421 346, 0, 204, 59, 204, 0, 204, 59, 1, 0,
422 195, 59, 204, 0, 195, 59, 1, 0, 204, 0,
423 195, 0, 214, 0, 118, 203, 0, 80, 203, 0,
424 70, 203, 0, 88, 203, 0, 185, 203, 0, 67,
425 163, 0, 13, 197, 0, 13, 93, 225, 108, 0,
426 29, 197, 0, 29, 93, 225, 108, 0, 216, 298,
427 0, 216, 298, 201, 0, 216, 200, 298, 0, 216,
428 200, 298, 201, 0, 216, 93, 199, 225, 198, 0,
429 216, 93, 199, 225, 198, 201, 0, 216, 200, 93,
430 199, 225, 198, 0, 216, 200, 93, 199, 225, 198,
431 201, 0, 217, 203, 0, 217, 94, 111, 203, 0,
432 217, 94, 186, 111, 203, 0, 34, 203, 0, 35,
433 203, 0, 108, 0, 0, 93, 199, 196, 108, 0,
434 58, 199, 196, 109, 0, 93, 196, 108, 0, 47,
435 0, 93, 232, 108, 0, 64, 254, 0, 93, 225,
436 108, 0, 202, 93, 225, 108, 0, 197, 0, 202,
437 197, 0, 202, 58, 255, 266, 109, 0, 203, 0,
438 204, 83, 204, 0, 204, 84, 204, 0, 204, 78,
439 204, 0, 204, 79, 204, 0, 204, 80, 204, 0,
440 204, 81, 204, 0, 204, 82, 204, 0, 204, 76,
441 204, 0, 204, 77, 204, 0, 204, 73, 204, 0,
442 204, 74, 204, 0, 204, 75, 204, 0, 204, 72,
443 204, 0, 204, 71, 204, 0, 204, 70, 204, 0,
444 204, 68, 204, 0, 204, 69, 204, 0, 204, 67,
445 204, 0, 204, 66, 204, 0, 204, 65, 376, 62,
446 204, 0, 204, 64, 204, 0, 204, 63, 204, 0,
447 61, 0, 61, 204, 0, 88, 391, 163, 0, 88,
448 391, 177, 0, 207, 0, 398, 0, 3, 0, 56,
449 0, 57, 0, 0, 6, 74, 206, 182, 181, 0,
450 398, 74, 206, 182, 181, 0, 48, 163, 74, 182,
451 181, 0, 48, 6, 74, 182, 181, 0, 48, 398,
452 74, 182, 181, 0, 205, 0, 4, 0, 5, 0,
453 211, 0, 247, 211, 0, 205, 0, 80, 210, 0,
454 70, 210, 0, 93, 210, 108, 0, 3, 74, 182,
455 181, 0, 57, 74, 183, 181, 0, 312, 0, 205,
456 0, 212, 0, 93, 210, 108, 0, 205, 0, 10,
457 0, 218, 0, 219, 0, 93, 186, 108, 0, 93,
458 210, 108, 0, 93, 1, 108, 0, 0, 93, 215,
459 338, 108, 0, 205, 93, 196, 108, 0, 205, 47,
460 0, 214, 93, 196, 108, 0, 214, 47, 0, 214,
461 94, 186, 111, 0, 214, 86, 0, 214, 87, 0,
462 40, 0, 9, 93, 196, 108, 0, 316, 0, 50,
463 74, 225, 75, 93, 186, 108, 0, 51, 74, 225,
464 75, 93, 186, 108, 0, 52, 74, 225, 75, 93,
465 186, 108, 0, 53, 74, 225, 75, 93, 186, 108,
466 0, 49, 93, 186, 108, 0, 49, 93, 225, 108,
467 0, 327, 3, 0, 327, 207, 0, 327, 398, 0,
468 315, 0, 315, 93, 196, 108, 0, 315, 47, 0,
469 221, 208, 0, 221, 208, 93, 196, 108, 0, 221,
470 208, 47, 0, 221, 209, 0, 221, 315, 0, 221,
471 209, 93, 196, 108, 0, 221, 209, 47, 0, 221,
472 315, 93, 196, 108, 0, 221, 315, 47, 0, 221,
473 88, 8, 47, 0, 221, 8, 54, 88, 8, 47,
474 0, 221, 1, 0, 39, 0, 327, 39, 0, 38,
475 0, 327, 217, 0, 42, 0, 43, 0, 11, 0,
476 219, 11, 0, 0, 214, 92, 0, 214, 91, 0,
477 232, 234, 60, 0, 226, 234, 60, 0, 229, 235,
478 60, 0, 226, 60, 0, 229, 60, 0, 118, 222,
479 0, 304, 0, 310, 0, 47, 0, 224, 47, 0,
480 230, 330, 0, 300, 330, 0, 232, 330, 0, 230,
481 0, 300, 0, 230, 0, 227, 0, 229, 232, 0,
482 232, 228, 0, 232, 231, 228, 0, 229, 232, 228,
483 0, 229, 232, 231, 0, 229, 232, 231, 228, 0,
484 7, 0, 228, 233, 0, 228, 7, 0, 228, 247,
485 0, 247, 0, 300, 0, 7, 0, 229, 9, 0,
486 229, 7, 0, 229, 247, 0, 247, 0, 232, 0,
487 300, 232, 0, 232, 231, 0, 300, 232, 231, 0,
488 233, 0, 231, 233, 0, 261, 0, 8, 0, 306,
489 0, 28, 93, 186, 108, 0, 28, 93, 225, 108,
490 0, 30, 93, 186, 108, 0, 30, 93, 225, 108,
491 0, 8, 0, 9, 0, 261, 0, 242, 0, 234,
492 59, 238, 0, 243, 0, 235, 59, 238, 0, 244,
493 0, 236, 59, 238, 0, 0, 119, 93, 219, 108,
494 0, 0, 223, 237, 246, 64, 239, 254, 0, 223,
495 237, 246, 0, 0, 246, 64, 241, 254, 0, 246,
496 0, 223, 237, 240, 0, 310, 237, 240, 0, 0,
497 310, 237, 245, 240, 0, 149, 237, 246, 0, 0,
498 247, 0, 248, 0, 247, 248, 0, 31, 93, 93,
499 249, 108, 108, 0, 250, 0, 249, 59, 250, 0,
500 0, 251, 0, 251, 93, 3, 108, 0, 251, 93,
501 3, 59, 196, 108, 0, 251, 93, 196, 108, 0,
502 163, 0, 7, 0, 8, 0, 9, 0, 163, 0,
503 252, 59, 163, 0, 0, 64, 254, 0, 204, 0,
504 58, 109, 0, 58, 255, 109, 0, 58, 255, 59,
505 109, 0, 1, 0, 254, 0, 255, 59, 254, 0,
506 94, 204, 111, 254, 0, 163, 62, 254, 0, 255,
507 59, 163, 62, 254, 0, 97, 0, 256, 146, 145,
508 337, 0, 256, 146, 361, 0, 256, 146, 1, 0,
509 0, 258, 257, 147, 0, 102, 204, 107, 0, 102,
510 1, 107, 0, 0, 260, 259, 0, 260, 1, 0,
511 0, 14, 163, 58, 262, 296, 267, 109, 0, 14,
512 163, 58, 109, 0, 0, 14, 58, 263, 296, 267,
513 109, 0, 14, 58, 109, 0, 14, 163, 0, 14,
514 325, 0, 45, 320, 0, 0, 0, 276, 282, 283,
515 109, 246, 264, 260, 265, 258, 0, 276, 0, 0,
516 59, 0, 0, 59, 0, 36, 0, 268, 7, 0,
517 268, 8, 0, 268, 9, 0, 268, 36, 0, 268,
518 247, 0, 268, 163, 0, 268, 165, 0, 269, 58,
519 0, 269, 62, 0, 268, 318, 163, 0, 268, 327,
520 318, 163, 0, 268, 327, 163, 0, 268, 178, 0,
521 268, 318, 178, 0, 269, 0, 0, 270, 273, 277,
522 0, 0, 271, 274, 277, 0, 268, 58, 0, 275,
523 0, 272, 0, 0, 62, 391, 0, 62, 391, 278,
524 0, 279, 0, 278, 59, 391, 279, 0, 280, 0,
525 281, 391, 280, 0, 320, 0, 305, 0, 30, 93,
526 186, 108, 0, 30, 93, 225, 108, 0, 37, 391,
527 0, 7, 391, 0, 281, 37, 391, 0, 281, 7,
528 391, 0, 58, 0, 0, 285, 0, 283, 284, 285,
529 0, 283, 284, 0, 37, 62, 0, 286, 0, 285,
530 286, 0, 287, 60, 0, 287, 109, 0, 156, 62,
531 0, 156, 95, 0, 156, 25, 0, 156, 58, 0,
532 60, 0, 118, 286, 0, 134, 286, 0, 134, 226,
533 60, 0, 226, 288, 0, 229, 289, 0, 310, 237,
534 246, 253, 0, 149, 237, 246, 253, 0, 62, 204,
535 0, 1, 0, 229, 155, 237, 246, 253, 0, 155,
536 237, 246, 253, 0, 127, 0, 0, 290, 0, 288,
537 59, 291, 0, 0, 293, 0, 289, 59, 295, 0,
538 292, 0, 293, 0, 294, 0, 295, 0, 304, 237,
539 246, 253, 0, 4, 62, 204, 246, 0, 310, 237,
540 246, 253, 0, 149, 237, 246, 253, 0, 3, 62,
541 204, 246, 0, 62, 204, 246, 0, 304, 237, 246,
542 253, 0, 4, 62, 204, 246, 0, 310, 237, 246,
543 253, 0, 3, 62, 204, 246, 0, 62, 204, 246,
544 0, 297, 0, 296, 59, 297, 0, 163, 0, 163,
545 64, 204, 0, 371, 328, 0, 371, 0, 93, 199,
546 225, 198, 94, 186, 111, 0, 0, 299, 9, 0,
547 9, 0, 300, 9, 0, 0, 301, 186, 0, 301,
548 93, 196, 108, 0, 301, 93, 381, 108, 0, 301,
549 47, 0, 301, 93, 1, 108, 0, 80, 300, 304,
550 0, 70, 300, 304, 0, 80, 304, 0, 70, 304,
551 0, 326, 299, 304, 0, 308, 0, 317, 0, 327,
552 317, 0, 305, 0, 307, 0, 327, 307, 0, 318,
553 317, 0, 308, 303, 299, 393, 0, 308, 94, 302,
554 111, 0, 308, 94, 111, 0, 93, 304, 108, 0,
555 318, 317, 0, 317, 0, 310, 0, 247, 310, 0,
556 80, 300, 309, 0, 70, 300, 309, 0, 80, 309,
557 0, 70, 309, 0, 326, 299, 309, 0, 213, 0,
558 80, 300, 309, 0, 70, 300, 309, 0, 80, 311,
559 0, 70, 311, 0, 326, 299, 309, 0, 312, 0,
560 213, 303, 299, 393, 0, 93, 311, 108, 0, 213,
561 94, 302, 111, 0, 213, 94, 111, 0, 314, 0,
562 318, 212, 0, 318, 209, 0, 318, 208, 0, 318,
563 205, 0, 318, 208, 0, 314, 0, 327, 314, 0,
564 232, 93, 196, 108, 0, 232, 93, 210, 108, 0,
565 232, 224, 0, 4, 0, 5, 0, 177, 0, 319,
566 0, 318, 319, 0, 318, 48, 324, 54, 0, 4,
567 54, 0, 5, 54, 0, 57, 54, 0, 177, 54,
568 0, 321, 0, 327, 321, 0, 322, 163, 0, 322,
569 177, 0, 322, 324, 0, 322, 48, 324, 0, 323,
570 0, 322, 323, 0, 322, 324, 54, 0, 322, 48,
571 324, 54, 0, 4, 54, 0, 5, 54, 0, 177,
572 54, 0, 56, 54, 0, 3, 54, 0, 57, 54,
573 0, 163, 74, 182, 181, 0, 327, 317, 0, 307,
574 0, 327, 307, 0, 318, 80, 0, 327, 318, 80,
575 0, 54, 0, 80, 299, 328, 0, 80, 299, 0,
576 70, 299, 328, 0, 70, 299, 0, 326, 299, 0,
577 326, 299, 328, 0, 329, 0, 94, 186, 111, 0,
578 329, 94, 302, 111, 0, 80, 300, 330, 0, 80,
579 330, 0, 80, 300, 0, 80, 0, 70, 300, 330,
580 0, 70, 330, 0, 70, 300, 0, 70, 0, 326,
581 299, 0, 326, 299, 330, 0, 331, 0, 93, 330,
582 108, 0, 90, 0, 331, 93, 381, 108, 299, 393,
583 0, 331, 47, 299, 393, 0, 331, 94, 302, 111,
584 0, 331, 94, 111, 0, 93, 382, 108, 299, 393,
585 0, 202, 299, 393, 0, 224, 299, 393, 0, 94,
586 302, 111, 0, 94, 111, 0, 345, 0, 333, 0,
587 332, 345, 0, 332, 333, 0, 1, 60, 0, 0,
588 335, 0, 336, 0, 335, 336, 0, 33, 252, 60,
589 0, 338, 0, 1, 338, 0, 0, 58, 339, 192,
590 0, 0, 0, 15, 341, 188, 342, 343, 0, 338,
591 0, 0, 344, 346, 0, 338, 0, 346, 0, 222,
592 0, 186, 60, 0, 0, 340, 16, 347, 343, 0,
593 340, 0, 0, 0, 17, 348, 188, 349, 193, 0,
594 0, 0, 18, 350, 343, 17, 351, 187, 60, 0,
595 0, 0, 0, 0, 19, 352, 93, 374, 353, 189,
596 60, 354, 376, 108, 355, 193, 0, 0, 0, 20,
597 356, 93, 190, 108, 357, 343, 0, 0, 21, 204,
598 62, 358, 345, 0, 0, 21, 204, 12, 204, 62,
599 359, 345, 0, 0, 22, 62, 360, 345, 0, 23,
600 60, 0, 24, 60, 0, 25, 60, 0, 25, 186,
601 60, 0, 119, 375, 93, 219, 108, 60, 0, 119,
602 375, 93, 219, 62, 377, 108, 60, 0, 119, 375,
603 93, 219, 62, 377, 62, 377, 108, 60, 0, 119,
604 375, 93, 219, 62, 377, 62, 377, 62, 380, 108,
605 60, 0, 26, 80, 186, 60, 0, 26, 163, 60,
606 0, 373, 345, 0, 373, 109, 0, 60, 0, 364,
607 0, 129, 0, 128, 0, 125, 0, 0, 0, 95,
608 362, 145, 338, 363, 367, 0, 0, 0, 95, 365,
609 338, 366, 367, 0, 368, 0, 367, 368, 0, 0,
610 0, 96, 369, 372, 370, 338, 0, 230, 0, 300,
611 0, 93, 12, 108, 0, 93, 390, 108, 0, 3,
612 62, 0, 56, 62, 0, 4, 62, 0, 5, 62,
613 0, 376, 60, 0, 222, 0, 58, 192, 0, 0,
614 9, 0, 0, 186, 0, 1, 0, 0, 378, 0,
615 379, 0, 378, 59, 379, 0, 11, 93, 186, 108,
616 0, 11, 0, 380, 59, 11, 0, 0, 382, 0,
617 225, 0, 386, 0, 387, 12, 0, 386, 12, 0,
618 225, 12, 0, 12, 0, 386, 62, 0, 225, 62,
619 0, 0, 64, 384, 385, 0, 101, 0, 254, 0,
620 388, 0, 390, 383, 0, 387, 389, 0, 387, 392,
621 0, 387, 392, 64, 254, 0, 386, 59, 0, 225,
622 59, 0, 227, 223, 0, 230, 223, 0, 232, 223,
623 0, 227, 330, 0, 227, 0, 229, 310, 0, 390,
624 0, 390, 383, 0, 388, 0, 225, 0, 0, 0,
625 310, 0, 0, 61, 93, 395, 108, 0, 61, 47,
626 0, 225, 0, 394, 0, 395, 59, 394, 0, 0,
627 80, 299, 396, 0, 70, 299, 396, 0, 326, 299,
628 396, 0, 41, 0, 397, 80, 0, 397, 81, 0,
629 397, 82, 0, 397, 78, 0, 397, 79, 0, 397,
630 70, 0, 397, 68, 0, 397, 69, 0, 397, 88,
631 0, 397, 59, 0, 397, 73, 0, 397, 74, 0,
632 397, 75, 0, 397, 72, 0, 397, 63, 0, 397,
633 64, 0, 397, 76, 0, 397, 77, 0, 397, 86,
634 0, 397, 87, 0, 397, 67, 0, 397, 66, 0,
635 397, 110, 0, 397, 65, 62, 0, 397, 71, 0,
636 397, 91, 0, 397, 83, 0, 397, 47, 0, 397,
637 94, 111, 0, 397, 39, 0, 397, 38, 0, 397,
638 39, 94, 111, 0, 397, 38, 94, 111, 0, 397,
639 371, 396, 0, 397, 1, 0
645 static const short yyrline
[] = { 0,
646 337, 339, 347, 350, 351, 355, 357, 360, 365, 369,
647 375, 379, 382, 386, 389, 391, 393, 396, 398, 401,
648 404, 406, 408, 410, 412, 413, 415, 416, 420, 423,
649 432, 435, 437, 441, 444, 446, 450, 453, 465, 472,
650 480, 482, 483, 485, 489, 492, 498, 501, 503, 508,
651 511, 515, 518, 521, 524, 528, 533, 543, 545, 547,
652 549, 551, 564, 567, 571, 574, 576, 578, 581, 584,
653 588, 590, 592, 594, 599, 601, 603, 605, 607, 608,
654 615, 616, 617, 620, 623, 627, 629, 630, 633, 635,
655 638, 641, 647, 651, 654, 656, 660, 662, 664, 668,
656 670, 672, 676, 678, 680, 686, 690, 693, 696, 699,
657 704, 707, 709, 711, 717, 729, 732, 737, 742, 745,
658 750, 755, 764, 767, 769, 773, 786, 806, 809, 811,
659 812, 815, 822, 828, 830, 832, 834, 836, 839, 844,
660 846, 847, 848, 849, 852, 854, 855, 858, 860, 861,
661 864, 869, 869, 873, 873, 876, 876, 879, 879, 883,
662 883, 888, 888, 891, 891, 894, 896, 899, 906, 910,
663 913, 916, 918, 922, 928, 937, 939, 947, 950, 953,
664 956, 960, 963, 965, 968, 971, 973, 975, 977, 981,
665 984, 987, 992, 996, 1001, 1005, 1008, 1009, 1013, 1032,
666 1039, 1042, 1044, 1045, 1046, 1049, 1053, 1054, 1058, 1062,
667 1065, 1067, 1071, 1074, 1077, 1081, 1084, 1086, 1088, 1090,
668 1093, 1097, 1099, 1102, 1104, 1110, 1113, 1116, 1119, 1131,
669 1136, 1140, 1144, 1149, 1151, 1155, 1159, 1161, 1170, 1174,
670 1177, 1180, 1185, 1188, 1190, 1198, 1211, 1216, 1222, 1224,
671 1226, 1239, 1242, 1244, 1246, 1248, 1250, 1252, 1254, 1256,
672 1258, 1260, 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276,
673 1278, 1280, 1282, 1286, 1288, 1290, 1307, 1310, 1312, 1313,
674 1314, 1315, 1316, 1319, 1331, 1334, 1338, 1341, 1343, 1348,
675 1350, 1351, 1354, 1356, 1364, 1366, 1368, 1370, 1374, 1377,
676 1381, 1385, 1386, 1387, 1391, 1399, 1400, 1401, 1415, 1417,
677 1420, 1422, 1433, 1438, 1440, 1442, 1444, 1446, 1448, 1450,
678 1453, 1455, 1472, 1473, 1477, 1481, 1485, 1489, 1491, 1495,
679 1497, 1499, 1507, 1509, 1511, 1513, 1517, 1519, 1521, 1523,
680 1528, 1530, 1532, 1534, 1537, 1539, 1541, 1585, 1588, 1592,
681 1595, 1599, 1602, 1607, 1609, 1613, 1626, 1629, 1636, 1643,
682 1648, 1650, 1655, 1657, 1664, 1666, 1670, 1674, 1680, 1684,
683 1687, 1690, 1693, 1703, 1705, 1708, 1712, 1715, 1718, 1721,
684 1724, 1730, 1736, 1738, 1743, 1745, 1754, 1757, 1759, 1762,
685 1768, 1770, 1780, 1784, 1787, 1790, 1795, 1798, 1806, 1808,
686 1810, 1812, 1815, 1818, 1833, 1852, 1855, 1857, 1860, 1862,
687 1866, 1868, 1872, 1874, 1878, 1881, 1885, 1891, 1892, 1904,
688 1911, 1914, 1920, 1924, 1929, 1935, 1936, 1944, 1947, 1951,
689 1954, 1958, 1963, 1966, 1970, 1973, 1975, 1977, 1979, 1986,
690 1988, 1989, 1990, 1994, 1997, 2001, 2004, 2010, 2012, 2015,
691 2018, 2021, 2027, 2030, 2033, 2035, 2037, 2041, 2047, 2055,
692 2062, 2066, 2068, 2073, 2076, 2079, 2081, 2083, 2087, 2092,
693 2099, 2103, 2107, 2114, 2118, 2121, 2124, 2130, 2142, 2144,
694 2147, 2167, 2169, 2172, 2174, 2179, 2181, 2183, 2185, 2187,
695 2189, 2193, 2201, 2204, 2206, 2210, 2216, 2221, 2226, 2228,
696 2232, 2235, 2239, 2245, 2248, 2270, 2276, 2278, 2281, 2284,
697 2286, 2290, 2292, 2296, 2301, 2307, 2310, 2311, 2332, 2355,
698 2357, 2361, 2372, 2386, 2391, 2392, 2393, 2394, 2397, 2412,
699 2417, 2423, 2425, 2430, 2432, 2434, 2436, 2438, 2440, 2443,
700 2453, 2460, 2485, 2491, 2494, 2497, 2499, 2510, 2515, 2518,
701 2523, 2526, 2533, 2543, 2546, 2553, 2563, 2565, 2568, 2570,
702 2573, 2580, 2588, 2595, 2601, 2607, 2615, 2619, 2624, 2628,
703 2631, 2640, 2642, 2646, 2649, 2654, 2658, 2664, 2675, 2678,
704 2682, 2686, 2694, 2699, 2705, 2708, 2710, 2712, 2718, 2721,
705 2723, 2725, 2727, 2731, 2734, 2752, 2762, 2764, 2765, 2769,
706 2774, 2777, 2779, 2781, 2783, 2787, 2793, 2795, 2803, 2806,
707 2808, 2810, 2812, 2816, 2819, 2822, 2824, 2826, 2828, 2832,
708 2835, 2838, 2840, 2842, 2844, 2846, 2853, 2857, 2862, 2866,
709 2871, 2873, 2877, 2880, 2882, 2885, 2887, 2888, 2891, 2893,
710 2895, 2901, 2916, 2922, 2928, 2942, 2944, 2948, 2962, 2964,
711 2966, 2970, 2976, 2989, 2991, 2995, 3008, 3014, 3016, 3017,
712 3018, 3026, 3031, 3040, 3041, 3045, 3048, 3054, 3060, 3063,
713 3065, 3067, 3069, 3073, 3077, 3081, 3084, 3089, 3092, 3094,
714 3096, 3098, 3100, 3102, 3104, 3106, 3110, 3114, 3118, 3122,
715 3123, 3125, 3127, 3129, 3131, 3133, 3135, 3137, 3139, 3147,
716 3149, 3150, 3151, 3154, 3160, 3162, 3167, 3169, 3172, 3186,
717 3189, 3192, 3196, 3199, 3206, 3208, 3211, 3213, 3215, 3218,
718 3221, 3224, 3227, 3229, 3232, 3236, 3238, 3244, 3246, 3247,
719 3249, 3254, 3256, 3258, 3260, 3262, 3265, 3266, 3268, 3271,
720 3272, 3275, 3275, 3278, 3278, 3281, 3281, 3283, 3285, 3287,
721 3289, 3295, 3301, 3304, 3307, 3313, 3315, 3317, 3321, 3323,
722 3324, 3325, 3327, 3330, 3337, 3342, 3348, 3352, 3354, 3357,
723 3359, 3362, 3366, 3368, 3371, 3373, 3376, 3393, 3399, 3407,
724 3409, 3411, 3415, 3418, 3419, 3427, 3431, 3435, 3438, 3439,
725 3445, 3448, 3451, 3453, 3457, 3462, 3465, 3475, 3480, 3481,
726 3488, 3491, 3494, 3496, 3499, 3501, 3511, 3525, 3529, 3532,
727 3534, 3538, 3542, 3545, 3548, 3550, 3554, 3556, 3563, 3570,
728 3573, 3576, 3580, 3584, 3590, 3594, 3599, 3601, 3604, 3609,
729 3615, 3626, 3629, 3631, 3635, 3640, 3642, 3649, 3652, 3654,
730 3656, 3662, 3667, 3670, 3672, 3674, 3676, 3678, 3680, 3682,
731 3684, 3686, 3688, 3690, 3692, 3694, 3696, 3698, 3700, 3702,
732 3704, 3706, 3708, 3710, 3712, 3714, 3716, 3718, 3720, 3722,
733 3724, 3726, 3728, 3730, 3732, 3735, 3737
738 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
740 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
741 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
742 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
743 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
744 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
745 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
746 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
747 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
748 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
749 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
750 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
751 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
752 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
753 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
754 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
755 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
756 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
757 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
758 "template_type_parm","template_template_parm","template_parm","template_def",
759 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
760 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
761 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
762 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
763 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
764 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
765 "apparent_template_type","self_template_type",".finish_template_type","template_close_bracket",
766 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
767 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
768 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
769 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
770 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
771 "unqualified_id","expr_or_declarator_intern","expr_or_declarator","notype_template_declarator",
772 "direct_notype_declarator","primary","@22","new","delete","boolean.literal",
773 "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
774 "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
775 "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
776 "nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0",
777 "notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute",
778 "attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init",
779 "init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again",
780 "pending_defargs","structsp","@26","@27","@28","@29","maybecomma","maybecomma_warn",
781 "aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
782 "named_complex_class_head_sans_basetype","named_class_head","@30","@31","unnamed_class_head",
783 "class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
784 "base_class_access_list","left_curly","opt.component_decl_list","access_specifier",
785 "component_decl_list","component_decl","component_decl_1","components","notype_components",
786 "component_declarator0","component_declarator","after_type_component_declarator0",
787 "notype_component_declarator0","after_type_component_declarator","notype_component_declarator",
788 "enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers",
789 "suspend_mom","nonmomentary_expr","maybe_parmlist","after_type_declarator","nonnested_type",
790 "complete_type_name","nested_type","direct_after_type_declarator","notype_declarator_intern",
791 "notype_declarator","complex_notype_declarator","complex_direct_notype_declarator",
792 "qualified_id","notype_qualified_id","overqualified_id","functional_cast","type_name",
793 "nested_name_specifier","nested_name_specifier_1","typename_sub","typename_sub0",
794 "typename_sub1","typename_sub2","explicit_template_type","complex_type_name",
795 "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
796 "direct_abstract_declarator","stmts","errstmt","maybe_label_decls","label_decls",
797 "label_decl","compstmt_or_error","compstmt","@32","simple_if","@33","@34","implicitly_scoped_stmt",
798 "@35","stmt","simple_stmt","@36","@37","@38","@39","@40","@41","@42","@43","@44",
799 "@45","@46","@47","@48","@49","function_try_block","@50","@51","try_block","@52",
800 "@53","handler_seq","handler","@54","@55","type_specifier_seq","handler_args",
801 "label_colon","for.init.statement","maybe_cv_qualifier","xexpr","asm_operands",
802 "nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","complex_parmlist",
803 "defarg","@56","defarg1","parms","parms_comma","named_parm","full_parm","parm",
804 "see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
805 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
809 static const short yyr1
[] = { 0,
810 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
811 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
812 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
813 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
814 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
815 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
816 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
817 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
818 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
819 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
820 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
821 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
822 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
823 161, 162, 162, 162, 162, 162, 162, 162, 162, 163,
824 163, 163, 163, 163, 164, 164, 164, 165, 165, 165,
825 167, 166, 168, 166, 169, 166, 170, 166, 171, 166,
826 172, 166, 173, 166, 174, 166, 175, 176, 177, 177,
827 177, 178, 178, 179, 180, 181, 181, 182, 182, 183,
828 183, 184, 184, 184, 185, 185, 185, 185, 185, 186,
829 186, 187, 187, 188, 188, 189, 189, 189, 191, 190,
830 190, 192, 192, 192, 192, 194, 193, 193, 195, 195,
831 195, 195, 196, 196, 197, 197, 197, 197, 197, 197,
832 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
833 197, 197, 197, 197, 197, 197, 197, 197, 198, 199,
834 200, 200, 201, 201, 201, 201, 202, 202, 203, 203,
835 203, 204, 204, 204, 204, 204, 204, 204, 204, 204,
836 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
837 204, 204, 204, 204, 204, 204, 205, 205, 205, 205,
838 205, 205, 205, 206, 207, 207, 208, 208, 208, 209,
839 209, 209, 210, 210, 211, 211, 211, 211, 212, 212,
840 213, 213, 213, 213, 214, 214, 214, 214, 214, 214,
841 214, 215, 214, 214, 214, 214, 214, 214, 214, 214,
842 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
843 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
844 214, 214, 214, 214, 214, 214, 214, 216, 216, 217,
845 217, 218, 218, 219, 219, 220, 221, 221, 222, 222,
846 222, 222, 222, 222, 223, 223, 224, 224, 225, 225,
847 225, 225, 225, 226, 226, 227, 227, 227, 227, 227,
848 227, 228, 228, 228, 228, 228, 229, 229, 229, 229,
849 229, 229, 230, 230, 230, 230, 231, 231, 232, 232,
850 232, 232, 232, 232, 232, 233, 233, 233, 234, 234,
851 235, 235, 236, 236, 237, 237, 239, 238, 238, 241,
852 240, 240, 242, 243, 245, 244, 244, 246, 246, 247,
853 247, 248, 249, 249, 250, 250, 250, 250, 250, 251,
854 251, 251, 251, 252, 252, 253, 253, 254, 254, 254,
855 254, 254, 255, 255, 255, 255, 255, 256, 257, 257,
856 257, 258, 258, 259, 259, 260, 260, 260, 262, 261,
857 261, 263, 261, 261, 261, 261, 261, 264, 265, 261,
858 261, 266, 266, 267, 267, 268, 268, 268, 268, 268,
859 268, 269, 270, 270, 270, 271, 271, 271, 271, 271,
860 272, 273, 272, 274, 272, 275, 276, 276, 277, 277,
861 277, 278, 278, 279, 279, 280, 280, 280, 280, 281,
862 281, 281, 281, 282, 283, 283, 283, 283, 284, 285,
863 285, 286, 286, 286, 286, 286, 286, 286, 286, 286,
864 286, 287, 287, 287, 287, 287, 287, 287, 287, 287,
865 288, 288, 288, 289, 289, 289, 290, 290, 291, 291,
866 292, 292, 293, 293, 293, 293, 294, 294, 295, 295,
867 295, 296, 296, 297, 297, 298, 298, 298, 299, 299,
868 300, 300, 301, 302, 303, 303, 303, 303, 304, 304,
869 304, 304, 304, 304, 305, 305, 306, 306, 306, 307,
870 308, 308, 308, 308, 308, 308, 309, 309, 310, 310,
871 310, 310, 310, 310, 311, 311, 311, 311, 311, 311,
872 312, 312, 312, 312, 312, 312, 313, 313, 314, 314,
873 315, 315, 316, 316, 316, 317, 317, 317, 318, 318,
874 318, 319, 319, 319, 319, 320, 320, 321, 321, 321,
875 321, 322, 322, 322, 322, 323, 323, 323, 323, 323,
876 323, 324, 325, 325, 325, 326, 326, 327, 328, 328,
877 328, 328, 328, 328, 328, 329, 329, 330, 330, 330,
878 330, 330, 330, 330, 330, 330, 330, 330, 331, 331,
879 331, 331, 331, 331, 331, 331, 331, 331, 331, 332,
880 332, 332, 332, 333, 334, 334, 335, 335, 336, 337,
881 337, 339, 338, 341, 342, 340, 343, 344, 343, 345,
882 345, 346, 346, 347, 346, 346, 348, 349, 346, 350,
883 351, 346, 352, 353, 354, 355, 346, 356, 357, 346,
884 358, 346, 359, 346, 360, 346, 346, 346, 346, 346,
885 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
886 346, 346, 346, 362, 363, 361, 365, 366, 364, 367,
887 367, 369, 370, 368, 371, 371, 372, 372, 373, 373,
888 373, 373, 374, 374, 374, 375, 375, 376, 376, 376,
889 377, 377, 378, 378, 379, 380, 380, 381, 381, 381,
890 382, 382, 382, 382, 382, 382, 382, 384, 383, 385,
891 385, 386, 386, 386, 386, 386, 387, 387, 388, 388,
892 388, 388, 388, 388, 389, 389, 390, 390, 391, 392,
893 392, 393, 393, 393, 394, 395, 395, 396, 396, 396,
894 396, 397, 398, 398, 398, 398, 398, 398, 398, 398,
895 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
896 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
897 398, 398, 398, 398, 398, 398, 398
900 static const short yyr2
[] = { 0,
901 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
902 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
903 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
904 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
905 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
906 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
907 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
908 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
909 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
910 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
911 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
912 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
913 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
914 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
915 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
916 0, 6, 0, 6, 0, 5, 0, 5, 0, 7,
917 0, 7, 0, 6, 0, 6, 0, 0, 5, 5,
918 1, 1, 5, 5, 0, 1, 1, 0, 1, 1,
919 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
920 1, 1, 3, 1, 3, 0, 1, 1, 0, 7,
921 1, 1, 3, 4, 3, 0, 3, 1, 3, 3,
922 3, 3, 1, 1, 1, 2, 2, 2, 2, 2,
923 2, 2, 4, 2, 4, 2, 3, 3, 4, 5,
924 6, 6, 7, 2, 4, 5, 2, 2, 1, 0,
925 4, 4, 3, 1, 3, 2, 3, 4, 1, 2,
926 5, 1, 3, 3, 3, 3, 3, 3, 3, 3,
927 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
928 3, 5, 3, 3, 1, 2, 3, 3, 1, 1,
929 1, 1, 1, 0, 5, 5, 5, 5, 5, 1,
930 1, 1, 1, 2, 1, 2, 2, 3, 4, 4,
931 1, 1, 1, 3, 1, 1, 1, 1, 3, 3,
932 3, 0, 4, 4, 2, 4, 2, 4, 2, 2,
933 1, 4, 1, 7, 7, 7, 7, 4, 4, 2,
934 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
935 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
936 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
937 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
938 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
939 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
940 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
941 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
942 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
943 4, 1, 3, 3, 0, 4, 3, 0, 1, 1,
944 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
945 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
946 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
947 3, 0, 3, 3, 3, 0, 2, 2, 0, 7,
948 4, 0, 6, 3, 2, 2, 2, 0, 0, 9,
949 1, 0, 1, 0, 1, 1, 2, 2, 2, 2,
950 2, 2, 2, 2, 2, 3, 4, 3, 2, 3,
951 1, 0, 3, 0, 3, 2, 1, 1, 0, 2,
952 3, 1, 4, 1, 3, 1, 1, 4, 4, 2,
953 2, 3, 3, 1, 0, 1, 3, 2, 2, 1,
954 2, 2, 2, 2, 2, 2, 2, 1, 2, 2,
955 3, 2, 2, 4, 4, 2, 1, 5, 4, 1,
956 0, 1, 3, 0, 1, 3, 1, 1, 1, 1,
957 4, 4, 4, 4, 4, 3, 4, 4, 4, 4,
958 3, 1, 3, 1, 3, 2, 1, 7, 0, 2,
959 1, 2, 0, 2, 4, 4, 2, 4, 3, 3,
960 2, 2, 3, 1, 1, 2, 1, 1, 2, 2,
961 4, 4, 3, 3, 2, 1, 1, 2, 3, 3,
962 2, 2, 3, 1, 3, 3, 2, 2, 3, 1,
963 4, 3, 4, 3, 1, 2, 2, 2, 2, 2,
964 1, 2, 4, 4, 2, 1, 1, 1, 1, 2,
965 4, 2, 2, 2, 2, 1, 2, 2, 2, 2,
966 3, 1, 2, 3, 4, 2, 2, 2, 2, 2,
967 2, 4, 2, 1, 2, 2, 3, 1, 3, 2,
968 3, 2, 2, 3, 1, 3, 4, 3, 2, 2,
969 1, 3, 2, 2, 1, 2, 3, 1, 3, 1,
970 6, 4, 4, 3, 5, 3, 3, 3, 2, 1,
971 1, 2, 2, 2, 0, 1, 1, 2, 3, 1,
972 2, 0, 3, 0, 0, 5, 1, 0, 2, 1,
973 1, 1, 2, 0, 4, 1, 0, 0, 5, 0,
974 0, 7, 0, 0, 0, 0, 12, 0, 0, 7,
975 0, 5, 0, 7, 0, 4, 2, 2, 2, 3,
976 6, 8, 10, 12, 4, 3, 2, 2, 1, 1,
977 1, 1, 1, 0, 0, 6, 0, 0, 5, 1,
978 2, 0, 0, 5, 1, 1, 3, 3, 2, 2,
979 2, 2, 2, 1, 2, 0, 1, 0, 1, 1,
980 0, 1, 1, 3, 4, 1, 3, 0, 1, 1,
981 1, 2, 2, 2, 1, 2, 2, 0, 3, 1,
982 1, 1, 2, 2, 2, 4, 2, 2, 2, 2,
983 2, 2, 1, 2, 1, 2, 1, 1, 0, 0,
984 1, 0, 4, 2, 1, 1, 3, 0, 3, 3,
985 3, 1, 2, 2, 2, 2, 2, 2, 2, 2,
986 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
987 2, 2, 2, 2, 2, 3, 2, 2, 2, 2,
991 static const short yydefact
[] = { 3,
992 12, 12, 5, 0, 4, 0, 281, 636, 637, 0,
993 388, 400, 581, 0, 11, 0, 0, 0, 10, 486,
994 842, 0, 0, 0, 167, 668, 282, 283, 83, 0,
995 0, 829, 0, 45, 0, 0, 13, 25, 0, 27,
996 8, 0, 16, 15, 89, 110, 86, 0, 638, 171,
997 302, 279, 303, 614, 0, 375, 0, 374, 393, 0,
998 413, 392, 430, 399, 0, 501, 502, 504, 508, 507,
999 481, 387, 597, 401, 598, 108, 301, 625, 595, 0,
1000 639, 579, 0, 0, 280, 81, 82, 178, 642, 178,
1001 643, 178, 284, 167, 140, 141, 142, 143, 144, 472,
1002 475, 0, 664, 0, 476, 0, 0, 0, 0, 141,
1003 142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
1004 0, 477, 646, 0, 652, 0, 0, 0, 37, 0,
1005 0, 31, 0, 0, 47, 0, 178, 644, 0, 0,
1006 0, 612, 607, 0, 0, 0, 611, 0, 0, 0,
1007 0, 302, 0, 293, 583, 0, 0, 301, 579, 28,
1008 0, 26, 3, 46, 0, 64, 388, 0, 0, 8,
1009 67, 63, 66, 89, 0, 0, 0, 399, 90, 14,
1010 0, 428, 0, 0, 446, 87, 79, 645, 583, 0,
1011 579, 80, 0, 0, 0, 106, 0, 409, 365, 594,
1012 366, 606, 0, 579, 390, 389, 78, 109, 376, 0,
1013 411, 391, 107, 382, 406, 407, 377, 395, 397, 386,
1014 408, 0, 75, 431, 487, 488, 489, 490, 506, 149,
1015 148, 150, 492, 493, 172, 499, 491, 0, 0, 494,
1016 495, 509, 509, 524, 0, 582, 394, 0, 425, 637,
1017 0, 666, 171, 629, 630, 626, 600, 640, 0, 599,
1018 596, 0, 877, 873, 872, 870, 852, 857, 858, 0,
1019 864, 863, 849, 850, 848, 867, 856, 853, 854, 855,
1020 859, 860, 846, 847, 843, 844, 845, 869, 861, 862,
1021 851, 868, 0, 865, 775, 393, 776, 838, 284, 281,
1022 581, 306, 354, 0, 0, 0, 0, 350, 348, 321,
1023 352, 353, 0, 0, 0, 0, 0, 282, 283, 275,
1024 0, 0, 186, 185, 0, 187, 188, 0, 0, 189,
1025 0, 0, 179, 180, 0, 249, 0, 252, 184, 305,
1026 215, 0, 0, 307, 308, 0, 182, 372, 393, 373,
1027 631, 333, 323, 0, 0, 0, 0, 178, 0, 474,
1028 0, 469, 0, 665, 663, 0, 190, 191, 0, 0,
1029 0, 435, 3, 21, 29, 660, 656, 657, 659, 661,
1030 658, 140, 141, 142, 0, 143, 144, 648, 649, 653,
1031 650, 647, 0, 291, 292, 290, 628, 627, 33, 32,
1032 49, 0, 157, 0, 0, 393, 155, 0, 0, 608,
1033 610, 0, 609, 141, 142, 277, 278, 297, 0, 618,
1034 296, 0, 617, 0, 304, 282, 283, 0, 0, 0,
1035 295, 294, 622, 0, 0, 12, 0, 167, 9, 9,
1036 70, 0, 65, 0, 0, 71, 74, 0, 427, 429,
1037 122, 93, 127, 764, 0, 85, 84, 92, 125, 0,
1038 0, 123, 88, 624, 0, 0, 587, 0, 832, 0,
1039 592, 0, 591, 0, 0, 0, 0, 579, 428, 0,
1040 77, 583, 579, 605, 0, 379, 380, 0, 76, 428,
1041 384, 383, 385, 378, 398, 415, 414, 178, 496, 500,
1042 498, 0, 829, 503, 505, 547, 637, 0, 538, 0,
1043 0, 550, 0, 121, 116, 0, 171, 551, 554, 0,
1044 0, 530, 0, 119, 396, 428, 579, 94, 0, 0,
1045 0, 0, 579, 100, 580, 613, 637, 667, 171, 0,
1046 0, 866, 871, 395, 579, 579, 0, 579, 876, 178,
1047 0, 0, 0, 222, 0, 0, 224, 237, 238, 0,
1048 0, 0, 0, 0, 276, 221, 218, 217, 219, 0,
1049 0, 0, 0, 0, 305, 0, 0, 0, 216, 176,
1050 177, 299, 0, 220, 0, 0, 250, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1052 0, 0, 0, 0, 0, 0, 0, 0, 0, 315,
1053 0, 317, 319, 320, 358, 357, 0, 0, 240, 240,
1054 0, 226, 577, 0, 234, 355, 347, 0, 0, 829,
1055 336, 339, 340, 0, 0, 367, 685, 681, 690, 0,
1056 583, 579, 579, 579, 369, 688, 0, 635, 371, 0,
1057 0, 370, 335, 0, 330, 349, 331, 351, 632, 0,
1058 332, 175, 175, 0, 165, 0, 393, 163, 574, 484,
1059 572, 471, 0, 0, 402, 0, 0, 403, 404, 405,
1060 441, 442, 443, 440, 0, 433, 436, 0, 3, 0,
1061 651, 178, 654, 0, 41, 42, 0, 53, 0, 0,
1062 57, 61, 50, 828, 823, 0, 372, 393, 53, 373,
1063 827, 59, 168, 153, 151, 168, 175, 300, 616, 615,
1064 304, 0, 619, 0, 18, 20, 89, 9, 9, 73,
1065 72, 0, 128, 356, 0, 712, 91, 710, 452, 0,
1066 448, 447, 214, 0, 213, 584, 623, 0, 805, 0,
1067 800, 393, 0, 799, 801, 830, 812, 0, 0, 621,
1068 590, 589, 0, 0, 604, 0, 423, 422, 410, 603,
1069 0, 832, 593, 381, 412, 424, 428, 0, 497, 510,
1070 579, 798, 546, 539, 551, 540, 428, 428, 536, 537,
1071 534, 535, 579, 798, 281, 636, 0, 415, 117, 542,
1072 552, 557, 558, 415, 415, 0, 0, 415, 115, 543,
1073 555, 415, 0, 428, 0, 531, 532, 533, 428, 426,
1074 832, 798, 178, 178, 641, 178, 832, 798, 579, 97,
1075 579, 103, 875, 874, 838, 838, 838, 0, 0, 0,
1076 0, 635, 0, 0, 0, 0, 393, 0, 0, 0,
1077 311, 0, 309, 310, 0, 247, 181, 281, 636, 637,
1078 282, 283, 0, 0, 453, 482, 0, 274, 273, 790,
1079 789, 0, 271, 270, 268, 269, 267, 266, 265, 262,
1080 263, 264, 260, 261, 255, 256, 257, 258, 259, 253,
1081 254, 0, 0, 0, 0, 0, 240, 228, 244, 0,
1082 0, 227, 579, 579, 0, 579, 576, 675, 0, 0,
1083 0, 0, 0, 338, 0, 342, 0, 344, 0, 684,
1084 683, 680, 679, 828, 0, 0, 699, 0, 0, 832,
1085 368, 832, 686, 579, 798, 583, 685, 681, 0, 0,
1086 579, 0, 392, 0, 0, 0, 0, 170, 174, 285,
1087 168, 161, 159, 168, 0, 485, 0, 484, 212, 211,
1088 210, 209, 435, 0, 0, 24, 0, 0, 655, 0,
1089 38, 44, 43, 55, 52, 53, 0, 48, 0, 0,
1090 685, 681, 0, 819, 579, 822, 824, 0, 820, 821,
1091 54, 492, 0, 158, 168, 168, 156, 169, 298, 17,
1092 19, 69, 89, 416, 145, 636, 637, 133, 146, 147,
1093 0, 126, 129, 0, 638, 0, 0, 0, 0, 711,
1094 705, 449, 0, 124, 588, 585, 804, 818, 807, 0,
1095 586, 803, 817, 806, 802, 831, 814, 825, 815, 808,
1096 813, 834, 0, 420, 602, 601, 419, 175, 829, 0,
1097 829, 511, 512, 514, 829, 517, 516, 832, 0, 541,
1098 446, 446, 832, 0, 0, 0, 428, 428, 0, 428,
1099 428, 0, 428, 0, 529, 478, 0, 446, 96, 0,
1100 0, 0, 0, 102, 0, 832, 798, 832, 798, 840,
1101 839, 841, 286, 322, 223, 225, 328, 329, 0, 0,
1102 0, 0, 310, 313, 0, 0, 0, 0, 248, 0,
1103 314, 316, 318, 0, 0, 0, 0, 229, 246, 0,
1104 0, 672, 670, 0, 673, 583, 235, 0, 0, 178,
1105 345, 0, 0, 0, 682, 678, 689, 579, 698, 696,
1106 697, 687, 832, 0, 694, 0, 633, 634, 0, 334,
1107 166, 168, 168, 164, 575, 573, 473, 0, 434, 432,
1108 281, 0, 22, 30, 662, 56, 51, 58, 62, 684,
1109 680, 685, 681, 0, 595, 0, 579, 686, 60, 154,
1110 152, 68, 0, 131, 0, 135, 0, 137, 0, 139,
1111 0, 765, 0, 202, 713, 0, 706, 707, 0, 450,
1112 685, 681, 0, 305, 0, 631, 826, 0, 0, 835,
1113 836, 0, 0, 417, 173, 521, 0, 520, 829, 829,
1114 829, 0, 112, 579, 545, 549, 114, 579, 428, 428,
1115 566, 446, 281, 636, 0, 553, 559, 560, 415, 415,
1116 446, 446, 0, 446, 556, 466, 544, 579, 288, 287,
1117 289, 579, 99, 0, 105, 0, 0, 0, 0, 0,
1118 0, 456, 0, 454, 251, 272, 242, 241, 239, 230,
1119 0, 243, 245, 671, 669, 676, 674, 0, 236, 0,
1120 0, 337, 341, 343, 832, 692, 579, 693, 162, 160,
1121 470, 0, 437, 439, 684, 680, 600, 686, 132, 130,
1122 0, 0, 0, 0, 444, 0, 0, 281, 636, 637,
1123 714, 727, 730, 733, 738, 0, 0, 0, 0, 0,
1124 0, 0, 0, 282, 759, 767, 0, 786, 763, 762,
1125 761, 0, 722, 0, 0, 393, 0, 701, 720, 726,
1126 700, 721, 760, 0, 708, 451, 0, 634, 816, 810,
1127 811, 809, 0, 833, 421, 0, 0, 0, 0, 523,
1128 522, 515, 832, 832, 565, 562, 564, 0, 0, 428,
1129 428, 428, 561, 563, 548, 0, 832, 832, 579, 579,
1130 0, 0, 0, 0, 455, 0, 0, 231, 232, 677,
1131 346, 287, 695, 832, 0, 134, 136, 138, 772, 766,
1132 770, 0, 709, 704, 205, 779, 781, 782, 0, 0,
1133 718, 0, 0, 0, 745, 747, 748, 749, 0, 0,
1134 0, 0, 0, 0, 0, 780, 0, 364, 787, 0,
1135 723, 362, 415, 0, 363, 0, 415, 0, 0, 0,
1136 203, 703, 702, 724, 758, 757, 310, 837, 418, 518,
1137 519, 513, 111, 113, 428, 428, 571, 446, 446, 468,
1138 0, 467, 462, 95, 101, 832, 832, 324, 325, 326,
1139 327, 457, 0, 233, 691, 438, 0, 771, 445, 194,
1140 0, 715, 728, 717, 0, 0, 0, 0, 0, 741,
1141 0, 750, 0, 756, 39, 144, 34, 144, 0, 35,
1142 768, 0, 360, 361, 0, 0, 0, 359, 204, 718,
1143 570, 568, 567, 569, 0, 0, 480, 98, 104, 578,
1144 0, 773, 201, 0, 393, 0, 718, 0, 731, 719,
1145 705, 784, 734, 0, 0, 0, 0, 746, 755, 40,
1146 36, 0, 0, 725, 465, 464, 458, 86, 89, 0,
1147 0, 0, 195, 415, 716, 206, 729, 208, 0, 785,
1148 0, 783, 739, 743, 742, 769, 791, 0, 0, 463,
1149 777, 778, 774, 428, 705, 192, 0, 0, 198, 0,
1150 197, 718, 0, 0, 0, 792, 793, 751, 461, 0,
1151 460, 0, 207, 0, 732, 735, 740, 744, 0, 791,
1152 0, 0, 459, 199, 193, 0, 0, 0, 752, 794,
1153 0, 0, 795, 0, 0, 200, 736, 796, 0, 753,
1154 0, 0, 0, 737, 797, 754, 0, 0, 0
1157 static const short yydefgoto
[] = { 1627,
1158 436, 2, 437, 165, 726, 331, 181, 3, 4, 37,
1159 689, 373, 1329, 690, 512, 1330, 1331, 393, 1424, 694,
1160 41, 513, 402, 700, 974, 701, 702, 703, 43, 172,
1161 173, 44, 455, 184, 180, 45, 46, 822, 1087, 828,
1162 1089, 47, 515, 516, 185, 186, 456, 733, 1012, 1013,
1163 669, 1014, 234, 48, 996, 995, 716, 713, 1153, 1152,
1164 954, 951, 136, 994, 49, 236, 50, 948, 582, 332,
1165 333, 334, 335, 1332, 1578, 1482, 1580, 1524, 1611, 1195,
1166 1557, 1575, 367, 940, 336, 1270, 895, 621, 902, 337,
1167 338, 368, 340, 358, 52, 255, 695, 418, 154, 53,
1168 54, 341, 577, 342, 343, 344, 345, 457, 346, 1333,
1169 496, 643, 347, 1334, 56, 217, 706, 348, 218, 555,
1170 219, 197, 210, 60, 479, 497, 1356, 767, 1213, 198,
1171 211, 61, 526, 768, 62, 63, 685, 686, 687, 1306,
1172 462, 865, 866, 1548, 1549, 1517, 1462, 1376, 64, 673,
1173 361, 1246, 1463, 1108, 957, 65, 66, 67, 68, 69,
1174 242, 243, 70, 71, 504, 1052, 1053, 1054, 1055, 245,
1175 520, 815, 521, 522, 523, 800, 810, 801, 1236, 802,
1176 803, 1237, 1238, 670, 671, 622, 930, 350, 465, 466,
1177 191, 199, 73, 74, 75, 200, 142, 143, 157, 77,
1178 132, 351, 352, 353, 79, 354, 81, 1057, 123, 124,
1179 125, 531, 105, 82, 355, 907, 908, 925, 646, 1337,
1180 1338, 1196, 1197, 1198, 737, 1339, 1021, 1340, 1409, 1527,
1181 1485, 1486, 1341, 1342, 1510, 1410, 1528, 1411, 1559, 1412,
1182 1561, 1606, 1621, 1413, 1582, 1537, 1583, 1491, 458, 734,
1183 1304, 1343, 1427, 1542, 1400, 1401, 1477, 1552, 1526, 1522,
1184 1344, 1533, 1430, 872, 1585, 1586, 1587, 1619, 753, 754,
1185 1041, 1209, 1352, 755, 756, 757, 1037, 758, 148, 1039,
1186 760, 1211, 1212, 549, 84, 85
1189 static const short yypact
[] = { 136,
1190 169,-32768,-32768, 5066,-32768, 203, 163, 73, 77, 190,
1191 291,-32768,-32768, 1458,-32768, 259, 264, 279,-32768,-32768,
1192 -32768, 871, 2044, 1374, 330,-32768, 336, 320,-32768, 1976,
1193 1976,-32768, 2798,-32768, 5066, 351,-32768,-32768, 355,-32768,
1194 51, 3166,-32768,-32768, 344, 824, 443, 463, 483,-32768,
1195 -32768,-32768,-32768, 324, 5213,-32768, 5421,-32768, 2205, 804,
1196 -32768, 456,-32768,-32768, 1137, 623,-32768,-32768,-32768,-32768,
1197 435, 3747,-32768,-32768,-32768, 198,-32768,-32768,-32768, 906,
1198 -32768,-32768, 1174, 8340, 481,-32768,-32768, 10037,-32768, 10037,
1199 -32768, 10037,-32768,-32768,-32768, 73, 77, 336, 510, 472,
1200 539, 483,-32768, 1000,-32768, 1174, 10123, 10123, 509,-32768,
1201 -32768,-32768,-32768,-32768, 234, 550, 474, 541, 767, 554,
1202 564,-32768,-32768, 1006,-32768, 305, 73, 77,-32768, 336,
1203 510,-32768, 2508, 1031, 545, 5547, 10037,-32768, 10037, 4171,
1204 2952,-32768,-32768, 1311, 1265, 2952,-32768, 664, 3604, 3604,
1205 2798, 517, 538,-32768, 559, 876, 562, 592,-32768,-32768,
1206 700,-32768, 630,-32768, 3999,-32768,-32768, 330, 3843, 643,
1207 -32768,-32768,-32768, 344, 6652, 6133, 836, 690,-32768,-32768,
1208 684, 456, 778, 176, 458, 728,-32768,-32768, 691, 69,
1209 -32768,-32768, 3940, 3940, 6529, 198, 864,-32768,-32768, 546,
1210 -32768,-32768, 1679,-32768,-32768,-32768,-32768,-32768, 2205, 883,
1211 -32768, 456, 198,-32768,-32768,-32768, 2251, 2205,-32768, 456,
1212 -32768, 6652,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1213 -32768,-32768, 749,-32768, 483,-32768, 456, 2169, 910,-32768,
1214 -32768, 766, 766,-32768, 4696,-32768, 715, 1174,-32768, 784,
1215 1757,-32768, 366,-32768,-32768,-32768,-32768,-32768, 4100,-32768,
1216 -32768, 769,-32768, 740, 758,-32768,-32768,-32768,-32768, 781,
1217 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1218 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1219 -32768,-32768, 755,-32768,-32768, 715, 3747, 1632,-32768,-32768,
1220 776,-32768,-32768, 10731, 10817, 10903, 10903,-32768,-32768,-32768,
1221 -32768,-32768, 780, 786, 797, 825, 832, 1025, 510, 10209,
1222 1357, 10903,-32768,-32768, 10903,-32768,-32768, 10903, 7539,-32768,
1223 10903, 65, 849,-32768, 10903,-32768, 10295,-32768, 11119, 426,
1224 1563, 3740, 10381,-32768, 919, 2567,-32768, 1700, 2285, 3286,
1225 -32768, 431,-32768, 3387, 1998, 65, 65, 10037, 5547,-32768,
1226 1357, 827, 1357,-32768,-32768, 826, 879, 11052, 837, 842,
1227 857, 1966, 630,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1228 -32768, 550, 474, 541, 1357, 767, 554, 881, 564,-32768,
1229 914,-32768, 270, 73, 77,-32768,-32768,-32768,-32768,-32768,
1230 -32768, 6834,-32768, 6652, 6645, 723,-32768, 65, 301,-32768,
1231 -32768, 811,-32768, 897, 903,-32768,-32768,-32768, 2952,-32768,
1232 -32768, 2952,-32768, 873,-32768,-32768,-32768, 876, 876, 876,
1233 -32768,-32768,-32768, 4100, 103, 875, 884,-32768,-32768,-32768,
1234 -32768, 5547,-32768, 900, 963,-32768,-32768, 700,-32768, 456,
1235 -32768,-32768,-32768,-32768, 165,-32768,-32768,-32768,-32768, 8091,
1236 10209,-32768,-32768,-32768, 10209, 877,-32768, 5311, 240, 4742,
1237 -32768, 4742,-32768, 5059, 5059, 6529, 882,-32768, 456, 6652,
1238 -32768, 891,-32768,-32768, 5849, 2251, 2205, 6652,-32768, 456,
1239 -32768,-32768, 456, 2251,-32768, 981,-32768, 10037, 749,-32768,
1240 -32768, 2169,-32768,-32768,-32768,-32768, 807, 385,-32768, 10209,
1241 1836,-32768, 1836, 219, 219, 220, 433, 3033, 4527, 108,
1242 4879,-32768, 274, 219, 715, 456,-32768,-32768, 941, 944,
1243 971, 955,-32768,-32768,-32768,-32768, 847,-32768, 439, 921,
1244 927,-32768,-32768, 715,-32768,-32768, 1100,-32768,-32768, 10037,
1245 10209, 776, 7539,-32768, 451, 7539,-32768,-32768,-32768, 10123,
1246 4970, 4970, 4970, 4970, 11097,-32768,-32768,-32768,-32768, 934,
1247 10473, 10473, 7539, 937, 437, 939, 991, 947,-32768,-32768,
1248 -32768,-32768, 10037,-32768, 7630, 7539,-32768, 10209, 10209, 5654,
1249 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209,
1250 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209,-32768,
1251 10209,-32768,-32768,-32768,-32768,-32768, 10209, 10209,-32768,-32768,
1252 339, 651, 1120, 8700,-32768,-32768,-32768, 998, 1757, 1053,
1253 469, 482, 581, 3585, 1265,-32768, 1659, 1659,-32768, 3502,
1254 960, 982, 1043,-32768,-32768, 590, 9320, 1173,-32768, 1103,
1255 1174,-32768,-32768, 10209,-32768,-32768,-32768,-32768,-32768, 90,
1256 481,-32768,-32768, 65,-32768, 6652, 1444,-32768, 1014, 1034,
1257 -32768,-32768, 1357, 881,-32768, 8432, 8523,-32768,-32768,-32768,
1258 -32768,-32768,-32768,-32768, 278,-32768, 1016, 1020, 630, 270,
1259 1062, 10037,-32768, 1073,-32768,-32768, 1031, 2198, 1102, 71,
1260 1079, 1083,-32768,-32768, 2306, 6133, 2306, 2152, 1137, 4350,
1261 -32768, 1094,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1262 1046, 1054,-32768, 1107,-32768,-32768, 344,-32768,-32768,-32768,
1263 -32768, 104, 1493, 1101, 991,-32768,-32768,-32768,-32768, 7429,
1264 11097,-32768, 879, 1064, 11052,-32768,-32768, 1067,-32768, 1089,
1265 93, 3406, 1095,-32768, 571, 5919, 1140, 1145, 649,-32768,
1266 -32768,-32768, 4742, 4742,-32768, 5849,-32768, 1157,-32768,-32768,
1267 1111, 240,-32768, 2251,-32768,-32768, 456, 1109,-32768, 2385,
1268 -32768, 7162, 11097,-32768, 5202,-32768, 456, 456,-32768,-32768,
1269 -32768,-32768,-32768, 7162, 174, 966, 10209, 981,-32768, 1166,
1270 -32768,-32768,-32768, 485, 580, 906, 1265, 587, 219, 1177,
1271 -32768, 676, 1161, 456, 8768,-32768,-32768,-32768, 456,-32768,
1272 240, 7162, 10037, 10037,-32768, 10037, 240, 7162,-32768,-32768,
1273 -32768,-32768,-32768,-32768, 1688, 1688, 1688, 65, 1136, 1143,
1274 9688, 1043, 1147, 1149, 1152, 1170, 2853, 1186, 1189, 1190,
1275 -32768, 1167,-32768,-32768, 1168,-32768,-32768, 1211, 996, 1060,
1276 557, 601, 10209, 1217,-32768, 1232, 1191, 11097, 11097,-32768,
1277 -32768, 1235, 5746, 6217, 6158, 4780, 2387, 5364, 4442, 2354,
1278 2354, 2354, 1205, 1205, 1512, 1512, 1028, 1028, 1028,-32768,
1279 -32768, 1192, 1194, 1183, 10209, 10123,-32768, 651,-32768, 8091,
1280 10209,-32768,-32768,-32768, 10209,-32768,-32768, 1204, 10903, 1199,
1281 1215, 1231, 1264,-32768, 10209,-32768, 10209,-32768, 10209, 2925,
1282 -32768, 2925,-32768, 228, 1216, 1218,-32768, 1214, 4970, 240,
1283 -32768, 240, 3053,-32768, 7162, 1219, 9504, 9504, 6451, 1220,
1284 10295, 1221, 876, 2159, 1998, 1368, 1224,-32768,-32768,-32768,
1285 -32768,-32768,-32768,-32768, 10209, 1357, 1225, 1034,-32768, 11097,
1286 -32768, 11097, 1966, 1227, 10559,-32768, 1233, 1253,-32768, 65,
1287 -32768,-32768,-32768,-32768,-32768, 1852, 6834,-32768, 4970, 10037,
1288 1202, 1202, 4282,-32768,-32768,-32768,-32768, 1679,-32768,-32768,
1289 -32768, 1188, 10209,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1290 -32768,-32768, 344,-32768, 550, 474, 541,-32768, 767, 554,
1291 10209, 1285,-32768, 672, 564, 702, 706, 1806, 991,-32768,
1292 96,-32768, 171,-32768,-32768,-32768,-32768,-32768,-32768, 9412,
1293 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1145, 1283,-32768,
1294 -32768,-32768, 4970,-32768,-32768,-32768, 1284,-32768,-32768, 1257,
1295 -32768, 1294,-32768,-32768, 298,-32768,-32768, 240, 1249,-32768,
1296 1305, 1305, 240, 1262, 10209, 10209, 7076, 456, 4960, 456,
1297 456, 1524, 456, 6356,-32768,-32768, 8838, 1305,-32768, 1266,
1298 65, 65, 65,-32768, 1267, 240, 7162, 240, 7162,-32768,
1299 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1289, 1290,
1300 1291, 1293, 1046,-32768, 10985, 8091, 7724, 1280,-32768, 10209,
1301 -32768,-32768,-32768, 1281, 1287, 1295, 4970,-32768,-32768, 1298,
1302 569, 1012, 1012, 1296, 1012,-32768,-32768, 10903, 1384, 10037,
1303 -32768, 1309, 1313, 1319,-32768,-32768,-32768,-32768,-32768,-32768,
1304 -32768,-32768, 240, 1326,-32768, 1325,-32768,-32768, 2768,-32768,
1305 -32768,-32768,-32768,-32768, 11097,-32768,-32768, 1292,-32768,-32768,
1306 292, 1330,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2497,
1307 2497, 2557, 2557, 4282,-32768, 1679,-32768, 3088, 11119,-32768,
1308 -32768,-32768, 1331,-32768, 1493,-32768, 10209,-32768, 10209,-32768,
1309 10209,-32768, 1357,-32768,-32768, 7026, 1413,-32768, 7815,-32768,
1310 9596, 9596, 7226, 173, 1339, 209,-32768, 8091, 7906,-32768,
1311 -32768, 311, 8091,-32768,-32768,-32768, 10123,-32768,-32768,-32768,
1312 -32768, 1848,-32768,-32768,-32768,-32768,-32768,-32768, 7076, 7076,
1313 -32768, 1305, 585, 1127, 10209,-32768,-32768,-32768, 981, 981,
1314 1305, 1305, 847, 1305,-32768,-32768,-32768,-32768,-32768, 1395,
1315 -32768,-32768,-32768, 1342,-32768, 1346, 10209, 10209, 10209, 10209,
1316 8091,-32768, 1393,-32768,-32768, 11097,-32768,-32768,-32768, 60,
1317 1295,-32768,-32768,-32768,-32768,-32768,-32768, 1348,-32768, 1421,
1318 65,-32768,-32768,-32768, 240,-32768,-32768,-32768,-32768,-32768,
1319 -32768, 10209,-32768,-32768, 2497, 2497,-32768, 3088,-32768,-32768,
1320 1352, 1362, 1363, 1380,-32768, 1036, 321, 1407, 1164, 1165,
1321 -32768,-32768,-32768,-32768,-32768, 10209, 1416, 1419, 1425, 9774,
1322 653, 1357, 496, 693,-32768,-32768, 9865, 1477,-32768,-32768,
1323 -32768, 1430,-32768, 6551, 6039, 4418, 6895,-32768,-32768, 1475,
1324 -32768,-32768,-32768, 8931,-32768,-32768, 1386, 1373,-32768,-32768,
1325 -32768,-32768, 4970,-32768,-32768, 8091, 1391, 1399, 2385,-32768,
1326 -32768,-32768, 240, 240,-32768,-32768,-32768, 10209, 10209, 7076,
1327 456, 456,-32768,-32768,-32768, 6712, 240, 240,-32768,-32768,
1328 1400, 1401, 1405, 1410,-32768, 8091, 10209,-32768, 60,-32768,
1329 -32768,-32768,-32768, 240, 1415,-32768,-32768,-32768,-32768, 1380,
1330 -32768, 1357,-32768,-32768,-32768,-32768,-32768,-32768, 711, 711,
1331 991, 1432, 1433, 6200,-32768,-32768,-32768,-32768, 1467, 10209,
1332 1472, 1428, 1480, 1927, 1987,-32768, 991,-32768,-32768, 1451,
1333 -32768,-32768, 981, 1061,-32768, 1076, 981, 9951, 1090, 322,
1334 -32768,-32768,-32768,-32768,-32768,-32768, 364,-32768,-32768,-32768,
1335 -32768,-32768,-32768,-32768, 7076, 7076,-32768, 1305, 1305,-32768,
1336 8614,-32768,-32768,-32768,-32768, 240, 240,-32768,-32768,-32768,
1337 -32768,-32768, 1434,-32768,-32768,-32768, 1459,-32768,-32768,-32768,
1338 10123,-32768,-32768,-32768, 1538, 9227, 7336, 10123, 10209,-32768,
1339 9039,-32768, 1496,-32768,-32768, 1504,-32768, 1480, 1927,-32768,
1340 -32768, 700,-32768,-32768, 10645, 10645, 8000,-32768,-32768, 991,
1341 -32768,-32768,-32768,-32768, 1452, 11007, 1463,-32768,-32768,-32768,
1342 10990,-32768,-32768, 1455, 398, 6652, 991, 9133,-32768,-32768,
1343 96,-32768,-32768, 1507, 1460, 11075, 9039,-32768,-32768,-32768,
1344 -32768, 1380, 76,-32768,-32768,-32768,-32768, 443, 344, 1462,
1345 1466, 991,-32768, 981,-32768,-32768,-32768,-32768, 714,-32768,
1346 8182,-32768,-32768,-32768,-32768, 1380, 1566, 1522, 177,-32768,
1347 -32768,-32768,-32768, 456, 96,-32768, 10209, 1523,-32768, 1529,
1348 -32768, 991, 9039, 1491, 63, 1531,-32768,-32768,-32768, 165,
1349 -32768, 1534,-32768, 1494,-32768,-32768,-32768,-32768, 10209, 1566,
1350 1539, 1566,-32768,-32768,-32768, 8273, 1500, 572,-32768,-32768,
1351 8091, 1501,-32768, 1577, 1553,-32768,-32768,-32768, 332,-32768,
1352 9133, 1603, 1559,-32768,-32768,-32768, 1621, 1622,-32768
1355 static const short yypgoto
[] = {-32768,
1356 1624,-32768, -304, 1456, -364, 75, 2, 1623,-32768, 1593,
1357 -32768,-32768, 315,-32768, 373,-32768, 507,-32768, 206, 942,
1358 58, 24,-32768,-32768, -669,-32768,-32768, 657, 59, 1469,
1359 1197, 1478, -719, 111, -173, 29, 55,-32768,-32768,-32768,
1360 -32768,-32768, 1125,-32768,-32768,-32768,-32768,-32768,-32768, 466,
1361 1903,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1362 -32768,-32768, 1568, -526, 6178, 1422, -58, -599, -235, -44,
1363 1533, -547,-32768, 388,-32768, 260,-32768, -1362,-32768, -1307,
1364 52,-32768, 1442, 1361, -254, 403, -557,-32768, -868, 3479,
1365 -125, 1528, 4472, 1379, -332, -52, -76, 427, -140, -66,
1366 135,-32768,-32768,-32768, -344,-32768, -159,-32768,-32768, -1236,
1367 -16, -329, 1934, 530, -150, -166, 78, 50, -206, -4,
1368 -145, -165, -171, 32, -11, 357,-32768, -257,-32768,-32768,
1369 -32768,-32768,-32768, 734, 1247, -45,-32768, 716,-32768,-32768,
1370 -765, -399, 940,-32768,-32768,-32768,-32768,-32768, 218,-32768,
1371 -32768,-32768,-32768,-32768, 729, -377,-32768,-32768,-32768,-32768,
1372 -32768,-32768,-32768,-32768, 1447,-32768, 335, 473,-32768,-32768,
1373 -32768,-32768, 885, -479,-32768,-32768,-32768,-32768,-32768,-32768,
1374 1172,-32768, 624, 1030, 745, 1086, 2837, 14, 54, -461,
1375 1510, 2756, -686,-32768, 13,-32768, 645, 20, -142, 271,
1376 -105, 5046, 1365,-32768, 5682, 2642, 1651, -19, -113,-32768,
1377 1590, -54,-32768, 5135, 3513, -359,-32768, 1597,-32768,-32768,
1378 381,-32768,-32768, 527, 138, -429,-32768,-32768,-32768,-32768,
1379 -1369,-32768, -1238, -1389,-32768,-32768,-32768,-32768,-32768,-32768,
1380 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 156,-32768,
1381 -32768,-32768,-32768,-32768, 188, -1311,-32768,-32768, -51,-32768,
1382 -32768,-32768,-32768, -1385, 140,-32768, 144,-32768, -606, -580,
1383 710,-32768,-32768,-32768,-32768, -393,-32768, -390, -333,-32768,
1384 1007, 397,-32768, 83,-32768, -232
1388 #define YYLAST 11203
1391 static const short yytable
[] = { 59,
1392 443, 435, 487, 122, 445, 36, 420, 423, 711, 444,
1393 658, 712, 392, 256, 1019, 432, 224, 72, 532, 648,
1394 771, 253, 657, 76, 709, 738, 103, 42, 400, 1118,
1395 59, 784, 298, 786, 182, 857, 36, 59, 196, 991,
1396 525, 816, 486, 141, 146, 356, 1016, 357, 72, 554,
1397 557, 494, 209, 58, 76, 72, 398, 399, 42, 926,
1398 742, 76, 896, 949, 249, 42, 926, 247, 688, 391,
1399 174, 492, 495, 177, 201, 727, 213, 256, 35, 296,
1400 397, 57, 587, 349, 58, 349, 626, 349, 1478, 544,
1401 1428, 58, 408, 1056, 224, 260, 1530, 297, 1443, 170,
1402 171, 1534, 349, 349, 1027, 1446, 899, 190, 163, 35,
1403 224, 208, 57, 626, 626, 467, 169, 998, 364, 176,
1404 662, 663, 661, 900, 1600, 1535, 89, 308, 1193, 977,
1405 91, 406, 349, 295, 349, -1, 256, 1567, 1558, 580,
1406 1544, 581, 544, 26, 813, 978, 90, 855, 164, 72,
1407 92, 1028, 901, 1387, 1029, 407, -828, 1555, 196, 410,
1408 59, 468, 419, 422, 59, 735, 224, 155, -2, 780,
1409 1601, 209, 717, 718, 224, 1059, 452, 1589, 72, 928,
1410 558, 559, 72, 1568, 76, 58, 517, 1064, 76, 997,
1411 403, 224, 42, 440, 201, 213, 567, 174, 1581, 568,
1412 177, 490, 569, 539, 1194, 579, 470, 472, 190, 584,
1413 724, 1004, 1597, 405, 58, 1080, 814, 625, 58, -302,
1414 1612, 1085, 736, 1560, 15, 842, 170, 171, -415, 1199,
1415 208, 1558, 776, -356, -356, 1065, 88, 453, 453, 1027,
1416 59, 201, 57, 169, 789, 15, 176, 88, 535, -415,
1417 1532, 705, 1538, 190, 1478, -625, -415, -415, 72, 178,
1418 260, -415, 86, 93, 524, -302, -302, 1593, 820, 632,
1419 454, 454, 300, 394, 395, 10, 221, 790, -415, 1200,
1420 -295, 791, -415, 155, 155, 155, 1028, 696, 732, 1029,
1421 623, 374, 247, 631, 58, 1225, 1226, 375, 1565, 514,
1422 759, -625, -625, 158, 1220, 1020, 1166, 116, 117, 118,
1423 21, 87, 1247, 664, 792, 658, -625, 705, 38, 511,
1424 774, 976, 519, 26, 349, 27, 319, -415, 1144, 155,
1425 691, 420, 423, 817, 1221, 856, 963, 296, 94, 1117,
1426 492, 495, 8, 9, 1598, 247, 12, 13, 492, 38,
1427 1292, 107, 14, 349, 667, 297, 108, 32, 926, 583,
1428 119, 120, 711, 1002, 1003, 1038, 16, 260, 17, 1353,
1429 -583, 109, 72, 138, 20, 580, 39, 581, 668, 495,
1430 1404, 1404, 818, 23, 967, 964, 178, 714, 127, 128,
1431 1622, 295, 26, 139, 130, 131, 532, 708, 495, 1293,
1432 209, 1388, 926, 135, 224, 215, 216, 39, 58, 137,
1433 -304, 14, 533, 665, 162, 710, -583, 189, 1354, 158,
1434 158, 158, 648, 201, 1151, 699, 221, 1154, 950, 1405,
1435 1509, 897, 1169, 20, 221, 221, 405, 59, 26, 1623,
1436 130, 131, 23, 161, 636, 567, 568, 224, 1215, 926,
1437 179, 707, 517, 778, 517, 72, -304, -304, 534, 153,
1438 517, 76, 517, 752, 221, 158, 1367, 183, 1180, 1181,
1439 729, -298, 610, 177, 1146, 1373, 1374, 653, 1375, 793,
1440 1254, 710, 1256, 610, 777, 831, 18, 763, 764, 705,
1441 841, 58, 244, 349, 366, 370, 705, 636, 1016, 201,
1442 1119, 799, 787, 788, 459, 838, 59, 201, 59, -365,
1443 40, 15, 819, 221, 209, 914, 59, 707, 611, 176,
1444 1474, 460, 187, 654, 72, 794, 72, 377, 916, 611,
1445 524, 832, 524, 55, 72, 1056, 188, 805, 812, 129,
1446 524, 40, -365, 841, -295, 349, -365, 90, 349, 26,
1447 461, 349, 1423, 1001, 299, 349, 847, 847, 847, 847,
1448 58, 915, 58, 138, 55, 514, 221, 514, 349, 623,
1449 58, 175, 798, 808, 917, 514, 421, 424, 349, -365,
1450 360, 349, 1032, 711, 696, 511, 712, 511, 519, 1192,
1451 519, 973, -583, 926, 378, 511, 362, 816, 519, 709,
1452 658, 372, 1093, 376, -366, 705, 15, 380, 155, 155,
1453 155, -120, 657, 15, 92, 636, 296, 381, -143, 401,
1454 972, 153, 926, 221, -295, 1289, 1290, 918, 492, 1033,
1455 137, 705, 1034, 1614, 297, 708, 934, -366, -583, 482,
1456 544, -366, 752, 705, -120, 425, 1368, 970, -120, 952,
1457 920, 922, 189, 710, 138, 95, 110, 111, 88, 178,
1458 710, 841, -144, 260, 1278, 404, 95, 414, 415, 433,
1459 295, 705, 1056, 919, -366, 147, 1273, 705, 122, 1615,
1460 240, -120, 935, 936, 241, 201, 587, 349, 984, 707,
1461 989, 990, 1513, 1514, 55, 1042, 707, 899, 175, -620,
1462 -118, 209, 15, 221, 221, 247, 1262, 1264, 112, 113,
1463 303, 221, 661, 1017, 900, 1216, 574, 1218, 1186, 98,
1464 113, 1222, 215, 216, 201, 987, 201, 201, 14, 214,
1465 215, 216, 1420, -118, 1165, 990, 14, -118, -7, 256,
1466 164, 1043, 221, 901, 158, 158, 158, 253, 1188, 447,
1467 20, 708, 1190, 18, 1426, 576, 517, 1480, 20, 23,
1468 1576, 221, 1274, 1275, 1187, 1277, 137, 23, 799, 710,
1469 -118, 201, 8, 537, 518, 1036, 448, 708, 1081, 1082,
1470 451, 1083, 715, 1127, 705, 411, 1068, 463, 705, 708,
1471 413, 842, 1070, 1071, 1189, 710, 1068, 1073, 1191, 1264,
1472 1071, 464, 432, 1481, 805, 707, 1577, 710, 1349, 1351,
1473 59, 567, 568, 1355, 127, 128, 363, 708, 349, 349,
1474 379, 349, 498, 708, 130, 131, 705, 503, 72, 1182,
1475 527, 707, 705, 540, 524, 710, 769, 91, 147, 798,
1476 137, 710, 542, 707, 775, 1249, 1250, 1251, 538, 1590,
1477 15, 541, 746, 781, -415, 421, 722, 92, 363, 561,
1478 91, 1385, 222, 223, 58, 543, 130, 131, 551, 514,
1479 562, 707, 560, 95, 110, 111, 528, 707, 300, 705,
1480 92, 10, -415, -415, 221, 1359, 1360, 1361, 666, 511,
1481 538, 349, 519, 829, 222, 446, 1121, 224, 563, 782,
1482 91, 421, 424, 536, 392, 564, 18, 583, 7, 8,
1483 250, 10, 95, 96, 97, 449, 21, 1090, 1091, 1092,
1484 92, 256, 480, 481, 847, 221, 112, 113, 114, 626,
1485 708, 426, 427, 675, 752, 672, 705, 676, 705, 830,
1486 574, 488, 489, 574, 678, 428, 21, 844, 710, 679,
1487 920, 922, 710, 251, 692, 429, 1449, 260, 480, 730,
1488 574, 27, 28, 32, 680, 98, 99, 693, 430, 221,
1489 90, 175, 708, 574, 847, 349, 92, 871, 708, 576,
1490 721, 1484, 576, -6, 707, 252, 1472, 747, 707, 765,
1491 710, 221, 725, 32, 1170, 1171, 710, 1501, 421, 852,
1492 699, 770, 1279, 8, 9, 894, 842, 15, 382, 383,
1493 384, 910, 576, 539, 823, 127, 128, 824, 517, 89,
1494 535, 488, 731, 705, 825, 752, 707, 1066, 826, 420,
1495 423, 833, 707, 300, 394, 395, 10, 834, 847, 90,
1496 518, 851, 785, 710, 853, 1392, 854, 363, 736, 89,
1497 518, 911, 705, 385, 856, 130, 131, -141, 420, 423,
1498 913, 386, 387, 719, 221, 26, 720, 130, 131, 90,
1499 927, 21, 59, 942, 929, 567, 568, 955, 723, 707,
1500 1484, 903, 708, -183, 708, 1281, 27, 319, 1240, 931,
1501 72, 904, 956, 1240, 1402, 1403, 524, 1484, 137, -183,
1502 710, -183, 710, 127, 128, 905, 8, 9, 965, 256,
1503 608, 609, 847, 91, 411, 969, 413, 155, 32, 480,
1504 1503, -142, 1573, 127, 128, 349, 58, 711, 966, 536,
1505 1551, 514, 971, 92, 488, 1504, 707, 20, 707, 95,
1506 96, 97, 979, 225, 226, 227, 980, 363, 480, 1508,
1507 363, 511, 1484, -298, 519, 130, 131, 993, 130, 131,
1508 738, 999, 453, 1436, 155, 1017, 1000, 18, 1434, 708,
1509 1439, 1024, 228, 26, 1025, 130, 131, 8, 9, 252,
1510 89, -579, 252, 1048, -579, 1295, 1296, 710, 1369, 903,
1511 26, 1336, 98, 99, 229, 842, 1026, 1328, 752, 904,
1512 90, 579, 1031, -827, 7, 8, 9, 10, 1040, 72,
1513 13, 1616, 349, 905, 1295, 1296, 710, 89, 91, 931,
1514 1044, 1045, 1075, 707, 1069, 1407, 1408, 1371, 1372, 130,
1515 131, -579, 18, -579, -579, 1074, -579, 90, 92, 230,
1516 231, 232, 21, 1094, 1099, 58, -52, -579, 636, -579,
1517 1095, -52, 707, 158, 1096, 26, 1097, 27, 28, 1098,
1518 1100, 498, -52, 1101, 1102, -579, -579, 942, 127, 128,
1519 1327, 981, -140, 1335, 1103, 1104, 140, 140, 1106, 156,
1520 -579, 982, 603, 604, 605, 606, 607, 608, 609, 32,
1521 1107, 639, 1124, 1113, 983, 641, 1110, 1126, 1109, 1111,
1522 158, 1112, 1129, 212, 1130, 220, 155, 155, 155, 1128,
1523 1131, 237, 1164, 7, 127, 128, 10, 1433, 544, 1433,
1524 130, 131, 1336, 1137, 1139, 1138, 574, 1147, 1148, 1145,
1525 209, 1150, 1336, 1157, 1160, 155, 155, 155, 1328, 1336,
1526 72, 1163, 1543, 1185, 518, 1328, 1208, 1214, 847, 1217,
1527 72, 21, 1219, 201, 1437, 201, 1224, 72, 251, 95,
1528 110, 111, 420, 423, 421, 852, 27, 28, 460, 1228,
1529 705, 8, 9, 1248, 1252, 1570, 58, 127, 128, 567,
1530 568, 1257, 1258, 1259, -304, 1260, 58, 140, 1265, 1267,
1531 252, 1280, 140, 58, 1268, 156, 156, 156, 32, -304,
1532 1291, 1327, 1269, -304, 1335, 1272, 1276, 719, 720, 153,
1533 723, 1327, 112, 113, 1335, 363, 1282, 129, 1327, -304,
1534 1283, 1335, 212, 130, 131, 490, 1284, 26, 450, 130,
1535 131, -304, -304, 1287, -304, 1288, -304, 1294, 1299, 140,
1536 140, 156, 158, 158, 158, 1193, 1348, 538, -662, 1379,
1537 214, 215, 216, 1380, 1386, 220, 1205, 14, 1390, 1396,
1538 95, 96, 97, 493, 220, -304, -304, 1391, 1406, 1397,
1539 1398, 158, 158, 158, 18, 1399, 1525, 1415, 1416, 20,
1540 -304, 1336, 1336, 1525, 1417, 1429, 1336, 1328, 23, 1431,
1541 1444, 375, 1328, 1447, 297, 1005, 1006, 1007, 1450, 72,
1542 72, 297, 349, 953, 72, 140, 1451, 1468, 1469, 1554,
1543 1047, 26, 1470, 98, 99, 100, 708, 1471, 763, 764,
1544 1061, 1062, 1476, 1336, 1487, 1488, 1492, 127, 1243, 1328,
1545 295, 1494, 1336, 1495, 710, 58, 58, 295, 1328, 1008,
1546 58, 72, 1574, 1502, 1520, 201, 26, 1076, 1009, 1010,
1547 72, 1521, 1078, 221, 1529, 1539, 1525, 1540, 1545, 1547,
1548 1327, 1327, 1553, 1335, 1335, 1327, 1562, 1563, 1335, 1571,
1549 707, 363, 155, 1572, 297, 156, 1584, 58, 1336, 130,
1550 131, 1588, 1595, 1599, 1328, 1011, 58, 1618, 1596, 1602,
1551 574, 605, 606, 607, 608, 609, 72, 1604, 1609, 421,
1552 424, 1605, 1327, 538, 1357, 1335, 518, 1613, 1617, 612,
1553 295, 1327, 1620, 1625, 1335, 339, 1336, 339, 1626, 339,
1554 1628, 1629, 1328, 1, 5, 442, 147, 160, 421, 1347,
1555 1499, 968, 58, 1167, 72, 127, 128, 441, 728, 155,
1556 155, 155, 439, 809, 1381, 1382, 1383, 1384, 613, 614,
1557 1300, 212, 220, 615, 616, 617, 618, 1327, 1569, 500,
1558 1335, 359, 127, 128, 339, 140, 339, 13, 140, 1483,
1559 58, 409, 1624, 1389, 156, 156, 156, 550, 1159, 1023,
1560 140, 7, 8, 9, 10, 26, 1158, 130, 131, 505,
1561 811, 127, 128, 1452, 1362, 1327, 535, 1245, 1335, 1077,
1562 1156, 545, 958, 127, 128, 636, 898, 1419, 158, 483,
1563 633, 546, 26, 390, 130, 131, 140, 1442, 140, 21,
1564 156, 156, 156, 1345, 1591, 450, 251, 1603, 637, 1566,
1565 258, 140, 493, 220, 27, 28, 450, 0, 638, 1608,
1566 493, 26, 221, 130, 131, 1610, 636, 1207, 639, 1448,
1567 0, 640, 641, 26, 258, 130, 131, 545, 252, 95,
1568 110, 111, 529, 0, 0, 212, 32, 546, 0, 637,
1569 0, 0, 450, 0, 1473, 158, 158, 158, 1046, 638,
1570 0, 0, 0, 258, 0, 0, 0, 0, 0, 639,
1571 0, 0, 640, 641, 258, 0, 0, 21, 0, 156,
1572 1231, 1232, 156, 1241, 1242, 0, 1244, 1493, 116, 1006,
1573 1007, 0, 112, 113, 411, 413, 0, 156, 156, 156,
1574 0, 744, 536, 0, 0, 0, 0, 1079, 750, 0,
1575 0, 0, 156, 1084, 0, 0, 506, 0, 7, 8,
1576 507, 10, 167, 12, 13, 0, 0, 565, 0, 14,
1577 116, 1006, 1007, 258, 95, 110, 111, 0, 225, 226,
1578 227, 119, 120, 16, 1205, 17, 18, 19, 1523, 0,
1579 0, 20, 0, 0, 871, 1523, 21, 1050, 0, 0,
1580 23, 508, 18, 168, 0, 339, 0, 228, 258, 26,
1581 0, 27, 28, 943, 574, 509, 0, 510, 0, 0,
1582 0, 26, 743, 119, 120, 30, 0, 112, 113, 743,
1583 0, 839, 258, 220, 0, 31, 101, 0, 0, 0,
1584 0, 0, 0, 32, 115, 0, 0, 0, 33, 95,
1585 110, 111, 421, 1347, 0, 0, 1140, 0, 1141, 719,
1586 720, 0, 723, 0, 645, 649, 652, 0, 1523, 0,
1587 0, 0, 212, 0, 220, 237, 0, 0, 0, 0,
1588 0, 0, 1365, 1366, 1594, 0, 0, 233, 95, 110,
1589 111, 892, 681, 682, 683, 0, 0, 893, 7, 127,
1590 128, 10, 112, 1496, 13, 0, 1607, 741, 745, 95,
1591 110, 111, 743, 871, 0, 745, 0, 0, 220, 0,
1592 655, 8, 9, 10, 258, 0, 18, 0, 0, 140,
1593 140, 0, 140, 0, 947, 0, 21, 0, 0, 0,
1594 493, 112, 113, 450, 0, 339, 388, 0, 0, 26,
1595 0, 27, 28, 450, 450, 308, 656, 783, 21, 0,
1596 369, 371, 112, 1498, 0, 30, 116, 117, 118, 0,
1597 416, 26, 743, 130, 131, 31, 0, 0, 743, 0,
1598 450, 0, 258, 32, 1223, 450, 0, 0, 33, 1227,
1599 0, 0, 0, 0, 0, 0, 0, 339, 745, 0,
1600 0, 0, 0, 0, 0, 0, 0, 156, 743, 0,
1601 0, 0, 1253, 0, 1255, 743, 0, 26, 0, 119,
1602 120, 0, 0, 1457, 1458, 1459, 0, 0, 0, 0,
1603 339, 0, 741, 0, 0, 868, 869, 0, 873, 874,
1604 875, 876, 877, 878, 879, 880, 881, 882, 883, 884,
1605 885, 886, 887, 888, 889, 890, 891, 0, 745, 0,
1606 499, 501, 0, 0, 745, 0, 0, 0, 0, 1286,
1607 0, 0, 258, 530, 7, 8, 9, 10, 214, 215,
1608 216, 300, 8, 9, 10, 14, 0, 0, 0, 0,
1609 0, 95, 96, 97, 745, 0, 0, 0, 0, 0,
1610 0, 745, 18, 156, 156, 943, 0, 20, 1511, 1512,
1611 0, 0, 21, 0, 0, 0, 23, 258, 636, 21,
1612 382, 383, 384, 960, 962, 26, 251, 27, 28, 0,
1613 0, 214, 215, 216, 27, 319, 363, 0, 14, 339,
1614 0, 981, 237, 566, 98, 99, 0, 140, 140, 943,
1615 0, 982, 0, 921, 923, 18, 0, 0, 252, 32,
1616 20, 639, 0, 0, 983, 641, 32, 0, 0, 23,
1617 0, 26, 0, 386, 387, 1114, 1115, 491, 215, 216,
1618 0, 1120, 578, 0, 14, 674, 0, 741, 0, 0,
1619 0, 0, 0, 0, 684, 1132, 943, 1133, 0, 1134,
1620 0, 18, 743, 0, 258, 0, 20, 674, 127, 128,
1621 0, 1393, 215, 216, 0, 23, 0, 0, 14, 0,
1622 258, 986, 0, 645, 649, 0, 652, 1592, 7, 8,
1623 9, 10, 0, 450, 450, 0, 450, 450, 0, 450,
1624 20, 0, 0, 0, 1067, 1162, 0, 0, 0, 23,
1625 0, 636, 0, 0, 0, 704, 743, 743, 26, 0,
1626 130, 131, 743, 0, 0, 0, 21, 0, 649, 0,
1627 339, 339, 636, 339, 637, 0, 743, 0, 743, 26,
1628 743, 27, 28, 0, 638, 0, 0, 0, 745, 1453,
1629 1454, 1183, 0, 0, 639, 981, 0, 647, 641, 0,
1630 0, 0, 0, 1464, 1465, 982, 0, 116, 1006, 1007,
1631 1105, 1049, 0, 32, 0, 639, 0, 0, 983, 641,
1632 1475, 751, 0, 0, 779, 0, 743, 0, 0, 0,
1633 0, 0, 0, 0, 1050, 0, 140, 140, 156, 156,
1634 943, 1051, 745, 745, 140, 0, 0, 741, 745, 601,
1635 602, 603, 604, 605, 606, 607, 608, 609, 26, 0,
1636 119, 120, 745, 649, 745, 0, 745, 156, 156, 943,
1637 0, 0, 743, 0, 0, 0, 258, 596, 597, 598,
1638 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
1639 609, 743, 1518, 1519, 0, 450, 450, 0, 0, 0,
1640 0, 0, 1155, 0, 0, 0, 840, 864, 0, 843,
1641 0, 0, 745, 845, 846, 848, 849, 850, 0, 7,
1642 8, 9, 10, 0, 0, 246, 578, 339, 0, 0,
1643 300, 394, 395, 10, 0, 0, 1135, 0, 1136, 867,
1644 1179, 0, 0, 0, 0, 0, 0, 18, 0, 1142,
1645 0, 912, 0, 921, 923, 0, 0, 21, 745, 0,
1646 0, 140, 140, 636, 140, 0, 0, 1301, 21, 1302,
1647 26, 1303, 27, 28, 0, 251, 0, 745, 0, 7,
1648 8, 9, 10, 27, 319, 13, 981, 627, 0, 300,
1649 394, 395, 10, 924, 628, 0, 982, 921, 923, 0,
1650 924, 212, 220, 0, 32, 0, 639, 18, 0, 983,
1651 641, 0, 1229, 1230, 258, 32, 258, 21, 0, 0,
1652 975, 0, 0, 636, 0, 0, 0, 21, 0, 0,
1653 26, 992, 27, 28, 629, 0, 450, 450, 450, 0,
1654 26, 0, 27, 319, 0, 0, 1172, 0, 743, 0,
1655 743, 0, 743, 741, 741, 0, 1173, 1266, 258, 0,
1656 0, 0, 864, 0, 32, 80, 639, 0, 0, 1174,
1657 641, 0, 1395, 0, 630, 104, 0, 339, 0, 0,
1658 0, 0, 0, 0, 0, 133, 0, 0, 0, 0,
1659 0, 144, 144, 0, 144, 0, 80, 0, 0, 0,
1660 0, 0, 0, 80, 156, 0, 0, 0, 0, 704,
1661 0, 0, 0, 0, 0, 0, 203, 0, 80, 0,
1662 0, 450, 450, 0, 0, 0, 238, 0, 0, 0,
1663 0, 0, 0, 104, 745, 751, 745, 0, 745, 0,
1664 0, 0, 258, 0, 262, 104, 741, 751, 0, 0,
1665 0, 0, 0, 743, 0, 741, 741, 0, 0, 0,
1666 741, 0, 0, 0, 0, 0, 0, 104, 0, 0,
1667 0, 156, 156, 156, 0, 751, 0, 0, 0, 0,
1668 0, 751, 1370, 0, 0, 0, 1135, 1136, 921, 923,
1669 300, 8, 9, 10, 1142, 133, 0, 80, 0, 0,
1670 0, 144, 144, 0, 0, 0, 412, 144, 741, 0,
1671 144, 144, 144, 0, 0, 0, 0, 921, 923, 258,
1672 7, 127, 128, 10, 0, 0, 80, 0, 21, 0,
1673 80, 0, 0, 0, 0, 251, 203, 80, 0, 745,
1674 450, 0, 0, 27, 319, 0, 258, 0, 18, 1116,
1675 0, 0, 0, 0, 203, 203, 203, 0, 21, 0,
1676 0, 0, 0, 1414, 0, 0, 0, 538, 0, 0,
1677 0, 26, 0, 27, 28, 32, 127, 128, 0, 0,
1678 215, 216, 867, 203, 0, 684, 14, 149, 751, 0,
1679 0, 0, 924, 0, 0, 0, 0, 150, 975, 743,
1680 502, 0, 0, 741, 0, 32, 80, 0, 20, 104,
1681 151, 1135, 1136, 0, 1142, 1455, 1456, 23, 0, 636,
1682 144, 0, 0, 0, 0, 0, 26, 0, 130, 131,
1683 704, 0, 1168, 741, 0, 0, 924, 0, 259, 0,
1684 0, 0, 637, 0, 0, 0, 0, 0, 127, 128,
1685 0, 0, 638, 246, 0, 0, 0, 0, 104, 547,
1686 0, 0, 639, 0, 0, 640, 641, 0, 471, 473,
1687 477, 0, 0, 0, 7, 127, 128, 10, 0, 0,
1688 246, 0, 0, 924, 0, 745, 0, 0, 0, 0,
1689 0, 636, 0, 0, 0, 0, 1210, 0, 26, 0,
1690 130, 131, 18, 104, 0, 0, 0, 634, 1516, 547,
1691 547, 650, 21, 0, 637, 434, 0, 0, 0, 0,
1692 80, 0, 0, 0, 638, 26, 0, 27, 28, 1263,
1693 0, 0, 0, 0, 639, 0, 1536, 640, 641, 0,
1694 751, 30, 751, 0, 0, 0, 0, 469, 0, 0,
1695 0, 31, 0, 0, 133, 795, 796, 9, 10, 32,
1696 485, 0, 0, 104, 33, 203, 104, 0, 0, 0,
1697 1271, 0, 0, 0, 0, 0, 127, 128, 0, 0,
1698 144, 535, 0, 144, 0, 0, 0, 0, 0, 0,
1699 0, 0, 0, 21, 0, 144, 0, 0, 0, 0,
1700 0, 0, 0, 80, 0, 0, 26, 0, 27, 28,
1701 7, 8, 9, 10, 797, 1305, 535, 0, 0, 636,
1702 0, 1263, 193, 0, 0, 0, 26, 924, 130, 131,
1703 0, 203, 194, 203, 0, 203, 203, 203, 18, 0,
1704 32, 203, 637, 0, 0, 195, 203, 0, 21, 203,
1705 0, 0, 638, 0, 636, 0, 924, 0, 741, 0,
1706 0, 26, 639, 27, 28, 640, 641, 0, 0, 133,
1707 1358, 0, 80, 0, 80, 0, 0, 981, 0, 806,
1708 80, 0, 80, 0, 0, 0, 166, 982, 7, 8,
1709 9, 10, 167, 12, 13, 32, 0, 639, 0, 14,
1710 983, 641, 0, 0, 0, 0, 0, 0, 0, 0,
1711 0, 0, 0, 16, 0, 17, 18, 19, 0, 0,
1712 0, 20, 104, 104, 104, 104, 21, 0, 0, 0,
1713 23, 0, 0, 168, 0, 0, 0, 0, 0, 26,
1714 0, 27, 28, 1421, 1422, 761, 0, 762, 0, 471,
1715 473, 477, 0, 0, 0, 30, 0, 0, 0, 0,
1716 773, 0, 0, 0, 0, 31, 0, 0, 0, 0,
1717 0, 0, 0, 32, 0, 0, 0, 0, 33, 0,
1718 0, 0, 104, 34, 547, 0, 0, 0, 0, 0,
1719 0, 0, 0, 804, 0, 0, 634, 0, 547, 547,
1720 0, 650, 0, 0, 0, 0, 1210, 0, 944, 8,
1721 9, 0, 946, 12, 246, 0, 0, 0, 0, 14,
1722 0, 0, 0, 0, 1479, 0, 0, 203, 0, 0,
1723 0, 0, 0, 16, 766, 17, 0, 0, 0, 772,
1724 0, 20, 0, 0, 0, 0, 1497, 1500, 0, 0,
1725 23, 133, 636, 0, 0, 0, 0, 0, 133, 26,
1726 0, 130, 131, 0, 0, 0, 203, 988, 203, 203,
1727 238, 650, 0, 0, 0, 637, 0, 0, 0, 0,
1728 0, 0, 0, 821, 0, 638, 0, 0, 0, 827,
1729 0, 0, 0, 0, 0, 639, 0, 0, 640, 641,
1730 0, 835, 836, 0, 837, 0, 0, 0, 0, 300,
1731 8, 9, 10, 203, 0, 0, 0, 988, 0, 0,
1732 0, 1541, 0, 0, 203, 203, 0, 203, 7, 8,
1733 9, 10, 214, 215, 216, 0, 0, 0, 0, 14,
1734 0, 0, 0, 104, 0, 0, 806, 21, 0, 0,
1735 0, 0, 0, 0, 251, 104, 18, 0, 0, 0,
1736 578, 20, 27, 319, 0, 0, 21, 0, 1072, 0,
1737 23, 0, 636, 0, 704, 0, 80, 0, 0, 26,
1738 0, 27, 28, 104, 0, 0, 0, 0, 0, 104,
1739 0, 0, 0, 0, 32, 981, 547, 547, 547, 932,
1740 933, 0, 0, 0, 932, 982, 0, 0, 547, 0,
1741 0, 0, 0, 32, 0, 639, 0, 0, 1030, 641,
1742 0, 0, 0, 0, 0, 8, 9, 0, 167, 12,
1743 13, 0, 0, 749, 0, 14, 83, 0, 761, 762,
1744 0, 773, 0, 0, 0, 0, 106, 0, 0, 16,
1745 0, 17, 18, 0, 0, 126, 134, 20, 0, 0,
1746 804, 0, 145, 145, 0, 145, 23, 83, 636, 0,
1747 0, 0, 0, 0, 83, 26, 0, 130, 131, 0,
1748 0, 547, 0, 547, 0, 0, 0, 145, 0, 83,
1749 104, 637, 0, 0, 547, 0, 104, 239, 944, 944,
1750 944, 638, 0, 0, 248, 0, 1149, 300, 127, 128,
1751 10, 639, 0, 0, 640, 641, 248, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 7, 127, 128, 10,
1753 0, 0, 13, 0, 0, 0, 0, 1058, 104, 0,
1754 104, 0, 203, 203, 1176, 21, 0, 0, 0, 1063,
1755 0, 0, 251, 0, 18, 0, 0, 0, 0, 0,
1756 27, 319, 0, 0, 21, 0, 0, 0, 83, 0,
1757 0, 0, 145, 145, 0, 0, 0, 26, 145, 27,
1758 28, 145, 145, 145, 0, 1086, 0, 1088, 0, 0,
1759 0, 1176, 32, 149, 0, 0, 0, 83, 0, 0,
1760 0, 83, 0, 150, 104, 0, 0, 145, 83, 0,
1761 0, 32, 0, 0, 0, 0, 151, 0, 0, 0,
1762 0, 0, 0, 0, 0, 145, 145, 145, 0, 0,
1763 203, 0, 0, 0, 0, 144, 0, 0, 80, 0,
1764 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
1765 104, 0, 0, 0, 145, 0, 471, 473, 477, 1122,
1766 1123, 0, 1125, 8, 9, 0, 0, 12, 13, 0,
1767 8, 9, 0, 14, 12, 246, 0, 83, 104, 0,
1768 14, 0, 0, 547, 547, 0, 547, 16, 0, 17,
1769 1143, 145, 0, 0, 16, 20, 17, 0, 0, 0,
1770 0, 0, 20, 0, 23, 477, 0, 0, 0, 0,
1771 0, 23, 0, 26, 0, 130, 131, 619, 0, 0,
1772 26, 0, 130, 131, 0, 0, 0, 0, 0, 248,
1773 145, 203, 203, 203, 203, 1176, 0, 0, 0, 203,
1774 0, 1178, 0, 0, 1239, 0, 642, 642, 642, 0,
1775 0, 0, 620, 0, 0, 0, 0, 0, 0, 0,
1776 0, 0, 1176, 1176, 1176, 7, 8, 9, 10, 167,
1777 12, 13, 0, 0, 248, 0, 14, 0, 635, 0,
1778 145, 145, 651, 0, 0, 0, 0, 660, 0, 0,
1779 16, 83, 17, 18, 19, 0, 0, 0, 20, 0,
1780 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
1781 168, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1782 0, 0, 0, 0, 0, 697, 0, 0, 0, 0,
1783 0, 0, 30, 0, 248, 0, 145, 248, 0, 0,
1784 0, 0, 31, 0, 0, 761, 762, 471, 473, 477,
1785 32, 145, 0, 773, 145, 33, 203, 203, 0, 203,
1786 34, 0, 7, 8, 9, 10, 145, 0, 13, 0,
1787 0, 0, 0, 0, 83, 0, 471, 473, 477, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1789 18, 0, 0, 0, 1285, 203, 988, 203, 0, 0,
1790 21, 0, 145, 0, 145, 0, 145, 145, 145, 0,
1791 0, 0, 145, 26, 104, 27, 28, 145, 0, 6,
1792 145, 7, 8, 9, 10, 11, 12, 13, 0, 193,
1793 0, 0, 14, 1298, 0, 0, 0, 0, 0, 194,
1794 134, 0, 0, 83, 0, 83, 16, 32, 17, 18,
1795 807, 83, 195, 83, 20, 0, 0, 0, 0, 21,
1796 0, 0, 0, 23, 0, 0, 438, 0, 0, 0,
1797 761, 762, 26, 773, 27, 28, 0, 0, 29, 0,
1798 1363, 0, 0, 0, 1364, 0, 0, 0, 30, 0,
1799 0, 0, 0, 248, 248, 248, 248, 0, 31, 1176,
1800 0, 0, 0, 0, 1377, 0, 32, 0, 1378, 0,
1801 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
1802 0, 0, 7, 127, 128, 10, 0, 0, 535, 0,
1803 0, 0, 0, 0, 0, 642, 642, 0, 642, 0,
1804 0, 0, 0, 1394, 0, 941, 0, 0, 0, 0,
1805 18, 0, 0, 248, 0, 145, 0, 0, 0, 0,
1806 21, 0, 0, 0, 0, 0, 1176, 1176, 1176, 145,
1807 145, 0, 651, 26, 0, 27, 28, 0, 0, 945,
1808 0, 0, 104, 0, 0, 0, 0, 203, 0, 30,
1809 0, 0, 660, 7, 127, 128, 10, 0, 145, 31,
1810 0, 0, 0, 642, 0, 642, 642, 32, 642, 0,
1811 0, 0, 33, 477, 0, 0, 0, 0, 0, 0,
1812 0, 18, 697, 0, 0, 0, 0, 0, 0, 0,
1813 126, 21, 0, 0, 0, 1466, 1467, 145, 651, 145,
1814 145, 239, 651, 0, 26, 0, 27, 28, 0, 0,
1815 642, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1816 30, 0, 0, 0, 0, 1018, 0, 0, 0, 0,
1817 31, 0, 0, 0, 0, 0, 0, 0, 32, 0,
1818 471, 473, 477, 33, 145, 0, 0, 0, 651, 0,
1819 0, 0, 0, 0, 0, 145, 145, 0, 145, 0,
1820 0, 0, 0, 0, 7, 8, 9, 10, 167, 12,
1821 13, 0, 1018, 749, 248, 14, 0, 807, 0, 0,
1822 0, 0, 0, 0, 0, 0, 248, 0, 0, 16,
1823 0, 17, 18, 0, 0, 0, 0, 20, 0, 0,
1824 0, 0, 21, 0, 0, 642, 23, 83, 636, 0,
1825 0, 0, 0, 0, 248, 26, 0, 27, 28, 0,
1826 248, 0, 0, 0, 0, 0, 0, 145, 145, 145,
1827 0, 1172, -387, 8, 9, -387, -387, 12, 246, 145,
1828 0, 1173, 0, 14, 0, 0, 0, 0, 0, 32,
1829 0, 639, 0, 0, 1174, 641, 0, 16, 0, 17,
1830 -387, 0, 0, 0, 0, 20, 0, 0, 0, 0,
1831 -387, 0, 0, 0, 23, 0, 636, 0, 642, 0,
1832 642, 0, 0, 26, 0, 130, 131, 0, 0, 0,
1833 0, 642, 0, 0, 0, 941, 941, 941, 0, 637,
1834 7, 8, 9, 10, 214, 215, 216, 0, 0, 638,
1835 0, 14, 145, 0, 145, 0, 0, -387, 0, 639,
1836 0, 248, 640, 641, 0, 145, 0, 248, 18, 945,
1837 945, 945, 0, 20, 0, 0, 0, 660, 21, 642,
1838 642, 642, 23, 0, 636, 0, 0, 0, 0, 0,
1839 0, 26, 0, 27, 28, 51, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 193, 0, 248,
1841 0, 248, 0, 145, 145, 651, 0, 194, 0, 0,
1842 0, 51, 51, 0, 152, 32, 51, 0, 941, 0,
1843 1438, 0, 0, 51, 598, 599, 600, 601, 602, 603,
1844 604, 605, 606, 607, 608, 609, 51, 0, 51, 795,
1845 8, 507, 10, 205, 12, 206, 0, 0, 0, 0,
1846 14, 0, 945, 0, 0, 0, 0, 0, 0, 0,
1847 0, 254, 0, 0, 16, 248, 17, 18, 0, 0,
1848 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
1849 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
1850 26, 145, 27, 28, 0, 0, 145, 0, 797, 83,
1851 0, 0, 0, 0, 0, 0, 30, 0, 0, 248,
1852 0, 248, 0, 0, 396, 396, 31, 51, 0, 0,
1853 0, 51, 51, 0, 32, 254, 0, 51, 0, 33,
1854 152, 152, 152, 0, 0, 0, 0, 431, 0, 248,
1855 0, 0, 0, 0, 145, 145, 51, 145, 0, 0,
1856 51, 0, 0, 0, 0, 0, 51, 51, 642, 642,
1857 642, 642, 642, 0, 0, 0, 642, 0, 0, 0,
1858 0, 0, 0, 0, 51, 51, 152, 0, 0, 0,
1859 0, 0, 0, 0, 254, 0, 0, 0, 0, 941,
1860 941, 941, 145, 145, 145, 145, 651, 0, 0, 0,
1861 145, 0, 0, 51, 0, 0, 506, 1018, 7, 8,
1862 507, 10, 167, 12, 13, 0, 0, 0, 0, 14,
1863 0, 0, 0, 945, 945, 945, 51, 0, 0, 0,
1864 0, 0, 0, 16, 0, 17, 18, 19, 0, 0,
1865 51, 20, -525, 0, 1018, 0, 21, 0, 0, 0,
1866 23, 508, 0, 168, 7, 8, 9, 10, 0, 26,
1867 246, 27, 28, 0, 0, 509, 0, 510, 0, 0,
1868 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
1869 0, 0, 18, 642, 642, 31, 642, 0, 0, 0,
1870 0, 0, 21, 32, 0, 0, 0, 0, 33, 0,
1871 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
1872 575, 0, 0, 0, -525, 0, 0, 145, 145, 0,
1873 145, 193, 0, 0, 0, 0, 0, 396, 0, 0,
1874 0, 194, 0, 0, 0, 254, 0, 0, 0, 32,
1875 51, 0, 0, 0, 195, 1425, 0, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 145, 651, 145, 595,
1877 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
1878 606, 607, 608, 609, 396, 248, 0, 0, 0, 0,
1879 0, 1018, 0, 0, 0, 51, 0, 0, 0, 506,
1880 0, 7, 8, 507, 10, 167, 12, 13, 0, 0,
1881 51, 0, 14, 51, 0, 0, 0, 0, 0, 431,
1882 431, 431, 0, 0, 0, 51, 16, 0, 17, 18,
1883 19, 0, 0, 51, 20, -526, 0, 0, 0, 21,
1884 0, 0, 0, 23, 508, 0, 168, 0, 0, 0,
1885 0, 0, 26, 0, 27, 28, 0, 0, 509, 0,
1886 510, 51, 0, 51, 0, 152, 152, 152, 30, 0,
1887 945, 51, 0, 0, 0, 0, 51, 0, 31, 51,
1888 0, 0, 1233, 1234, 9, 10, 32, 0, 0, 0,
1889 0, 33, 0, 8, 9, 0, 0, 12, 13, 0,
1890 0, 0, 51, 14, 51, 0, 0, -526, 0, 51,
1891 51, 0, 51, 0, 0, 0, 0, 16, 0, 17,
1892 21, 0, 0, 0, 0, 20, 0, 0, 0, 0,
1893 0, 0, 0, 26, 23, 27, 28, 945, 945, 945,
1894 0, 1235, 0, 26, 575, 130, 131, 575, 0, 193,
1895 0, 0, 0, 248, 0, 0, 0, 0, 145, 194,
1896 0, 0, 575, 575, 575, 0, 0, 32, 0, 78,
1897 0, 0, 195, 0, 0, 0, 0, 575, 0, 0,
1898 0, 7, 8, 9, 10, 0, 6, 13, 7, 8,
1899 9, 10, 11, 12, 13, 78, 78, 0, 78, 14,
1900 78, 0, 0, 0, 0, 0, 0, 78, 0, 18,
1901 0, 0, 15, 16, 0, 17, 18, 19, 0, 21,
1902 78, 20, 78, 0, 0, 254, 21, 0, 0, 22,
1903 23, 24, 26, 25, 27, 28, 0, 0, 575, 26,
1904 0, 27, 28, 0, 0, 29, 0, 0, 474, 0,
1905 0, 0, 0, 0, 0, 30, 0, 51, 475, 0,
1906 0, 0, 0, 0, 0, 31, 32, 0, 0, 0,
1907 0, 476, 0, 32, 0, 0, 0, 0, 33, 0,
1908 0, 396, 0, 34, 0, 0, 0, 159, 396, 0,
1909 0, 0, 0, 0, 0, 0, 51, 51, 51, 51,
1910 0, 78, 0, 0, 0, 78, 78, 0, 0, 204,
1911 0, 78, 0, 0, 78, 78, 78, 0, 0, 0,
1912 0, 0, 0, 0, 795, 796, 9, 10, 0, 0,
1913 78, 0, 0, 0, 78, 7, 8, 9, 10, 0,
1914 78, 78, 0, 51, 0, 0, 0, 51, 0, 0,
1915 0, 0, 0, 0, 51, 51, 0, 51, 78, 78,
1916 78, 0, 21, 0, 0, 0, 0, 0, 0, 0,
1917 0, 0, 0, 21, 0, 26, 51, 27, 28, 0,
1918 0, 1060, 0, 797, 0, 0, 26, 78, 27, 28,
1919 0, 193, 192, 0, 0, 0, 0, 254, 0, 0,
1920 0, 194, 193, 159, 159, 159, 51, 0, 0, 32,
1921 78, 0, 194, 0, 195, 0, 0, 0, 0, 0,
1922 32, 0, 0, 0, 78, 195, 0, 0, 0, 204,
1923 0, 748, 575, 300, 8, 9, 10, 167, 12, 301,
1924 302, 303, 749, 304, 14, 0, 0, 204, 204, 478,
1925 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
1926 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
1927 310, 21, 311, 312, 0, 23, 204, 0, 0, 313,
1928 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
1929 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
1930 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
1931 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
1932 659, 0, 0, 329, 78, 0, 0, 0, 575, 575,
1933 575, 0, 0, 0, 431, 254, 0, 0, -798, 0,
1934 330, 0, 0, 7, 8, 9, 10, 205, 12, 206,
1935 0, 0, 548, 0, 14, 597, 598, 599, 600, 601,
1936 602, 603, 604, 605, 606, 607, 608, 609, 16, 78,
1937 17, 18, 51, 51, 152, 0, 20, 0, 0, 254,
1938 0, 21, 0, 0, 78, 23, 0, 78, 0, 0,
1939 0, 0, 0, 0, 26, 0, 27, 28, 0, 78,
1940 207, 0, 644, 644, 644, 0, 0, 78, 0, 0,
1941 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1942 31, 1204, 0, 0, 0, 0, 0, 0, 32, 0,
1943 0, 0, 0, 33, 0, 78, 0, 78, 0, 78,
1944 78, 78, 0, 0, 0, 78, 0, 0, 0, 0,
1945 78, 0, 0, 78, 0, 0, 0, 0, 204, 0,
1946 51, 0, 0, 0, 0, 51, 0, 0, 51, 7,
1947 8, 9, 10, 167, 12, 13, 78, 0, 78, 0,
1948 14, 0, 0, 78, 78, 0, 78, 0, 0, 0,
1949 0, 0, 0, 0, 16, 0, 17, 18, 0, 0,
1950 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
1951 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
1952 26, 0, 27, 28, 204, 0, 204, 0, 478, 478,
1953 478, 0, 0, 0, 204, 0, 30, 0, 0, 204,
1954 254, 0, 204, 0, 0, 0, 31, 0, 0, 0,
1955 0, 0, 0, 0, 32, 0, 0, 0, 0, 33,
1956 0, 51, 51, 152, 152, 152, 0, 254, 0, 51,
1957 0, 0, 204, 0, 870, 0, 300, 8, 9, 10,
1958 0, 12, 552, 302, 303, 0, 304, 14, 0, 0,
1959 0, 0, 1204, 1204, 1204, 0, 0, 0, 0, 0,
1960 659, 16, 305, 17, 0, 19, 0, 306, 307, 20,
1961 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
1962 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
1963 319, 78, 0, 0, 320, -788, 0, 0, 0, 0,
1964 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
1965 0, 323, 324, 325, 0, 0, 202, 0, 0, 326,
1966 327, 328, 0, 0, 0, 0, 329, 0, 0, 0,
1967 78, 78, 78, 78, 0, 0, 0, 906, 0, 0,
1968 0, 257, 0, 330, 261, 0, 51, 51, 0, 51,
1969 0, 644, 644, 0, 644, 0, 0, 0, 0, 0,
1970 0, 644, 0, 0, 0, 257, 0, 365, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 78, 0, 0,
1972 204, 78, 0, 0, 0, 51, 51, 51, 78, 78,
1973 0, 78, 592, 593, 594, 595, 596, 597, 598, 599,
1974 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
1975 78, 0, 0, 0, 0, 0, 0, 0, 0, 985,
1976 0, 985, 985, 0, 644, 0, 0, 0, 0, 0,
1977 0, 7, 8, 9, 10, 0, 202, 535, 0, 0,
1978 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 202, 202, 202, 0, 0, 18,
1980 0, 0, 0, 0, 484, 0, 985, 0, 0, 21,
1981 0, 0, 0, 0, 0, 0, 0, 204, 204, 0,
1982 204, 0, 26, 202, 27, 28, 0, 0, 0, 1204,
1983 0, 0, 0, 0, 0, 0, 0, 0, 193, 204,
1984 0, 7, 8, 9, 10, 167, 12, 13, 194, 261,
1985 1035, 0, 14, 0, 0, 0, 32, 0, 0, 0,
1986 0, 195, 0, 257, 0, 0, 16, 0, 17, 18,
1987 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
1988 0, 0, 0, 23, 0, 0, 0, 0, 0, 548,
1989 548, 548, 26, 0, 27, 28, 1204, 1204, 1204, 0,
1990 0, 644, 0, 0, 0, 0, 0, 0, 30, 0,
1991 659, 0, 0, 0, 0, 0, 0, 51, 31, 0,
1992 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
1993 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 78, 78, 78, 0,
1995 0, 0, 0, 0, 0, 257, 261, 0, 0, 0,
1996 0, 7, 8, 9, 10, 205, 12, 206, 0, 0,
1997 0, 0, 14, 0, 644, 0, 644, 0, 0, 0,
1998 0, 0, 0, 0, 0, 0, 16, 644, 17, 18,
1999 0, 644, 644, 644, 20, 1206, 0, 0, 0, 21,
2000 0, 0, 0, 23, 0, 202, 0, 0, 0, 0,
2001 0, 0, 26, 0, 27, 28, 0, 0, 1435, 0,
2002 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,
2003 0, 0, 0, 0, 78, 985, 985, 1177, 31, 78,
2004 0, 0, 78, 0, 0, 0, 32, 0, 0, 0,
2005 0, 33, 0, 0, 0, 7, 8, 9, 10, 205,
2006 12, 206, 0, 0, 0, 0, 14, 0, 0, 0,
2007 0, 202, 0, 202, 0, 202, 202, 202, 0, 0,
2008 16, 202, 17, 18, 1177, 0, 202, 0, 20, 202,
2009 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
2010 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2011 0, 102, 0, 0, 0, 0, 0, 0, 0, 202,
2012 121, 102, 30, 204, 0, 0, 0, 102, 102, 0,
2013 102, 1489, 31, 0, 0, 78, 78, 78, 78, 78,
2014 32, 0, 0, 78, 0, 33, 594, 595, 596, 597,
2015 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2016 608, 609, 235, 0, 0, 0, 1206, 1206, 1206, 0,
2017 0, 0, 0, 0, 0, 0, 906, 906, 0, 906,
2018 0, 1490, 588, 589, 590, 591, 592, 593, 594, 595,
2019 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
2020 606, 607, 608, 609, 593, 594, 595, 596, 597, 598,
2021 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2022 609, 389, 0, 121, 985, 985, 1177, 1177, 1177, 0,
2023 102, 102, 985, 0, 0, 0, 0, 102, 102, 0,
2024 0, 102, 102, 102, 0, 417, 102, 102, 102, 0,
2025 0, 257, 261, 0, 0, 1177, 1177, 1177, 0, 0,
2026 78, 78, 0, 78, 0, 0, 0, 202, 0, 0,
2027 0, 0, 0, 0, 0, 0, 0, 0, 1233, 127,
2028 128, 10, 0, 0, 0, 0, 0, 0, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
2030 78, 78, 0, 0, 0, 0, 202, 0, 202, 202,
2031 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
2032 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
2033 0, 27, 28, 0, 0, 235, 102, 1235, 0, 0,
2034 0, 0, 0, 0, 0, 30, 0, 0, 0, 985,
2035 985, 0, 985, 202, 0, 31, 102, 0, 0, 0,
2036 0, 0, 0, 32, 202, 202, 0, 202, 33, 0,
2037 0, 570, 0, 300, 8, 9, 10, 167, 12, 301,
2038 302, 303, 749, 304, 14, 0, 202, 0, 204, 0,
2039 204, 0, 0, 0, 0, 102, 0, 0, 16, 305,
2040 17, 18, 19, 1206, 306, 307, 20, 484, 308, 309,
2041 310, 21, 311, 312, 0, 23, 0, 636, 0, 313,
2042 314, 315, 316, 317, 26, 0, 27, 319, -312, 0,
2043 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2044 937, 0, 0, 102, 0, 102, 102, 0, 323, 324,
2045 938, 7, 8, 9, 10, 0, 326, 327, 328, 0,
2046 639, 0, 0, 939, 641, 0, 0, 0, 0, 0,
2047 1206, 1206, 1206, 7, 8, 9, 10, 0, 0, 18,
2048 330, 0, 0, 0, 0, 0, 0, 0, 0, 21,
2049 102, 78, 478, 0, 0, 0, 0, 0, 0, 0,
2050 0, 0, 26, 0, 27, 28, 0, 0, 0, 102,
2051 0, 21, 0, 0, 0, 0, 102, 0, 474, 102,
2052 0, 0, 0, 0, 26, 0, 27, 28, 475, 0,
2053 1432, 102, 0, 0, 0, 0, 32, 0, 0, 0,
2054 193, 476, 0, 0, 0, 257, 261, 257, 0, 0,
2055 194, 0, 0, 0, 0, 0, 0, 0, 32, 478,
2056 478, 478, 0, 195, 0, 0, 0, 0, 8, 9,
2057 0, 205, 12, 206, 7, 8, 9, 10, 14, 0,
2058 204, 0, 202, 202, 1175, 0, 0, 0, 0, 257,
2059 0, 0, 16, 0, 17, 18, 0, 0, 0, 102,
2060 20, 0, 0, 0, 0, 102, 0, 0, 0, 23,
2061 0, 0, 21, 0, 0, 0, 0, 0, 26, 261,
2062 130, 131, 0, 0, 0, 26, 0, 27, 28, 0,
2063 0, 1175, 1460, 0, -479, -479, -479, -479, -479, -479,
2064 -479, 193, 0, -479, 102, -479, 0, 0, 0, 0,
2065 0, 194, 0, 0, 0, 0, -479, 0, -479, 32,
2066 0, 0, -479, 0, 195, 0, 0, -479, 0, 0,
2067 202, 0, -479, 0, 0, 0, -479, 0, -479, 0,
2068 0, 0, 0, 0, 0, -479, 0, -479, -479, -479,
2069 -479, -479, 0, -479, -479, -479, -479, -479, -479, -479,
2070 -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
2071 -479, -479, -479, -479, -479, -479, 0, -479, -479, -479,
2072 102, -479, -479, -479, -479, -479, -479, 0, -479, 0,
2073 0, 102, 102, 1461, 102, 102, 0, 0, -479, -479,
2074 -479, 0, -479, 0, 0, 0, 0, 0, 0, 0,
2075 257, 0, 0, 0, 0, 0, 0, 8, 9, 0,
2076 167, 12, 13, 0, 0, 0, 0, 14, 0, 0,
2077 0, 202, 202, 202, 202, 1175, 0, 1297, 0, 202,
2078 0, 16, 0, 17, 18, 0, 0, 102, 0, 20,
2079 0, 0, 0, 0, 102, 121, 0, 0, 698, 0,
2080 0, 168, 1175, 1175, 1175, 0, 235, 26, 0, 130,
2081 131, 0, 0, 0, 0, 1440, 0, 1308, 1309, 1310,
2082 10, 167, 12, 301, 302, 303, 0, 304, 14, 1311,
2083 1015, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320,
2084 1321, 15, 16, 305, 17, 18, 19, 0, 306, 307,
2085 20, 0, 308, 309, 310, 21, 311, 312, 1322, 23,
2086 1323, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2087 1324, 319, 736, 0, 1325, 320, 0, 1015, 0, 0,
2088 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2089 0, 0, 323, 324, 325, 0, 202, 202, 0, 202,
2090 326, 327, 328, 0, 102, 0, 0, 329, 0, 1326,
2091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2092 0, 0, 0, 1441, 330, 0, 0, 0, 0, 0,
2093 0, 0, 102, 102, 102, 202, 0, 202, 0, 0,
2094 0, 0, 0, 0, 102, 0, 1307, 0, 1308, 1309,
2095 1310, 10, 167, 12, 301, 302, 303, 0, 304, 14,
2096 1311, 0, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319,
2097 1320, 1321, 15, 16, 305, 17, 18, 19, 0, 306,
2098 307, 20, 0, 308, 309, 310, 21, 311, 312, 1322,
2099 23, 1323, 0, 0, 313, 314, 315, 316, 317, 26,
2100 0, 1324, 319, 736, 0, 1325, 320, 0, 0, 0,
2101 0, 0, 321, 0, 0, 322, 0, 102, 0, 102,
2102 0, 0, 0, 323, 324, 325, 18, 0, 0, 0,
2103 102, 326, 327, 328, 0, 0, 0, 0, 329, 1175,
2104 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2105 0, 0, 0, 0, 0, 330, 0, 0, 588, 589,
2106 590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
2107 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2108 0, 0, 0, 0, 0, 8, 9, 0, 167, 12,
2109 13, 0, 0, 749, 0, 14, 0, 0, 0, 0,
2110 0, 0, 0, 0, 0, 0, 1175, 1175, 1175, 16,
2111 0, 17, 18, 0, 0, 1015, 0, 20, 0, 0,
2112 0, 0, 0, 0, 0, 0, 23, 202, 0, 0,
2113 0, 0, 0, 0, 0, 26, 0, 130, 131, 0,
2114 0, 0, 0, 0, 0, 0, 570, 0, 7, 8,
2115 9, 10, 167, 12, 301, 302, 303, 749, 304, 14,
2116 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
2117 0, 102, 0, 16, 305, 17, 18, 19, 0, 306,
2118 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2119 23, 0, 636, 0, 313, 314, 315, 316, 317, 26,
2120 0, 27, 28, -312, 0, 0, 320, 0, 0, 0,
2121 0, 0, 321, 0, 0, 1201, 0, 0, 0, 102,
2122 102, 0, 102, 323, 324, 1202, 0, 0, 0, 0,
2123 0, 326, 327, 328, 0, 639, 0, 0, 1203, 641,
2124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2125 0, 0, 0, 0, 0, 330, 870, 0, 300, 8,
2126 9, 10, 167, 12, 301, 302, 303, 0, 304, 14,
2127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2128 0, 0, 1015, 16, 305, 17, 18, 19, 0, 306,
2129 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2130 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2131 0, 27, 319, 1531, 0, -788, 320, 0, 0, 1015,
2132 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2133 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2134 0, 326, 327, 328, 0, 0, 0, 0, 329, 739,
2135 0, 858, 859, 860, 10, 0, 12, 552, 302, 303,
2136 0, 304, 14, 0, 0, 330, 0, 0, 0, 0,
2137 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2138 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2139 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2140 316, 317, 26, 0, 861, 862, 740, 0, 0, 320,
2141 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2142 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2143 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2144 0, 329, 863, 0, 0, 0, 0, 0, 0, 0,
2145 0, 0, 0, 0, 0, 0, 1015, 1022, 330, 570,
2146 0, 300, 8, 9, 10, 0, 12, 301, 302, 303,
2147 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2148 0, 0, 0, 0, 0, 0, 16, 305, 17, 18,
2149 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2150 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2151 316, 317, 26, 0, 27, 319, -312, 0, 0, 320,
2152 0, 0, 0, 0, 0, 321, 0, 0, 571, 0,
2153 0, 0, 0, 0, 0, 0, 323, 324, 572, 0,
2154 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2155 739, 573, 858, 859, 860, 10, 0, 12, 552, 302,
2156 303, 0, 304, 14, 0, 0, 0, 0, 330, 0,
2157 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2158 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2159 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2160 315, 316, 317, 26, 0, 861, 862, 740, 0, 0,
2161 320, 0, 0, 0, 0, 0, 321, 0, 0, 322,
2162 0, 0, 0, 0, 0, 0, 0, 323, 324, 325,
2163 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
2164 0, 0, 329, 863, 739, 0, 858, 859, 860, 10,
2165 0, 12, 552, 302, 303, 0, 304, 14, 0, 330,
2166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2167 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2168 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2169 0, 0, 313, 314, 315, 316, 317, 26, 0, 861,
2170 862, 740, 0, 0, 320, 0, 0, 0, 0, 0,
2171 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2172 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2173 327, 328, 0, 0, 0, 739, 329, 858, 859, 860,
2174 10, 0, 12, 552, 302, 303, 0, 304, 14, 0,
2175 0, 0, -483, 330, 0, 0, 0, 0, 0, 0,
2176 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2177 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2178 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2179 861, 862, 740, 0, 0, 320, 0, 0, 0, 0,
2180 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2181 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2182 326, 327, 328, 0, 0, 0, 739, 329, 300, 8,
2183 9, 10, 0, 12, 552, 302, 303, 0, 304, 14,
2184 0, 0, 0, 1346, 330, 0, 0, 0, 0, 0,
2185 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2186 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2187 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2188 0, 27, 319, 740, 0, 0, 320, 0, 0, 0,
2189 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2190 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2191 0, 326, 327, 328, 0, 0, 0, 0, 329, 0,
2192 570, 0, 7, 8, 9, 10, 1350, 12, 301, 302,
2193 303, 0, 304, 14, 0, 330, 0, 0, 0, 0,
2194 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2195 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2196 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2197 315, 316, 317, 26, 0, 27, 28, -312, 0, 0,
2198 320, 0, 0, 0, 0, 0, 321, 0, 0, 1505,
2199 0, 0, 0, 0, 0, 0, 0, 323, 324, 1506,
2200 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
2201 0, 739, 1507, 300, 8, 9, 10, 0, 12, 552,
2202 302, 303, 0, 304, 14, 0, 0, 0, 0, 330,
2203 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2204 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2205 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2206 314, 315, 316, 317, 26, 0, 27, 319, 740, 0,
2207 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2208 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2209 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2210 0, 0, 1579, 329, 300, 8, 9, 10, 0, 12,
2211 301, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2212 330, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2213 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
2214 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
2215 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
2216 0, -196, 320, 0, 0, 0, 0, 0, 321, 0,
2217 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
2218 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
2219 0, 0, 0, 870, 329, 300, 8, 9, 10, 0,
2220 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2221 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2222 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2223 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2224 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2225 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2226 263, 0, 322, 8, 9, 0, 0, 12, 13, 0,
2227 323, 324, 325, 14, 0, 0, 0, 0, 326, 327,
2228 328, 0, 0, 0, 0, 329, 0, 16, 0, 17,
2229 0, 0, 0, 0, 0, 20, 0, 264, 265, 0,
2230 -788, 0, 330, 0, 23, 0, 266, 0, 0, 0,
2231 0, 0, 0, 26, 0, 130, 131, 0, 267, 0,
2232 0, 0, 268, 269, 270, 271, 272, 273, 274, 275,
2233 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
2234 286, 287, 288, 0, 0, 289, 290, 291, 0, 0,
2235 292, 0, 959, 293, 300, 8, 9, 10, 0, 12,
2236 552, 302, 303, 0, 304, 14, 0, 0, 0, 294,
2237 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2238 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
2239 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
2240 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
2241 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2242 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
2243 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
2244 0, 0, 0, 961, 329, 300, 8, 9, 10, 0,
2245 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2246 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2247 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2248 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2249 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2250 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2251 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2252 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2253 328, 0, 0, 0, 1515, 329, 300, 8, 9, 10,
2254 0, 12, 552, 302, 303, 0, 304, 14, 0, 0,
2255 0, 0, 330, 0, 0, 0, 0, 0, 0, 0,
2256 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2257 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2258 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2259 319, 0, 0, 0, 320, 0, 0, 0, 0, 0,
2260 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2261 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2262 327, 328, 300, 8, 9, 10, 329, 12, 552, 302,
2263 303, 0, 304, 14, 0, 0, 0, 0, 0, 0,
2264 0, 0, 0, 330, 0, 0, 0, 16, 305, 17,
2265 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2266 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2267 315, 316, 317, 26, 0, 27, 319, 0, 0, 0,
2268 320, 0, 0, 0, 0, 0, 321, 0, 506, 322,
2269 7, 8, 507, 10, 167, 12, 13, 323, 324, 325,
2270 0, 14, 0, 0, 0, 326, 327, 328, 0, 0,
2271 0, 0, 329, 0, 0, 16, 0, 17, 18, 19,
2272 0, 0, 0, 20, -528, 0, 0, 0, 21, 330,
2273 909, 0, 23, 508, 0, 168, 0, 0, 0, 0,
2274 0, 26, 0, 27, 28, 0, 0, 509, 0, 510,
2275 0, 0, 0, 0, 0, 0, 0, 30, 506, 0,
2276 7, 8, 507, 10, 167, 12, 13, 31, 0, 0,
2277 0, 14, 0, 0, 0, 32, 0, 0, 0, 0,
2278 33, 0, 0, 0, 0, 16, 0, 17, 18, 19,
2279 0, 0, 0, 20, -527, 0, -528, 0, 21, 0,
2280 0, 0, 23, 508, 0, 168, 0, 0, 0, 0,
2281 0, 26, 0, 27, 28, 0, 0, 509, 0, 510,
2282 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
2283 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
2284 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
2285 33, 0, 0, 1308, 1309, 1310, 10, 167, 12, 301,
2286 302, 303, 0, 304, 14, 1311, -527, 1312, 1313, 1314,
2287 1315, 1316, 1317, 1318, 1319, 1320, 1321, 15, 16, 305,
2288 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2289 310, 21, 311, 312, 1322, 23, 1323, 0, 0, 313,
2290 314, 315, 316, 317, 26, 0, 1324, 319, 736, 0,
2291 1325, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2292 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2293 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2294 0, 0, 0, 329, 0, 1326, 0, 0, 0, 0,
2295 0, 0, 0, 0, 0, 0, 0, 0, 0, 1445,
2296 330, 1308, 1309, 1310, 10, 167, 12, 301, 302, 303,
2297 0, 304, 14, 1311, 0, 1312, 1313, 1314, 1315, 1316,
2298 1317, 1318, 1319, 1320, 1321, 15, 16, 305, 17, 18,
2299 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2300 311, 312, 1322, 23, 1323, 0, 0, 313, 314, 315,
2301 316, 317, 26, 0, 1324, 319, 736, 0, 1325, 320,
2302 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2303 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2304 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2305 0, 329, 0, 1326, 0, 1308, 1309, 1310, 10, 167,
2306 12, 301, 302, 303, 0, 304, 14, 1311, 330, 1312,
2307 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 15,
2308 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
2309 308, 309, 310, 21, 311, 312, 1322, 23, 1323, 0,
2310 0, 313, 314, 315, 316, 317, 26, 0, 1324, 319,
2311 1556, 0, 1325, 320, 0, 0, 0, 0, 0, 321,
2312 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2313 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2314 328, 0, 0, 0, 0, 329, 0, 1326, 0, 1308,
2315 1309, 1310, 10, 167, 12, 301, 302, 303, 0, 304,
2316 14, 1311, 330, 1312, 1313, 1314, 1315, 1316, 1317, 1318,
2317 1319, 1320, 1321, 15, 16, 305, 17, 18, 19, 0,
2318 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2319 1322, 23, 1323, 0, 0, 313, 314, 315, 316, 317,
2320 26, 0, 1324, 319, 0, 0, 1325, 320, 0, 0,
2321 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2322 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2323 0, 0, 326, 327, 328, 0, 0, 0, 0, 329,
2324 0, 1326, 300, 8, 9, 10, 167, 12, 301, 302,
2325 303, 749, 304, 14, 0, 0, 330, 0, 0, 0,
2326 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2327 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2328 21, 311, 312, 0, 23, 0, 636, 0, 313, 314,
2329 315, 316, 317, 26, 0, 27, 319, 0, 0, 0,
2330 320, 0, 0, 0, 0, 0, 321, 0, 0, 937,
2331 0, 0, 0, 0, 0, 0, 0, 323, 324, 938,
2332 0, 0, 0, 0, 0, 326, 327, 328, 0, 639,
2333 0, 0, 939, 641, 7, 8, 9, 10, 167, 12,
2334 301, 302, 303, 749, 304, 14, 0, 0, 0, 330,
2335 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2336 305, 17, 18, 19, 0, 306, 307, 20, 0, 308,
2337 309, 310, 21, 311, 312, 0, 23, 0, 636, 0,
2338 313, 314, 315, 316, 317, 26, 0, 27, 28, 0,
2339 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2340 0, 1201, 0, 0, 0, 0, 0, 0, 0, 323,
2341 324, 1202, 0, 0, 0, 0, 0, 326, 327, 328,
2342 0, 639, 0, 0, 1203, 641, 300, 8, 9, 10,
2343 0, 12, 301, 302, 303, 0, 304, 14, 0, 0,
2344 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2345 0, 16, 305, 17, 18, 19, 0, 306, 307, 20,
2346 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2347 636, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2348 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2349 321, 0, 0, 937, 0, 0, 0, 0, 0, 0,
2350 0, 323, 324, 938, 0, 0, 0, 0, 0, 326,
2351 327, 328, 0, 639, 0, 0, 939, 641, 7, 8,
2352 9, 10, 0, 12, 301, 302, 303, 0, 304, 14,
2353 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2354 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2355 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2356 23, 0, 636, 0, 313, 314, 315, 316, 317, 26,
2357 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
2358 0, 0, 321, 0, 0, 1201, 0, 0, 0, 0,
2359 0, 0, 0, 323, 324, 1202, 0, 0, 0, 0,
2360 0, 326, 327, 328, 0, 639, 0, 0, 1203, 641,
2361 300, 8, 9, 10, 0, 12, 552, 302, 303, 0,
2362 304, 14, 0, 0, 0, 330, 0, 0, 0, 0,
2363 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2364 0, 306, 307, 20, 0, 308, 309, 310, 21, 311,
2365 312, 0, 23, 0, 0, 0, 313, 314, 315, 316,
2366 317, 26, 0, 27, 319, 0, 0, 0, 320, 0,
2367 0, 0, 0, 0, 321, 0, 0, 571, 0, 0,
2368 0, 0, 0, 0, 0, 323, 324, 572, 0, 0,
2369 0, 0, 0, 326, 327, 328, 300, 8, 9, 10,
2370 573, 12, 552, 302, 303, 0, 304, 14, 0, 0,
2371 0, 0, 0, 0, 0, 0, 0, 330, 0, 0,
2372 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2373 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2374 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2375 319, 0, 0, 1418, 320, 0, 0, 0, 0, 0,
2376 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2377 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2378 327, 328, 0, 0, 0, 0, 329, 300, 8, 9,
2379 10, 167, 12, 301, 302, 303, 0, 304, 14, 0,
2380 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2381 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
2382 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2383 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2384 27, 319, 0, 0, 0, 0, 0, 0, 0, 0,
2385 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2386 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2387 326, 327, 328, 7, 8, 9, 10, 329, 12, 552,
2388 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2389 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2390 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2391 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2392 314, 315, 316, 317, 26, 0, 27, 28, 0, 0,
2393 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2394 1505, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2395 1506, 0, 0, 0, 0, 0, 326, 327, 328, 300,
2396 8, 9, 10, 1507, 12, 301, 302, 303, 0, 304,
2397 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2398 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2399 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2400 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2401 26, 0, 318, 319, 0, 0, 0, 320, 0, 0,
2402 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2403 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2404 0, 0, 326, 327, 328, 300, 8, 9, 10, 329,
2405 12, 301, 302, 303, 0, 304, 14, 0, 0, 0,
2406 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
2407 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2408 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2409 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2410 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2411 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2412 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2413 328, 300, 8, 9, 10, 329, 12, 552, 302, 303,
2414 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2415 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
2416 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2417 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2418 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
2419 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2420 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2421 0, 0, 0, 0, 326, 327, 328, 300, 8, 9,
2422 10, 329, 12, 552, 302, 303, 0, 304, 14, 0,
2423 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
2424 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2425 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2426 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2427 27, 319, 585, 0, 0, 0, 0, 0, 0, 0,
2428 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2429 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2430 326, 327, 328, 300, 8, 9, 10, 586, 12, 552,
2431 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2432 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2433 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2434 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2435 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
2436 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
2437 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2438 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2439 0, 0, 0, 329, 624, 300, 8, 9, 10, 0,
2440 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2441 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2442 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
2443 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2444 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2445 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
2446 0, 0, 571, 0, 0, 0, 0, 0, 0, 0,
2447 323, 324, 572, 0, 0, 0, 0, 0, 326, 327,
2448 328, 1161, 8, 9, 10, 573, 12, 552, 302, 303,
2449 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2450 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
2451 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2452 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2453 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
2454 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2455 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2456 0, 0, 0, 0, 326, 327, 328, 7, 8, 9,
2457 10, 329, 12, 301, 302, 303, 0, 304, 14, 0,
2458 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
2459 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
2460 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2461 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2462 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2463 0, 321, 0, 0, 1505, 0, 0, 0, 0, 0,
2464 0, 0, 323, 324, 1506, 0, 0, 0, 0, 0,
2465 326, 327, 328, 300, 8, 9, 10, 1507, 12, 552,
2466 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2467 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2468 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2469 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2470 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
2471 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
2472 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2473 325, 0, 0, 0, 0, 0, 326, 327, 328, 300,
2474 8, 9, 10, 553, 12, 552, 302, 303, 0, 304,
2475 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2476 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2477 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2478 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2479 26, 0, 27, 319, 0, 0, 0, 0, 0, 0,
2480 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2481 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2482 0, 0, 326, 327, 328, 300, 8, 9, 10, 556,
2483 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2484 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
2485 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2486 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2487 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2488 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
2489 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2490 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2491 328, 0, 0, 8, 9, 329, 167, 12, 13, 0,
2492 0, 1550, 0, 14, 0, 0, 0, 0, 0, 0,
2493 0, 0, 330, 0, 0, 0, 0, 16, 0, 17,
2494 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2495 0, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2496 0, 0, 0, 26, 0, 130, 131, 588, 589, 590,
2497 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
2498 601, 602, 603, 604, 605, 606, 607, 608, 609, 588,
2499 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
2500 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2501 609, 0, 0, 0, 0, 1261, 0, 0, 0, 0,
2502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2503 677, 0, 0, 1546, 588, 589, 590, 591, 592, 593,
2504 594, 595, 596, 597, 598, 599, 600, 601, 602, 603,
2505 604, 605, 606, 607, 608, 609, 1564, 588, 589, 590,
2506 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
2507 601, 602, 603, 604, 605, 606, 607, 608, 609, 588,
2508 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
2509 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2510 609, 588, 589, 590, 591, 592, 593, 594, 595, 596,
2511 597, 598, 599, 0, 601, 602, 603, 604, 605, 606,
2515 static const short yycheck
[] = { 4,
2516 174, 161, 209, 23, 176, 4, 149, 150, 402, 175,
2517 355, 402, 126, 80, 734, 156, 62, 4, 251, 349,
2518 482, 80, 355, 4, 402, 455, 14, 4, 134, 898,
2519 35, 511, 84, 513, 46, 583, 35, 42, 55, 709,
2520 247, 521, 209, 30, 31, 90, 733, 92, 35, 304,
2521 305, 218, 57, 4, 35, 42, 133, 134, 35, 640,
2522 460, 42, 620, 663, 76, 42, 647, 72, 373, 124,
2523 42, 217, 218, 42, 55, 440, 57, 144, 4, 84,
2524 133, 4, 337, 88, 35, 90, 11, 92, 1400, 296,
2525 1327, 42, 137, 780, 140, 83, 1486, 84, 1337, 42,
2526 42, 1487, 107, 108, 12, 1344, 47, 54, 58, 35,
2527 156, 57, 35, 11, 11, 47, 42, 717, 106, 42,
2528 356, 357, 355, 64, 62, 1488, 54, 38, 33, 59,
2529 54, 136, 137, 84, 139, 0, 203, 62, 1528, 75,
2530 1510, 77, 349, 54, 37, 75, 74, 577, 98, 136,
2531 74, 59, 93, 94, 62, 136, 64, 1527, 175, 140,
2532 165, 93, 149, 150, 169, 1, 212, 33, 0, 503,
2533 108, 176, 408, 409, 220, 782, 1, 1, 165, 641,
2534 306, 307, 169, 108, 165, 136, 245, 794, 169, 716,
2535 136, 237, 169, 165, 175, 176, 322, 169, 1561, 325,
2536 169, 213, 328, 262, 109, 331, 193, 194, 155, 335,
2537 108, 108, 1582, 136, 165, 822, 109, 343, 169, 47,
2538 1606, 828, 58, 1531, 27, 555, 169, 169, 31, 59,
2539 176, 1621, 490, 58, 58, 62, 74, 62, 62, 12,
2540 245, 222, 165, 169, 25, 27, 169, 74, 9, 31,
2541 1487, 402, 1491, 200, 1566, 47, 59, 60, 245, 42,
2542 248, 64, 60, 74, 245, 93, 94, 1575, 526, 346,
2543 95, 95, 3, 4, 5, 6, 59, 58, 60, 109,
2544 108, 62, 64, 149, 150, 151, 59, 393, 448, 62,
2545 342, 58, 297, 346, 245, 1061, 1062, 64, 1537, 245,
2546 61, 93, 94, 33, 7, 735, 976, 3, 4, 5,
2547 41, 109, 1078, 358, 95, 660, 108, 468, 4, 245,
2548 487, 699, 245, 54, 329, 56, 57, 109, 935, 195,
2549 385, 474, 475, 60, 37, 108, 59, 342, 48, 897,
2550 486, 487, 4, 5, 1583, 350, 8, 9, 494, 35,
2551 59, 93, 14, 358, 359, 342, 93, 88, 939, 59,
2552 56, 57, 756, 728, 729, 756, 28, 355, 30, 59,
2553 47, 93, 359, 54, 36, 75, 4, 77, 359, 525,
2554 60, 60, 109, 45, 689, 108, 169, 404, 4, 5,
2555 59, 342, 54, 74, 56, 57, 629, 402, 544, 108,
2556 405, 1270, 983, 74, 450, 8, 9, 35, 359, 74,
2557 47, 14, 47, 359, 60, 402, 93, 94, 108, 149,
2558 150, 151, 752, 404, 951, 402, 209, 954, 664, 109,
2559 109, 93, 980, 36, 217, 218, 359, 442, 54, 108,
2560 56, 57, 45, 93, 47, 571, 572, 493, 1048, 1030,
2561 107, 402, 511, 498, 513, 442, 93, 94, 93, 33,
2562 519, 442, 521, 468, 247, 195, 1232, 25, 995, 996,
2563 442, 108, 47, 442, 936, 1241, 1242, 47, 1244, 47,
2564 1087, 468, 1089, 47, 496, 47, 31, 474, 475, 640,
2565 93, 442, 58, 498, 107, 108, 647, 47, 1185, 480,
2566 900, 518, 514, 515, 47, 550, 511, 488, 513, 25,
2567 4, 27, 524, 296, 519, 47, 521, 468, 93, 442,
2568 1389, 64, 60, 93, 511, 93, 513, 54, 47, 93,
2569 511, 93, 513, 4, 521, 1222, 54, 518, 519, 44,
2570 521, 35, 58, 93, 108, 550, 62, 74, 553, 54,
2571 93, 556, 57, 727, 74, 560, 561, 562, 563, 564,
2572 511, 93, 513, 54, 35, 511, 349, 513, 573, 621,
2573 521, 42, 518, 519, 93, 521, 150, 151, 583, 95,
2574 109, 586, 12, 977, 690, 511, 977, 513, 511, 1019,
2575 513, 697, 47, 1174, 54, 521, 58, 1077, 521, 977,
2576 945, 93, 838, 54, 25, 756, 27, 54, 474, 475,
2577 476, 25, 945, 27, 74, 47, 621, 54, 62, 75,
2578 697, 195, 1203, 406, 108, 1152, 1153, 47, 774, 59,
2579 74, 782, 62, 62, 621, 640, 47, 58, 93, 94,
2580 847, 62, 647, 794, 58, 108, 62, 692, 62, 666,
2581 637, 638, 94, 640, 54, 3, 4, 5, 74, 442,
2582 647, 93, 62, 651, 1126, 136, 3, 4, 5, 108,
2583 621, 822, 1359, 93, 95, 31, 108, 828, 698, 108,
2584 58, 95, 93, 94, 62, 666, 941, 692, 705, 640,
2585 707, 708, 1458, 1459, 165, 47, 647, 47, 169, 108,
2586 25, 706, 27, 486, 487, 710, 1106, 1107, 56, 57,
2587 11, 494, 945, 733, 64, 1049, 329, 1051, 47, 56,
2588 57, 1055, 8, 9, 705, 706, 707, 708, 14, 7,
2589 8, 9, 80, 58, 970, 752, 14, 62, 109, 806,
2590 98, 93, 525, 93, 474, 475, 476, 806, 47, 60,
2591 36, 756, 47, 31, 62, 329, 815, 47, 36, 45,
2592 47, 544, 1122, 1123, 93, 1125, 74, 45, 785, 756,
2593 95, 752, 4, 5, 245, 756, 93, 782, 823, 824,
2594 3, 826, 60, 909, 935, 141, 798, 60, 939, 794,
2595 146, 1121, 804, 805, 93, 782, 808, 809, 93, 1199,
2596 812, 111, 943, 93, 785, 756, 93, 794, 1208, 1209,
2597 815, 937, 938, 1213, 4, 5, 48, 822, 823, 824,
2598 54, 826, 74, 828, 56, 57, 977, 62, 815, 1003,
2599 47, 782, 983, 94, 815, 822, 480, 54, 194, 785,
2600 74, 828, 62, 794, 488, 1081, 1082, 1083, 80, 1569,
2601 27, 94, 465, 47, 31, 429, 430, 74, 48, 74,
2602 54, 1261, 59, 60, 815, 111, 56, 57, 93, 815,
2603 74, 822, 93, 3, 4, 5, 93, 828, 3, 1030,
2604 74, 6, 59, 60, 667, 1219, 1220, 1221, 359, 815,
2605 80, 896, 815, 47, 59, 60, 901, 943, 74, 93,
2606 54, 475, 476, 259, 1018, 74, 31, 59, 3, 4,
2607 5, 6, 3, 4, 5, 182, 41, 835, 836, 837,
2608 74, 988, 59, 60, 929, 708, 56, 57, 58, 11,
2609 935, 56, 57, 108, 939, 109, 1087, 59, 1089, 93,
2610 553, 59, 60, 556, 108, 70, 41, 560, 935, 108,
2611 937, 938, 939, 48, 74, 80, 1356, 945, 59, 60,
2612 573, 56, 57, 88, 108, 56, 57, 54, 93, 752,
2613 74, 442, 977, 586, 979, 980, 74, 590, 983, 553,
2614 108, 1411, 556, 109, 935, 80, 1386, 111, 939, 108,
2615 977, 774, 109, 88, 981, 982, 983, 1427, 572, 573,
2616 977, 111, 1128, 4, 5, 618, 1336, 27, 3, 4,
2617 5, 624, 586, 1072, 74, 4, 5, 74, 1077, 54,
2618 9, 59, 60, 1174, 54, 1030, 977, 62, 74, 1172,
2619 1173, 111, 983, 3, 4, 5, 6, 111, 1043, 74,
2620 511, 108, 513, 1030, 108, 1281, 108, 48, 58, 54,
2621 521, 54, 1203, 48, 108, 56, 57, 62, 1201, 1202,
2622 8, 56, 57, 419, 847, 54, 422, 56, 57, 74,
2623 111, 41, 1077, 647, 93, 1201, 1202, 64, 434, 1030,
2624 1510, 70, 1087, 59, 1089, 1130, 56, 57, 1069, 47,
2625 1077, 80, 59, 1074, 59, 60, 1077, 1527, 74, 75,
2626 1087, 77, 1089, 4, 5, 94, 4, 5, 93, 1176,
2627 83, 84, 1117, 54, 470, 54, 472, 983, 88, 59,
2628 60, 62, 1552, 4, 5, 1130, 1077, 1521, 109, 485,
2629 1521, 1077, 60, 74, 59, 60, 1087, 36, 1089, 3,
2630 4, 5, 64, 7, 8, 9, 64, 48, 59, 60,
2631 48, 1077, 1582, 108, 1077, 56, 57, 64, 56, 57,
2632 1590, 108, 62, 1335, 1030, 1185, 60, 31, 1334, 1174,
2633 1336, 108, 36, 54, 108, 56, 57, 4, 5, 80,
2634 54, 9, 80, 75, 12, 1172, 1173, 1174, 62, 70,
2635 54, 1196, 56, 57, 58, 1525, 108, 1196, 1203, 80,
2636 74, 1327, 108, 64, 3, 4, 5, 6, 64, 1196,
2637 9, 1611, 1217, 94, 1201, 1202, 1203, 54, 54, 47,
2638 64, 111, 62, 1174, 59, 62, 62, 1239, 1240, 56,
2639 57, 59, 31, 61, 62, 59, 64, 74, 74, 103,
2640 104, 105, 41, 108, 75, 1196, 59, 75, 47, 77,
2641 108, 64, 1203, 983, 108, 54, 108, 56, 57, 108,
2642 75, 74, 75, 75, 75, 93, 94, 841, 4, 5,
2643 1196, 70, 62, 1196, 108, 108, 30, 31, 62, 33,
2644 108, 80, 78, 79, 80, 81, 82, 83, 84, 88,
2645 59, 90, 905, 111, 93, 94, 62, 94, 108, 108,
2646 1030, 108, 88, 57, 74, 59, 1172, 1173, 1174, 111,
2647 47, 65, 60, 3, 4, 5, 6, 1334, 1525, 1336,
2648 56, 57, 1327, 108, 111, 108, 939, 108, 108, 111,
2649 1335, 108, 1337, 109, 108, 1201, 1202, 1203, 1337, 1344,
2650 1327, 109, 1502, 59, 815, 1344, 64, 64, 1353, 93,
2651 1337, 41, 59, 1334, 1335, 1336, 108, 1344, 48, 3,
2652 4, 5, 1505, 1506, 938, 939, 56, 57, 64, 108,
2653 1521, 4, 5, 108, 108, 1549, 1327, 4, 5, 1505,
2654 1506, 93, 93, 93, 12, 93, 1337, 141, 109, 109,
2655 80, 8, 146, 1344, 108, 149, 150, 151, 88, 27,
2656 109, 1327, 108, 31, 1327, 108, 111, 763, 764, 983,
2657 766, 1337, 56, 57, 1337, 48, 108, 44, 1344, 47,
2658 108, 1344, 176, 56, 57, 1437, 108, 54, 182, 56,
2659 57, 59, 60, 108, 62, 111, 64, 108, 108, 193,
2660 194, 195, 1172, 1173, 1174, 33, 108, 80, 54, 108,
2661 7, 8, 9, 108, 62, 209, 1030, 14, 111, 108,
2662 3, 4, 5, 217, 218, 93, 94, 47, 62, 108,
2663 108, 1201, 1202, 1203, 31, 96, 1481, 62, 60, 36,
2664 108, 1486, 1487, 1488, 60, 9, 1491, 1486, 45, 60,
2665 16, 64, 1491, 108, 1481, 3, 4, 5, 108, 1486,
2666 1487, 1488, 1507, 60, 1491, 259, 108, 108, 108, 1526,
2667 777, 54, 108, 56, 57, 58, 1521, 108, 1505, 1506,
2668 787, 788, 108, 1528, 93, 93, 60, 4, 5, 1528,
2669 1481, 60, 1537, 54, 1521, 1486, 1487, 1488, 1537, 47,
2670 1491, 1528, 1554, 93, 111, 1526, 54, 814, 56, 57,
2671 1537, 93, 819, 1336, 17, 60, 1561, 54, 107, 97,
2672 1486, 1487, 108, 1486, 1487, 1491, 60, 108, 1491, 108,
2673 1521, 48, 1438, 108, 1561, 329, 11, 1528, 1583, 56,
2674 57, 60, 60, 93, 1583, 93, 1537, 11, 60, 59,
2675 1203, 80, 81, 82, 83, 84, 1583, 64, 60, 1173,
2676 1174, 108, 1528, 80, 1217, 1528, 1077, 108, 108, 47,
2677 1561, 1537, 60, 11, 1537, 88, 1621, 90, 60, 92,
2678 0, 0, 1621, 0, 2, 170, 982, 35, 1202, 1203,
2679 1425, 690, 1583, 977, 1621, 4, 5, 169, 442, 1505,
2680 1506, 1507, 165, 519, 1257, 1258, 1259, 1260, 86, 87,
2681 1185, 405, 406, 91, 92, 93, 94, 1583, 1548, 238,
2682 1583, 94, 4, 5, 137, 419, 139, 9, 422, 1410,
2683 1621, 139, 1621, 1271, 428, 429, 430, 299, 963, 740,
2684 434, 3, 4, 5, 6, 54, 958, 56, 57, 243,
2685 519, 4, 5, 1359, 1222, 1621, 9, 1074, 1621, 815,
2686 956, 70, 673, 4, 5, 47, 621, 1320, 1438, 200,
2687 346, 80, 54, 124, 56, 57, 470, 1337, 472, 41,
2688 474, 475, 476, 1197, 1569, 479, 48, 1590, 70, 1542,
2689 80, 485, 486, 487, 56, 57, 490, -1, 80, 1600,
2690 494, 54, 1525, 56, 57, 1602, 47, 1038, 90, 1353,
2691 -1, 93, 94, 54, 104, 56, 57, 70, 80, 3,
2692 4, 5, 6, -1, -1, 519, 88, 80, -1, 70,
2693 -1, -1, 526, -1, 1387, 1505, 1506, 1507, 772, 80,
2694 -1, -1, -1, 133, -1, -1, -1, -1, -1, 90,
2695 -1, -1, 93, 94, 144, -1, -1, 41, -1, 553,
2696 1067, 1068, 556, 1070, 1071, -1, 1073, 1420, 3, 4,
2697 5, -1, 56, 57, 1170, 1171, -1, 571, 572, 573,
2698 -1, 461, 1178, -1, -1, -1, -1, 821, 468, -1,
2699 -1, -1, 586, 827, -1, -1, 1, -1, 3, 4,
2700 5, 6, 7, 8, 9, -1, -1, 320, -1, 14,
2701 3, 4, 5, 203, 3, 4, 5, -1, 7, 8,
2702 9, 56, 57, 28, 1438, 30, 31, 32, 1481, -1,
2703 -1, 36, -1, -1, 1487, 1488, 41, 30, -1, -1,
2704 45, 46, 31, 48, -1, 358, -1, 36, 238, 54,
2705 -1, 56, 57, 647, 1507, 60, -1, 62, -1, -1,
2706 -1, 54, 461, 56, 57, 70, -1, 56, 57, 468,
2707 -1, 551, 262, 667, -1, 80, 14, -1, -1, -1,
2708 -1, -1, -1, 88, 22, -1, -1, -1, 93, 3,
2709 4, 5, 1506, 1507, -1, -1, 930, -1, 932, 1295,
2710 1296, -1, 1298, -1, 348, 349, 350, -1, 1561, -1,
2711 -1, -1, 706, -1, 708, 709, -1, -1, -1, -1,
2712 -1, -1, 1229, 1230, 1577, -1, -1, 65, 3, 4,
2713 5, 611, 7, 8, 9, -1, -1, 617, 3, 4,
2714 5, 6, 56, 57, 9, -1, 1599, 460, 461, 3,
2715 4, 5, 551, 1606, -1, 468, -1, -1, 752, -1,
2716 3, 4, 5, 6, 354, -1, 31, -1, -1, 763,
2717 764, -1, 766, -1, 654, -1, 41, -1, -1, -1,
2718 774, 56, 57, 777, -1, 498, 124, -1, -1, 54,
2719 -1, 56, 57, 787, 788, 38, 39, 510, 41, -1,
2720 107, 108, 56, 57, -1, 70, 3, 4, 5, -1,
2721 148, 54, 611, 56, 57, 80, -1, -1, 617, -1,
2722 814, -1, 412, 88, 1058, 819, -1, -1, 93, 1063,
2723 -1, -1, -1, -1, -1, -1, -1, 550, 551, -1,
2724 -1, -1, -1, -1, -1, -1, -1, 841, 647, -1,
2725 -1, -1, 1086, -1, 1088, 654, -1, 54, -1, 56,
2726 57, -1, -1, 1370, 1371, 1372, -1, -1, -1, -1,
2727 583, -1, 585, -1, -1, 588, 589, -1, 591, 592,
2728 593, 594, 595, 596, 597, 598, 599, 600, 601, 602,
2729 603, 604, 605, 606, 607, 608, 609, -1, 611, -1,
2730 238, 239, -1, -1, 617, -1, -1, -1, -1, 1143,
2731 -1, -1, 502, 251, 3, 4, 5, 6, 7, 8,
2732 9, 3, 4, 5, 6, 14, -1, -1, -1, -1,
2733 -1, 3, 4, 5, 647, -1, -1, -1, -1, -1,
2734 -1, 654, 31, 937, 938, 939, -1, 36, 1455, 1456,
2735 -1, -1, 41, -1, -1, -1, 45, 547, 47, 41,
2736 3, 4, 5, 676, 677, 54, 48, 56, 57, -1,
2737 -1, 7, 8, 9, 56, 57, 48, -1, 14, 692,
2738 -1, 70, 976, 321, 56, 57, -1, 981, 982, 983,
2739 -1, 80, -1, 637, 638, 31, -1, -1, 80, 88,
2740 36, 90, -1, -1, 93, 94, 88, -1, -1, 45,
2741 -1, 54, -1, 56, 57, 895, 896, 7, 8, 9,
2742 -1, 901, 329, -1, 14, 363, -1, 740, -1, -1,
2743 -1, -1, -1, -1, 372, 915, 1030, 917, -1, 919,
2744 -1, 31, 841, -1, 634, -1, 36, 385, 4, 5,
2745 -1, 1285, 8, 9, -1, 45, -1, -1, 14, -1,
2746 650, 705, -1, 707, 708, -1, 710, 1574, 3, 4,
2747 5, 6, -1, 1067, 1068, -1, 1070, 1071, -1, 1073,
2748 36, -1, -1, -1, 797, 965, -1, -1, -1, 45,
2749 -1, 47, -1, -1, -1, 402, 895, 896, 54, -1,
2750 56, 57, 901, -1, -1, -1, 41, -1, 752, -1,
2751 823, 824, 47, 826, 70, -1, 915, -1, 917, 54,
2752 919, 56, 57, -1, 80, -1, -1, -1, 841, 1363,
2753 1364, 1011, -1, -1, 90, 70, -1, 93, 94, -1,
2754 -1, -1, -1, 1377, 1378, 80, -1, 3, 4, 5,
2755 863, 7, -1, 88, -1, 90, -1, -1, 93, 94,
2756 1394, 468, -1, -1, 502, -1, 965, -1, -1, -1,
2757 -1, -1, -1, -1, 30, -1, 1170, 1171, 1172, 1173,
2758 1174, 37, 895, 896, 1178, -1, -1, 900, 901, 76,
2759 77, 78, 79, 80, 81, 82, 83, 84, 54, -1,
2760 56, 57, 915, 847, 917, -1, 919, 1201, 1202, 1203,
2761 -1, -1, 1011, -1, -1, -1, 806, 71, 72, 73,
2762 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2763 84, 1030, 1466, 1467, -1, 1229, 1230, -1, -1, -1,
2764 -1, -1, 955, -1, -1, -1, 553, 585, -1, 556,
2765 -1, -1, 965, 560, 561, 562, 563, 564, -1, 3,
2766 4, 5, 6, -1, -1, 9, 573, 980, -1, -1,
2767 3, 4, 5, 6, -1, -1, 920, -1, 922, 586,
2768 993, -1, -1, -1, -1, -1, -1, 31, -1, 933,
2769 -1, 629, -1, 937, 938, -1, -1, 41, 1011, -1,
2770 -1, 1295, 1296, 47, 1298, -1, -1, 1187, 41, 1189,
2771 54, 1191, 56, 57, -1, 48, -1, 1030, -1, 3,
2772 4, 5, 6, 56, 57, 9, 70, 1, -1, 3,
2773 4, 5, 6, 640, 8, -1, 80, 981, 982, -1,
2774 647, 1335, 1336, -1, 88, -1, 90, 31, -1, 93,
2775 94, -1, 1065, 1066, 944, 88, 946, 41, -1, -1,
2776 698, -1, -1, 47, -1, -1, -1, 41, -1, -1,
2777 54, 709, 56, 57, 48, -1, 1370, 1371, 1372, -1,
2778 54, -1, 56, 57, -1, -1, 70, -1, 1187, -1,
2779 1189, -1, 1191, 1106, 1107, -1, 80, 1110, 988, -1,
2780 -1, -1, 740, -1, 88, 4, 90, -1, -1, 93,
2781 94, -1, 1292, -1, 88, 14, -1, 1130, -1, -1,
2782 -1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
2783 -1, 30, 31, -1, 33, -1, 35, -1, -1, -1,
2784 -1, -1, -1, 42, 1438, -1, -1, -1, -1, 756,
2785 -1, -1, -1, -1, -1, -1, 55, -1, 57, -1,
2786 -1, 1455, 1456, -1, -1, -1, 65, -1, -1, -1,
2787 -1, -1, -1, 72, 1187, 782, 1189, -1, 1191, -1,
2788 -1, -1, 1072, -1, 83, 84, 1199, 794, -1, -1,
2789 -1, -1, -1, 1292, -1, 1208, 1209, -1, -1, -1,
2790 1213, -1, -1, -1, -1, -1, -1, 106, -1, -1,
2791 -1, 1505, 1506, 1507, -1, 822, -1, -1, -1, -1,
2792 -1, 828, 1235, -1, -1, -1, 1170, 1171, 1172, 1173,
2793 3, 4, 5, 6, 1178, 134, -1, 136, -1, -1,
2794 -1, 140, 141, -1, -1, -1, 145, 146, 1261, -1,
2795 149, 150, 151, -1, -1, -1, -1, 1201, 1202, 1149,
2796 3, 4, 5, 6, -1, -1, 165, -1, 41, -1,
2797 169, -1, -1, -1, -1, 48, 175, 176, -1, 1292,
2798 1574, -1, -1, 56, 57, -1, 1176, -1, 31, 896,
2799 -1, -1, -1, -1, 193, 194, 195, -1, 41, -1,
2800 -1, -1, -1, 1316, -1, -1, -1, 80, -1, -1,
2801 -1, 54, -1, 56, 57, 88, 4, 5, -1, -1,
2802 8, 9, 929, 222, -1, 963, 14, 70, 935, -1,
2803 -1, -1, 939, -1, -1, -1, -1, 80, 976, 1438,
2804 239, -1, -1, 1356, -1, 88, 245, -1, 36, 248,
2805 93, 1295, 1296, -1, 1298, 1368, 1369, 45, -1, 47,
2806 259, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2807 977, -1, 979, 1386, -1, -1, 983, -1, 82, -1,
2808 -1, -1, 70, -1, -1, -1, -1, -1, 4, 5,
2809 -1, -1, 80, 9, -1, -1, -1, -1, 297, 298,
2810 -1, -1, 90, -1, -1, 93, 94, -1, 193, 194,
2811 195, -1, -1, -1, 3, 4, 5, 6, -1, -1,
2812 9, -1, -1, 1030, -1, 1438, -1, -1, -1, -1,
2813 -1, 47, -1, -1, -1, -1, 1043, -1, 54, -1,
2814 56, 57, 31, 342, -1, -1, -1, 346, 1461, 348,
2815 349, 350, 41, -1, 70, 159, -1, -1, -1, -1,
2816 359, -1, -1, -1, 80, 54, -1, 56, 57, 1107,
2817 -1, -1, -1, -1, 90, -1, 1489, 93, 94, -1,
2818 1087, 70, 1089, -1, -1, -1, -1, 191, -1, -1,
2819 -1, 80, -1, -1, 393, 3, 4, 5, 6, 88,
2820 204, -1, -1, 402, 93, 404, 405, -1, -1, -1,
2821 1117, -1, -1, -1, -1, -1, 4, 5, -1, -1,
2822 419, 9, -1, 422, -1, -1, -1, -1, -1, -1,
2823 -1, -1, -1, 41, -1, 434, -1, -1, -1, -1,
2824 -1, -1, -1, 442, -1, -1, 54, -1, 56, 57,
2825 3, 4, 5, 6, 62, 1193, 9, -1, -1, 47,
2826 -1, 1199, 70, -1, -1, -1, 54, 1174, 56, 57,
2827 -1, 470, 80, 472, -1, 474, 475, 476, 31, -1,
2828 88, 480, 70, -1, -1, 93, 485, -1, 41, 488,
2829 -1, -1, 80, -1, 47, -1, 1203, -1, 1611, -1,
2830 -1, 54, 90, 56, 57, 93, 94, -1, -1, 508,
2831 1217, -1, 511, -1, 513, -1, -1, 70, -1, 518,
2832 519, -1, 521, -1, -1, -1, 1, 80, 3, 4,
2833 5, 6, 7, 8, 9, 88, -1, 90, -1, 14,
2834 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
2835 -1, -1, -1, 28, -1, 30, 31, 32, -1, -1,
2836 -1, 36, 561, 562, 563, 564, 41, -1, -1, -1,
2837 45, -1, -1, 48, -1, -1, -1, -1, -1, 54,
2838 -1, 56, 57, 1321, 1322, 470, -1, 472, -1, 474,
2839 475, 476, -1, -1, -1, 70, -1, -1, -1, -1,
2840 485, -1, -1, -1, -1, 80, -1, -1, -1, -1,
2841 -1, -1, -1, 88, -1, -1, -1, -1, 93, -1,
2842 -1, -1, 621, 98, 623, -1, -1, -1, -1, -1,
2843 -1, -1, -1, 518, -1, -1, 635, -1, 637, 638,
2844 -1, 640, -1, -1, -1, -1, 1353, -1, 647, 4,
2845 5, -1, 651, 8, 9, -1, -1, -1, -1, 14,
2846 -1, -1, -1, -1, 1402, -1, -1, 666, -1, -1,
2847 -1, -1, -1, 28, 478, 30, -1, -1, -1, 483,
2848 -1, 36, -1, -1, -1, -1, 1424, 1425, -1, -1,
2849 45, 690, 47, -1, -1, -1, -1, -1, 697, 54,
2850 -1, 56, 57, -1, -1, -1, 705, 706, 707, 708,
2851 709, 710, -1, -1, -1, 70, -1, -1, -1, -1,
2852 -1, -1, -1, 527, -1, 80, -1, -1, -1, 533,
2853 -1, -1, -1, -1, -1, 90, -1, -1, 93, 94,
2854 -1, 545, 546, -1, 548, -1, -1, -1, -1, 3,
2855 4, 5, 6, 752, -1, -1, -1, 756, -1, -1,
2856 -1, 1499, -1, -1, 763, 764, -1, 766, 3, 4,
2857 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2858 -1, -1, -1, 782, -1, -1, 785, 41, -1, -1,
2859 -1, -1, -1, -1, 48, 794, 31, -1, -1, -1,
2860 1507, 36, 56, 57, -1, -1, 41, -1, 807, -1,
2861 45, -1, 47, -1, 1521, -1, 815, -1, -1, 54,
2862 -1, 56, 57, 822, -1, -1, -1, -1, -1, 828,
2863 -1, -1, -1, -1, 88, 70, 835, 836, 837, 643,
2864 644, -1, -1, -1, 648, 80, -1, -1, 847, -1,
2865 -1, -1, -1, 88, -1, 90, -1, -1, 93, 94,
2866 -1, -1, -1, -1, -1, 4, 5, -1, 7, 8,
2867 9, -1, -1, 12, -1, 14, 4, -1, 763, 764,
2868 -1, 766, -1, -1, -1, -1, 14, -1, -1, 28,
2869 -1, 30, 31, -1, -1, 23, 24, 36, -1, -1,
2870 785, -1, 30, 31, -1, 33, 45, 35, 47, -1,
2871 -1, -1, -1, -1, 42, 54, -1, 56, 57, -1,
2872 -1, 920, -1, 922, -1, -1, -1, 55, -1, 57,
2873 929, 70, -1, -1, 933, -1, 935, 65, 937, 938,
2874 939, 80, -1, -1, 72, -1, 945, 3, 4, 5,
2875 6, 90, -1, -1, 93, 94, 84, -1, -1, -1,
2876 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
2877 -1, -1, 9, -1, -1, -1, -1, 781, 977, -1,
2878 979, -1, 981, 982, 983, 41, -1, -1, -1, 793,
2879 -1, -1, 48, -1, 31, -1, -1, -1, -1, -1,
2880 56, 57, -1, -1, 41, -1, -1, -1, 136, -1,
2881 -1, -1, 140, 141, -1, -1, -1, 54, 146, 56,
2882 57, 149, 150, 151, -1, 829, -1, 831, -1, -1,
2883 -1, 1030, 88, 70, -1, -1, -1, 165, -1, -1,
2884 -1, 169, -1, 80, 1043, -1, -1, 175, 176, -1,
2885 -1, 88, -1, -1, -1, -1, 93, -1, -1, -1,
2886 -1, -1, -1, -1, -1, 193, 194, 195, -1, -1,
2887 1069, -1, -1, -1, -1, 1074, -1, -1, 1077, -1,
2888 -1, -1, -1, -1, -1, -1, -1, -1, 1087, -1,
2889 1089, -1, -1, -1, 222, -1, 981, 982, 983, 903,
2890 904, -1, 906, 4, 5, -1, -1, 8, 9, -1,
2891 4, 5, -1, 14, 8, 9, -1, 245, 1117, -1,
2892 14, -1, -1, 1122, 1123, -1, 1125, 28, -1, 30,
2893 934, 259, -1, -1, 28, 36, 30, -1, -1, -1,
2894 -1, -1, 36, -1, 45, 1030, -1, -1, -1, -1,
2895 -1, 45, -1, 54, -1, 56, 57, 58, -1, -1,
2896 54, -1, 56, 57, -1, -1, -1, -1, -1, 297,
2897 298, 1170, 1171, 1172, 1173, 1174, -1, -1, -1, 1178,
2898 -1, 985, -1, -1, 1069, -1, 348, 349, 350, -1,
2899 -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
2900 -1, -1, 1201, 1202, 1203, 3, 4, 5, 6, 7,
2901 8, 9, -1, -1, 342, -1, 14, -1, 346, -1,
2902 348, 349, 350, -1, -1, -1, -1, 355, -1, -1,
2903 28, 359, 30, 31, 32, -1, -1, -1, 36, -1,
2904 -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
2905 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2906 -1, -1, -1, -1, -1, 393, -1, -1, -1, -1,
2907 -1, -1, 70, -1, 402, -1, 404, 405, -1, -1,
2908 -1, -1, 80, -1, -1, 1170, 1171, 1172, 1173, 1174,
2909 88, 419, -1, 1178, 422, 93, 1295, 1296, -1, 1298,
2910 98, -1, 3, 4, 5, 6, 434, -1, 9, -1,
2911 -1, -1, -1, -1, 442, -1, 1201, 1202, 1203, -1,
2912 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2913 31, -1, -1, -1, 1138, 1334, 1335, 1336, -1, -1,
2914 41, -1, 470, -1, 472, -1, 474, 475, 476, -1,
2915 -1, -1, 480, 54, 1353, 56, 57, 485, -1, 1,
2916 488, 3, 4, 5, 6, 7, 8, 9, -1, 70,
2917 -1, -1, 14, 1177, -1, -1, -1, -1, -1, 80,
2918 508, -1, -1, 511, -1, 513, 28, 88, 30, 31,
2919 518, 519, 93, 521, 36, -1, -1, -1, -1, 41,
2920 -1, -1, -1, 45, -1, -1, 48, -1, -1, -1,
2921 1295, 1296, 54, 1298, 56, 57, -1, -1, 60, -1,
2922 1224, -1, -1, -1, 1228, -1, -1, -1, 70, -1,
2923 -1, -1, -1, 561, 562, 563, 564, -1, 80, 1438,
2924 -1, -1, -1, -1, 1248, -1, 88, -1, 1252, -1,
2925 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
2926 -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
2927 -1, -1, -1, -1, -1, 637, 638, -1, 640, -1,
2928 -1, -1, -1, 1287, -1, 647, -1, -1, -1, -1,
2929 31, -1, -1, 621, -1, 623, -1, -1, -1, -1,
2930 41, -1, -1, -1, -1, -1, 1505, 1506, 1507, 637,
2931 638, -1, 640, 54, -1, 56, 57, -1, -1, 647,
2932 -1, -1, 1521, -1, -1, -1, -1, 1526, -1, 70,
2933 -1, -1, 660, 3, 4, 5, 6, -1, 666, 80,
2934 -1, -1, -1, 705, -1, 707, 708, 88, 710, -1,
2935 -1, -1, 93, 1438, -1, -1, -1, -1, -1, -1,
2936 -1, 31, 690, -1, -1, -1, -1, -1, -1, -1,
2937 698, 41, -1, -1, -1, 1379, 1380, 705, 706, 707,
2938 708, 709, 710, -1, 54, -1, 56, 57, -1, -1,
2939 752, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2940 70, -1, -1, -1, -1, 733, -1, -1, -1, -1,
2941 80, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2942 1505, 1506, 1507, 93, 752, -1, -1, -1, 756, -1,
2943 -1, -1, -1, -1, -1, 763, 764, -1, 766, -1,
2944 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
2945 9, -1, 780, 12, 782, 14, -1, 785, -1, -1,
2946 -1, -1, -1, -1, -1, -1, 794, -1, -1, 28,
2947 -1, 30, 31, -1, -1, -1, -1, 36, -1, -1,
2948 -1, -1, 41, -1, -1, 847, 45, 815, 47, -1,
2949 -1, -1, -1, -1, 822, 54, -1, 56, 57, -1,
2950 828, -1, -1, -1, -1, -1, -1, 835, 836, 837,
2951 -1, 70, 3, 4, 5, 6, 7, 8, 9, 847,
2952 -1, 80, -1, 14, -1, -1, -1, -1, -1, 88,
2953 -1, 90, -1, -1, 93, 94, -1, 28, -1, 30,
2954 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
2955 41, -1, -1, -1, 45, -1, 47, -1, 920, -1,
2956 922, -1, -1, 54, -1, 56, 57, -1, -1, -1,
2957 -1, 933, -1, -1, -1, 937, 938, 939, -1, 70,
2958 3, 4, 5, 6, 7, 8, 9, -1, -1, 80,
2959 -1, 14, 920, -1, 922, -1, -1, 88, -1, 90,
2960 -1, 929, 93, 94, -1, 933, -1, 935, 31, 937,
2961 938, 939, -1, 36, -1, -1, -1, 945, 41, 981,
2962 982, 983, 45, -1, 47, -1, -1, -1, -1, -1,
2963 -1, 54, -1, 56, 57, 4, -1, -1, -1, -1,
2964 -1, -1, -1, -1, -1, -1, -1, 70, -1, 977,
2965 -1, 979, -1, 981, 982, 983, -1, 80, -1, -1,
2966 -1, 30, 31, -1, 33, 88, 35, -1, 1030, -1,
2967 93, -1, -1, 42, 73, 74, 75, 76, 77, 78,
2968 79, 80, 81, 82, 83, 84, 55, -1, 57, 3,
2969 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
2970 14, -1, 1030, -1, -1, -1, -1, -1, -1, -1,
2971 -1, 80, -1, -1, 28, 1043, 30, 31, -1, -1,
2972 -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
2973 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
2974 54, 1069, 56, 57, -1, -1, 1074, -1, 62, 1077,
2975 -1, -1, -1, -1, -1, -1, 70, -1, -1, 1087,
2976 -1, 1089, -1, -1, 133, 134, 80, 136, -1, -1,
2977 -1, 140, 141, -1, 88, 144, -1, 146, -1, 93,
2978 149, 150, 151, -1, -1, -1, -1, 156, -1, 1117,
2979 -1, -1, -1, -1, 1122, 1123, 165, 1125, -1, -1,
2980 169, -1, -1, -1, -1, -1, 175, 176, 1170, 1171,
2981 1172, 1173, 1174, -1, -1, -1, 1178, -1, -1, -1,
2982 -1, -1, -1, -1, 193, 194, 195, -1, -1, -1,
2983 -1, -1, -1, -1, 203, -1, -1, -1, -1, 1201,
2984 1202, 1203, 1170, 1171, 1172, 1173, 1174, -1, -1, -1,
2985 1178, -1, -1, 222, -1, -1, 1, 1185, 3, 4,
2986 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2987 -1, -1, -1, 1201, 1202, 1203, 245, -1, -1, -1,
2988 -1, -1, -1, 28, -1, 30, 31, 32, -1, -1,
2989 259, 36, 37, -1, 1222, -1, 41, -1, -1, -1,
2990 45, 46, -1, 48, 3, 4, 5, 6, -1, 54,
2991 9, 56, 57, -1, -1, 60, -1, 62, -1, -1,
2992 -1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
2993 -1, -1, 31, 1295, 1296, 80, 1298, -1, -1, -1,
2994 -1, -1, 41, 88, -1, -1, -1, -1, 93, -1,
2995 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
2996 329, -1, -1, -1, 109, -1, -1, 1295, 1296, -1,
2997 1298, 70, -1, -1, -1, -1, -1, 346, -1, -1,
2998 -1, 80, -1, -1, -1, 354, -1, -1, -1, 88,
2999 359, -1, -1, -1, 93, 1323, -1, -1, -1, -1,
3000 -1, -1, -1, -1, -1, -1, 1334, 1335, 1336, 70,
3001 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3002 81, 82, 83, 84, 393, 1353, -1, -1, -1, -1,
3003 -1, 1359, -1, -1, -1, 404, -1, -1, -1, 1,
3004 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3005 419, -1, 14, 422, -1, -1, -1, -1, -1, 428,
3006 429, 430, -1, -1, -1, 434, 28, -1, 30, 31,
3007 32, -1, -1, 442, 36, 37, -1, -1, -1, 41,
3008 -1, -1, -1, 45, 46, -1, 48, -1, -1, -1,
3009 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3010 62, 470, -1, 472, -1, 474, 475, 476, 70, -1,
3011 1438, 480, -1, -1, -1, -1, 485, -1, 80, 488,
3012 -1, -1, 3, 4, 5, 6, 88, -1, -1, -1,
3013 -1, 93, -1, 4, 5, -1, -1, 8, 9, -1,
3014 -1, -1, 511, 14, 513, -1, -1, 109, -1, 518,
3015 519, -1, 521, -1, -1, -1, -1, 28, -1, 30,
3016 41, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3017 -1, -1, -1, 54, 45, 56, 57, 1505, 1506, 1507,
3018 -1, 62, -1, 54, 553, 56, 57, 556, -1, 70,
3019 -1, -1, -1, 1521, -1, -1, -1, -1, 1526, 80,
3020 -1, -1, 571, 572, 573, -1, -1, 88, -1, 4,
3021 -1, -1, 93, -1, -1, -1, -1, 586, -1, -1,
3022 -1, 3, 4, 5, 6, -1, 1, 9, 3, 4,
3023 5, 6, 7, 8, 9, 30, 31, -1, 33, 14,
3024 35, -1, -1, -1, -1, -1, -1, 42, -1, 31,
3025 -1, -1, 27, 28, -1, 30, 31, 32, -1, 41,
3026 55, 36, 57, -1, -1, 634, 41, -1, -1, 44,
3027 45, 46, 54, 48, 56, 57, -1, -1, 647, 54,
3028 -1, 56, 57, -1, -1, 60, -1, -1, 70, -1,
3029 -1, -1, -1, -1, -1, 70, -1, 666, 80, -1,
3030 -1, -1, -1, -1, -1, 80, 88, -1, -1, -1,
3031 -1, 93, -1, 88, -1, -1, -1, -1, 93, -1,
3032 -1, 690, -1, 98, -1, -1, -1, 33, 697, -1,
3033 -1, -1, -1, -1, -1, -1, 705, 706, 707, 708,
3034 -1, 136, -1, -1, -1, 140, 141, -1, -1, 55,
3035 -1, 146, -1, -1, 149, 150, 151, -1, -1, -1,
3036 -1, -1, -1, -1, 3, 4, 5, 6, -1, -1,
3037 165, -1, -1, -1, 169, 3, 4, 5, 6, -1,
3038 175, 176, -1, 752, -1, -1, -1, 756, -1, -1,
3039 -1, -1, -1, -1, 763, 764, -1, 766, 193, 194,
3040 195, -1, 41, -1, -1, -1, -1, -1, -1, -1,
3041 -1, -1, -1, 41, -1, 54, 785, 56, 57, -1,
3042 -1, 60, -1, 62, -1, -1, 54, 222, 56, 57,
3043 -1, 70, 60, -1, -1, -1, -1, 806, -1, -1,
3044 -1, 80, 70, 149, 150, 151, 815, -1, -1, 88,
3045 245, -1, 80, -1, 93, -1, -1, -1, -1, -1,
3046 88, -1, -1, -1, 259, 93, -1, -1, -1, 175,
3047 -1, 1, 841, 3, 4, 5, 6, 7, 8, 9,
3048 10, 11, 12, 13, 14, -1, -1, 193, 194, 195,
3049 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3050 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3051 40, 41, 42, 43, -1, 45, 222, -1, -1, 49,
3052 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3053 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3054 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3055 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3056 355, -1, -1, 93, 359, -1, -1, -1, 937, 938,
3057 939, -1, -1, -1, 943, 944, -1, -1, 108, -1,
3058 110, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3059 -1, -1, 298, -1, 14, 72, 73, 74, 75, 76,
3060 77, 78, 79, 80, 81, 82, 83, 84, 28, 404,
3061 30, 31, 981, 982, 983, -1, 36, -1, -1, 988,
3062 -1, 41, -1, -1, 419, 45, -1, 422, -1, -1,
3063 -1, -1, -1, -1, 54, -1, 56, 57, -1, 434,
3064 60, -1, 348, 349, 350, -1, -1, 442, -1, -1,
3065 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3066 80, 1030, -1, -1, -1, -1, -1, -1, 88, -1,
3067 -1, -1, -1, 93, -1, 470, -1, 472, -1, 474,
3068 475, 476, -1, -1, -1, 480, -1, -1, -1, -1,
3069 485, -1, -1, 488, -1, -1, -1, -1, 404, -1,
3070 1069, -1, -1, -1, -1, 1074, -1, -1, 1077, 3,
3071 4, 5, 6, 7, 8, 9, 511, -1, 513, -1,
3072 14, -1, -1, 518, 519, -1, 521, -1, -1, -1,
3073 -1, -1, -1, -1, 28, -1, 30, 31, -1, -1,
3074 -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
3075 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
3076 54, -1, 56, 57, 470, -1, 472, -1, 474, 475,
3077 476, -1, -1, -1, 480, -1, 70, -1, -1, 485,
3078 1149, -1, 488, -1, -1, -1, 80, -1, -1, -1,
3079 -1, -1, -1, -1, 88, -1, -1, -1, -1, 93,
3080 -1, 1170, 1171, 1172, 1173, 1174, -1, 1176, -1, 1178,
3081 -1, -1, 518, -1, 1, -1, 3, 4, 5, 6,
3082 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3083 -1, -1, 1201, 1202, 1203, -1, -1, -1, -1, -1,
3084 635, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3085 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3086 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3087 57, 666, -1, -1, 61, 62, -1, -1, -1, -1,
3088 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3089 -1, 78, 79, 80, -1, -1, 55, -1, -1, 86,
3090 87, 88, -1, -1, -1, -1, 93, -1, -1, -1,
3091 705, 706, 707, 708, -1, -1, -1, 623, -1, -1,
3092 -1, 80, -1, 110, 83, -1, 1295, 1296, -1, 1298,
3093 -1, 637, 638, -1, 640, -1, -1, -1, -1, -1,
3094 -1, 647, -1, -1, -1, 104, -1, 106, -1, -1,
3095 -1, -1, -1, -1, -1, -1, -1, 752, -1, -1,
3096 666, 756, -1, -1, -1, 1334, 1335, 1336, 763, 764,
3097 -1, 766, 67, 68, 69, 70, 71, 72, 73, 74,
3098 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3099 785, -1, -1, -1, -1, -1, -1, -1, -1, 705,
3100 -1, 707, 708, -1, 710, -1, -1, -1, -1, -1,
3101 -1, 3, 4, 5, 6, -1, 175, 9, -1, -1,
3102 815, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3103 -1, -1, -1, -1, 193, 194, 195, -1, -1, 31,
3104 -1, -1, -1, -1, 203, -1, 752, -1, -1, 41,
3105 -1, -1, -1, -1, -1, -1, -1, 763, 764, -1,
3106 766, -1, 54, 222, 56, 57, -1, -1, -1, 1438,
3107 -1, -1, -1, -1, -1, -1, -1, -1, 70, 785,
3108 -1, 3, 4, 5, 6, 7, 8, 9, 80, 248,
3109 12, -1, 14, -1, -1, -1, 88, -1, -1, -1,
3110 -1, 93, -1, 262, -1, -1, 28, -1, 30, 31,
3111 -1, -1, -1, -1, 36, -1, -1, -1, -1, 41,
3112 -1, -1, -1, 45, -1, -1, -1, -1, -1, 835,
3113 836, 837, 54, -1, 56, 57, 1505, 1506, 1507, -1,
3114 -1, 847, -1, -1, -1, -1, -1, -1, 70, -1,
3115 945, -1, -1, -1, -1, -1, -1, 1526, 80, -1,
3116 -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
3117 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
3118 -1, -1, -1, -1, -1, -1, 981, 982, 983, -1,
3119 -1, -1, -1, -1, -1, 354, 355, -1, -1, -1,
3120 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3121 -1, -1, 14, -1, 920, -1, 922, -1, -1, -1,
3122 -1, -1, -1, -1, -1, -1, 28, 933, 30, 31,
3123 -1, 937, 938, 939, 36, 1030, -1, -1, -1, 41,
3124 -1, -1, -1, 45, -1, 404, -1, -1, -1, -1,
3125 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3126 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
3127 -1, -1, -1, -1, 1069, 981, 982, 983, 80, 1074,
3128 -1, -1, 1077, -1, -1, -1, 88, -1, -1, -1,
3129 -1, 93, -1, -1, -1, 3, 4, 5, 6, 7,
3130 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
3131 -1, 470, -1, 472, -1, 474, 475, 476, -1, -1,
3132 28, 480, 30, 31, 1030, -1, 485, -1, 36, 488,
3133 -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
3134 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3135 -1, 14, -1, -1, -1, -1, -1, -1, -1, 518,
3136 23, 24, 70, 1069, -1, -1, -1, 30, 31, -1,
3137 33, 12, 80, -1, -1, 1170, 1171, 1172, 1173, 1174,
3138 88, -1, -1, 1178, -1, 93, 69, 70, 71, 72,
3139 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3140 83, 84, 65, -1, -1, -1, 1201, 1202, 1203, -1,
3141 -1, -1, -1, -1, -1, -1, 1122, 1123, -1, 1125,
3142 -1, 62, 63, 64, 65, 66, 67, 68, 69, 70,
3143 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3144 81, 82, 83, 84, 68, 69, 70, 71, 72, 73,
3145 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3146 84, 124, -1, 126, 1170, 1171, 1172, 1173, 1174, -1,
3147 133, 134, 1178, -1, -1, -1, -1, 140, 141, -1,
3148 -1, 144, 145, 146, -1, 148, 149, 150, 151, -1,
3149 -1, 650, 651, -1, -1, 1201, 1202, 1203, -1, -1,
3150 1295, 1296, -1, 1298, -1, -1, -1, 666, -1, -1,
3151 -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
3152 5, 6, -1, -1, -1, -1, -1, -1, -1, -1,
3153 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1334,
3154 1335, 1336, -1, -1, -1, -1, 705, -1, 707, 708,
3155 -1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
3156 -1, -1, -1, -1, -1, -1, -1, -1, -1, 54,
3157 -1, 56, 57, -1, -1, 238, 239, 62, -1, -1,
3158 -1, -1, -1, -1, -1, 70, -1, -1, -1, 1295,
3159 1296, -1, 1298, 752, -1, 80, 259, -1, -1, -1,
3160 -1, -1, -1, 88, 763, 764, -1, 766, 93, -1,
3161 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3162 10, 11, 12, 13, 14, -1, 785, -1, 1334, -1,
3163 1336, -1, -1, -1, -1, 298, -1, -1, 28, 29,
3164 30, 31, 32, 1438, 34, 35, 36, 806, 38, 39,
3165 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3166 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3167 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3168 70, -1, -1, 346, -1, 348, 349, -1, 78, 79,
3169 80, 3, 4, 5, 6, -1, 86, 87, 88, -1,
3170 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
3171 1505, 1506, 1507, 3, 4, 5, 6, -1, -1, 31,
3172 110, -1, -1, -1, -1, -1, -1, -1, -1, 41,
3173 393, 1526, 1438, -1, -1, -1, -1, -1, -1, -1,
3174 -1, -1, 54, -1, 56, 57, -1, -1, -1, 412,
3175 -1, 41, -1, -1, -1, -1, 419, -1, 70, 422,
3176 -1, -1, -1, -1, 54, -1, 56, 57, 80, -1,
3177 60, 434, -1, -1, -1, -1, 88, -1, -1, -1,
3178 70, 93, -1, -1, -1, 944, 945, 946, -1, -1,
3179 80, -1, -1, -1, -1, -1, -1, -1, 88, 1505,
3180 1506, 1507, -1, 93, -1, -1, -1, -1, 4, 5,
3181 -1, 7, 8, 9, 3, 4, 5, 6, 14, -1,
3182 1526, -1, 981, 982, 983, -1, -1, -1, -1, 988,
3183 -1, -1, 28, -1, 30, 31, -1, -1, -1, 502,
3184 36, -1, -1, -1, -1, 508, -1, -1, -1, 45,
3185 -1, -1, 41, -1, -1, -1, -1, -1, 54, 1018,
3186 56, 57, -1, -1, -1, 54, -1, 56, 57, -1,
3187 -1, 1030, 1, -1, 3, 4, 5, 6, 7, 8,
3188 9, 70, -1, 12, 547, 14, -1, -1, -1, -1,
3189 -1, 80, -1, -1, -1, -1, 25, -1, 27, 88,
3190 -1, -1, 31, -1, 93, -1, -1, 36, -1, -1,
3191 1069, -1, 41, -1, -1, -1, 45, -1, 47, -1,
3192 -1, -1, -1, -1, -1, 54, -1, 56, 57, 58,
3193 59, 60, -1, 62, 63, 64, 65, 66, 67, 68,
3194 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3195 79, 80, 81, 82, 83, 84, -1, 86, 87, 88,
3196 623, 90, 91, 92, 93, 94, 95, -1, 97, -1,
3197 -1, 634, 635, 102, 637, 638, -1, -1, 107, 108,
3198 109, -1, 111, -1, -1, -1, -1, -1, -1, -1,
3199 1149, -1, -1, -1, -1, -1, -1, 4, 5, -1,
3200 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
3201 -1, 1170, 1171, 1172, 1173, 1174, -1, 1176, -1, 1178,
3202 -1, 28, -1, 30, 31, -1, -1, 690, -1, 36,
3203 -1, -1, -1, -1, 697, 698, -1, -1, 45, -1,
3204 -1, 48, 1201, 1202, 1203, -1, 709, 54, -1, 56,
3205 57, -1, -1, -1, -1, 1, -1, 3, 4, 5,
3206 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3207 733, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3208 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3209 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3210 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3211 56, 57, 58, -1, 60, 61, -1, 780, -1, -1,
3212 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3213 -1, -1, 78, 79, 80, -1, 1295, 1296, -1, 1298,
3214 86, 87, 88, -1, 807, -1, -1, 93, -1, 95,
3215 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3216 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3217 -1, -1, 835, 836, 837, 1334, -1, 1336, -1, -1,
3218 -1, -1, -1, -1, 847, -1, 1, -1, 3, 4,
3219 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3220 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3221 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3222 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
3223 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
3224 -1, 56, 57, 58, -1, 60, 61, -1, -1, -1,
3225 -1, -1, 67, -1, -1, 70, -1, 920, -1, 922,
3226 -1, -1, -1, 78, 79, 80, 31, -1, -1, -1,
3227 933, 86, 87, 88, -1, -1, -1, -1, 93, 1438,
3228 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3229 -1, -1, -1, -1, -1, 110, -1, -1, 63, 64,
3230 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3231 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3232 -1, -1, -1, -1, -1, 4, 5, -1, 7, 8,
3233 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
3234 -1, -1, -1, -1, -1, -1, 1505, 1506, 1507, 28,
3235 -1, 30, 31, -1, -1, 1018, -1, 36, -1, -1,
3236 -1, -1, -1, -1, -1, -1, 45, 1526, -1, -1,
3237 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3238 -1, -1, -1, -1, -1, -1, 1, -1, 3, 4,
3239 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3240 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1072,
3241 -1, 1074, -1, 28, 29, 30, 31, 32, -1, 34,
3242 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3243 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3244 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3245 -1, -1, 67, -1, -1, 70, -1, -1, -1, 1122,
3246 1123, -1, 1125, 78, 79, 80, -1, -1, -1, -1,
3247 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3248 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3249 -1, -1, -1, -1, -1, 110, 1, -1, 3, 4,
3250 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3251 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3252 -1, -1, 1185, 28, 29, 30, 31, 32, -1, 34,
3253 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3254 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3255 -1, 56, 57, 58, -1, 60, 61, -1, -1, 1222,
3256 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3257 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3258 -1, 86, 87, 88, -1, -1, -1, -1, 93, 1,
3259 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3260 -1, 13, 14, -1, -1, 110, -1, -1, -1, -1,
3261 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3262 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3263 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3264 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3265 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3266 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3267 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3268 -1, 93, 94, -1, -1, -1, -1, -1, -1, -1,
3269 -1, -1, -1, -1, -1, -1, 1359, 109, 110, 1,
3270 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3271 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3272 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3273 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3274 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3275 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3276 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3277 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3278 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3279 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3280 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3281 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3282 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3283 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3284 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3285 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3286 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3287 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3288 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3289 -1, 8, 9, 10, 11, -1, 13, 14, -1, 110,
3290 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3291 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3292 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3293 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3294 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3295 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3296 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3297 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3298 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3299 -1, -1, 109, 110, -1, -1, -1, -1, -1, -1,
3300 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3301 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3302 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3303 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3304 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3305 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3306 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3307 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3308 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3309 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3310 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3311 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3312 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3313 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3314 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3315 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3316 1, -1, 3, 4, 5, 6, 101, 8, 9, 10,
3317 11, -1, 13, 14, -1, 110, -1, -1, -1, -1,
3318 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3319 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3320 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3321 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3322 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3323 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3324 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3325 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3326 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3327 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3328 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3329 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3330 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3331 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3332 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3333 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3334 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3335 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3336 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3337 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3338 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3339 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3340 -1, 60, 61, -1, -1, -1, -1, -1, 67, -1,
3341 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3342 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3343 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3344 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3345 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3346 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3347 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3348 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3349 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3350 1, -1, 70, 4, 5, -1, -1, 8, 9, -1,
3351 78, 79, 80, 14, -1, -1, -1, -1, 86, 87,
3352 88, -1, -1, -1, -1, 93, -1, 28, -1, 30,
3353 -1, -1, -1, -1, -1, 36, -1, 38, 39, -1,
3354 108, -1, 110, -1, 45, -1, 47, -1, -1, -1,
3355 -1, -1, -1, 54, -1, 56, 57, -1, 59, -1,
3356 -1, -1, 63, 64, 65, 66, 67, 68, 69, 70,
3357 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3358 81, 82, 83, -1, -1, 86, 87, 88, -1, -1,
3359 91, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3360 9, 10, 11, -1, 13, 14, -1, -1, -1, 110,
3361 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3362 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3363 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3364 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3365 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3366 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3367 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3368 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3369 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3370 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3371 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3372 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3373 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3374 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3375 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3376 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3377 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3378 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3379 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3380 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3381 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3382 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3383 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3384 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3385 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3386 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3387 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3388 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3389 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3390 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3391 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3392 61, -1, -1, -1, -1, -1, 67, -1, 1, 70,
3393 3, 4, 5, 6, 7, 8, 9, 78, 79, 80,
3394 -1, 14, -1, -1, -1, 86, 87, 88, -1, -1,
3395 -1, -1, 93, -1, -1, 28, -1, 30, 31, 32,
3396 -1, -1, -1, 36, 37, -1, -1, -1, 41, 110,
3397 111, -1, 45, 46, -1, 48, -1, -1, -1, -1,
3398 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
3399 -1, -1, -1, -1, -1, -1, -1, 70, 1, -1,
3400 3, 4, 5, 6, 7, 8, 9, 80, -1, -1,
3401 -1, 14, -1, -1, -1, 88, -1, -1, -1, -1,
3402 93, -1, -1, -1, -1, 28, -1, 30, 31, 32,
3403 -1, -1, -1, 36, 37, -1, 109, -1, 41, -1,
3404 -1, -1, 45, 46, -1, 48, -1, -1, -1, -1,
3405 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
3406 -1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
3407 -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3408 -1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
3409 93, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3410 10, 11, -1, 13, 14, 15, 109, 17, 18, 19,
3411 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3412 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3413 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3414 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3415 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3416 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3417 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3418 -1, -1, -1, 93, -1, 95, -1, -1, -1, -1,
3419 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
3420 110, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3421 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3422 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3423 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3424 42, 43, 44, 45, 46, -1, -1, 49, 50, 51,
3425 52, 53, 54, -1, 56, 57, 58, -1, 60, 61,
3426 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3427 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3428 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3429 -1, 93, -1, 95, -1, 3, 4, 5, 6, 7,
3430 8, 9, 10, 11, -1, 13, 14, 15, 110, 17,
3431 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3432 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3433 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
3434 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3435 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3436 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3437 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3438 88, -1, -1, -1, -1, 93, -1, 95, -1, 3,
3439 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3440 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
3441 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3442 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3443 44, 45, 46, -1, -1, 49, 50, 51, 52, 53,
3444 54, -1, 56, 57, -1, -1, 60, 61, -1, -1,
3445 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3446 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3447 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3448 -1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
3449 11, 12, 13, 14, -1, -1, 110, -1, -1, -1,
3450 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3451 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3452 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
3453 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3454 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3455 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3456 -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
3457 -1, -1, 93, 94, 3, 4, 5, 6, 7, 8,
3458 9, 10, 11, 12, 13, 14, -1, -1, -1, 110,
3459 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3460 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3461 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
3462 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3463 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3464 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3465 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3466 -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
3467 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3468 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3469 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3470 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3471 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3472 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3473 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3474 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3475 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3476 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3477 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3478 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3479 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3480 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3481 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3482 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3483 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3484 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3485 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3486 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3487 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3488 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3489 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3490 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3491 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3492 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3493 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3494 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3495 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3496 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3497 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3498 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3499 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
3500 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3501 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3502 87, 88, -1, -1, -1, -1, 93, 3, 4, 5,
3503 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3504 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3505 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3506 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3507 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3508 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3509 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3510 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3511 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3512 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3513 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3514 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3515 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3516 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3517 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3518 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3519 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3520 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3521 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3522 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3523 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3524 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3525 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3526 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3527 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3528 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3529 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3530 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3531 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3532 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3533 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3534 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3535 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3536 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3537 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3538 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3539 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3540 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3541 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3542 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3543 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3544 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3545 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3546 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3547 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3548 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3549 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3550 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3551 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3552 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3553 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3554 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3555 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3556 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3557 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3558 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3559 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3560 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3561 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3562 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3563 -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3564 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3565 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3566 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3567 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3568 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3569 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3570 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3571 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3572 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3573 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3574 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3575 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3576 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3577 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3578 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3579 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3580 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3581 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3582 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3583 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3584 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3585 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3586 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3587 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3588 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3589 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3590 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3591 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3592 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3593 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3594 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3595 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3596 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3597 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3598 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3599 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3600 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3601 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3602 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3603 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3604 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3605 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3606 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3607 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3608 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3609 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3610 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3611 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3612 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3613 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3614 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3615 88, -1, -1, 4, 5, 93, 7, 8, 9, -1,
3616 -1, 12, -1, 14, -1, -1, -1, -1, -1, -1,
3617 -1, -1, 110, -1, -1, -1, -1, 28, -1, 30,
3618 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3619 -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3620 -1, -1, -1, 54, -1, 56, 57, 63, 64, 65,
3621 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3622 76, 77, 78, 79, 80, 81, 82, 83, 84, 63,
3623 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3624 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3625 84, -1, -1, -1, -1, 111, -1, -1, -1, -1,
3626 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3627 59, -1, -1, 107, 63, 64, 65, 66, 67, 68,
3628 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3629 79, 80, 81, 82, 83, 84, 62, 63, 64, 65,
3630 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3631 76, 77, 78, 79, 80, 81, 82, 83, 84, 63,
3632 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3633 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3634 84, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3635 72, 73, 74, -1, 76, 77, 78, 79, 80, 81,
3638 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3639 #line 3 "/usr/lib/bison.simple"
3641 /* Skeleton output parser for bison,
3642 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3644 This program is free software; you can redistribute it and/or modify
3645 it under the terms of the GNU General Public License as published by
3646 the Free Software Foundation; either version 2, or (at your option)
3649 This program is distributed in the hope that it will be useful,
3650 but WITHOUT ANY WARRANTY; without even the implied warranty of
3651 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3652 GNU General Public License for more details.
3654 You should have received a copy of the GNU General Public License
3655 along with this program; if not, write to the Free Software
3656 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3658 /* As a special exception, when this file is copied by Bison into a
3659 Bison output file, you may use that output file without restriction.
3660 This special exception was added by the Free Software Foundation
3661 in version 1.24 of Bison. */
3665 #define alloca __builtin_alloca
3666 #else /* not GNU C. */
3667 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3669 #else /* not sparc */
3670 #if defined (MSDOS) && !defined (__TURBOC__)
3672 #else /* not MSDOS, or __TURBOC__ */
3676 #else /* not MSDOS, __TURBOC__, or _AIX */
3680 void *alloca (unsigned int);
3682 #else /* not __cplusplus */
3684 #endif /* not __cplusplus */
3686 #endif /* not _AIX */
3687 #endif /* not MSDOS, or __TURBOC__ */
3688 #endif /* not sparc. */
3689 #endif /* not GNU C. */
3690 #endif /* alloca not defined. */
3692 /* This is the parser code that is written into each bison parser
3693 when the %semantic_parser declaration is not specified in the grammar.
3694 It was written by Richard Stallman by simplifying the hairy parser
3695 used when %semantic_parser is specified. */
3697 /* Note: there must be only one dollar sign in this file.
3698 It is replaced by the list of actions, each action
3699 as one case of the switch. */
3701 #define yyerrok (yyerrstatus = 0)
3702 #define yyclearin (yychar = YYEMPTY)
3705 #define YYACCEPT return(0)
3706 #define YYABORT return(1)
3707 #define YYERROR goto yyerrlab1
3708 /* Like YYERROR except do call yyerror.
3709 This remains here temporarily to ease the
3710 transition to the new meaning of YYERROR, for GCC.
3711 Once GCC version 2 has supplanted version 1, this can go. */
3712 #define YYFAIL goto yyerrlab
3713 #define YYRECOVERING() (!!yyerrstatus)
3714 #define YYBACKUP(token, value) \
3716 if (yychar == YYEMPTY && yylen == 1) \
3717 { yychar = (token), yylval = (value); \
3718 yychar1 = YYTRANSLATE (yychar); \
3723 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3727 #define YYERRCODE 256
3730 #define YYLEX yylex()
3736 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3738 #define YYLEX yylex(&yylval, &yylloc)
3740 #else /* not YYLSP_NEEDED */
3742 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3744 #define YYLEX yylex(&yylval)
3746 #endif /* not YYLSP_NEEDED */
3749 /* If nonreentrant, generate the variables here */
3753 int yychar
; /* the lookahead symbol */
3754 YYSTYPE yylval
; /* the semantic value of the */
3755 /* lookahead symbol */
3758 YYLTYPE yylloc
; /* location data for the lookahead */
3762 int yynerrs
; /* number of parse errors so far */
3763 #endif /* not YYPURE */
3766 int yydebug
; /* nonzero means print parse trace */
3767 /* Since this is uninitialized, it does not stop multiple parsers
3771 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3774 #define YYINITDEPTH 200
3777 /* YYMAXDEPTH is the maximum size the stacks can grow to
3778 (effective only if the built-in stack extension method is used). */
3785 #define YYMAXDEPTH 10000
3788 /* Prevent warning if -Wstrict-prototypes. */
3793 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3794 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3795 #else /* not GNU C or C++ */
3798 /* This is the most reliable way to avoid incompatibilities
3799 in available built-in functions on various systems. */
3801 __yy_memcpy (to
, from
, count
)
3806 register char *f
= from
;
3807 register char *t
= to
;
3808 register int i
= count
;
3814 #else /* __cplusplus */
3816 /* This is the most reliable way to avoid incompatibilities
3817 in available built-in functions on various systems. */
3819 __yy_memcpy (char *to
, char *from
, int count
)
3821 register char *f
= from
;
3822 register char *t
= to
;
3823 register int i
= count
;
3832 #line 196 "/usr/lib/bison.simple"
3834 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3835 into yyparse. The argument should have type void *.
3836 It should actually point to an object.
3837 Grammar actions can access the variable by casting it
3838 to the proper pointer type. */
3840 #ifdef YYPARSE_PARAM
3842 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3843 #define YYPARSE_PARAM_DECL
3844 #else /* not __cplusplus */
3845 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3846 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3847 #endif /* not __cplusplus */
3848 #else /* not YYPARSE_PARAM */
3849 #define YYPARSE_PARAM_ARG
3850 #define YYPARSE_PARAM_DECL
3851 #endif /* not YYPARSE_PARAM */
3854 yyparse(YYPARSE_PARAM_ARG
)
3857 register int yystate
;
3859 register short *yyssp
;
3860 register YYSTYPE
*yyvsp
;
3861 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3862 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3864 short yyssa
[YYINITDEPTH
]; /* the state stack */
3865 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3867 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3868 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3871 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3872 YYLTYPE
*yyls
= yylsa
;
3875 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3877 #define YYPOPSTACK (yyvsp--, yyssp--)
3880 int yystacksize
= YYINITDEPTH
;
3891 YYSTYPE yyval
; /* the variable used to return */
3892 /* semantic values from the action */
3899 fprintf(stderr
, "Starting parse\n");
3905 yychar
= YYEMPTY
; /* Cause a token to be read. */
3907 /* Initialize stack pointers.
3908 Waste one element of value and location stack
3909 so that they stay on the same level as the state stack.
3910 The wasted elements are never initialized. */
3918 /* Push a new state, which is found in yystate . */
3919 /* In all cases, when you get here, the value and location stacks
3920 have just been pushed. so pushing a state here evens the stacks. */
3925 if (yyssp
>= yyss
+ yystacksize
- 1)
3927 /* Give user a chance to reallocate the stack */
3928 /* Use copies of these so that the &'s don't force the real ones into memory. */
3929 YYSTYPE
*yyvs1
= yyvs
;
3930 short *yyss1
= yyss
;
3932 YYLTYPE
*yyls1
= yyls
;
3935 /* Get the current used size of the three stacks, in elements. */
3936 int size
= yyssp
- yyss
+ 1;
3939 /* Each stack pointer address is followed by the size of
3940 the data in use in that stack, in bytes. */
3942 /* This used to be a conditional around just the two extra args,
3943 but that might be undefined if yyoverflow is a macro. */
3944 yyoverflow("parser stack overflow",
3945 &yyss1
, size
* sizeof (*yyssp
),
3946 &yyvs1
, size
* sizeof (*yyvsp
),
3947 &yyls1
, size
* sizeof (*yylsp
),
3950 yyoverflow("parser stack overflow",
3951 &yyss1
, size
* sizeof (*yyssp
),
3952 &yyvs1
, size
* sizeof (*yyvsp
),
3956 yyss
= yyss1
; yyvs
= yyvs1
;
3960 #else /* no yyoverflow */
3961 /* Extend the stack our own way. */
3962 if (yystacksize
>= YYMAXDEPTH
)
3964 yyerror("parser stack overflow");
3968 if (yystacksize
> YYMAXDEPTH
)
3969 yystacksize
= YYMAXDEPTH
;
3970 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3971 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3972 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3973 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3975 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3976 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3978 #endif /* no yyoverflow */
3980 yyssp
= yyss
+ size
- 1;
3981 yyvsp
= yyvs
+ size
- 1;
3983 yylsp
= yyls
+ size
- 1;
3988 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3991 if (yyssp
>= yyss
+ yystacksize
- 1)
3997 fprintf(stderr
, "Entering state %d\n", yystate
);
4003 /* Do appropriate processing given the current state. */
4004 /* Read a lookahead token if we need one and don't already have one. */
4007 /* First try to decide what to do without reference to lookahead token. */
4009 yyn
= yypact
[yystate
];
4013 /* Not known => get a lookahead token if don't already have one. */
4015 /* yychar is either YYEMPTY or YYEOF
4016 or a valid token in external form. */
4018 if (yychar
== YYEMPTY
)
4022 fprintf(stderr
, "Reading a token: ");
4027 /* Convert token to internal form (in yychar1) for indexing tables with */
4029 if (yychar
<= 0) /* This means end of input. */
4032 yychar
= YYEOF
; /* Don't call YYLEX any more */
4036 fprintf(stderr
, "Now at end of input.\n");
4041 yychar1
= YYTRANSLATE(yychar
);
4046 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
4047 /* Give the individual parser a way to print the precise meaning
4048 of a token, for further debugging info. */
4050 YYPRINT (stderr
, yychar
, yylval
);
4052 fprintf (stderr
, ")\n");
4058 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
4063 /* yyn is what to do for this token type in this state.
4064 Negative => reduce, -yyn is rule number.
4065 Positive => shift, yyn is new state.
4066 New state is final state => don't bother to shift,
4067 just return success.
4068 0, or most negative number => error. */
4083 /* Shift the lookahead token. */
4087 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
4090 /* Discard the token being shifted unless it is eof. */
4091 if (yychar
!= YYEOF
)
4099 /* count tokens shifted since error; after three, turn off error status. */
4100 if (yyerrstatus
) yyerrstatus
--;
4105 /* Do the default action for the current state. */
4108 yyn
= yydefact
[yystate
];
4112 /* Do a reduction. yyn is the number of a rule to reduce with. */
4116 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
4123 fprintf (stderr
, "Reducing via rule %d (line %d), ",
4126 /* Print the symbols being reduced, and their result. */
4127 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
4128 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
4129 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4138 { finish_translation_unit (); ;
4142 { yyval
.ttype
= NULL_TREE
; ;
4146 { yyval
.ttype
= NULL_TREE
; ;
4150 { yyval
.ttype
= NULL_TREE
; ;
4154 { have_extern_spec
= 1;
4155 used_extern_spec
= 0;
4156 yyval
.ttype
= NULL_TREE
; ;
4160 { have_extern_spec
= 0; ;
4164 { yyval
.itype
= pedantic
;
4169 { if (pending_lang_change
) do_pending_lang_change(); ;
4173 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4174 pop_everything (); ;
4178 { if (pending_inlines
) do_pending_inlines (); ;
4182 { if (pending_inlines
) do_pending_inlines (); ;
4186 { if (pending_inlines
) do_pending_inlines (); ;
4190 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4191 assemble_asm (yyvsp
[-2].ttype
); ;
4195 { pop_lang_context (); ;
4199 { if (pending_inlines
) do_pending_inlines ();
4200 pop_lang_context (); ;
4204 { if (pending_inlines
) do_pending_inlines ();
4205 pop_lang_context (); ;
4209 { push_namespace (yyvsp
[-1].ttype
); ;
4213 { pop_namespace (); ;
4217 { push_namespace (NULL_TREE
); ;
4221 { pop_namespace (); ;
4225 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4229 { pedantic
= yyvsp
[-1].itype
; ;
4233 { begin_only_namespace_names (); ;
4238 end_only_namespace_names ();
4240 yyvsp
[-1].ttype
= lastiddecl
;
4241 do_namespace_alias (yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
4246 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4250 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4254 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4258 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4262 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
); ;
4266 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4270 { begin_only_namespace_names (); ;
4275 end_only_namespace_names ();
4276 /* If no declaration was found, the using-directive is
4277 invalid. Since that was not reported, we need the
4278 identifier for the error message. */
4279 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4280 yyvsp
[-1].ttype
= lastiddecl
;
4281 do_using_directive (yyvsp
[-1].ttype
);
4287 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4288 yyval
.ttype
= lastiddecl
;
4289 got_scope
= yyval
.ttype
;
4295 yyval
.ttype
= yyvsp
[-1].ttype
;
4296 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4297 yyval
.ttype
= lastiddecl
;
4298 got_scope
= yyval
.ttype
;
4303 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4307 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4311 { push_lang_context (yyvsp
[0].ttype
); ;
4315 { if (current_lang_name
!= yyvsp
[0].ttype
)
4316 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4317 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4321 { begin_template_parm_list (); ;
4325 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4329 { begin_specialization();
4330 yyval
.ttype
= NULL_TREE
; ;
4334 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4338 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4342 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4346 { yyval
.ttype
= NULL_TREE
; ;
4350 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4354 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4358 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4362 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4366 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4370 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4374 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4378 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4383 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4384 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4385 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4387 error ("invalid default template argument");
4388 yyvsp
[0].ttype
= error_mark_node
;
4390 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4395 { finish_template_decl (yyvsp
[-1].ttype
); ;
4399 { finish_template_decl (yyvsp
[-1].ttype
); ;
4403 { if (pending_inlines
) do_pending_inlines (); ;
4407 { if (pending_inlines
) do_pending_inlines (); ;
4411 { if (pending_inlines
) do_pending_inlines (); ;
4415 { if (pending_inlines
) do_pending_inlines ();
4416 pop_lang_context (); ;
4420 { if (pending_inlines
) do_pending_inlines ();
4421 pop_lang_context (); ;
4425 { pedantic
= yyvsp
[-1].itype
; ;
4433 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4437 { maybe_process_partial_specialization (yyvsp
[-1].ftype
.t
);
4438 note_got_semicolon (yyvsp
[-1].ftype
.t
); ;
4446 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4450 { pedwarn ("empty declaration"); ;
4456 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4458 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4463 { yyval
.itype
= 0; ;
4467 { yyval
.itype
= 1; ;
4471 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4476 int nested
= (hack_decl_function_context
4477 (current_function_decl
) != NULL_TREE
);
4478 finish_function (lineno
, (int)yyvsp
[0].itype
, nested
);
4487 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4491 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4495 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4496 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4501 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4505 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4509 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4510 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4515 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4519 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4523 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4524 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4529 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4533 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4537 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4538 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4543 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4548 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4553 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4558 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4563 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4568 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4572 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4576 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4580 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4584 { tree specs
, attrs
;
4585 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4586 attrs
= build_tree_list (attrs
, NULL_TREE
);
4587 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
);
4591 if (yychar
== YYEMPTY
)
4593 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4597 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
4598 goto rest_of_mdef
; ;
4602 { tree specs
, attrs
;
4603 split_specs_attrs (yyvsp
[-1].ftype
.t
, &specs
, &attrs
);
4604 attrs
= build_tree_list (attrs
, NULL_TREE
);
4605 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4609 { tree specs
, attrs
;
4610 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4611 attrs
= build_tree_list (attrs
, NULL_TREE
);
4612 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4616 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4617 goto rest_of_mdef
; ;
4621 { tree specs
, attrs
;
4622 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4623 attrs
= build_tree_list (attrs
, NULL_TREE
);
4624 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4628 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4629 goto rest_of_mdef
; ;
4634 if (! current_function_parms_stored
)
4635 store_parm_decls ();
4636 yyval
.ttype
= yyvsp
[0].ttype
;
4641 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4645 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4649 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4654 if (yyvsp
[0].itype
== 0)
4655 error ("no base initializers given following ':'");
4657 /* Always keep the BLOCK node associated with the outermost
4658 pair of curley braces of a function. These are needed
4659 for correct operation of dwarfout.c. */
4666 if (! current_function_parms_stored
)
4667 store_parm_decls ();
4669 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4671 /* Make a contour for the initializer list. */
4674 expand_start_bindings (0);
4676 else if (current_class_type
== NULL_TREE
)
4677 error ("base initializers not allowed for non-member functions");
4678 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4679 error ("only constructors take base initializers");
4684 { yyval
.itype
= 0; ;
4688 { yyval
.itype
= 1; ;
4693 if (current_class_name
)
4694 pedwarn ("anachronistic old style base class initializer");
4695 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4701 if (current_class_name
)
4702 pedwarn ("anachronistic old style base class initializer");
4703 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4708 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4712 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4716 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4720 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4724 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4729 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4734 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4735 yyungetc (';', 1); ;
4739 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4740 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4744 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4748 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4752 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4753 yyungetc (';', 1); ;
4757 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4758 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4762 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4766 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4770 { begin_explicit_instantiation(); ;
4774 { end_explicit_instantiation(); ;
4778 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4782 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4786 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4790 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4795 if (yychar
== YYEMPTY
)
4798 yyval
.ttype
= finish_template_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
4805 /* Handle `Class<Class<Type>>' without space in the `>>' */
4806 pedwarn ("`>>' should be `> >' in template class name");
4812 { yyval
.ttype
= NULL_TREE
; ;
4816 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4820 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4824 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4828 { yyval
.ttype
= lastiddecl
; ;
4832 { yyval
.code
= NEGATE_EXPR
; ;
4836 { yyval
.code
= CONVERT_EXPR
; ;
4840 { yyval
.code
= PREINCREMENT_EXPR
; ;
4844 { yyval
.code
= PREDECREMENT_EXPR
; ;
4848 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4852 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4856 { error ("ANSI C++ forbids an empty condition for `%s'",
4858 yyval
.ttype
= integer_zero_node
; ;
4862 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4866 { error ("ANSI C++ forbids an empty condition for `%s'",
4868 yyval
.ttype
= integer_zero_node
; ;
4871 #line 1002 "parse.y"
4872 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4875 #line 1007 "parse.y"
4876 { yyval
.ttype
= NULL_TREE
; ;
4879 #line 1010 "parse.y"
4880 { yyval
.ttype
= NULL_TREE
; ;
4883 #line 1015 "parse.y"
4886 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4887 if (TREE_CODE (d
) == TYPE_DECL
) {
4888 tree s
= TREE_TYPE (d
);
4889 if (TREE_CODE (s
) == RECORD_TYPE
)
4890 cp_error ("definition of class `%T' in condition", s
);
4891 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4892 cp_error ("definition of enum `%T' in condition", s
);
4895 current_declspecs
= yyvsp
[-4].ftype
.t
;
4896 yyvsp
[0].itype
= suspend_momentary ();
4897 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
4898 yyvsp
[-1].ttype
, /*prefix_attributes*/ NULL_TREE
);
4902 #line 1032 "parse.y"
4904 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4905 resume_momentary (yyvsp
[-2].itype
);
4906 yyval
.ttype
= convert_from_reference (yyvsp
[-1].ttype
);
4907 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4908 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4912 #line 1051 "parse.y"
4913 { yyval
.ttype
= begin_compound_stmt (1); ;
4916 #line 1053 "parse.y"
4917 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
4920 #line 1060 "parse.y"
4921 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4922 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4925 #line 1063 "parse.y"
4926 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4927 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4930 #line 1066 "parse.y"
4931 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4934 #line 1068 "parse.y"
4935 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4938 #line 1073 "parse.y"
4939 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4942 #line 1079 "parse.y"
4943 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4946 #line 1082 "parse.y"
4947 { yyval
.ttype
= yyvsp
[0].ttype
;
4948 pedantic
= yyvsp
[-1].itype
; ;
4951 #line 1085 "parse.y"
4952 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4955 #line 1087 "parse.y"
4956 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4959 #line 1089 "parse.y"
4960 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4963 #line 1091 "parse.y"
4964 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
4967 #line 1094 "parse.y"
4969 pedwarn ("ANSI C++ forbids `&&'");
4970 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
4973 #line 1098 "parse.y"
4974 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4977 #line 1100 "parse.y"
4978 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
));
4979 check_for_new_type ("sizeof", yyvsp
[-1].ftype
); ;
4982 #line 1103 "parse.y"
4983 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4986 #line 1105 "parse.y"
4987 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4988 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4991 #line 1111 "parse.y"
4992 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4993 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4996 #line 1114 "parse.y"
4997 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4998 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5001 #line 1117 "parse.y"
5002 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
5003 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5006 #line 1120 "parse.y"
5007 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
5008 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5011 #line 1133 "parse.y"
5012 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
5013 NULL_TREE
, yyvsp
[-4].itype
);
5014 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5017 #line 1138 "parse.y"
5018 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
5019 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5022 #line 1142 "parse.y"
5023 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-5].itype
);
5024 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5027 #line 1146 "parse.y"
5028 { yyval
.ttype
= build_new (yyvsp
[-5].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-6].itype
);
5029 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5032 #line 1150 "parse.y"
5033 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
5036 #line 1152 "parse.y"
5037 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
5038 if (yychar
== YYEMPTY
)
5042 #line 1156 "parse.y"
5043 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
5044 if (yychar
== YYEMPTY
)
5048 #line 1160 "parse.y"
5049 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
5052 #line 1162 "parse.y"
5053 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
5056 #line 1172 "parse.y"
5057 { finish_new_placement (NULL_TREE
, yyvsp
[-2].itype
); ;
5060 #line 1175 "parse.y"
5061 { yyval
.itype
= begin_new_placement (); ;
5064 #line 1179 "parse.y"
5065 { yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5068 #line 1181 "parse.y"
5069 { cp_pedwarn ("old style placement syntax, use () instead");
5070 yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5073 #line 1187 "parse.y"
5074 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5077 #line 1189 "parse.y"
5078 { yyval
.ttype
= NULL_TREE
; ;
5081 #line 1191 "parse.y"
5083 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
5084 yyval
.ttype
= error_mark_node
;
5088 #line 1199 "parse.y"
5091 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5092 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
5093 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
5094 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
5096 yyval
.ttype
= yyvsp
[0].ttype
;
5100 #line 1213 "parse.y"
5101 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5102 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5103 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5106 #line 1217 "parse.y"
5107 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5108 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5109 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5112 #line 1225 "parse.y"
5113 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5116 #line 1227 "parse.y"
5118 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5119 nreverse (yyvsp
[-2].ttype
));
5121 pedwarn ("ANSI C++ forbids constructor-expressions");
5122 /* Indicate that this was a GNU C constructor expression. */
5123 TREE_HAS_CONSTRUCTOR (init
) = 1;
5125 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5129 #line 1243 "parse.y"
5130 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5133 #line 1245 "parse.y"
5134 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5137 #line 1247 "parse.y"
5138 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5141 #line 1249 "parse.y"
5142 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5145 #line 1251 "parse.y"
5146 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5149 #line 1253 "parse.y"
5150 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5153 #line 1255 "parse.y"
5154 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5157 #line 1257 "parse.y"
5158 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5161 #line 1259 "parse.y"
5162 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5165 #line 1261 "parse.y"
5166 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5169 #line 1263 "parse.y"
5170 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5173 #line 1265 "parse.y"
5174 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5177 #line 1267 "parse.y"
5178 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5181 #line 1269 "parse.y"
5182 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5185 #line 1271 "parse.y"
5186 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5189 #line 1273 "parse.y"
5190 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5193 #line 1275 "parse.y"
5194 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5197 #line 1277 "parse.y"
5198 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5201 #line 1279 "parse.y"
5202 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5205 #line 1281 "parse.y"
5206 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5209 #line 1283 "parse.y"
5210 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5211 if (yyval
.ttype
!= error_mark_node
)
5212 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5215 #line 1287 "parse.y"
5216 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5219 #line 1289 "parse.y"
5220 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5223 #line 1291 "parse.y"
5224 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5227 #line 1309 "parse.y"
5228 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5231 #line 1311 "parse.y"
5232 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5235 #line 1320 "parse.y"
5237 /* If lastiddecl is a TREE_LIST, it's a baselink, which
5238 means that we're in an expression like S::f<int>, so
5239 don't do_identifier; we only do that for unqualified
5241 if (lastiddecl
&& TREE_CODE (lastiddecl
) != TREE_LIST
)
5242 yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1, NULL_TREE
);
5244 yyval
.ttype
= yyvsp
[-1].ttype
;
5248 #line 1333 "parse.y"
5249 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5252 #line 1335 "parse.y"
5253 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5256 #line 1340 "parse.y"
5257 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5260 #line 1342 "parse.y"
5261 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5264 #line 1345 "parse.y"
5265 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5268 #line 1357 "parse.y"
5270 /* Provide support for '(' attributes '*' declarator ')'
5272 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
5276 #line 1367 "parse.y"
5277 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5280 #line 1369 "parse.y"
5281 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5284 #line 1371 "parse.y"
5285 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5288 #line 1376 "parse.y"
5289 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5292 #line 1378 "parse.y"
5293 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5296 #line 1388 "parse.y"
5297 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5300 #line 1393 "parse.y"
5302 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
5303 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
5305 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
5309 #line 1402 "parse.y"
5311 if (processing_template_decl
)
5312 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5313 yyval
.ttype
= combine_strings (yyval
.ttype
);
5314 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5315 a const array the way we want, so fix it. */
5316 if (flag_const_strings
)
5317 TREE_TYPE (yyval
.ttype
) = build_cplus_array_type
5318 (TREE_TYPE (TREE_TYPE (yyval
.ttype
)),
5319 TYPE_DOMAIN (TREE_TYPE (yyval
.ttype
)));
5320 if (processing_template_decl
)
5325 #line 1416 "parse.y"
5326 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5329 #line 1418 "parse.y"
5330 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5331 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5334 #line 1421 "parse.y"
5335 { yyval
.ttype
= error_mark_node
; ;
5338 #line 1423 "parse.y"
5339 { tree scope
= current_scope ();
5340 if (!scope
|| TREE_CODE (scope
) != FUNCTION_DECL
)
5342 error ("braced-group within expression allowed only inside a function");
5346 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5347 yyval
.ttype
= begin_stmt_expr ();
5351 #line 1434 "parse.y"
5352 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5355 #line 1439 "parse.y"
5356 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
5359 #line 1441 "parse.y"
5360 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 1); ;
5363 #line 1443 "parse.y"
5364 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 0); ;
5367 #line 1445 "parse.y"
5368 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 0); ;
5371 #line 1447 "parse.y"
5372 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5375 #line 1449 "parse.y"
5376 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5379 #line 1451 "parse.y"
5380 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5383 #line 1454 "parse.y"
5384 { yyval
.ttype
= finish_this_expr (); ;
5387 #line 1456 "parse.y"
5389 /* This is a C cast in C++'s `functional' notation
5390 using the "implicit int" extension so that:
5391 `const (3)' is equivalent to `const int (3)'. */
5394 if (yyvsp
[-1].ttype
== error_mark_node
)
5396 yyval
.ttype
= error_mark_node
;
5400 type
= cp_build_qualified_type (integer_type_node
,
5401 cp_type_qual_from_rid (yyvsp
[-3].ttype
));
5402 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5406 #line 1474 "parse.y"
5407 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5408 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5409 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5412 #line 1478 "parse.y"
5413 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5414 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5415 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5418 #line 1482 "parse.y"
5419 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5420 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5421 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5424 #line 1486 "parse.y"
5425 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5426 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5427 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5430 #line 1490 "parse.y"
5431 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5434 #line 1492 "parse.y"
5435 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5436 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5437 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5440 #line 1496 "parse.y"
5441 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5444 #line 1498 "parse.y"
5445 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5448 #line 1500 "parse.y"
5450 got_scope
= NULL_TREE
;
5451 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5452 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5454 yyval
.ttype
= yyvsp
[0].ttype
;
5458 #line 1508 "parse.y"
5459 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5462 #line 1510 "parse.y"
5463 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5466 #line 1512 "parse.y"
5467 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5470 #line 1514 "parse.y"
5472 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5476 #line 1518 "parse.y"
5477 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5480 #line 1520 "parse.y"
5481 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5484 #line 1522 "parse.y"
5485 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5488 #line 1524 "parse.y"
5489 { if (processing_template_decl
)
5490 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5492 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5495 #line 1529 "parse.y"
5496 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5499 #line 1531 "parse.y"
5500 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5503 #line 1533 "parse.y"
5504 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5507 #line 1535 "parse.y"
5508 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5511 #line 1538 "parse.y"
5512 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5515 #line 1540 "parse.y"
5516 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5519 #line 1542 "parse.y"
5521 yyval
.ttype
= error_mark_node
;
5525 #line 1587 "parse.y"
5526 { yyval
.itype
= 0; ;
5529 #line 1589 "parse.y"
5530 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5533 #line 1594 "parse.y"
5534 { yyval
.itype
= 0; ;
5537 #line 1596 "parse.y"
5538 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5541 #line 1601 "parse.y"
5542 { yyval
.ttype
= boolean_true_node
; ;
5545 #line 1603 "parse.y"
5546 { yyval
.ttype
= boolean_false_node
; ;
5549 #line 1610 "parse.y"
5550 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5553 #line 1615 "parse.y"
5555 if (! current_function_parms_stored
)
5556 store_parm_decls ();
5558 /* Always keep the BLOCK node associated with the outermost
5559 pair of curley braces of a function. These are needed
5560 for correct operation of dwarfout.c. */
5565 #line 1628 "parse.y"
5566 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5569 #line 1630 "parse.y"
5571 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5572 got_object
= TREE_TYPE (yyval
.ttype
);
5576 #line 1638 "parse.y"
5578 resume_momentary (yyvsp
[-1].itype
);
5579 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5580 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5584 #line 1644 "parse.y"
5586 resume_momentary (yyvsp
[-1].itype
);
5587 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5591 #line 1649 "parse.y"
5592 { resume_momentary (yyvsp
[-1].itype
); ;
5595 #line 1651 "parse.y"
5597 shadow_tag (yyvsp
[-1].ftype
.t
);
5598 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5602 #line 1656 "parse.y"
5603 { warning ("empty declaration"); ;
5606 #line 1658 "parse.y"
5607 { pedantic
= yyvsp
[-1].itype
; ;
5610 #line 1672 "parse.y"
5611 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5612 NULL_TREE
, NULL_TREE
); ;
5615 #line 1675 "parse.y"
5616 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5620 #line 1682 "parse.y"
5621 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5622 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5625 #line 1685 "parse.y"
5626 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5627 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5630 #line 1688 "parse.y"
5631 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5632 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5635 #line 1691 "parse.y"
5636 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5637 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5640 #line 1694 "parse.y"
5641 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5642 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5645 #line 1710 "parse.y"
5646 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5647 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5650 #line 1713 "parse.y"
5651 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5652 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5655 #line 1716 "parse.y"
5656 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5657 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5660 #line 1719 "parse.y"
5661 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5662 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5665 #line 1722 "parse.y"
5666 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5667 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5670 #line 1725 "parse.y"
5671 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5672 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5673 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5676 #line 1732 "parse.y"
5677 { if (extra_warnings
)
5678 warning ("`%s' is not at beginning of declaration",
5679 IDENTIFIER_POINTER (yyval
.ttype
));
5680 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5683 #line 1737 "parse.y"
5684 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5687 #line 1739 "parse.y"
5688 { if (extra_warnings
)
5689 warning ("`%s' is not at beginning of declaration",
5690 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5691 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5694 #line 1744 "parse.y"
5695 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5698 #line 1746 "parse.y"
5699 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5702 #line 1756 "parse.y"
5703 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5706 #line 1758 "parse.y"
5707 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5710 #line 1760 "parse.y"
5711 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5712 TREE_STATIC (yyval
.ttype
) = 1; ;
5715 #line 1763 "parse.y"
5716 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5717 warning ("`%s' is not at beginning of declaration",
5718 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5719 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5720 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5723 #line 1769 "parse.y"
5724 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5727 #line 1771 "parse.y"
5728 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5731 #line 1782 "parse.y"
5732 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5733 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5736 #line 1785 "parse.y"
5737 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5738 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5741 #line 1788 "parse.y"
5742 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5743 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5746 #line 1791 "parse.y"
5747 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5748 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5751 #line 1797 "parse.y"
5752 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5755 #line 1799 "parse.y"
5756 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5759 #line 1809 "parse.y"
5760 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5763 #line 1811 "parse.y"
5764 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5767 #line 1813 "parse.y"
5768 { yyval
.ftype
.t
= finish_typeof (yyvsp
[-1].ttype
);
5769 yyval
.ftype
.new_type_flag
= 0; ;
5772 #line 1816 "parse.y"
5773 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5774 yyval
.ftype
.new_type_flag
= 0; ;
5777 #line 1819 "parse.y"
5778 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5780 yyval
.ftype
.new_type_flag
= 0;
5781 if (IS_AGGR_TYPE (type
))
5783 sorry ("sigof type specifier");
5784 yyval
.ftype
.t
= type
;
5788 error ("`sigof' applied to non-aggregate expression");
5789 yyval
.ftype
.t
= error_mark_node
;
5794 #line 1834 "parse.y"
5795 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5797 yyval
.ftype
.new_type_flag
= 0;
5798 if (IS_AGGR_TYPE (type
))
5800 sorry ("sigof type specifier");
5801 yyval
.ftype
.t
= type
;
5805 error("`sigof' applied to non-aggregate type");
5806 yyval
.ftype
.t
= error_mark_node
;
5811 #line 1854 "parse.y"
5812 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5815 #line 1856 "parse.y"
5816 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5819 #line 1863 "parse.y"
5820 { check_multiple_declarators (); ;
5823 #line 1869 "parse.y"
5824 { check_multiple_declarators (); ;
5827 #line 1875 "parse.y"
5828 { check_multiple_declarators (); ;
5831 #line 1880 "parse.y"
5832 { yyval
.ttype
= NULL_TREE
; ;
5835 #line 1882 "parse.y"
5836 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5839 #line 1887 "parse.y"
5840 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
5841 yyvsp
[-1].ttype
, prefix_attributes
); ;
5844 #line 1891 "parse.y"
5845 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5848 #line 1893 "parse.y"
5849 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
5850 yyvsp
[0].ttype
, prefix_attributes
);
5851 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5854 #line 1906 "parse.y"
5855 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
5856 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
5859 #line 1911 "parse.y"
5860 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1,
5861 LOOKUP_ONLYCONVERTING
);
5862 yyval
.itype
= yyvsp
[-2].itype
; ;
5865 #line 1915 "parse.y"
5867 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
5868 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5871 #line 1922 "parse.y"
5872 { yyval
.itype
= yyvsp
[0].itype
; ;
5875 #line 1926 "parse.y"
5876 { yyval
.itype
= yyvsp
[0].itype
; ;
5879 #line 1931 "parse.y"
5880 { /* Set things up as initdcl0_innards expects. */
5881 yyvsp
[0].ttype
= yyvsp
[-1].ttype
;
5882 yyvsp
[-1].ttype
= NULL_TREE
; ;
5885 #line 1935 "parse.y"
5889 #line 1937 "parse.y"
5891 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
5892 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5895 #line 1946 "parse.y"
5896 { yyval
.ttype
= NULL_TREE
; ;
5899 #line 1948 "parse.y"
5900 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5903 #line 1953 "parse.y"
5904 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5907 #line 1955 "parse.y"
5908 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5911 #line 1960 "parse.y"
5912 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5915 #line 1965 "parse.y"
5916 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5919 #line 1967 "parse.y"
5920 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5923 #line 1972 "parse.y"
5924 { yyval
.ttype
= NULL_TREE
; ;
5927 #line 1974 "parse.y"
5928 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5931 #line 1976 "parse.y"
5932 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5935 #line 1978 "parse.y"
5936 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5939 #line 1980 "parse.y"
5940 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5943 #line 1996 "parse.y"
5944 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5947 #line 1998 "parse.y"
5948 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5951 #line 2003 "parse.y"
5952 { yyval
.ttype
= NULL_TREE
; ;
5955 #line 2005 "parse.y"
5956 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5959 #line 2013 "parse.y"
5960 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5961 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5964 #line 2016 "parse.y"
5965 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
5966 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5969 #line 2019 "parse.y"
5970 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
5971 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5974 #line 2022 "parse.y"
5975 { yyval
.ttype
= NULL_TREE
; ;
5978 #line 2029 "parse.y"
5979 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5982 #line 2031 "parse.y"
5983 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5986 #line 2034 "parse.y"
5987 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5990 #line 2036 "parse.y"
5991 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
5994 #line 2038 "parse.y"
5995 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5998 #line 2043 "parse.y"
5999 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
6001 reinit_parse_for_function (); ;
6004 #line 2049 "parse.y"
6006 int nested
= (hack_decl_function_context
6007 (current_function_decl
) != NULL_TREE
);
6008 finish_function (lineno
, (int)yyvsp
[-1].itype
| 2, nested
);
6009 process_next_inline (yyvsp
[-3].ttype
);
6013 #line 2056 "parse.y"
6015 int nested
= (hack_decl_function_context
6016 (current_function_decl
) != NULL_TREE
);
6017 finish_function (lineno
, (int)yyvsp
[0].itype
| 2, nested
);
6018 process_next_inline (yyvsp
[-2].ttype
);
6022 #line 2063 "parse.y"
6023 { process_next_inline (yyvsp
[-2].ttype
); ;
6026 #line 2075 "parse.y"
6027 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6030 #line 2077 "parse.y"
6031 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6034 #line 2082 "parse.y"
6035 { do_pending_defargs (); ;
6038 #line 2084 "parse.y"
6039 { do_pending_defargs (); ;
6042 #line 2089 "parse.y"
6043 { yyvsp
[0].itype
= suspend_momentary ();
6044 yyval
.ttype
= current_enum_type
;
6045 current_enum_type
= start_enum (yyvsp
[-1].ttype
); ;
6048 #line 2093 "parse.y"
6049 { TYPE_VALUES (current_enum_type
) = yyvsp
[-2].ttype
;
6050 yyval
.ftype
.t
= finish_enum (current_enum_type
);
6051 yyval
.ftype
.new_type_flag
= 1;
6052 current_enum_type
= yyvsp
[-3].ttype
;
6053 resume_momentary ((int) yyvsp
[-4].itype
);
6054 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6057 #line 2100 "parse.y"
6058 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
));
6059 yyval
.ftype
.new_type_flag
= 1;
6060 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6063 #line 2104 "parse.y"
6064 { yyvsp
[0].itype
= suspend_momentary ();
6065 yyval
.ttype
= current_enum_type
;
6066 current_enum_type
= start_enum (make_anon_name ()); ;
6069 #line 2108 "parse.y"
6070 { TYPE_VALUES (current_enum_type
) = yyvsp
[-2].ttype
;
6071 yyval
.ftype
.t
= finish_enum (current_enum_type
);
6072 yyval
.ftype
.new_type_flag
= 1;
6073 current_enum_type
= yyvsp
[-3].ttype
;
6074 resume_momentary ((int) yyvsp
[-5].itype
);
6075 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6078 #line 2115 "parse.y"
6079 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()));
6080 yyval
.ftype
.new_type_flag
= 1;
6081 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6084 #line 2119 "parse.y"
6085 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6086 yyval
.ftype
.new_type_flag
= 0; ;
6089 #line 2122 "parse.y"
6090 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6091 yyval
.ftype
.new_type_flag
= 0; ;
6094 #line 2125 "parse.y"
6095 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6096 yyval
.ftype
.new_type_flag
= 0;
6097 if (!processing_template_decl
)
6098 cp_pedwarn ("using `typename' outside of template"); ;
6101 #line 2132 "parse.y"
6105 if (yychar
== YYEMPTY
)
6107 semi
= yychar
== ';';
6109 yyval
.ttype
= finish_class_definition (yyvsp
[-4].ttype
, yyvsp
[0].ttype
, semi
);
6113 #line 2142 "parse.y"
6114 { finish_default_args (); ;
6117 #line 2144 "parse.y"
6118 { yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6119 yyval
.ftype
.new_type_flag
= 1;
6120 begin_inline_definitions (); ;
6123 #line 2148 "parse.y"
6125 yyval
.ftype
.new_type_flag
= 0;
6126 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
6128 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
6129 yyval
.ftype
.t
= error_mark_node
;
6133 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6134 /* struct B: public A; is not accepted by the WP grammar. */
6135 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6136 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6137 cp_error ("base clause without member specification for `%#T'",
6143 #line 2175 "parse.y"
6144 { if (pedantic
&& !in_system_header
)
6145 pedwarn ("comma at end of enumerator list"); ;
6148 #line 2182 "parse.y"
6149 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6152 #line 2184 "parse.y"
6153 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6156 #line 2186 "parse.y"
6157 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6160 #line 2188 "parse.y"
6161 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6164 #line 2190 "parse.y"
6165 { yyval
.ttype
= build_decl_list (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6168 #line 2195 "parse.y"
6170 current_aggr
= yyvsp
[-1].ttype
;
6171 yyval
.ttype
= yyvsp
[0].ttype
;
6175 #line 2203 "parse.y"
6176 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6179 #line 2205 "parse.y"
6180 { yyungetc ('{', 1); ;
6183 #line 2207 "parse.y"
6184 { yyungetc (':', 1); ;
6187 #line 2212 "parse.y"
6189 current_aggr
= yyvsp
[-2].ttype
;
6190 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6194 #line 2217 "parse.y"
6196 current_aggr
= yyvsp
[-3].ttype
;
6197 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6201 #line 2222 "parse.y"
6203 current_aggr
= yyvsp
[-2].ttype
;
6204 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6208 #line 2227 "parse.y"
6209 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6212 #line 2229 "parse.y"
6213 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6216 #line 2234 "parse.y"
6217 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 1); ;
6220 #line 2236 "parse.y"
6221 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 0); ;
6224 #line 2240 "parse.y"
6226 yyval
.ttype
= yyvsp
[-1].ttype
;
6228 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6232 #line 2246 "parse.y"
6233 { push_scope (CP_DECL_CONTEXT (yyvsp
[0].ttype
)); ;
6236 #line 2248 "parse.y"
6238 pop_scope (CP_DECL_CONTEXT (yyvsp
[-2].ttype
));
6239 yyval
.ttype
= TREE_TYPE (yyvsp
[-2].ttype
);
6240 if (current_aggr
== union_type_node
6241 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
6242 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
6243 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
6244 && current_aggr
!= union_type_node
)
6245 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
6246 else if (TREE_CODE (yyval
.ttype
) == RECORD_TYPE
)
6247 /* We might be specializing a template with a different
6249 CLASSTYPE_DECLARED_CLASS (yyval
.ttype
) = (current_aggr
6250 == class_type_node
);
6253 maybe_process_partial_specialization (yyval
.ttype
);
6254 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6259 #line 2272 "parse.y"
6260 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), 0);
6261 yyungetc ('{', 1); ;
6264 #line 2283 "parse.y"
6265 { yyval
.ttype
= NULL_TREE
; ;
6268 #line 2285 "parse.y"
6269 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6272 #line 2287 "parse.y"
6273 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6276 #line 2293 "parse.y"
6277 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6280 #line 2298 "parse.y"
6281 { yyval
.ttype
= finish_base_specifier (access_default_node
, yyvsp
[0].ttype
,
6283 == signature_type_node
); ;
6286 #line 2302 "parse.y"
6287 { yyval
.ttype
= finish_base_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
,
6289 == signature_type_node
); ;
6292 #line 2309 "parse.y"
6293 { if (yyval
.ttype
!= error_mark_node
) yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6296 #line 2312 "parse.y"
6298 if (current_aggr
== signature_type_node
)
6300 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6302 sorry ("`sigof' as base signature specifier");
6303 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6307 error ("`sigof' applied to non-aggregate expression");
6308 yyval
.ttype
= error_mark_node
;
6313 error ("`sigof' in struct or class declaration");
6314 yyval
.ttype
= error_mark_node
;
6319 #line 2333 "parse.y"
6321 if (current_aggr
== signature_type_node
)
6323 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6325 sorry ("`sigof' as base signature specifier");
6326 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6330 error ("`sigof' applied to non-aggregate expression");
6331 yyval
.ttype
= error_mark_node
;
6336 error ("`sigof' in struct or class declaration");
6337 yyval
.ttype
= error_mark_node
;
6342 #line 2358 "parse.y"
6343 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6344 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6345 yyval
.ttype
= access_default_virtual_node
; ;
6348 #line 2362 "parse.y"
6350 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6351 error ("multiple access specifiers");
6352 else if (yyvsp
[-1].ttype
== access_public_node
)
6353 yyval
.ttype
= access_public_virtual_node
;
6354 else if (yyvsp
[-1].ttype
== access_protected_node
)
6355 yyval
.ttype
= access_protected_virtual_node
;
6356 else /* $2 == access_private_node */
6357 yyval
.ttype
= access_private_virtual_node
;
6361 #line 2373 "parse.y"
6362 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6363 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6364 else if (yyval
.ttype
== access_public_node
)
6365 yyval
.ttype
= access_public_virtual_node
;
6366 else if (yyval
.ttype
== access_protected_node
)
6367 yyval
.ttype
= access_protected_virtual_node
;
6368 else if (yyval
.ttype
== access_private_node
)
6369 yyval
.ttype
= access_private_virtual_node
;
6371 error ("multiple `virtual' specifiers");
6375 #line 2388 "parse.y"
6376 { yyvsp
[-1].ttype
= begin_class_definition (yyvsp
[-1].ttype
); ;
6379 #line 2399 "parse.y"
6381 if (current_aggr
== signature_type_node
)
6383 error ("access specifier not allowed in signature");
6384 yyvsp
[-1].ttype
= access_public_node
;
6387 current_access_specifier
= yyvsp
[-1].ttype
;
6391 #line 2414 "parse.y"
6393 finish_member_declaration (yyvsp
[0].ttype
);
6397 #line 2418 "parse.y"
6399 finish_member_declaration (yyvsp
[0].ttype
);
6403 #line 2426 "parse.y"
6404 { error ("missing ';' before right brace");
6405 yyungetc ('}', 0); ;
6408 #line 2431 "parse.y"
6409 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6412 #line 2433 "parse.y"
6413 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6416 #line 2435 "parse.y"
6417 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6420 #line 2437 "parse.y"
6421 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6424 #line 2439 "parse.y"
6425 { yyval
.ttype
= NULL_TREE
; ;
6428 #line 2441 "parse.y"
6429 { yyval
.ttype
= yyvsp
[0].ttype
;
6430 pedantic
= yyvsp
[-1].itype
; ;
6433 #line 2444 "parse.y"
6436 yyval
.ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6438 /* The component was already processed. */
6439 yyval
.ttype
= NULL_TREE
;
6441 finish_template_decl (yyvsp
[-1].ttype
);
6445 #line 2454 "parse.y"
6447 yyval
.ttype
= finish_member_class_template (yyvsp
[-1].ftype
.t
);
6448 finish_template_decl (yyvsp
[-2].ttype
);
6452 #line 2465 "parse.y"
6454 /* Most of the productions for component_decl only
6455 allow the creation of one new member, so we call
6456 finish_member_declaration in component_decl_list.
6457 For this rule and the next, however, there can be
6458 more than one member, e.g.:
6462 and we need the first member to be fully
6463 registered before the second is processed.
6464 Therefore, the rules for components take care of
6465 this processing. To avoid registering the
6466 components more than once, we send NULL_TREE up
6467 here; that lets finish_member_declaration now
6468 that there is nothing to do. */
6469 if (!yyvsp
[0].itype
)
6470 grok_x_components (yyvsp
[-1].ftype
.t
);
6471 yyval
.ttype
= NULL_TREE
;
6475 #line 2486 "parse.y"
6477 if (!yyvsp
[0].itype
)
6478 grok_x_components (yyvsp
[-1].ttype
);
6479 yyval
.ttype
= NULL_TREE
;
6483 #line 2492 "parse.y"
6484 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6485 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6488 #line 2495 "parse.y"
6489 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6490 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6493 #line 2498 "parse.y"
6494 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6497 #line 2500 "parse.y"
6498 { yyval
.ttype
= NULL_TREE
; ;
6501 #line 2511 "parse.y"
6502 { tree specs
, attrs
;
6503 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6504 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6505 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6508 #line 2516 "parse.y"
6509 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6510 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6513 #line 2519 "parse.y"
6514 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6517 #line 2525 "parse.y"
6518 { yyval
.itype
= 0; ;
6521 #line 2527 "parse.y"
6523 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6524 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6525 finish_member_declaration (yyvsp
[0].ttype
);
6530 #line 2534 "parse.y"
6532 check_multiple_declarators ();
6533 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6534 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6535 finish_member_declaration (yyvsp
[0].ttype
);
6540 #line 2545 "parse.y"
6541 { yyval
.itype
= 0; ;
6544 #line 2547 "parse.y"
6546 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6547 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6548 finish_member_declaration (yyvsp
[0].ttype
);
6553 #line 2554 "parse.y"
6555 check_multiple_declarators ();
6556 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6557 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6558 finish_member_declaration (yyvsp
[0].ttype
);
6563 #line 2575 "parse.y"
6564 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6565 &prefix_attributes
);
6566 yyvsp
[-4].ttype
= current_declspecs
;
6567 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6568 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6571 #line 2581 "parse.y"
6572 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6573 &prefix_attributes
);
6574 yyvsp
[-4].ttype
= current_declspecs
;
6575 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6576 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6579 #line 2590 "parse.y"
6580 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6581 &prefix_attributes
);
6582 yyvsp
[-4].ttype
= current_declspecs
;
6583 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6584 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6587 #line 2596 "parse.y"
6588 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6589 &prefix_attributes
);
6590 yyvsp
[-4].ttype
= current_declspecs
;
6591 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6592 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6595 #line 2602 "parse.y"
6596 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6597 &prefix_attributes
);
6598 yyvsp
[-4].ttype
= current_declspecs
;
6599 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6600 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6603 #line 2608 "parse.y"
6604 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6605 &prefix_attributes
);
6606 yyvsp
[-3].ttype
= current_declspecs
;
6607 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6608 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6611 #line 2617 "parse.y"
6612 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6613 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6616 #line 2620 "parse.y"
6617 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6618 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6621 #line 2626 "parse.y"
6622 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6623 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6626 #line 2629 "parse.y"
6627 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6628 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6631 #line 2632 "parse.y"
6632 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6633 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6636 #line 2643 "parse.y"
6637 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6640 #line 2648 "parse.y"
6641 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
, current_enum_type
); ;
6644 #line 2650 "parse.y"
6645 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
, current_enum_type
); ;
6648 #line 2656 "parse.y"
6649 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6650 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6653 #line 2659 "parse.y"
6654 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6655 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6658 #line 2666 "parse.y"
6661 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6662 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6663 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6664 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6668 #line 2677 "parse.y"
6669 { yyval
.ttype
= NULL_TREE
; ;
6672 #line 2679 "parse.y"
6673 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6676 #line 2684 "parse.y"
6677 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6678 yyval
.ftype
.new_type_flag
= 0; ;
6681 #line 2687 "parse.y"
6682 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6683 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6686 #line 2696 "parse.y"
6687 { yyval
.itype
= suspend_momentary (); ;
6690 #line 2701 "parse.y"
6691 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6694 #line 2707 "parse.y"
6695 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6698 #line 2709 "parse.y"
6699 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6702 #line 2711 "parse.y"
6703 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6706 #line 2713 "parse.y"
6707 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6710 #line 2720 "parse.y"
6711 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6714 #line 2722 "parse.y"
6715 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6718 #line 2724 "parse.y"
6719 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6722 #line 2726 "parse.y"
6723 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6726 #line 2728 "parse.y"
6727 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6728 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6732 #line 2736 "parse.y"
6734 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6736 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6737 if (current_class_type
6738 && TYPE_BEING_DEFINED (current_class_type
)
6739 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6741 /* Remember that this name has been used in the class
6742 definition, as per [class.scope0] */
6743 pushdecl_class_level (yyval
.ttype
);
6747 yyval
.ttype
= yyvsp
[0].ttype
;
6751 #line 2753 "parse.y"
6753 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6754 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6756 yyval
.ttype
= yyvsp
[0].ttype
;
6757 got_scope
= NULL_TREE
;
6761 #line 2766 "parse.y"
6762 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6765 #line 2771 "parse.y"
6766 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6769 #line 2776 "parse.y"
6770 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6773 #line 2778 "parse.y"
6774 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6777 #line 2780 "parse.y"
6778 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6781 #line 2782 "parse.y"
6782 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6785 #line 2784 "parse.y"
6786 { push_nested_class (yyvsp
[-1].ttype
, 3);
6787 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6788 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6791 #line 2796 "parse.y"
6793 /* Provide support for '(' attributes '*' declarator ')'
6795 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
6799 #line 2805 "parse.y"
6800 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6803 #line 2807 "parse.y"
6804 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6807 #line 2809 "parse.y"
6808 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6811 #line 2811 "parse.y"
6812 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6815 #line 2813 "parse.y"
6816 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6817 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6821 #line 2821 "parse.y"
6822 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6825 #line 2823 "parse.y"
6826 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6829 #line 2825 "parse.y"
6830 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6833 #line 2827 "parse.y"
6834 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6837 #line 2829 "parse.y"
6838 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6839 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6843 #line 2837 "parse.y"
6844 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6847 #line 2839 "parse.y"
6848 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6851 #line 2841 "parse.y"
6852 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6855 #line 2843 "parse.y"
6856 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6859 #line 2845 "parse.y"
6860 { enter_scope_of (yyvsp
[0].ttype
); ;
6863 #line 2847 "parse.y"
6864 { got_scope
= NULL_TREE
;
6865 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6866 enter_scope_of (yyval
.ttype
);
6870 #line 2855 "parse.y"
6871 { got_scope
= NULL_TREE
;
6872 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6875 #line 2858 "parse.y"
6876 { got_scope
= NULL_TREE
;
6877 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6880 #line 2864 "parse.y"
6881 { got_scope
= NULL_TREE
;
6882 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6885 #line 2867 "parse.y"
6886 { got_scope
= NULL_TREE
;
6887 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6890 #line 2874 "parse.y"
6891 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6894 #line 2879 "parse.y"
6895 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6898 #line 2881 "parse.y"
6899 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6902 #line 2883 "parse.y"
6903 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6906 #line 2894 "parse.y"
6907 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6910 #line 2896 "parse.y"
6911 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6914 #line 2903 "parse.y"
6916 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6918 yyval
.ttype
= lastiddecl
;
6919 /* Remember that this name has been used in the class
6920 definition, as per [class.scope0] */
6921 if (current_class_type
6922 && TYPE_BEING_DEFINED (current_class_type
)
6923 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
6924 pushdecl_class_level (yyval
.ttype
);
6926 got_scope
= yyval
.ttype
= TYPE_MAIN_VARIANT (TREE_TYPE (yyval
.ttype
));
6930 #line 2917 "parse.y"
6932 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6933 yyval
.ttype
= lastiddecl
;
6934 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6938 #line 2923 "parse.y"
6940 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6941 yyval
.ttype
= lastiddecl
;
6942 got_scope
= yyval
.ttype
;
6946 #line 2929 "parse.y"
6947 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
6950 #line 2945 "parse.y"
6951 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6954 #line 2950 "parse.y"
6956 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6957 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6958 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6959 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6962 yyval
.ttype
= yyvsp
[0].ttype
;
6963 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6964 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6969 #line 2963 "parse.y"
6970 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
6973 #line 2965 "parse.y"
6974 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6977 #line 2967 "parse.y"
6978 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6981 #line 2972 "parse.y"
6983 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6984 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6988 #line 2977 "parse.y"
6990 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6991 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6992 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6993 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6996 yyval
.ttype
= yyvsp
[0].ttype
;
6997 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6998 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7003 #line 2990 "parse.y"
7004 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
7007 #line 2992 "parse.y"
7008 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7011 #line 2997 "parse.y"
7013 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7014 yyvsp
[-1].ttype
= lastiddecl
;
7016 /* Retrieve the type for the identifier, which might involve
7017 some computation. */
7018 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
7020 if (yyval
.ttype
== error_mark_node
)
7021 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
7025 #line 3009 "parse.y"
7027 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7028 yyval
.ttype
= lastiddecl
;
7029 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7033 #line 3015 "parse.y"
7034 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7037 #line 3019 "parse.y"
7039 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7040 yyval
.ttype
= lastiddecl
;
7041 got_scope
= yyval
.ttype
;
7045 #line 3028 "parse.y"
7046 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7049 #line 3033 "parse.y"
7051 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7052 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7054 yyval
.ttype
= yyvsp
[0].ttype
;
7055 got_scope
= NULL_TREE
;
7059 #line 3042 "parse.y"
7060 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7063 #line 3047 "parse.y"
7064 { got_scope
= NULL_TREE
; ;
7067 #line 3049 "parse.y"
7068 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7071 #line 3056 "parse.y"
7072 { got_scope
= void_type_node
; ;
7075 #line 3062 "parse.y"
7076 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7079 #line 3064 "parse.y"
7080 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7083 #line 3066 "parse.y"
7084 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7087 #line 3068 "parse.y"
7088 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7091 #line 3070 "parse.y"
7092 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7093 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7097 #line 3074 "parse.y"
7098 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7099 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7103 #line 3083 "parse.y"
7104 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7107 #line 3085 "parse.y"
7108 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7111 #line 3091 "parse.y"
7112 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7115 #line 3093 "parse.y"
7116 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7119 #line 3095 "parse.y"
7120 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7123 #line 3097 "parse.y"
7124 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7127 #line 3099 "parse.y"
7128 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7131 #line 3101 "parse.y"
7132 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7135 #line 3103 "parse.y"
7136 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7139 #line 3105 "parse.y"
7140 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7143 #line 3107 "parse.y"
7144 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7145 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7149 #line 3111 "parse.y"
7150 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7151 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7155 #line 3120 "parse.y"
7156 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7159 #line 3124 "parse.y"
7160 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7163 #line 3126 "parse.y"
7164 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7167 #line 3128 "parse.y"
7168 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7171 #line 3130 "parse.y"
7172 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7175 #line 3132 "parse.y"
7176 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7179 #line 3134 "parse.y"
7180 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7183 #line 3136 "parse.y"
7184 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7187 #line 3138 "parse.y"
7188 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7191 #line 3140 "parse.y"
7192 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7195 #line 3163 "parse.y"
7197 pedwarn ("ANSI C++ forbids label declarations"); ;
7200 #line 3174 "parse.y"
7202 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7204 tree label
= shadow_label (TREE_VALUE (link
));
7205 C_DECLARED_LABEL_FLAG (label
) = 1;
7206 declare_nonlocal_label (label
);
7211 #line 3188 "parse.y"
7215 #line 3194 "parse.y"
7216 { yyval
.ttype
= begin_compound_stmt (0); ;
7219 #line 3196 "parse.y"
7220 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7223 #line 3201 "parse.y"
7225 yyval
.ttype
= begin_if_stmt ();
7226 cond_stmt_keyword
= "if";
7230 #line 3206 "parse.y"
7231 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7234 #line 3208 "parse.y"
7235 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7238 #line 3213 "parse.y"
7239 { yyval
.ttype
= begin_compound_stmt (0); ;
7242 #line 3215 "parse.y"
7243 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7246 #line 3220 "parse.y"
7250 #line 3226 "parse.y"
7254 #line 3228 "parse.y"
7255 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7258 #line 3230 "parse.y"
7259 { begin_else_clause (); ;
7262 #line 3232 "parse.y"
7264 finish_else_clause (yyvsp
[-3].ttype
);
7269 #line 3237 "parse.y"
7270 { finish_if_stmt (); ;
7273 #line 3239 "parse.y"
7275 yyval
.ttype
= begin_while_stmt ();
7276 cond_stmt_keyword
= "while";
7280 #line 3244 "parse.y"
7281 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7284 #line 3246 "parse.y"
7285 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7288 #line 3248 "parse.y"
7289 { yyval
.ttype
= begin_do_stmt (); ;
7292 #line 3250 "parse.y"
7294 finish_do_body (yyvsp
[-2].ttype
);
7295 cond_stmt_keyword
= "do";
7299 #line 3255 "parse.y"
7300 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7303 #line 3257 "parse.y"
7304 { yyval
.ttype
= begin_for_stmt (); ;
7307 #line 3259 "parse.y"
7308 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7311 #line 3261 "parse.y"
7312 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7315 #line 3263 "parse.y"
7316 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7319 #line 3265 "parse.y"
7320 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7323 #line 3267 "parse.y"
7324 { begin_switch_stmt (); ;
7327 #line 3269 "parse.y"
7328 { yyval
.ttype
= finish_switch_cond (yyvsp
[-1].ttype
); ;
7331 #line 3271 "parse.y"
7332 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7335 #line 3273 "parse.y"
7336 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7339 #line 3276 "parse.y"
7340 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7343 #line 3279 "parse.y"
7344 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7347 #line 3282 "parse.y"
7348 { finish_break_stmt (); ;
7351 #line 3284 "parse.y"
7352 { finish_continue_stmt (); ;
7355 #line 3286 "parse.y"
7356 { finish_return_stmt (NULL_TREE
); ;
7359 #line 3288 "parse.y"
7360 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7363 #line 3290 "parse.y"
7365 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7370 #line 3296 "parse.y"
7372 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7377 #line 3302 "parse.y"
7378 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7381 #line 3306 "parse.y"
7382 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7385 #line 3308 "parse.y"
7388 pedwarn ("ANSI C++ forbids computed gotos");
7389 finish_goto_stmt (yyvsp
[-1].ttype
);
7393 #line 3314 "parse.y"
7394 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7397 #line 3316 "parse.y"
7401 #line 3318 "parse.y"
7402 { error ("label must be followed by statement");
7407 #line 3322 "parse.y"
7411 #line 3326 "parse.y"
7412 { do_local_using_decl (yyvsp
[0].ttype
); ;
7415 #line 3332 "parse.y"
7417 if (! current_function_parms_stored
)
7418 store_parm_decls ();
7419 expand_start_early_try_stmts ();
7423 #line 3338 "parse.y"
7425 expand_start_all_catch ();
7429 #line 3342 "parse.y"
7431 expand_end_all_catch ();
7432 yyval
.itype
= yyvsp
[-3].itype
;
7436 #line 3350 "parse.y"
7437 { yyval
.ttype
= begin_try_block (); ;
7440 #line 3352 "parse.y"
7441 { finish_try_block (yyvsp
[-1].ttype
); ;
7444 #line 3354 "parse.y"
7445 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7448 #line 3364 "parse.y"
7449 { yyval
.ttype
= begin_handler(); ;
7452 #line 3366 "parse.y"
7453 { finish_handler_parms (yyvsp
[-1].ttype
); ;
7456 #line 3368 "parse.y"
7457 { finish_handler (yyvsp
[-3].ttype
); ;
7460 #line 3378 "parse.y"
7461 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7464 #line 3394 "parse.y"
7465 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7466 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7467 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7470 #line 3401 "parse.y"
7473 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7474 if (label
&& ! minimal_parse_mode
)
7475 expand_label (label
);
7479 #line 3408 "parse.y"
7483 #line 3410 "parse.y"
7487 #line 3412 "parse.y"
7491 #line 3417 "parse.y"
7492 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7495 #line 3420 "parse.y"
7497 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7501 #line 3429 "parse.y"
7502 { emit_line_note (input_filename
, lineno
);
7503 yyval
.ttype
= NULL_TREE
; ;
7506 #line 3432 "parse.y"
7507 { emit_line_note (input_filename
, lineno
); ;
7510 #line 3437 "parse.y"
7511 { yyval
.ttype
= NULL_TREE
; ;
7514 #line 3440 "parse.y"
7515 { yyval
.ttype
= NULL_TREE
; ;
7518 #line 3447 "parse.y"
7519 { yyval
.ttype
= NULL_TREE
; ;
7522 #line 3454 "parse.y"
7523 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7526 #line 3459 "parse.y"
7527 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7530 #line 3464 "parse.y"
7531 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7534 #line 3466 "parse.y"
7535 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7538 #line 3477 "parse.y"
7540 yyval
.ttype
= empty_parms();
7544 #line 3482 "parse.y"
7545 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
7546 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7549 #line 3490 "parse.y"
7550 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7553 #line 3492 "parse.y"
7554 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7557 #line 3495 "parse.y"
7558 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7561 #line 3497 "parse.y"
7562 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7563 yyvsp
[-1].ftype
.t
), 1); ;
7566 #line 3500 "parse.y"
7567 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7570 #line 3502 "parse.y"
7572 /* This helps us recover from really nasty
7573 parse errors, for example, a missing right
7575 yyerror ("possibly missing ')'");
7576 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7582 #line 3512 "parse.y"
7584 /* This helps us recover from really nasty
7585 parse errors, for example, a missing right
7587 yyerror ("possibly missing ')'");
7588 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7589 yyvsp
[-1].ftype
.t
), 0);
7595 #line 3527 "parse.y"
7596 { maybe_snarf_defarg (); ;
7599 #line 3529 "parse.y"
7600 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7603 #line 3540 "parse.y"
7604 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7605 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7608 #line 3543 "parse.y"
7609 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7610 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7613 #line 3546 "parse.y"
7614 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7615 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7618 #line 3549 "parse.y"
7619 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7622 #line 3551 "parse.y"
7623 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7626 #line 3557 "parse.y"
7627 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7628 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7631 #line 3567 "parse.y"
7632 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7633 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7634 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7637 #line 3571 "parse.y"
7638 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7639 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7642 #line 3574 "parse.y"
7643 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
7644 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7647 #line 3577 "parse.y"
7648 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7649 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7650 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7653 #line 3581 "parse.y"
7654 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7655 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7656 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7659 #line 3585 "parse.y"
7660 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7661 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7662 yyval
.ftype
.new_type_flag
= 0; ;
7665 #line 3592 "parse.y"
7666 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7667 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7670 #line 3595 "parse.y"
7671 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7672 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7675 #line 3606 "parse.y"
7676 { see_typename (); ;
7679 #line 3611 "parse.y"
7681 error ("type specifier omitted for parameter");
7682 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7686 #line 3616 "parse.y"
7688 error ("type specifier omitted for parameter");
7689 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7690 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7691 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7692 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7693 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7697 #line 3628 "parse.y"
7698 { yyval
.ttype
= NULL_TREE
; ;
7701 #line 3630 "parse.y"
7702 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7705 #line 3632 "parse.y"
7706 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
7709 #line 3637 "parse.y"
7710 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
7713 #line 3643 "parse.y"
7715 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
7716 yyval
.ttype
= yyvsp
[0].ttype
;
7720 #line 3651 "parse.y"
7721 { yyval
.ttype
= NULL_TREE
; ;
7724 #line 3653 "parse.y"
7725 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7728 #line 3655 "parse.y"
7729 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7732 #line 3657 "parse.y"
7733 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7734 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7738 #line 3664 "parse.y"
7739 { got_scope
= NULL_TREE
; ;
7742 #line 3669 "parse.y"
7743 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
7746 #line 3671 "parse.y"
7747 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
7750 #line 3673 "parse.y"
7751 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
7754 #line 3675 "parse.y"
7755 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
7758 #line 3677 "parse.y"
7759 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
7762 #line 3679 "parse.y"
7763 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
7766 #line 3681 "parse.y"
7767 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
7770 #line 3683 "parse.y"
7771 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
7774 #line 3685 "parse.y"
7775 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
7778 #line 3687 "parse.y"
7779 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
7782 #line 3689 "parse.y"
7783 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7786 #line 3691 "parse.y"
7787 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
7790 #line 3693 "parse.y"
7791 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
7794 #line 3695 "parse.y"
7795 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7798 #line 3697 "parse.y"
7799 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
7802 #line 3699 "parse.y"
7803 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
7806 #line 3701 "parse.y"
7807 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7810 #line 3703 "parse.y"
7811 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7814 #line 3705 "parse.y"
7815 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
7818 #line 3707 "parse.y"
7819 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
7822 #line 3709 "parse.y"
7823 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
7826 #line 3711 "parse.y"
7827 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
7830 #line 3713 "parse.y"
7831 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
7834 #line 3715 "parse.y"
7835 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
7838 #line 3717 "parse.y"
7839 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7842 #line 3719 "parse.y"
7843 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
7846 #line 3721 "parse.y"
7847 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
7850 #line 3723 "parse.y"
7851 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
7854 #line 3725 "parse.y"
7855 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
7858 #line 3727 "parse.y"
7859 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
7862 #line 3729 "parse.y"
7863 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
7866 #line 3731 "parse.y"
7867 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
7870 #line 3733 "parse.y"
7871 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
7874 #line 3736 "parse.y"
7875 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7878 #line 3738 "parse.y"
7879 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
7882 /* the action file gets copied in in place of this dollarsign */
7883 #line 498 "/usr/lib/bison.simple"
7894 short *ssp1
= yyss
- 1;
7895 fprintf (stderr
, "state stack now");
7896 while (ssp1
!= yyssp
)
7897 fprintf (stderr
, " %d", *++ssp1
);
7898 fprintf (stderr
, "\n");
7908 yylsp
->first_line
= yylloc
.first_line
;
7909 yylsp
->first_column
= yylloc
.first_column
;
7910 yylsp
->last_line
= (yylsp
-1)->last_line
;
7911 yylsp
->last_column
= (yylsp
-1)->last_column
;
7916 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
7917 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
7921 /* Now "shift" the result of the reduction.
7922 Determine what state that goes to,
7923 based on the state we popped back to
7924 and the rule number reduced by. */
7928 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
7929 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
7930 yystate
= yytable
[yystate
];
7932 yystate
= yydefgoto
[yyn
- YYNTBASE
];
7936 yyerrlab
: /* here on detecting error */
7939 /* If not already recovering from an error, report this error. */
7943 #ifdef YYERROR_VERBOSE
7944 yyn
= yypact
[yystate
];
7946 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
7953 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7954 for (x
= (yyn
< 0 ? -yyn
: 0);
7955 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7956 if (yycheck
[x
+ yyn
] == x
)
7957 size
+= strlen(yytname
[x
]) + 15, count
++;
7958 msg
= (char *) malloc(size
+ 15);
7961 strcpy(msg
, "parse error");
7966 for (x
= (yyn
< 0 ? -yyn
: 0);
7967 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7968 if (yycheck
[x
+ yyn
] == x
)
7970 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
7971 strcat(msg
, yytname
[x
]);
7980 yyerror ("parse error; also virtual memory exceeded");
7983 #endif /* YYERROR_VERBOSE */
7984 yyerror("parse error");
7988 yyerrlab1
: /* here on error raised explicitly by an action */
7990 if (yyerrstatus
== 3)
7992 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7994 /* return failure if at end of input */
7995 if (yychar
== YYEOF
)
8000 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8006 /* Else will try to reuse lookahead token
8007 after shifting the error token. */
8009 yyerrstatus
= 3; /* Each real token shifted decrements this */
8013 yyerrdefault
: /* current state does not do anything special for the error token. */
8016 /* This is wrong; only states that explicitly want error tokens
8017 should shift them. */
8018 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8019 if (yyn
) goto yydefault
;
8022 yyerrpop
: /* pop the current state because it cannot handle the error token */
8024 if (yyssp
== yyss
) YYABORT
;
8034 short *ssp1
= yyss
- 1;
8035 fprintf (stderr
, "Error: state stack now");
8036 while (ssp1
!= yyssp
)
8037 fprintf (stderr
, " %d", *++ssp1
);
8038 fprintf (stderr
, "\n");
8044 yyn
= yypact
[yystate
];
8049 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8068 fprintf(stderr
, "Shifting error token, ");
8079 #line 3741 "parse.y"
8084 debug_yytranslate (value
)
8087 return yytname
[YYTRANSLATE (value
)];