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] : 400)
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, 1741, 1745, 1748,
317 1751, 1753, 1756, 1759, 1762, 1765, 1768, 1771, 1774, 1776,
318 1779, 1782, 1786, 1789, 1792, 1797, 1802, 1805, 1807, 1813,
319 1818, 1820, 1821, 1823, 1827, 1828, 1830, 1834, 1836, 1838,
320 1840, 1842, 1847, 1852, 1857, 1862, 1867, 1871, 1876, 1881,
321 1886, 1891, 1895, 1897, 1901, 1903, 1907, 1910, 1912, 1920,
322 1921, 1924, 1926, 1929, 1930, 1933, 1938, 1943, 1946, 1951,
323 1955, 1959, 1962, 1965, 1969, 1971, 1973, 1976, 1978, 1980,
324 1983, 1986, 1991, 1996, 2000, 2004, 2007, 2009, 2011, 2014,
325 2018, 2022, 2025, 2028, 2032, 2034, 2038, 2042, 2045, 2048,
326 2052, 2054, 2059, 2063, 2068, 2072, 2074, 2077, 2080, 2083,
327 2086, 2089, 2091, 2094, 2099, 2104, 2107, 2109, 2111, 2113,
328 2115, 2118, 2123, 2126, 2129, 2132, 2135, 2137, 2140, 2143,
329 2146, 2149, 2153, 2155, 2158, 2162, 2167, 2170, 2173, 2176,
330 2179, 2182, 2185, 2190, 2193, 2195, 2198, 2201, 2205, 2207,
331 2211, 2214, 2218, 2221, 2224, 2228, 2230, 2234, 2239, 2243,
332 2246, 2249, 2251, 2255, 2258, 2261, 2263, 2266, 2270, 2272,
333 2276, 2278, 2285, 2290, 2295, 2299, 2305, 2309, 2313, 2317,
334 2320, 2322, 2324, 2327, 2330, 2333, 2334, 2336, 2338, 2341,
335 2345, 2347, 2350, 2351, 2355, 2356, 2357, 2363, 2365, 2366,
336 2369, 2371, 2373, 2375, 2378, 2379, 2384, 2386, 2387, 2388,
337 2394, 2395, 2396, 2404, 2405, 2406, 2407, 2408, 2421, 2422,
338 2423, 2431, 2432, 2438, 2439, 2447, 2448, 2453, 2456, 2459,
339 2462, 2466, 2473, 2482, 2493, 2506, 2511, 2515, 2518, 2521,
340 2523, 2525, 2527, 2529, 2531, 2532, 2533, 2540, 2541, 2542,
341 2548, 2550, 2553, 2554, 2555, 2561, 2563, 2565, 2569, 2573,
342 2576, 2579, 2582, 2585, 2588, 2590, 2593, 2594, 2596, 2597,
343 2599, 2601, 2602, 2604, 2606, 2610, 2615, 2617, 2621, 2622,
344 2624, 2626, 2628, 2631, 2634, 2637, 2639, 2642, 2645, 2646,
345 2650, 2652, 2654, 2656, 2659, 2662, 2665, 2670, 2673, 2676,
346 2679, 2682, 2685, 2688, 2690, 2693, 2695, 2698, 2700, 2702,
347 2703, 2704, 2706, 2707, 2712, 2715, 2717, 2719, 2723, 2724,
348 2728, 2732, 2736, 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, 2807, 2811, 2814, 2817,
351 2820, 2823, 2827, 2830, 2833, 2838, 2843, 2847
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, 314, 0, 46, 328, 314,
364 0, 46, 328, 209, 0, 46, 131, 163, 0, 46,
365 328, 163, 0, 46, 328, 131, 163, 0, 0, 46,
366 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
367 54, 0, 209, 0, 314, 0, 328, 314, 0, 328,
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, 391, 0, 391, 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 338, 0, 154, 146, 362, 0, 154, 146, 1, 0,
383 0, 319, 5, 93, 150, 382, 108, 300, 394, 0,
384 319, 5, 47, 300, 394, 0, 0, 328, 319, 5,
385 93, 151, 382, 108, 300, 394, 0, 328, 319, 5,
386 47, 300, 394, 0, 0, 319, 179, 93, 152, 382,
387 108, 300, 394, 0, 319, 179, 47, 300, 394, 0,
388 0, 328, 319, 179, 93, 153, 382, 108, 300, 394,
389 0, 328, 319, 179, 47, 300, 394, 0, 226, 223,
390 0, 229, 311, 0, 311, 0, 229, 149, 0, 149,
391 0, 5, 93, 382, 108, 300, 394, 0, 5, 47,
392 300, 394, 0, 179, 93, 382, 108, 300, 394, 0,
393 179, 47, 300, 394, 0, 229, 155, 0, 155, 0,
394 226, 223, 0, 229, 311, 0, 311, 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, 306, 93, 196, 108,
400 0, 306, 47, 0, 321, 93, 196, 108, 0, 321,
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, 311, 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, 311, 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 372, 223, 237, 246, 64, 191, 254, 0, 186, 0,
419 109, 0, 335, 333, 109, 0, 335, 333, 1, 109,
420 0, 335, 1, 109, 0, 0, 58, 194, 192, 0,
421 347, 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, 299,
427 0, 216, 299, 201, 0, 216, 200, 299, 0, 216,
428 200, 299, 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, 377, 62,
446 204, 0, 204, 64, 204, 0, 204, 63, 204, 0,
447 61, 0, 61, 204, 0, 88, 392, 163, 0, 88,
448 392, 177, 0, 207, 0, 399, 0, 3, 0, 56,
449 0, 57, 0, 0, 6, 74, 206, 182, 181, 0,
450 399, 74, 206, 182, 181, 0, 48, 163, 74, 182,
451 181, 0, 48, 6, 74, 182, 181, 0, 48, 399,
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, 313, 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 339, 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, 317, 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, 328, 3, 0, 328, 207, 0, 328, 399, 0,
468 316, 0, 316, 93, 196, 108, 0, 316, 47, 0,
469 221, 208, 0, 221, 208, 93, 196, 108, 0, 221,
470 208, 47, 0, 221, 209, 0, 221, 316, 0, 221,
471 209, 93, 196, 108, 0, 221, 209, 47, 0, 221,
472 316, 93, 196, 108, 0, 221, 316, 47, 0, 221,
473 88, 8, 47, 0, 221, 8, 54, 88, 8, 47,
474 0, 221, 1, 0, 39, 0, 328, 39, 0, 38,
475 0, 328, 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, 305, 0, 311, 0, 47, 0, 224, 47, 0,
480 230, 331, 0, 301, 331, 0, 232, 331, 0, 230,
481 0, 301, 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, 301, 0, 7, 0, 229, 9, 0,
486 229, 7, 0, 229, 247, 0, 247, 0, 232, 0,
487 301, 232, 0, 232, 231, 0, 301, 232, 231, 0,
488 233, 0, 231, 233, 0, 261, 0, 8, 0, 307,
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, 311, 237, 240, 0, 0,
497 311, 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 338, 0, 256, 146, 362, 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, 297, 267, 109, 0, 14,
512 163, 58, 109, 0, 0, 14, 58, 263, 297, 267,
513 109, 0, 14, 58, 109, 0, 14, 163, 0, 14,
514 326, 0, 45, 321, 0, 0, 0, 276, 282, 284,
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, 319, 163, 0, 268, 328,
520 319, 163, 0, 268, 328, 163, 0, 268, 178, 0,
521 268, 319, 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, 392, 0, 62, 392, 278,
524 0, 279, 0, 278, 59, 392, 279, 0, 280, 0,
525 281, 392, 280, 0, 321, 0, 306, 0, 30, 93,
526 186, 108, 0, 30, 93, 225, 108, 0, 37, 392,
527 0, 7, 392, 0, 281, 37, 392, 0, 281, 7,
528 392, 0, 58, 0, 0, 283, 0, 283, 286, 0,
529 284, 285, 286, 0, 284, 285, 0, 37, 62, 0,
530 287, 0, 286, 287, 0, 288, 60, 0, 288, 109,
531 0, 156, 62, 0, 156, 95, 0, 156, 25, 0,
532 156, 58, 0, 60, 0, 118, 287, 0, 134, 287,
533 0, 134, 226, 60, 0, 226, 289, 0, 229, 290,
534 0, 311, 237, 246, 253, 0, 149, 237, 246, 253,
535 0, 62, 204, 0, 1, 0, 229, 155, 237, 246,
536 253, 0, 155, 237, 246, 253, 0, 127, 0, 0,
537 291, 0, 289, 59, 292, 0, 0, 294, 0, 290,
538 59, 296, 0, 293, 0, 294, 0, 295, 0, 296,
539 0, 305, 237, 246, 253, 0, 4, 62, 204, 246,
540 0, 311, 237, 246, 253, 0, 149, 237, 246, 253,
541 0, 3, 62, 204, 246, 0, 62, 204, 246, 0,
542 305, 237, 246, 253, 0, 4, 62, 204, 246, 0,
543 311, 237, 246, 253, 0, 3, 62, 204, 246, 0,
544 62, 204, 246, 0, 298, 0, 297, 59, 298, 0,
545 163, 0, 163, 64, 204, 0, 372, 329, 0, 372,
546 0, 93, 199, 225, 198, 94, 186, 111, 0, 0,
547 300, 9, 0, 9, 0, 301, 9, 0, 0, 302,
548 186, 0, 302, 93, 196, 108, 0, 302, 93, 382,
549 108, 0, 302, 47, 0, 302, 93, 1, 108, 0,
550 80, 301, 305, 0, 70, 301, 305, 0, 80, 305,
551 0, 70, 305, 0, 327, 300, 305, 0, 309, 0,
552 318, 0, 328, 318, 0, 306, 0, 308, 0, 328,
553 308, 0, 319, 318, 0, 309, 304, 300, 394, 0,
554 309, 94, 303, 111, 0, 309, 94, 111, 0, 93,
555 305, 108, 0, 319, 318, 0, 318, 0, 311, 0,
556 247, 311, 0, 80, 301, 310, 0, 70, 301, 310,
557 0, 80, 310, 0, 70, 310, 0, 327, 300, 310,
558 0, 213, 0, 80, 301, 310, 0, 70, 301, 310,
559 0, 80, 312, 0, 70, 312, 0, 327, 300, 310,
560 0, 313, 0, 213, 304, 300, 394, 0, 93, 312,
561 108, 0, 213, 94, 303, 111, 0, 213, 94, 111,
562 0, 315, 0, 319, 212, 0, 319, 209, 0, 319,
563 208, 0, 319, 205, 0, 319, 208, 0, 315, 0,
564 328, 315, 0, 232, 93, 196, 108, 0, 232, 93,
565 210, 108, 0, 232, 224, 0, 4, 0, 5, 0,
566 177, 0, 320, 0, 319, 320, 0, 319, 48, 325,
567 54, 0, 4, 54, 0, 5, 54, 0, 57, 54,
568 0, 177, 54, 0, 322, 0, 328, 322, 0, 323,
569 163, 0, 323, 177, 0, 323, 325, 0, 323, 48,
570 325, 0, 324, 0, 323, 324, 0, 323, 325, 54,
571 0, 323, 48, 325, 54, 0, 4, 54, 0, 5,
572 54, 0, 177, 54, 0, 56, 54, 0, 3, 54,
573 0, 57, 54, 0, 163, 74, 182, 181, 0, 328,
574 318, 0, 308, 0, 328, 308, 0, 319, 80, 0,
575 328, 319, 80, 0, 54, 0, 80, 300, 329, 0,
576 80, 300, 0, 70, 300, 329, 0, 70, 300, 0,
577 327, 300, 0, 327, 300, 329, 0, 330, 0, 94,
578 186, 111, 0, 330, 94, 303, 111, 0, 80, 301,
579 331, 0, 80, 331, 0, 80, 301, 0, 80, 0,
580 70, 301, 331, 0, 70, 331, 0, 70, 301, 0,
581 70, 0, 327, 300, 0, 327, 300, 331, 0, 332,
582 0, 93, 331, 108, 0, 90, 0, 332, 93, 382,
583 108, 300, 394, 0, 332, 47, 300, 394, 0, 332,
584 94, 303, 111, 0, 332, 94, 111, 0, 93, 383,
585 108, 300, 394, 0, 202, 300, 394, 0, 224, 300,
586 394, 0, 94, 303, 111, 0, 94, 111, 0, 346,
587 0, 334, 0, 333, 346, 0, 333, 334, 0, 1,
588 60, 0, 0, 336, 0, 337, 0, 336, 337, 0,
589 33, 252, 60, 0, 339, 0, 1, 339, 0, 0,
590 58, 340, 192, 0, 0, 0, 15, 342, 188, 343,
591 344, 0, 339, 0, 0, 345, 347, 0, 339, 0,
592 347, 0, 222, 0, 186, 60, 0, 0, 341, 16,
593 348, 344, 0, 341, 0, 0, 0, 17, 349, 188,
594 350, 193, 0, 0, 0, 18, 351, 344, 17, 352,
595 187, 60, 0, 0, 0, 0, 0, 19, 353, 93,
596 375, 354, 189, 60, 355, 377, 108, 356, 193, 0,
597 0, 0, 20, 357, 93, 190, 108, 358, 344, 0,
598 0, 21, 204, 62, 359, 346, 0, 0, 21, 204,
599 12, 204, 62, 360, 346, 0, 0, 22, 62, 361,
600 346, 0, 23, 60, 0, 24, 60, 0, 25, 60,
601 0, 25, 186, 60, 0, 119, 376, 93, 219, 108,
602 60, 0, 119, 376, 93, 219, 62, 378, 108, 60,
603 0, 119, 376, 93, 219, 62, 378, 62, 378, 108,
604 60, 0, 119, 376, 93, 219, 62, 378, 62, 378,
605 62, 381, 108, 60, 0, 26, 80, 186, 60, 0,
606 26, 163, 60, 0, 374, 346, 0, 374, 109, 0,
607 60, 0, 365, 0, 129, 0, 128, 0, 125, 0,
608 0, 0, 95, 363, 145, 339, 364, 368, 0, 0,
609 0, 95, 366, 339, 367, 368, 0, 369, 0, 368,
610 369, 0, 0, 0, 96, 370, 373, 371, 339, 0,
611 230, 0, 301, 0, 93, 12, 108, 0, 93, 391,
612 108, 0, 3, 62, 0, 56, 62, 0, 4, 62,
613 0, 5, 62, 0, 377, 60, 0, 222, 0, 58,
614 192, 0, 0, 9, 0, 0, 186, 0, 1, 0,
615 0, 379, 0, 380, 0, 379, 59, 380, 0, 11,
616 93, 186, 108, 0, 11, 0, 381, 59, 11, 0,
617 0, 383, 0, 225, 0, 387, 0, 388, 12, 0,
618 387, 12, 0, 225, 12, 0, 12, 0, 387, 62,
619 0, 225, 62, 0, 0, 64, 385, 386, 0, 101,
620 0, 254, 0, 389, 0, 391, 384, 0, 388, 390,
621 0, 388, 393, 0, 388, 393, 64, 254, 0, 387,
622 59, 0, 225, 59, 0, 227, 223, 0, 230, 223,
623 0, 232, 223, 0, 227, 331, 0, 227, 0, 229,
624 311, 0, 391, 0, 391, 384, 0, 389, 0, 225,
625 0, 0, 0, 311, 0, 0, 61, 93, 396, 108,
626 0, 61, 47, 0, 225, 0, 395, 0, 396, 59,
627 395, 0, 0, 80, 300, 397, 0, 70, 300, 397,
628 0, 327, 300, 397, 0, 41, 0, 398, 80, 0,
629 398, 81, 0, 398, 82, 0, 398, 78, 0, 398,
630 79, 0, 398, 70, 0, 398, 68, 0, 398, 69,
631 0, 398, 88, 0, 398, 59, 0, 398, 73, 0,
632 398, 74, 0, 398, 75, 0, 398, 72, 0, 398,
633 63, 0, 398, 64, 0, 398, 76, 0, 398, 77,
634 0, 398, 86, 0, 398, 87, 0, 398, 67, 0,
635 398, 66, 0, 398, 110, 0, 398, 65, 62, 0,
636 398, 71, 0, 398, 91, 0, 398, 83, 0, 398,
637 47, 0, 398, 94, 111, 0, 398, 39, 0, 398,
638 38, 0, 398, 39, 94, 111, 0, 398, 38, 94,
639 111, 0, 398, 372, 397, 0, 398, 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, 643, 647, 650, 652, 656, 658, 660, 664,
656 666, 668, 672, 674, 676, 682, 686, 689, 692, 695,
657 700, 703, 705, 707, 713, 725, 728, 733, 738, 741,
658 746, 751, 760, 763, 765, 769, 782, 802, 805, 807,
659 808, 811, 818, 824, 826, 828, 830, 832, 835, 840,
660 842, 843, 844, 845, 848, 850, 851, 854, 856, 857,
661 860, 865, 865, 869, 869, 872, 872, 875, 875, 879,
662 879, 884, 884, 887, 887, 890, 892, 895, 902, 906,
663 909, 912, 914, 918, 924, 933, 935, 943, 946, 949,
664 952, 956, 959, 961, 964, 967, 969, 971, 973, 977,
665 980, 983, 988, 992, 997, 1001, 1004, 1005, 1009, 1028,
666 1035, 1038, 1040, 1041, 1042, 1045, 1049, 1050, 1054, 1058,
667 1061, 1063, 1067, 1070, 1073, 1077, 1080, 1082, 1084, 1086,
668 1089, 1093, 1095, 1098, 1100, 1106, 1109, 1112, 1115, 1127,
669 1132, 1136, 1140, 1145, 1147, 1151, 1155, 1157, 1166, 1170,
670 1173, 1176, 1181, 1184, 1186, 1194, 1207, 1212, 1218, 1220,
671 1222, 1235, 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252,
672 1254, 1256, 1258, 1260, 1262, 1264, 1266, 1268, 1270, 1272,
673 1274, 1276, 1278, 1282, 1284, 1286, 1303, 1306, 1308, 1309,
674 1310, 1311, 1312, 1315, 1327, 1330, 1334, 1337, 1339, 1344,
675 1346, 1347, 1350, 1352, 1360, 1362, 1364, 1366, 1370, 1373,
676 1377, 1381, 1382, 1383, 1387, 1395, 1396, 1397, 1411, 1413,
677 1416, 1418, 1429, 1434, 1436, 1438, 1440, 1442, 1444, 1446,
678 1449, 1451, 1468, 1469, 1473, 1477, 1481, 1485, 1487, 1491,
679 1493, 1495, 1503, 1505, 1507, 1509, 1513, 1515, 1517, 1519,
680 1524, 1526, 1528, 1530, 1533, 1535, 1537, 1581, 1584, 1588,
681 1591, 1595, 1598, 1603, 1605, 1609, 1622, 1625, 1632, 1639,
682 1644, 1646, 1651, 1653, 1660, 1662, 1666, 1670, 1676, 1680,
683 1683, 1686, 1689, 1699, 1701, 1704, 1708, 1711, 1714, 1717,
684 1720, 1726, 1732, 1734, 1739, 1741, 1750, 1753, 1755, 1758,
685 1764, 1766, 1776, 1780, 1783, 1786, 1791, 1794, 1802, 1804,
686 1806, 1808, 1811, 1814, 1829, 1848, 1851, 1853, 1856, 1858,
687 1862, 1864, 1868, 1870, 1874, 1877, 1881, 1887, 1888, 1900,
688 1907, 1910, 1916, 1920, 1925, 1931, 1932, 1940, 1943, 1947,
689 1950, 1954, 1959, 1962, 1966, 1969, 1971, 1973, 1975, 1982,
690 1984, 1985, 1986, 1990, 1993, 1997, 2000, 2006, 2008, 2011,
691 2014, 2017, 2023, 2026, 2029, 2031, 2033, 2037, 2043, 2051,
692 2053, 2057, 2059, 2064, 2067, 2070, 2072, 2074, 2078, 2083,
693 2090, 2094, 2098, 2105, 2109, 2112, 2115, 2121, 2133, 2135,
694 2138, 2158, 2160, 2163, 2165, 2170, 2172, 2174, 2176, 2178,
695 2180, 2184, 2192, 2195, 2197, 2201, 2207, 2212, 2217, 2219,
696 2223, 2226, 2230, 2236, 2239, 2261, 2267, 2269, 2272, 2275,
697 2277, 2281, 2283, 2287, 2292, 2298, 2301, 2302, 2323, 2346,
698 2348, 2352, 2363, 2377, 2382, 2389, 2391, 2392, 2393, 2396,
699 2411, 2416, 2422, 2424, 2429, 2431, 2433, 2435, 2437, 2439,
700 2442, 2452, 2459, 2484, 2490, 2493, 2496, 2498, 2509, 2514,
701 2517, 2522, 2525, 2532, 2542, 2545, 2552, 2562, 2564, 2567,
702 2569, 2572, 2579, 2587, 2594, 2600, 2606, 2614, 2618, 2623,
703 2627, 2630, 2639, 2641, 2645, 2648, 2653, 2657, 2663, 2674,
704 2677, 2681, 2685, 2693, 2698, 2704, 2707, 2709, 2711, 2717,
705 2720, 2722, 2724, 2726, 2730, 2733, 2751, 2761, 2763, 2764,
706 2768, 2773, 2776, 2778, 2780, 2782, 2786, 2792, 2794, 2802,
707 2805, 2807, 2809, 2811, 2815, 2818, 2821, 2823, 2825, 2827,
708 2831, 2834, 2837, 2839, 2841, 2843, 2845, 2852, 2856, 2861,
709 2865, 2870, 2872, 2876, 2879, 2881, 2884, 2886, 2887, 2890,
710 2892, 2894, 2900, 2915, 2921, 2927, 2941, 2943, 2947, 2961,
711 2963, 2965, 2969, 2975, 2988, 2990, 2994, 3007, 3013, 3015,
712 3016, 3017, 3025, 3030, 3039, 3040, 3044, 3047, 3053, 3059,
713 3062, 3064, 3066, 3068, 3072, 3076, 3080, 3083, 3088, 3091,
714 3093, 3095, 3097, 3099, 3101, 3103, 3105, 3109, 3113, 3117,
715 3121, 3122, 3124, 3126, 3128, 3130, 3132, 3134, 3136, 3138,
716 3146, 3148, 3149, 3150, 3153, 3159, 3161, 3166, 3168, 3171,
717 3185, 3188, 3191, 3195, 3198, 3205, 3207, 3210, 3212, 3214,
718 3217, 3220, 3223, 3226, 3228, 3231, 3235, 3237, 3243, 3245,
719 3246, 3248, 3253, 3255, 3257, 3259, 3261, 3264, 3265, 3267,
720 3270, 3271, 3274, 3274, 3277, 3277, 3280, 3280, 3282, 3284,
721 3286, 3288, 3294, 3300, 3303, 3306, 3312, 3314, 3316, 3320,
722 3322, 3323, 3324, 3326, 3329, 3336, 3341, 3349, 3353, 3355,
723 3358, 3360, 3363, 3367, 3369, 3372, 3374, 3377, 3394, 3400,
724 3408, 3410, 3412, 3416, 3419, 3420, 3428, 3432, 3436, 3439,
725 3440, 3446, 3449, 3452, 3454, 3458, 3463, 3466, 3476, 3481,
726 3482, 3489, 3492, 3495, 3497, 3500, 3502, 3512, 3526, 3530,
727 3533, 3535, 3539, 3543, 3546, 3549, 3551, 3555, 3557, 3564,
728 3571, 3574, 3577, 3581, 3585, 3591, 3595, 3600, 3602, 3605,
729 3610, 3616, 3627, 3630, 3632, 3636, 3641, 3643, 3650, 3653,
730 3655, 3657, 3663, 3668, 3671, 3673, 3675, 3677, 3679, 3681,
731 3683, 3685, 3687, 3689, 3691, 3693, 3695, 3697, 3699, 3701,
732 3703, 3705, 3707, 3709, 3711, 3713, 3715, 3717, 3719, 3721,
733 3723, 3725, 3727, 3729, 3731, 3733, 3736, 3738
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","self_reference","opt.component_decl_list",
785 "access_specifier","component_decl_list","component_decl","component_decl_1",
786 "components","notype_components","component_declarator0","component_declarator",
787 "after_type_component_declarator0","notype_component_declarator0","after_type_component_declarator",
788 "notype_component_declarator","enumlist","enumerator","new_type_id","cv_qualifiers",
789 "nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr","maybe_parmlist",
790 "after_type_declarator","nonnested_type","complete_type_name","nested_type",
791 "direct_after_type_declarator","notype_declarator_intern","notype_declarator",
792 "complex_notype_declarator","complex_direct_notype_declarator","qualified_id",
793 "notype_qualified_id","overqualified_id","functional_cast","type_name","nested_name_specifier",
794 "nested_name_specifier_1","typename_sub","typename_sub0","typename_sub1","typename_sub2",
795 "explicit_template_type","complex_type_name","ptr_to_mem","global_scope","new_declarator",
796 "direct_new_declarator","absdcl","direct_abstract_declarator","stmts","errstmt",
797 "maybe_label_decls","label_decls","label_decl","compstmt_or_error","compstmt",
798 "@32","simple_if","@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt",
799 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48",
800 "@49","function_try_block","@50","@51","try_block","@52","@53","handler_seq",
801 "handler","@54","@55","type_specifier_seq","handler_args","label_colon","for.init.statement",
802 "maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
803 "asm_clobbers","parmlist","complex_parmlist","defarg","@56","defarg1","parms",
804 "parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
805 "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
806 "operator_name", NULL
810 static const short yyr1
[] = { 0,
811 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
812 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
813 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
814 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
815 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
816 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
817 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
818 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
819 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
820 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
821 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
822 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
823 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
824 161, 162, 162, 162, 162, 162, 162, 162, 162, 163,
825 163, 163, 163, 163, 164, 164, 164, 165, 165, 165,
826 167, 166, 168, 166, 169, 166, 170, 166, 171, 166,
827 172, 166, 173, 166, 174, 166, 175, 176, 177, 177,
828 177, 178, 178, 179, 180, 181, 181, 182, 182, 183,
829 183, 184, 184, 184, 185, 185, 185, 185, 185, 186,
830 186, 187, 187, 188, 188, 189, 189, 189, 191, 190,
831 190, 192, 192, 192, 192, 194, 193, 193, 195, 195,
832 195, 195, 196, 196, 197, 197, 197, 197, 197, 197,
833 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
834 197, 197, 197, 197, 197, 197, 197, 197, 198, 199,
835 200, 200, 201, 201, 201, 201, 202, 202, 203, 203,
836 203, 204, 204, 204, 204, 204, 204, 204, 204, 204,
837 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
838 204, 204, 204, 204, 204, 204, 205, 205, 205, 205,
839 205, 205, 205, 206, 207, 207, 208, 208, 208, 209,
840 209, 209, 210, 210, 211, 211, 211, 211, 212, 212,
841 213, 213, 213, 213, 214, 214, 214, 214, 214, 214,
842 214, 215, 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, 214, 214, 214,
845 214, 214, 214, 214, 214, 214, 214, 216, 216, 217,
846 217, 218, 218, 219, 219, 220, 221, 221, 222, 222,
847 222, 222, 222, 222, 223, 223, 224, 224, 225, 225,
848 225, 225, 225, 226, 226, 227, 227, 227, 227, 227,
849 227, 228, 228, 228, 228, 228, 229, 229, 229, 229,
850 229, 229, 230, 230, 230, 230, 231, 231, 232, 232,
851 232, 232, 232, 232, 232, 233, 233, 233, 234, 234,
852 235, 235, 236, 236, 237, 237, 239, 238, 238, 241,
853 240, 240, 242, 243, 245, 244, 244, 246, 246, 247,
854 247, 248, 249, 249, 250, 250, 250, 250, 250, 251,
855 251, 251, 251, 252, 252, 253, 253, 254, 254, 254,
856 254, 254, 255, 255, 255, 255, 255, 256, 257, 257,
857 257, 258, 258, 259, 259, 260, 260, 260, 262, 261,
858 261, 263, 261, 261, 261, 261, 261, 264, 265, 261,
859 261, 266, 266, 267, 267, 268, 268, 268, 268, 268,
860 268, 269, 270, 270, 270, 271, 271, 271, 271, 271,
861 272, 273, 272, 274, 272, 275, 276, 276, 277, 277,
862 277, 278, 278, 279, 279, 280, 280, 280, 280, 281,
863 281, 281, 281, 282, 283, 284, 284, 284, 284, 285,
864 286, 286, 287, 287, 287, 287, 287, 287, 287, 287,
865 287, 287, 288, 288, 288, 288, 288, 288, 288, 288,
866 288, 289, 289, 289, 290, 290, 290, 291, 291, 292,
867 292, 293, 293, 294, 294, 294, 294, 295, 295, 296,
868 296, 296, 297, 297, 298, 298, 299, 299, 299, 300,
869 300, 301, 301, 302, 303, 304, 304, 304, 304, 305,
870 305, 305, 305, 305, 305, 306, 306, 307, 307, 307,
871 308, 309, 309, 309, 309, 309, 309, 310, 310, 311,
872 311, 311, 311, 311, 311, 312, 312, 312, 312, 312,
873 312, 313, 313, 313, 313, 313, 313, 314, 314, 315,
874 315, 316, 316, 317, 317, 317, 318, 318, 318, 319,
875 319, 319, 320, 320, 320, 320, 321, 321, 322, 322,
876 322, 322, 323, 323, 323, 323, 324, 324, 324, 324,
877 324, 324, 325, 326, 326, 326, 327, 327, 328, 329,
878 329, 329, 329, 329, 329, 329, 330, 330, 331, 331,
879 331, 331, 331, 331, 331, 331, 331, 331, 331, 332,
880 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
881 333, 333, 333, 333, 334, 335, 335, 336, 336, 337,
882 338, 338, 340, 339, 342, 343, 341, 344, 345, 344,
883 346, 346, 347, 347, 348, 347, 347, 349, 350, 347,
884 351, 352, 347, 353, 354, 355, 356, 347, 357, 358,
885 347, 359, 347, 360, 347, 361, 347, 347, 347, 347,
886 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
887 347, 347, 347, 347, 363, 364, 362, 366, 367, 365,
888 368, 368, 370, 371, 369, 372, 372, 373, 373, 374,
889 374, 374, 374, 375, 375, 375, 376, 376, 377, 377,
890 377, 378, 378, 379, 379, 380, 381, 381, 382, 382,
891 382, 383, 383, 383, 383, 383, 383, 383, 385, 384,
892 386, 386, 387, 387, 387, 387, 387, 388, 388, 389,
893 389, 389, 389, 389, 389, 390, 390, 391, 391, 392,
894 393, 393, 394, 394, 394, 395, 396, 396, 397, 397,
895 397, 397, 398, 399, 399, 399, 399, 399, 399, 399,
896 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
897 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
898 399, 399, 399, 399, 399, 399, 399, 399
901 static const short yyr2
[] = { 0,
902 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
903 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
904 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
905 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
906 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
907 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
908 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
909 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
910 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
911 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
912 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
913 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
914 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
915 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
916 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
917 0, 6, 0, 6, 0, 5, 0, 5, 0, 7,
918 0, 7, 0, 6, 0, 6, 0, 0, 5, 5,
919 1, 1, 5, 5, 0, 1, 1, 0, 1, 1,
920 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
921 1, 1, 3, 1, 3, 0, 1, 1, 0, 7,
922 1, 1, 3, 4, 3, 0, 3, 1, 3, 3,
923 3, 3, 1, 1, 1, 2, 2, 2, 2, 2,
924 2, 2, 4, 2, 4, 2, 3, 3, 4, 5,
925 6, 6, 7, 2, 4, 5, 2, 2, 1, 0,
926 4, 4, 3, 1, 3, 2, 3, 4, 1, 2,
927 5, 1, 3, 3, 3, 3, 3, 3, 3, 3,
928 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
929 3, 5, 3, 3, 1, 2, 3, 3, 1, 1,
930 1, 1, 1, 0, 5, 5, 5, 5, 5, 1,
931 1, 1, 1, 2, 1, 2, 2, 3, 4, 4,
932 1, 1, 1, 3, 1, 1, 1, 1, 3, 3,
933 3, 0, 4, 4, 2, 4, 2, 4, 2, 2,
934 1, 4, 1, 7, 7, 7, 7, 4, 4, 2,
935 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
936 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
937 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
938 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
939 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
940 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
941 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
942 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
943 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
944 4, 1, 3, 3, 0, 4, 3, 0, 1, 1,
945 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
946 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
947 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
948 3, 0, 3, 3, 3, 0, 2, 2, 0, 7,
949 4, 0, 6, 3, 2, 2, 2, 0, 0, 9,
950 1, 0, 1, 0, 1, 1, 2, 2, 2, 2,
951 2, 2, 2, 2, 2, 3, 4, 3, 2, 3,
952 1, 0, 3, 0, 3, 2, 1, 1, 0, 2,
953 3, 1, 4, 1, 3, 1, 1, 4, 4, 2,
954 2, 3, 3, 1, 0, 1, 2, 3, 2, 2,
955 1, 2, 2, 2, 2, 2, 2, 2, 1, 2,
956 2, 3, 2, 2, 4, 4, 2, 1, 5, 4,
957 1, 0, 1, 3, 0, 1, 3, 1, 1, 1,
958 1, 4, 4, 4, 4, 4, 3, 4, 4, 4,
959 4, 3, 1, 3, 1, 3, 2, 1, 7, 0,
960 2, 1, 2, 0, 2, 4, 4, 2, 4, 3,
961 3, 2, 2, 3, 1, 1, 2, 1, 1, 2,
962 2, 4, 4, 3, 3, 2, 1, 1, 2, 3,
963 3, 2, 2, 3, 1, 3, 3, 2, 2, 3,
964 1, 4, 3, 4, 3, 1, 2, 2, 2, 2,
965 2, 1, 2, 4, 4, 2, 1, 1, 1, 1,
966 2, 4, 2, 2, 2, 2, 1, 2, 2, 2,
967 2, 3, 1, 2, 3, 4, 2, 2, 2, 2,
968 2, 2, 4, 2, 1, 2, 2, 3, 1, 3,
969 2, 3, 2, 2, 3, 1, 3, 4, 3, 2,
970 2, 1, 3, 2, 2, 1, 2, 3, 1, 3,
971 1, 6, 4, 4, 3, 5, 3, 3, 3, 2,
972 1, 1, 2, 2, 2, 0, 1, 1, 2, 3,
973 1, 2, 0, 3, 0, 0, 5, 1, 0, 2,
974 1, 1, 1, 2, 0, 4, 1, 0, 0, 5,
975 0, 0, 7, 0, 0, 0, 0, 12, 0, 0,
976 7, 0, 5, 0, 7, 0, 4, 2, 2, 2,
977 3, 6, 8, 10, 12, 4, 3, 2, 2, 1,
978 1, 1, 1, 1, 0, 0, 6, 0, 0, 5,
979 1, 2, 0, 0, 5, 1, 1, 3, 3, 2,
980 2, 2, 2, 2, 1, 2, 0, 1, 0, 1,
981 1, 0, 1, 1, 3, 4, 1, 3, 0, 1,
982 1, 1, 2, 2, 2, 1, 2, 2, 0, 3,
983 1, 1, 1, 2, 2, 2, 4, 2, 2, 2,
984 2, 2, 2, 1, 2, 1, 2, 1, 1, 0,
985 0, 1, 0, 4, 2, 1, 1, 3, 0, 3,
986 3, 3, 1, 2, 2, 2, 2, 2, 2, 2,
987 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
988 2, 2, 2, 2, 2, 2, 3, 2, 2, 2,
989 2, 3, 2, 2, 4, 4, 3, 2
992 static const short yydefact
[] = { 3,
993 12, 12, 5, 0, 4, 0, 281, 637, 638, 0,
994 388, 400, 582, 0, 11, 0, 0, 0, 10, 486,
995 843, 0, 0, 0, 167, 669, 282, 283, 83, 0,
996 0, 830, 0, 45, 0, 0, 13, 25, 0, 27,
997 8, 0, 16, 15, 89, 110, 86, 0, 639, 171,
998 302, 279, 303, 615, 0, 375, 0, 374, 393, 0,
999 413, 392, 430, 399, 0, 501, 502, 504, 508, 507,
1000 481, 387, 598, 401, 599, 108, 301, 626, 596, 0,
1001 640, 580, 0, 0, 280, 81, 82, 178, 643, 178,
1002 644, 178, 284, 167, 140, 141, 142, 143, 144, 472,
1003 475, 0, 665, 0, 476, 0, 0, 0, 0, 141,
1004 142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
1005 0, 477, 647, 0, 653, 0, 0, 0, 37, 0,
1006 0, 31, 0, 0, 47, 0, 178, 645, 0, 0,
1007 0, 613, 608, 0, 0, 0, 612, 0, 0, 0,
1008 0, 302, 0, 293, 584, 0, 0, 301, 580, 28,
1009 0, 26, 3, 46, 0, 64, 388, 0, 0, 8,
1010 67, 63, 66, 89, 0, 0, 0, 399, 90, 14,
1011 0, 428, 0, 0, 446, 87, 79, 646, 584, 0,
1012 580, 80, 0, 0, 0, 106, 0, 409, 365, 595,
1013 366, 607, 0, 580, 390, 389, 78, 109, 376, 0,
1014 411, 391, 107, 382, 406, 407, 377, 395, 397, 386,
1015 408, 0, 75, 431, 487, 488, 489, 490, 506, 149,
1016 148, 150, 492, 493, 172, 499, 491, 0, 0, 494,
1017 495, 509, 509, 524, 525, 583, 394, 0, 425, 638,
1018 0, 667, 171, 630, 631, 627, 601, 641, 0, 600,
1019 597, 0, 878, 874, 873, 871, 853, 858, 859, 0,
1020 865, 864, 850, 851, 849, 868, 857, 854, 855, 856,
1021 860, 861, 847, 848, 844, 845, 846, 870, 862, 863,
1022 852, 869, 0, 866, 776, 393, 777, 839, 284, 281,
1023 582, 306, 354, 0, 0, 0, 0, 350, 348, 321,
1024 352, 353, 0, 0, 0, 0, 0, 282, 283, 275,
1025 0, 0, 186, 185, 0, 187, 188, 0, 0, 189,
1026 0, 0, 179, 180, 0, 249, 0, 252, 184, 305,
1027 215, 0, 0, 307, 308, 0, 182, 372, 393, 373,
1028 632, 333, 323, 0, 0, 0, 0, 178, 0, 474,
1029 0, 469, 0, 666, 664, 0, 190, 191, 0, 0,
1030 0, 435, 3, 21, 29, 661, 657, 658, 660, 662,
1031 659, 140, 141, 142, 0, 143, 144, 649, 650, 654,
1032 651, 648, 0, 291, 292, 290, 629, 628, 33, 32,
1033 49, 0, 157, 0, 0, 393, 155, 0, 0, 609,
1034 611, 0, 610, 141, 142, 277, 278, 297, 0, 619,
1035 296, 0, 618, 0, 304, 282, 283, 0, 0, 0,
1036 295, 294, 623, 0, 0, 12, 0, 167, 9, 9,
1037 70, 0, 65, 0, 0, 71, 74, 0, 427, 429,
1038 122, 93, 127, 765, 0, 85, 84, 92, 125, 0,
1039 0, 123, 88, 625, 0, 0, 588, 0, 833, 0,
1040 593, 0, 592, 0, 0, 0, 0, 580, 428, 0,
1041 77, 584, 580, 606, 0, 379, 380, 0, 76, 428,
1042 384, 383, 385, 378, 398, 415, 414, 178, 496, 500,
1043 498, 0, 830, 503, 505, 0, 0, 396, 428, 580,
1044 94, 0, 0, 0, 0, 580, 100, 581, 614, 638,
1045 668, 171, 0, 0, 867, 872, 395, 580, 580, 0,
1046 580, 877, 178, 0, 0, 0, 222, 0, 0, 224,
1047 237, 238, 0, 0, 0, 0, 0, 276, 221, 218,
1048 217, 219, 0, 0, 0, 0, 0, 305, 0, 0,
1049 0, 216, 176, 177, 299, 0, 220, 0, 0, 250,
1050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1052 0, 0, 315, 0, 317, 319, 320, 358, 357, 0,
1053 0, 240, 240, 0, 226, 578, 0, 234, 355, 347,
1054 0, 0, 830, 336, 339, 340, 0, 0, 367, 686,
1055 682, 691, 0, 584, 580, 580, 580, 369, 689, 0,
1056 636, 371, 0, 0, 370, 335, 0, 330, 349, 331,
1057 351, 633, 0, 332, 175, 175, 0, 165, 0, 393,
1058 163, 575, 484, 573, 471, 0, 0, 402, 0, 0,
1059 403, 404, 405, 441, 442, 443, 440, 0, 433, 436,
1060 0, 3, 0, 652, 178, 655, 0, 41, 42, 0,
1061 53, 0, 0, 57, 61, 50, 829, 824, 0, 372,
1062 393, 53, 373, 828, 59, 168, 153, 151, 168, 175,
1063 300, 617, 616, 304, 0, 620, 0, 18, 20, 89,
1064 9, 9, 73, 72, 0, 128, 356, 0, 713, 91,
1065 711, 452, 0, 448, 447, 214, 0, 213, 585, 624,
1066 0, 806, 0, 801, 393, 0, 800, 802, 831, 813,
1067 0, 0, 622, 591, 590, 0, 0, 605, 0, 423,
1068 422, 410, 604, 0, 833, 594, 381, 412, 424, 428,
1069 0, 497, 510, 548, 638, 0, 539, 0, 0, 551,
1070 0, 121, 116, 0, 171, 552, 555, 0, 531, 0,
1071 119, 0, 428, 0, 426, 833, 799, 178, 178, 642,
1072 178, 833, 799, 580, 97, 580, 103, 876, 875, 839,
1073 839, 839, 0, 0, 0, 0, 636, 0, 0, 0,
1074 0, 393, 0, 0, 0, 311, 0, 309, 310, 0,
1075 247, 181, 281, 637, 638, 282, 283, 0, 0, 453,
1076 482, 0, 274, 273, 791, 790, 0, 271, 270, 268,
1077 269, 267, 266, 265, 262, 263, 264, 260, 261, 255,
1078 256, 257, 258, 259, 253, 254, 0, 0, 0, 0,
1079 0, 240, 228, 244, 0, 0, 227, 580, 580, 0,
1080 580, 577, 676, 0, 0, 0, 0, 0, 338, 0,
1081 342, 0, 344, 0, 685, 684, 681, 680, 829, 0,
1082 0, 700, 0, 0, 833, 368, 833, 687, 580, 799,
1083 584, 686, 682, 0, 0, 580, 0, 392, 0, 0,
1084 0, 0, 170, 174, 285, 168, 161, 159, 168, 0,
1085 485, 0, 484, 212, 211, 210, 209, 435, 0, 0,
1086 24, 0, 0, 656, 0, 38, 44, 43, 55, 52,
1087 53, 0, 48, 0, 0, 686, 682, 0, 820, 580,
1088 823, 825, 0, 821, 822, 54, 492, 0, 158, 168,
1089 168, 156, 169, 298, 17, 19, 69, 89, 416, 145,
1090 637, 638, 133, 146, 147, 0, 126, 129, 0, 639,
1091 0, 0, 0, 0, 712, 706, 449, 0, 124, 589,
1092 586, 805, 819, 808, 0, 587, 804, 818, 807, 803,
1093 832, 815, 826, 816, 809, 814, 835, 0, 420, 603,
1094 602, 419, 175, 830, 0, 830, 511, 512, 514, 830,
1095 517, 516, 580, 799, 547, 540, 552, 541, 428, 428,
1096 537, 538, 535, 536, 580, 799, 281, 637, 0, 415,
1097 117, 543, 553, 558, 559, 415, 415, 0, 0, 415,
1098 115, 544, 556, 415, 532, 533, 534, 428, 530, 478,
1099 0, 96, 0, 0, 0, 0, 102, 0, 833, 799,
1100 833, 799, 841, 840, 842, 286, 322, 223, 225, 328,
1101 329, 0, 0, 0, 0, 310, 313, 0, 0, 0,
1102 0, 248, 0, 314, 316, 318, 0, 0, 0, 0,
1103 229, 246, 0, 0, 673, 671, 0, 674, 584, 235,
1104 0, 0, 178, 345, 0, 0, 0, 683, 679, 690,
1105 580, 699, 697, 698, 688, 833, 0, 695, 0, 634,
1106 635, 0, 334, 166, 168, 168, 164, 576, 574, 473,
1107 0, 434, 432, 281, 0, 22, 30, 663, 56, 51,
1108 58, 62, 685, 681, 686, 682, 0, 596, 0, 580,
1109 687, 60, 154, 152, 68, 0, 131, 0, 135, 0,
1110 137, 0, 139, 0, 766, 0, 202, 714, 0, 707,
1111 708, 0, 450, 686, 682, 0, 305, 0, 632, 827,
1112 0, 0, 836, 837, 0, 0, 417, 173, 521, 0,
1113 520, 830, 830, 830, 0, 833, 0, 542, 446, 446,
1114 833, 0, 0, 0, 428, 428, 0, 428, 428, 0,
1115 428, 0, 446, 466, 580, 288, 287, 289, 580, 99,
1116 0, 105, 0, 0, 0, 0, 0, 0, 456, 0,
1117 454, 251, 272, 242, 241, 239, 230, 0, 243, 245,
1118 672, 670, 677, 675, 0, 236, 0, 0, 337, 341,
1119 343, 833, 693, 580, 694, 162, 160, 470, 0, 437,
1120 439, 685, 681, 601, 687, 132, 130, 0, 0, 0,
1121 0, 444, 0, 0, 281, 637, 638, 715, 728, 731,
1122 734, 739, 0, 0, 0, 0, 0, 0, 0, 0,
1123 282, 760, 768, 0, 787, 764, 763, 762, 0, 723,
1124 0, 0, 393, 0, 702, 721, 727, 701, 722, 761,
1125 0, 709, 451, 0, 635, 817, 811, 812, 810, 0,
1126 834, 421, 0, 0, 0, 0, 523, 522, 515, 112,
1127 580, 546, 550, 114, 580, 428, 428, 567, 446, 281,
1128 637, 0, 554, 560, 561, 415, 415, 446, 446, 0,
1129 446, 557, 545, 0, 833, 833, 580, 580, 0, 0,
1130 0, 0, 455, 0, 0, 231, 232, 678, 346, 287,
1131 696, 833, 0, 134, 136, 138, 773, 767, 771, 0,
1132 710, 705, 205, 780, 782, 783, 0, 0, 719, 0,
1133 0, 0, 746, 748, 749, 750, 0, 0, 0, 0,
1134 0, 0, 0, 781, 0, 364, 788, 0, 724, 362,
1135 415, 0, 363, 0, 415, 0, 0, 0, 203, 704,
1136 703, 725, 759, 758, 310, 838, 418, 518, 519, 513,
1137 833, 833, 566, 563, 565, 0, 0, 428, 428, 428,
1138 562, 564, 549, 468, 0, 467, 462, 95, 101, 833,
1139 833, 324, 325, 326, 327, 457, 0, 233, 692, 438,
1140 0, 772, 445, 194, 0, 716, 729, 718, 0, 0,
1141 0, 0, 0, 742, 0, 751, 0, 757, 39, 144,
1142 34, 144, 0, 35, 769, 0, 360, 361, 0, 0,
1143 0, 359, 204, 719, 111, 113, 428, 428, 572, 446,
1144 446, 0, 0, 480, 98, 104, 579, 0, 774, 201,
1145 0, 393, 0, 719, 0, 732, 720, 706, 785, 735,
1146 0, 0, 0, 0, 747, 756, 40, 36, 0, 0,
1147 726, 571, 569, 568, 570, 465, 464, 458, 86, 89,
1148 0, 0, 0, 195, 415, 717, 206, 730, 208, 0,
1149 786, 0, 784, 740, 744, 743, 770, 792, 0, 0,
1150 463, 778, 779, 775, 428, 706, 192, 0, 0, 198,
1151 0, 197, 719, 0, 0, 0, 793, 794, 752, 461,
1152 0, 460, 0, 207, 0, 733, 736, 741, 745, 0,
1153 792, 0, 0, 459, 199, 193, 0, 0, 0, 753,
1154 795, 0, 0, 796, 0, 0, 200, 737, 797, 0,
1155 754, 0, 0, 0, 738, 798, 755, 0, 0, 0
1158 static const short yydefgoto
[] = { 1628,
1159 436, 2, 437, 165, 709, 331, 181, 3, 4, 37,
1160 672, 373, 1306, 673, 770, 1307, 1308, 393, 1412, 677,
1161 41, 771, 402, 683, 939, 684, 685, 686, 43, 172,
1162 173, 44, 455, 184, 180, 45, 46, 787, 1070, 793,
1163 1072, 47, 773, 774, 185, 186, 456, 716, 977, 978,
1164 652, 979, 234, 48, 961, 960, 699, 696, 1136, 1135,
1165 919, 916, 136, 959, 49, 236, 50, 913, 565, 332,
1166 333, 334, 335, 1309, 1579, 1476, 1581, 1521, 1612, 1178,
1167 1558, 1576, 367, 905, 336, 1247, 860, 604, 867, 337,
1168 338, 368, 340, 358, 52, 255, 678, 418, 154, 53,
1169 54, 341, 560, 342, 343, 344, 345, 457, 346, 1310,
1170 496, 626, 347, 1311, 56, 217, 689, 348, 218, 538,
1171 219, 197, 210, 60, 479, 497, 1333, 750, 1196, 198,
1172 211, 61, 509, 751, 62, 63, 668, 669, 670, 1283,
1173 462, 830, 831, 1549, 1550, 1514, 1456, 1364, 64, 656,
1174 361, 1224, 1457, 1091, 922, 65, 66, 67, 68, 69,
1175 242, 243, 70, 71, 504, 1017, 1018, 1019, 1020, 245,
1176 506, 507, 784, 778, 779, 780, 1042, 1052, 1043, 1353,
1177 1044, 1045, 1354, 1355, 653, 654, 605, 895, 350, 465,
1178 466, 191, 199, 73, 74, 75, 200, 142, 143, 157,
1179 77, 132, 351, 352, 353, 79, 354, 81, 1022, 123,
1180 124, 125, 514, 105, 82, 355, 872, 873, 890, 629,
1181 1314, 1315, 1179, 1180, 1181, 720, 1316, 986, 1317, 1397,
1182 1524, 1479, 1480, 1318, 1319, 1504, 1398, 1525, 1399, 1560,
1183 1400, 1562, 1607, 1622, 1401, 1583, 1534, 1584, 1485, 458,
1184 717, 1281, 1320, 1415, 1539, 1388, 1389, 1471, 1553, 1523,
1185 1519, 1321, 1530, 1418, 837, 1586, 1587, 1588, 1620, 736,
1186 737, 1006, 1192, 1329, 738, 739, 740, 1002, 741, 148,
1187 1004, 743, 1194, 1195, 532, 84, 85
1190 static const short yypact
[] = { 113,
1191 134,-32768,-32768, 10501,-32768, 45, 86, 454, 528, 151,
1192 179,-32768,-32768, 625,-32768, 162, 167, 199,-32768,-32768,
1193 -32768, 1379, 744, 462, 231,-32768, 246, 543,-32768, 1936,
1194 1936,-32768, 2838,-32768, 10501, 281,-32768,-32768, 332,-32768,
1195 250, 10579,-32768,-32768, 270, 939, 377, 391, 420,-32768,
1196 -32768,-32768,-32768, 406, 3929,-32768, 10820,-32768, 1921, 529,
1197 -32768, 460,-32768,-32768, 1389, 411,-32768,-32768,-32768,-32768,
1198 440, 2961,-32768,-32768,-32768, 921,-32768,-32768,-32768, 617,
1199 -32768,-32768, 362, 8032, 431,-32768,-32768, 9567,-32768, 9567,
1200 -32768, 9567,-32768,-32768,-32768, 454, 528, 246, 470, 452,
1201 469, 420,-32768, 366,-32768, 362, 9653, 9653, 517,-32768,
1202 -32768,-32768,-32768,-32768, 675, 570, 544, 557, 585, 587,
1203 618,-32768,-32768, 1050,-32768, 1205, 454, 528,-32768, 246,
1204 470,-32768, 1385, 1043, 611, 11006, 9567,-32768, 9567, 3466,
1205 2560,-32768,-32768, 688, 874, 2560,-32768, 1242, 3626, 3626,
1206 2838, 554, 601,-32768, 533, 930, 630, 632,-32768,-32768,
1207 747,-32768, 586,-32768, 10706,-32768,-32768, 231, 5117, 666,
1208 -32768,-32768,-32768, 270, 4845, 11061, 776, 715,-32768,-32768,
1209 716, 460, 778, 156, 344, 753,-32768,-32768, 706, 65,
1210 -32768,-32768, 4597, 4597, 4660, 921, 832,-32768,-32768, 501,
1211 -32768,-32768, 1098,-32768,-32768,-32768,-32768,-32768, 1921, 865,
1212 -32768, 460, 921,-32768,-32768,-32768, 2025, 1921,-32768, 460,
1213 -32768, 4845,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1214 -32768,-32768, 768,-32768, 420,-32768, 460, 1592, 1265,-32768,
1215 -32768, 785, 785,-32768,-32768,-32768, 541, 362,-32768, 339,
1216 898,-32768, 201,-32768,-32768,-32768,-32768,-32768, 5823,-32768,
1217 -32768, 722,-32768, 760, 774,-32768,-32768,-32768,-32768, 808,
1218 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1219 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1220 -32768,-32768, 770,-32768,-32768, 541, 2961, 889,-32768,-32768,
1221 781,-32768,-32768, 10261, 10347, 10433, 10433,-32768,-32768,-32768,
1222 -32768,-32768, 791, 824, 834, 836, 839, 984, 470, 9739,
1223 1344, 10433,-32768,-32768, 10433,-32768,-32768, 10433, 7140,-32768,
1224 10433, 783, 847,-32768, 10433,-32768, 9825,-32768, 11306, 207,
1225 735, 2906, 9911,-32768, 909, 1677,-32768, 1035, 2216, 2707,
1226 -32768, 341,-32768, 1619, 1893, 783, 783, 9567, 11006,-32768,
1227 1344, 820, 1344,-32768,-32768, 829, 873, 11239, 845, 850,
1228 857, 1404, 586,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1229 -32768, 570, 544, 557, 1344, 585, 587, 868, 618,-32768,
1230 920,-32768, 2238, 454, 528,-32768,-32768,-32768,-32768,-32768,
1231 -32768, 4577,-32768, 4845, 4782, 1152,-32768, 783, 437,-32768,
1232 -32768, 807,-32768, 908, 914,-32768,-32768,-32768, 2560,-32768,
1233 -32768, 2560,-32768, 882,-32768,-32768,-32768, 930, 930, 930,
1234 -32768,-32768,-32768, 5823, 91, 883, 894,-32768,-32768,-32768,
1235 -32768, 11006,-32768, 962, 1003,-32768,-32768, 747,-32768, 460,
1236 -32768,-32768,-32768,-32768, 140,-32768,-32768,-32768,-32768, 7692,
1237 9739,-32768,-32768,-32768, 9739, 901,-32768, 6828, 142, 10560,
1238 -32768, 10560,-32768, 11078, 11078, 4660, 897,-32768, 460, 4845,
1239 -32768, 906,-32768,-32768, 11119, 2025, 1921, 4845,-32768, 460,
1240 -32768,-32768, 460, 2025,-32768, 997,-32768, 9567, 768,-32768,
1241 -32768, 1592,-32768,-32768,-32768, 3869, 85, 541, 460,-32768,
1242 -32768, 954, 982, 1006, 990,-32768,-32768,-32768,-32768, 610,
1243 -32768, 463, 925, 956,-32768,-32768, 541,-32768,-32768, 819,
1244 -32768,-32768, 9567, 9739, 781, 7140,-32768, 479, 7140,-32768,
1245 -32768,-32768, 9653, 3641, 3641, 3641, 3641, 11284,-32768,-32768,
1246 -32768,-32768, 969, 10003, 10003, 7140, 971, 164, 985, 1032,
1247 987,-32768,-32768,-32768,-32768, 9567,-32768, 7231, 7140,-32768,
1248 9739, 9739, 7783, 9739, 9739, 9739, 9739, 9739, 9739, 9739,
1249 9739, 9739, 9739, 9739, 9739, 9739, 9739, 9739, 9739, 9739,
1250 9739, 9739,-32768, 9739,-32768,-32768,-32768,-32768,-32768, 9739,
1251 9739,-32768,-32768, 2543, 443, 205, 8392,-32768,-32768,-32768,
1252 1059, 898, 1108, 519, 559, 567, 2402, 874,-32768, 1955,
1253 1955,-32768, 3205, 1007, 1031, 1080,-32768,-32768, 511, 8942,
1254 1749,-32768, 1030, 362,-32768,-32768, 9739,-32768,-32768,-32768,
1255 -32768,-32768, 441, 431,-32768,-32768, 783,-32768, 4845, 2724,
1256 -32768, 1077, 1078,-32768,-32768, 1344, 868,-32768, 8124, 8215,
1257 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 120,-32768, 1055,
1258 1034, 586, 2238, 1097, 9567,-32768, 1096,-32768,-32768, 1043,
1259 1697, 1128, 471, 1101, 1103,-32768,-32768, 3099, 11061, 3099,
1260 3303, 1389, 10765,-32768, 1105,-32768,-32768,-32768,-32768,-32768,
1261 -32768,-32768,-32768, 1068, 1071,-32768, 1111,-32768,-32768, 270,
1262 -32768,-32768,-32768,-32768, 97, 400, 1118, 1032,-32768,-32768,
1263 -32768,-32768, 7030, 11284,-32768, 873, 1079, 11239,-32768,-32768,
1264 1081,-32768, 1082, 573, 4360, 1083,-32768, 112, 4465, 1117,
1265 1131, 568,-32768,-32768,-32768, 10560, 10560,-32768, 11119,-32768,
1266 1136,-32768,-32768, 1090, 142,-32768, 2025,-32768,-32768, 460,
1267 1130,-32768, 2297,-32768, 660, 789,-32768, 9739, 10638,-32768,
1268 10638, 408, 408, 211, 603, 3889, 10879, 5499,-32768, 210,
1269 408, 1144, 460, 6090,-32768, 142, 5204, 9567, 9567,-32768,
1270 9567, 142, 5204,-32768,-32768,-32768,-32768,-32768,-32768, 477,
1271 477, 477, 783, 1084, 1099, 9218, 1080, 1109, 1114, 1116,
1272 1141, 4282, 1150, 1153, 1154,-32768, 1122,-32768,-32768, 1126,
1273 -32768,-32768, 1157, 74, 325, 311, 172, 9739, 1174,-32768,
1274 1180, 1146, 11284, 11284,-32768,-32768, 1190, 11324, 11341, 6304,
1275 11356, 2756, 3410, 3759, 2096, 2096, 2096, 1693, 1693, 992,
1276 992, 968, 968, 968,-32768,-32768, 1147, 1156, 1162, 9739,
1277 9653,-32768, 443,-32768, 7692, 9739,-32768,-32768,-32768, 9739,
1278 -32768,-32768, 1181, 10433, 1163, 1188, 1206, 1235,-32768, 9739,
1279 -32768, 9739,-32768, 9739, 3331,-32768, 3331,-32768, 105, 1175,
1280 1176,-32768, 1178, 3641, 142,-32768, 142, 4214,-32768, 5204,
1281 1182, 3040, 3040, 6640, 1179, 9825, 1187, 930, 1845, 1893,
1282 1210, 1193,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 9739,
1283 1344, 1177, 1078,-32768, 11284,-32768, 11284, 1404, 1196, 10089,
1284 -32768, 1197, 1245,-32768, 783,-32768,-32768,-32768,-32768,-32768,
1285 2817, 4577,-32768, 3641, 9567, 3526, 3526, 5669,-32768,-32768,
1286 -32768,-32768, 1098,-32768,-32768,-32768, 903, 9739,-32768,-32768,
1287 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 270,-32768, 570,
1288 544, 557,-32768, 585, 587, 9739, 1250,-32768, 606, 618,
1289 608, 653, 1545, 1032,-32768, 78,-32768, 59,-32768,-32768,
1290 -32768,-32768,-32768,-32768, 9034,-32768,-32768,-32768,-32768,-32768,
1291 -32768,-32768, 1131, 1247,-32768,-32768,-32768, 3641,-32768,-32768,
1292 -32768, 1251,-32768,-32768, 1223,-32768, 1259,-32768,-32768, 108,
1293 -32768,-32768,-32768, 5204, 11284,-32768, 2448,-32768, 460, 460,
1294 -32768,-32768,-32768,-32768,-32768, 5204, 604, 843, 9739, 997,
1295 -32768, 1266,-32768,-32768,-32768, 277, 353, 617, 874, 418,
1296 408, 1272,-32768, 425,-32768,-32768,-32768, 460,-32768,-32768,
1297 8460,-32768, 1216, 783, 783, 783,-32768, 1224, 142, 5204,
1298 142, 5204,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1299 -32768, 1241, 1244, 1249, 1252, 1068,-32768, 11172, 7692, 7325,
1300 1253,-32768, 9739,-32768,-32768,-32768, 1254, 1236, 1248, 3641,
1301 -32768,-32768, 1256, 190, 750, 750, 1239, 750,-32768,-32768,
1302 10433, 1352, 9567,-32768, 1258, 1261, 1262,-32768,-32768,-32768,
1303 -32768,-32768,-32768,-32768,-32768, 142, 1263,-32768, 1264,-32768,
1304 -32768, 2147,-32768,-32768,-32768,-32768,-32768, 11284,-32768,-32768,
1305 1267,-32768,-32768, 255, 1273,-32768,-32768,-32768,-32768,-32768,
1306 -32768,-32768, 4152, 4152, 4986, 4986, 5669,-32768, 1098,-32768,
1307 5377, 11306,-32768,-32768,-32768, 1295,-32768, 400,-32768, 9739,
1308 -32768, 9739,-32768, 9739,-32768, 1344,-32768,-32768, 6527, 1339,
1309 -32768, 7416,-32768, 9126, 9126, 6734, 62, 1297, 96,-32768,
1310 7692, 7507,-32768,-32768, 286, 7692,-32768,-32768,-32768, 9653,
1311 -32768,-32768,-32768,-32768, 1654, 142, 1302,-32768, 1310, 1310,
1312 142, 1306, 9739, 9739, 11150, 460, 4944, 460, 460, 1298,
1313 460, 5233, 1310,-32768,-32768,-32768, 1325,-32768,-32768,-32768,
1314 1307,-32768, 1309, 9739, 9739, 9739, 9739, 7692,-32768, 1356,
1315 -32768,-32768, 11284,-32768,-32768,-32768, 552, 1248,-32768,-32768,
1316 -32768,-32768,-32768,-32768, 1311,-32768, 1372, 783,-32768,-32768,
1317 -32768, 142,-32768,-32768,-32768,-32768,-32768,-32768, 9739,-32768,
1318 -32768, 4152, 4152,-32768, 5377,-32768,-32768, 1313, 1316, 1319,
1319 1334,-32768, 1010, 298, 1376, 861, 910,-32768,-32768,-32768,
1320 -32768,-32768, 9739, 1377, 1380, 1384, 9304, 273, 1344, 828,
1321 614,-32768,-32768, 9395, 1439,-32768,-32768,-32768, 1390,-32768,
1322 4718, 10947, 5938, 6261,-32768,-32768, 1435,-32768,-32768,-32768,
1323 8553,-32768,-32768, 1345, 369,-32768,-32768,-32768,-32768, 3641,
1324 -32768,-32768, 7692, 1347, 1348, 2297,-32768,-32768,-32768,-32768,
1325 -32768,-32768,-32768,-32768,-32768, 11150, 11150,-32768, 1310, 628,
1326 953, 9739,-32768,-32768,-32768, 997, 997, 1310, 1310, 610,
1327 1310,-32768,-32768, 6395, 142, 142,-32768,-32768, 1354, 1355,
1328 1359, 1360,-32768, 7692, 9739,-32768, 552,-32768,-32768,-32768,
1329 -32768, 142, 1362,-32768,-32768,-32768,-32768, 1334,-32768, 1344,
1330 -32768,-32768,-32768,-32768,-32768,-32768, 657, 657, 1032, 1381,
1331 1386, 5708,-32768,-32768,-32768,-32768, 1392, 9739, 1412, 1418,
1332 1426, 1692, 1763,-32768, 1032,-32768,-32768, 1394,-32768,-32768,
1333 997, 1063,-32768, 1073, 997, 9481, 1075, 315,-32768,-32768,
1334 -32768,-32768,-32768,-32768, 188,-32768,-32768,-32768,-32768,-32768,
1335 142, 142,-32768,-32768,-32768, 9739, 9739, 11150, 460, 460,
1336 -32768,-32768,-32768,-32768, 8306,-32768,-32768,-32768,-32768, 142,
1337 142,-32768,-32768,-32768,-32768,-32768, 1374,-32768,-32768,-32768,
1338 1396,-32768,-32768,-32768, 9653,-32768,-32768,-32768, 1466, 8849,
1339 6936, 9653, 9739,-32768, 8661,-32768, 1436,-32768,-32768, 1441,
1340 -32768, 1426, 1692,-32768,-32768, 747,-32768,-32768, 10175, 10175,
1341 7601,-32768,-32768, 1032,-32768,-32768, 11150, 11150,-32768, 1310,
1342 1310, 1391, 11194, 1408,-32768,-32768,-32768, 6188,-32768,-32768,
1343 1399, 763, 4845, 1032, 8755,-32768,-32768, 78,-32768,-32768,
1344 1450, 1405, 11262, 8661,-32768,-32768,-32768,-32768, 1334, 87,
1345 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 377, 270,
1346 1407, 1410, 1032,-32768, 997,-32768,-32768,-32768,-32768, 663,
1347 -32768, 7874,-32768,-32768,-32768,-32768, 1334, 1501, 1456, 161,
1348 -32768,-32768,-32768,-32768, 460, 78,-32768, 9739, 1463,-32768,
1349 1464,-32768, 1032, 8661, 1443, 158, 1478,-32768,-32768,-32768,
1350 140,-32768, 1474,-32768, 1431,-32768,-32768,-32768,-32768, 9739,
1351 1501, 1481, 1501,-32768,-32768,-32768, 7965, 1437, 649,-32768,
1352 -32768, 7692, 1444,-32768, 1532, 1491,-32768,-32768,-32768, 317,
1353 -32768, 8755, 1544, 1496,-32768,-32768,-32768, 1557, 1563,-32768
1356 static const short yypgoto
[] = {-32768,
1357 1564,-32768, -331, 1400, -350, 19, 6, 1571,-32768, 1539,
1358 -32768,-32768, 228,-32768, 229,-32768, 249,-32768, 163, 902,
1359 39, 15,-32768,-32768, -629,-32768,-32768, 636, 55, 1420,
1360 1137, 1433, -704, 42, -173, -6, 150,-32768,-32768,-32768,
1361 -32768,-32768, 823,-32768,-32768,-32768,-32768,-32768,-32768, 436,
1362 1148,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1363 -32768,-32768, 1511, -651, 5827, 1369, -47, -586, -227, -68,
1364 1469, -536,-32768, 684,-32768, 212,-32768, -1387,-32768, -1289,
1365 -11,-32768, 1519, 1510, -270, 364, -544,-32768, -826, 2320,
1366 9, 1554, 3609, 1314, -327, -57, -88, 682, -139, -65,
1367 93,-32768,-32768,-32768, -326,-32768, -153,-32768,-32768, -1252,
1368 -48, -338, 4854, 138, 912, -118, 81, 102, -203, -4,
1369 -144, -166, -172, 16, -21, 145,-32768, -370,-32768,-32768,
1370 -32768,-32768,-32768, 213, 1308, 10,-32768, 686,-32768,-32768,
1371 -768, -377, 893,-32768,-32768,-32768,-32768,-32768, -16,-32768,
1372 -32768,-32768,-32768,-32768, 694, -346,-32768,-32768,-32768,-32768,
1373 -32768,-32768,-32768,-32768, 1378,-32768, 283, 421,-32768,-32768,
1374 -32768,-32768,-32768, 848, -677,-32768,-32768,-32768,-32768,-32768,
1375 -32768, 852,-32768, 412, 977, 714, 1039, 4229, 47, 21,
1376 -455, 1438, 1271, -667,-32768, 4,-32768, 822, 4045, -147,
1377 173, -102, 4533, 1293,-32768, 4890, 2554, 1748, -18, -114,
1378 -32768, 1521, -53,-32768, 4714, 3375, -257,-32768, 1983,-32768,
1379 -32768, 333,-32768,-32768, 472, 63, -439,-32768,-32768,-32768,
1380 -32768, -1405,-32768, -1174, -1373,-32768,-32768,-32768,-32768,-32768,
1381 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 83,
1382 -32768,-32768,-32768,-32768,-32768, 116, -1322,-32768,-32768, -45,
1383 -32768,-32768,-32768,-32768, -1416, 67,-32768, 53,-32768, -723,
1384 -583, 667,-32768,-32768,-32768,-32768, -388,-32768, -382, -441,
1385 -32768, 1416, 336,-32768, -84,-32768, -230
1389 #define YYLAST 11440
1392 static const short yytable
[] = { 59,
1393 443, 420, 423, 445, 122, 487, 196, 435, 444, 36,
1394 631, 392, 984, 694, 256, 721, 432, 103, 42, 695,
1395 515, 356, 35, 357, 182, 178, 754, 640, 641, 822,
1396 59, 400, 253, 537, 540, 174, 1101, 59, 298, 891,
1397 36, 671, 221, 508, 398, 399, 891, 962, 981, 42,
1398 72, 1416, 209, 35, 249, 692, 42, 177, 861, 914,
1399 169, 763, 956, 1063, 1531, 1472, 570, 247, 408, 1068,
1400 391, 224, 492, 495, 190, 397, 141, 146, 256, 296,
1401 170, 72, 725, 349, 57, 349, 260, 349, 72, 710,
1402 486, 1026, 527, 1028, 1532, 1021, 171, 609, 1541, 494,
1403 1055, 609, 349, 349, 86, 58, 1527, 609, -302, 364,
1404 1176, 467, -1, 963, 1203, 57, 992, 1182, 1556, 759,
1405 820, 782, 176, 997, 644, 155, 196, 89, 645, 646,
1406 297, 406, 349, -2, 349, -141, 58, 256, 785, 1431,
1407 718, 55, -626, 58, 1204, 527, 1434, 90, 1568, 224,
1408 518, 1559, 178, 87, -302, -302, 452, 468, 440, 88,
1409 59, 1590, 174, 993, 59, 224, 994, 1183, 893, -295,
1410 998, 209, 55, 999, 1582, 190, 1127, 1598, 928, 175,
1411 700, 701, 72, 42, 177, 295, 1177, 169, -626, -626,
1412 1613, 490, 221, 783, 1569, 419, 422, 719, 707, 807,
1413 221, 221, 742, -626, 969, 158, 208, 170, 127, 128,
1414 593, 72, 821, -356, 522, 72, 405, 453, -356, 1601,
1415 190, 224, 453, 171, 93, 138, 94, 929, 1529, 224,
1416 221, 38, 39, -144, -304, 1031, 619, 58, 1561, 470,
1417 472, 155, 155, 155, 1472, 57, 224, 516, 1559, 176,
1418 454, 260, 40, 593, 107, 454, 594, 615, 26, 108,
1419 130, 131, 38, 39, 1134, 1602, 58, 1137, 1032, 1056,
1420 58, -295, 1033, 404, 868, 95, 110, 111, 985, 221,
1421 -304, -304, 806, 40, 869, 403, 1594, 155, 614, 647,
1422 679, 109, 247, 517, 715, -298, 606, 1250, 870, 594,
1423 1207, -365, 55, 15, 135, 1034, 175, 163, 1163, 1164,
1424 1535, 1149, 1212, 1269, 541, 542, 641, 1100, 1057, 137,
1425 891, 158, 158, 158, 349, 208, 420, 423, 112, 113,
1426 550, 674, 221, 551, -365, 941, 552, 296, -365, 562,
1427 932, 492, 495, 567, 1330, 247, 1231, 164, 1233, 492,
1428 694, 608, 1408, 349, 650, 697, 1003, 1392, 260, 1566,
1429 967, 968, 1270, 495, 891, 8, 9, 158, 757, 8,
1430 9, -365, -143, 161, 1392, 1623, 179, -366, 91, 15,
1431 -304, 515, 495, 1055, 137, 510, -142, 636, 297, 221,
1432 459, 162, 91, 1331, 449, -304, 631, 691, 92, -304,
1433 209, 183, 970, 971, 972, 72, 1393, 460, 1152, 1599,
1434 -366, 891, 92, 363, -366, -304, 682, 130, 131, 915,
1435 1376, 130, 131, 1503, 1624, 178, 1198, -304, -304, 761,
1436 -304, 511, -304, 637, 15, 712, 461, 59, -415, 405,
1437 1342, 1343, -120, 295, 15, 1129, 973, -366, 693, -118,
1438 187, 15, -584, 26, 1363, 974, 975, 177, 775, 224,
1439 58, -304, -304, 735, 803, 127, 128, -415, 240, 221,
1440 221, -415, 241, 188, 760, -120, -304, 221, 308, -120,
1441 127, 128, -118, 1266, 1267, 518, -118, 1102, 72, 864,
1442 18, 221, 976, 349, 26, 566, 649, 244, -584, 189,
1443 981, 59, 224, 690, 299, 129, 865, 89, 648, 796,
1444 221, 563, -120, 564, 693, 26, -415, 130, 131, -118,
1445 746, 747, 176, 138, 769, 619, 362, 90, 349, 942,
1446 26, 349, 130, 131, 349, 866, 966, 1021, 349, 812,
1447 812, 812, 812, 58, 1175, 943, 528, -584, 215, 216,
1448 1468, 349, 72, 694, 14, 797, 529, 899, 606, 695,
1449 360, 349, 550, 551, 349, 879, 155, 155, 155, 690,
1450 679, 806, 1199, 891, 1201, 1076, 20, 938, 1205, 175,
1451 1445, 91, 640, 641, 992, 23, 777, 222, 223, 1451,
1452 1452, 937, 1453, -584, 482, 692, 138, 377, 864, 296,
1453 917, 92, 891, 900, 901, 881, 935, 58, 527, 372,
1454 378, 880, 492, 883, 1007, 865, 139, 90, 691, 7,
1455 8, 250, 10, 376, 752, 735, 189, 95, 96, 97,
1456 92, 993, 758, 221, 994, 570, -829, 260, 379, 949,
1457 380, 954, 955, 776, 866, 1375, 158, 158, 158, 1035,
1458 297, 882, 1169, 1255, 1171, 772, 794, 21, 137, 884,
1459 1008, -295, 122, 91, 251, 1213, 885, 887, 1021, 693,
1460 349, 381, 27, 28, 221, 1414, 693, 88, 26, 644,
1461 98, 99, 100, 92, 209, 401, 955, 137, 247, 1446,
1462 7, 127, 128, 10, -7, 1036, 252, 982, 1170, 1173,
1463 1172, 88, 795, 1474, 32, 295, 1023, 1148, 425, 1577,
1464 1615, 1239, 1241, 91, 153, 1073, 1074, 1075, 221, 1064,
1465 1065, 775, 1066, 775, 690, 8, 520, 1041, 21, 775,
1466 775, 690, 374, 92, 691, 251, 775, 433, 375, -621,
1467 221, 1544, 1545, 27, 28, 1174, 116, 117, 118, 1475,
1468 1029, 1030, 1024, 127, 128, 1578, 1616, 303, 518, 1058,
1469 1336, 1337, 1338, 164, 59, 807, 59, 252, 432, 363,
1470 215, 216, 209, 59, 447, 32, 14, 130, 131, 59,
1471 451, 595, 691, 349, 349, 693, 349, 769, 691, 769,
1472 366, 370, 127, 128, 1165, 221, 769, 26, 20, 119,
1473 120, 521, 769, 26, 1241, 130, 131, 23, 448, 619,
1474 127, 128, 463, 1326, 1328, 72, 464, 72, 1332, 868,
1475 596, 597, 127, 128, 72, 598, 599, 600, 601, 869,
1476 72, 421, 424, 693, 222, 446, 1226, 1227, 1228, 693,
1477 690, 498, 26, 870, 130, 131, 503, 1251, 1252, 777,
1478 1254, 777, 147, 523, 363, 806, 349, 563, 777, 564,
1479 1373, 1104, 130, 131, 777, 1591, 363, 524, 392, 525,
1480 58, 129, 58, 534, 130, 131, 153, 127, 128, 58,
1481 526, 26, 1110, 543, 1411, 58, 521, 256, 690, 812,
1482 480, 481, 127, 128, 690, 691, 89, 544, 252, 735,
1483 95, 110, 111, 512, 1214, 566, 776, 545, 1027, 546,
1484 550, 551, 547, 260, 89, 776, 90, 224, 772, 609,
1485 772, 776, 1395, 488, 489, 1040, 1050, 772, 655, 130,
1486 131, 659, 300, 772, 90, 10, 658, 691, 21, 812,
1487 349, 675, 26, 691, 130, 131, 693, 15, 885, 887,
1488 693, -415, 661, 112, 113, 1437, 682, 662, 528, 1478,
1489 18, -52, 411, 91, 663, 15, -52, 413, 529, -415,
1490 21, 1396, 1012, 676, 807, 1495, 498, -52, 1041, -415,
1491 -415, 90, 256, 92, -415, 426, 427, 92, 693, 704,
1492 735, -6, 1153, 1154, 693, 1060, 1466, -415, -415, 428,
1493 253, 690, 708, 812, 748, 690, 89, 420, 423, 429,
1494 559, 730, 557, 775, 1447, 147, 753, 32, 1216, 691,
1495 480, 713, 430, 15, 1218, 1219, 90, 788, 1216, 1221,
1496 1380, 691, 1219, 8, 9, 798, 420, 423, 127, 128,
1497 155, 693, -183, 690, 1258, 300, 394, 395, 10, 690,
1498 591, 592, 382, 383, 384, 789, 59, 137, -183, 790,
1499 -183, 488, 714, 791, 1478, 691, 799, 691, 1390, 1391,
1500 693, 588, 589, 590, 591, 592, 816, 363, 818, 769,
1501 519, 619, 693, 21, 1478, 130, 131, 155, 26, 719,
1502 130, 131, 819, 256, 821, 812, 690, 385, 27, 319,
1503 7, 8, 9, 10, 620, 386, 387, 72, 349, 252,
1504 421, 705, 876, 1574, 621, 878, 693, 892, 693, 1256,
1505 158, 480, 1497, 894, 622, 690, 896, 623, 624, 694,
1506 32, 488, 1498, 480, 1502, 1552, 921, 690, 21, 1424,
1507 920, 777, 931, 1478, 1422, 251, 1427, 930, 729, 982,
1508 934, 721, 691, 27, 28, 936, 421, 424, 214, 215,
1509 216, 101, 58, 20, 944, 14, 945, 158, 958, 115,
1510 965, 690, 522, 690, 1313, -298, 1040, 252, 964, 453,
1511 -828, 735, 18, 807, 1305, 32, 989, 20, 990, 991,
1512 996, 1077, 550, 551, 1005, 349, 23, 1304, 776, 1009,
1513 1010, 1272, 1273, 693, 1013, 1059, 1078, 116, 117, 118,
1514 772, 698, 233, 8, 9, 1082, 1079, 559, -140, 557,
1515 559, 1080, 557, 1081, 1083, 72, 809, 1084, 1085, 1086,
1516 1272, 1273, 693, 1087, 1617, 1089, 421, 817, 1090, 557,
1517 702, 1209, 1210, 703, 95, 414, 415, 155, 155, 155,
1518 559, 1093, 557, 1092, 1094, 706, 836, 363, 690, 1312,
1519 119, 120, 1421, 1095, 1421, 130, 131, 95, 96, 97,
1520 1223, 388, 1096, 1111, 1109, 1112, 155, 155, 155, 1113,
1521 58, 1114, 1120, 1121, 859, 1140, 1130, 690, 1122, 521,
1522 875, 411, 1128, 413, 1131, 416, 221, 98, 113, 1313,
1523 1133, 127, 1360, 1143, 1147, 1146, 519, 209, 1168, 1313,
1524 1191, 907, 562, 688, 1197, 1200, 1313, 1202, 527, 1305,
1525 98, 99, 1304, 1225, 1217, 812, 1305, 158, 158, 158,
1526 1222, 1229, 1304, 1234, 1449, 1450, 1235, 140, 140, 1304,
1527 156, 1236, 1540, 1245, 1237, 363, 95, 110, 111, 1253,
1528 72, 420, 423, 130, 131, 1246, 158, 158, 158, 1257,
1529 72, 1242, 1244, 1249, 212, 1259, 220, 72, 1260, 1261,
1530 1264, 1176, 237, 460, 1265, 1268, 1571, 521, -663, 688,
1531 1271, 95, 110, 111, 1312, 499, 501, 300, 394, 395,
1532 10, 95, 96, 97, 1312, 225, 226, 227, 513, 112,
1533 113, 1312, 1276, 490, 1325, 58, 95, 110, 111, 1341,
1534 664, 665, 666, 1345, 1367, 58, 1368, 1374, 1379, 18,
1535 1384, 1378, 58, 1385, 228, 21, 1386, 1348, 1349, 1387,
1536 1358, 1359, 251, 1361, 112, 113, 114, 1394, 1403, 1404,
1537 27, 319, 26, 1405, 98, 99, 229, 1417, 140, 1419,
1538 1432, 1486, 1435, 140, 1438, 1439, 156, 156, 156, 112,
1539 113, 1462, 1463, 471, 473, 477, 1464, 1465, 549, 1470,
1540 1522, 1488, 32, 1481, 1555, 1313, 1313, 1522, 1482, 1489,
1541 1313, 375, 1526, 212, 1517, 1305, 1496, 907, 1518, 450,
1542 1305, 230, 231, 232, 1537, 1536, 349, 1546, 1304, 1304,
1543 140, 140, 156, 1304, 1548, 221, 1554, 550, 551, 1563,
1544 657, 1585, 1564, 691, 1572, 1589, 220, 1573, 155, 667,
1545 1313, 297, 1596, 1597, 493, 220, 72, 72, 297, 1313,
1546 1305, 72, 657, 1575, 688, 1600, 1603, 1605, 1606, 1305,
1547 1610, 688, 1619, 1304, 1614, 746, 747, 116, 971, 972,
1548 1621, 1618, 1304, 1107, 1626, 1627, 1629, 1522, 1443, 1444,
1549 1312, 1312, 1630, 1, 693, 1312, 140, 702, 703, 442,
1550 706, 72, 5, 160, 933, 1493, 295, 1150, 711, 1313,
1551 72, 58, 58, 295, 421, 817, 58, 557, 441, 1305,
1552 1570, 155, 155, 155, 95, 96, 97, 439, 158, 1051,
1553 119, 120, 1304, 1277, 359, 1312, 500, 409, 297, 1477,
1554 1625, 1377, 533, 1142, 1312, 988, 1141, 1313, 1440, 690,
1555 505, 300, 8, 9, 10, 1339, 58, 1305, 1053, 153,
1556 72, 1061, 923, 1362, 1139, 58, 156, 483, 616, 363,
1557 1304, 339, 863, 339, 390, 339, 1430, 98, 99, 762,
1558 688, 1322, 1592, 1604, 1567, 1611, 116, 971, 972, 21,
1559 1509, 1510, 1511, 295, 1312, 1436, 251, 1609, 72, 1190,
1560 0, 158, 158, 158, 27, 319, 1188, 610, 0, 300,
1561 394, 395, 10, 1015, 611, 58, 0, 0, 0, 0,
1562 339, 0, 339, 0, 95, 110, 111, 0, 688, 382,
1563 383, 384, 1312, 0, 688, 0, 32, 26, 0, 119,
1564 120, 0, 212, 220, 0, 829, 0, 21, 0, 1542,
1565 1543, 0, 0, 58, 612, 0, 140, 0, 0, 140,
1566 26, 0, 27, 319, 0, 156, 156, 156, 0, 0,
1567 744, 140, 745, 0, 471, 473, 477, 112, 1490, 0,
1568 26, 0, 386, 387, 0, 756, 0, -580, 0, 877,
1569 -580, 0, 0, 0, 613, 95, 110, 111, 147, 0,
1570 586, 587, 588, 589, 590, 591, 592, 140, 0, 140,
1571 0, 156, 156, 156, 0, 0, 450, 1593, 0, 0,
1572 0, 0, 140, 493, 220, 896, 0, 450, 0, 0,
1573 0, 493, 0, 0, 0, 0, 0, -580, 0, -580,
1574 -580, 688, -580, 0, 0, 688, 450, 0, 112, 1492,
1575 0, 0, 0, -580, 0, -580, 0, 258, 940, 0,
1576 0, 0, 0, 0, 0, 0, 0, 421, 424, 957,
1577 0, -580, -580, 156, 0, 0, 156, 300, 8, 9,
1578 10, 258, 0, 688, 0, 0, -580, 0, 0, 688,
1579 0, 156, 156, 156, 0, 0, 421, 1324, 0, 557,
1580 829, 0, 0, 548, 0, 0, 156, 0, 0, 0,
1581 258, 0, 0, 1334, 0, 21, 0, 0, 0, 0,
1582 0, 258, 251, 0, 0, 638, 8, 9, 10, 0,
1583 27, 319, 0, 0, 0, 0, 688, 0, 0, 0,
1584 0, 339, 0, 0, 0, 0, 0, 1369, 1370, 1371,
1585 1372, 0, 0, 0, 252, 0, 0, 214, 215, 216,
1586 308, 639, 32, 21, 14, 688, 0, 908, 7, 127,
1587 128, 10, 0, 0, 13, 0, 26, 688, 130, 131,
1588 258, 18, 0, 0, 0, 0, 20, 220, 127, 128,
1589 0, 0, 0, 13, 0, 23, 18, 0, 0, 0,
1590 727, 0, 0, 0, 411, 413, 21, 733, 0, 726,
1591 1407, 688, 519, 688, 0, 258, 726, 0, 0, 26,
1592 0, 27, 28, 0, 0, 0, 212, 0, 220, 237,
1593 0, 619, 0, 0, 0, 30, 0, 0, 26, 258,
1594 130, 131, 0, 724, 728, 31, 744, 745, 0, 756,
1595 0, 728, 0, 32, 620, 0, 0, 0, 33, 0,
1596 0, 491, 215, 216, 621, 0, 0, 0, 14, 0,
1597 0, 0, 220, 804, 622, 0, 1046, 623, 624, 0,
1598 0, 339, 726, 140, 140, 18, 140, 0, 1467, 0,
1599 20, 0, 0, 0, 493, 0, 0, 450, 688, 23,
1600 0, 0, 0, 0, 0, 667, 0, 0, 0, 0,
1601 0, 0, 0, 0, 212, 0, 339, 728, 940, 0,
1602 450, 1487, 0, 702, 703, 0, 706, 688, 0, 0,
1603 0, 258, 0, 857, 0, 0, 0, 1188, 0, 858,
1604 0, 0, 726, 156, 0, 0, 0, 0, 726, 339,
1605 0, 724, 0, 0, 833, 834, 0, 838, 839, 840,
1606 841, 842, 843, 844, 845, 846, 847, 848, 849, 850,
1607 851, 852, 853, 854, 855, 856, 912, 728, 726, 300,
1608 8, 9, 10, 728, 0, 726, 0, 0, 1520, 258,
1609 0, 0, 0, 0, 836, 1520, 0, 0, 0, 0,
1610 1011, 584, 585, 586, 587, 588, 589, 590, 591, 592,
1611 0, 421, 1324, 728, 557, 0, 0, 21, 0, 0,
1612 728, 0, 0, 0, 251, 0, 0, 0, 0, 0,
1613 0, 1062, 27, 319, 0, 0, 0, 1067, 0, 156,
1614 156, 908, 925, 927, 0, 0, 471, 473, 477, 127,
1615 128, 0, 0, 215, 216, 0, 521, 0, 339, 14,
1616 0, 0, 0, 0, 32, 0, 0, 1240, 0, 0,
1617 300, 394, 395, 10, 0, 1520, 0, 0, 237, 258,
1618 0, 20, 0, 140, 140, 908, 0, 0, 0, 0,
1619 23, 1595, 619, 0, 0, 477, 0, 0, 0, 26,
1620 0, 130, 131, 0, 0, 0, 724, 258, 21, 0,
1621 0, 0, 0, 1608, 0, 620, 0, 0, 0, 0,
1622 836, 26, 0, 27, 319, 621, 0, 1046, 0, 116,
1623 971, 972, 908, 1014, 0, 622, 0, 0, 630, 624,
1624 1123, 0, 1124, 0, 0, 0, 0, 0, 0, 0,
1625 0, 1025, 0, 1282, 726, 32, 1015, 0, 0, 1240,
1626 628, 632, 635, 1016, 0, 0, 450, 450, 0, 0,
1627 0, 339, 339, 0, 339, 0, 0, 0, 0, 0,
1628 26, 0, 119, 120, 0, 0, 0, 0, 0, 728,
1629 0, 0, 0, 0, 258, 450, 0, 0, 0, 1097,
1630 1098, 0, 0, 0, 0, 1103, 0, 0, 726, 726,
1631 258, 1088, 0, 0, 726, 0, 0, 0, 0, 1115,
1632 0, 1116, 0, 1117, 0, 0, 0, 0, 726, 0,
1633 726, 0, 726, 0, 300, 127, 128, 10, 0, 0,
1634 0, 0, 0, 728, 728, 0, 0, 0, 724, 728,
1635 0, 0, 0, 744, 745, 471, 473, 477, 0, 688,
1636 0, 756, 0, 728, 0, 728, 0, 728, 0, 1145,
1637 0, 0, 21, 0, 0, 1409, 1410, 0, 726, 251,
1638 1037, 1038, 9, 10, 471, 473, 477, 27, 319, 0,
1639 140, 140, 156, 156, 908, 0, 0, 0, 140, 0,
1640 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0,
1641 0, 0, 0, 728, 1230, 1166, 1232, 1356, 21, 32,
1642 0, 156, 156, 908, 726, 0, 0, 0, 339, 0,
1643 0, 26, 0, 27, 28, 0, 0, 1208, 0, 1039,
1644 0, 1162, 0, 726, 0, 0, 0, 193, 0, 0,
1645 0, 0, 450, 450, 0, 450, 450, 194, 450, 728,
1646 0, 0, 0, 0, 0, 32, 0, 1473, 0, 0,
1647 195, 1263, 744, 745, 0, 756, 8, 9, 728, 0,
1648 12, 13, 0, 0, 0, 0, 14, 80, 0, 1491,
1649 1494, 0, 7, 127, 128, 10, 0, 104, 246, 0,
1650 16, 0, 17, 0, 0, 0, 0, 133, 20, 140,
1651 140, 0, 140, 144, 144, 0, 144, 23, 80, 0,
1652 18, 0, 1215, 0, 0, 80, 26, 0, 130, 131,
1653 21, 0, 886, 888, 0, 0, 0, 0, 203, 0,
1654 80, 0, 0, 26, 0, 27, 28, 0, 238, 212,
1655 220, 1340, 0, 0, 0, 104, 1344, 0, 0, 30,
1656 0, 0, 0, 0, 0, 862, 262, 104, 0, 31,
1657 1538, 0, 724, 724, 0, 0, 1243, 32, 0, 0,
1658 0, 0, 33, 450, 450, 0, 258, 0, 258, 104,
1659 0, 0, 0, 0, 0, 0, 339, 625, 625, 625,
1660 951, 0, 628, 632, 0, 635, 0, 1381, 0, 1278,
1661 0, 1279, 0, 1280, 0, 0, 0, 133, 726, 80,
1662 726, 0, 726, 144, 144, 0, 477, 0, 412, 144,
1663 258, 0, 144, 144, 144, 0, 0, 0, 0, 0,
1664 8, 9, 0, 0, 12, 246, 0, 632, 80, 0,
1665 14, 0, 80, 728, 0, 728, 0, 728, 203, 80,
1666 214, 215, 216, 156, 16, 724, 17, 14, 0, 0,
1667 0, 0, 20, 0, 724, 724, 203, 203, 203, 724,
1668 0, 23, 0, 619, 18, 450, 450, 450, 0, 20,
1669 26, 0, 130, 131, 0, 0, 1346, 1347, 23, 471,
1670 473, 477, 0, 0, 0, 203, 620, 0, 1383, 0,
1671 1458, 1459, 0, 918, 0, 0, 621, 726, 0, 0,
1672 0, 724, 502, 0, 632, 258, 622, 1469, 0, 623,
1673 624, 104, 0, 0, 0, 0, 156, 156, 156, 0,
1674 0, 0, 144, 0, 450, 450, 0, 0, 0, 95,
1675 110, 111, 728, 225, 226, 227, 579, 580, 581, 582,
1676 583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
1677 7, 127, 128, 10, 0, 0, 1402, 18, 0, 0,
1678 104, 530, 228, 0, 0, 0, 1505, 1506, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 1118, 18, 1119,
1680 0, 0, 112, 113, 0, 1515, 1516, 0, 21, 258,
1681 1125, 0, 450, 0, 886, 888, 724, 0, 0, 0,
1682 0, 26, 0, 27, 28, 104, 0, 0, 0, 617,
1683 0, 530, 530, 633, 0, 1448, 258, 149, 0, 8,
1684 9, 0, 80, 12, 13, 0, 0, 150, 0, 14,
1685 0, 0, 0, 0, 0, 32, 0, 724, 886, 888,
1686 151, 0, 0, 16, 0, 17, 0, 0, 0, 625,
1687 625, 20, 625, 0, 726, 0, 133, 0, 0, 906,
1688 23, 0, 0, 0, 0, 104, 0, 203, 104, 26,
1689 0, 130, 131, 602, 8, 9, 0, 258, 12, 246,
1690 0, 0, 144, 0, 14, 144, 0, 0, 0, 728,
1691 0, 0, 0, 0, 0, 0, 0, 144, 16, 0,
1692 17, 0, 0, 0, 0, 80, 20, 0, 603, 1507,
1693 1508, 0, 0, 0, 0, 23, 0, 625, 1513, 625,
1694 625, 0, 625, 0, 26, 0, 130, 131, 0, 0,
1695 0, 0, 0, 203, 0, 203, 0, 203, 203, 203,
1696 0, 0, 0, 203, 0, 0, 1533, 0, 203, 0,
1697 0, 203, 300, 8, 9, 10, 0, 12, 301, 302,
1698 303, 0, 304, 14, 625, 0, 0, 0, 0, 80,
1699 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
1700 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
1701 21, 311, 312, 0, 23, 0, 619, 0, 313, 314,
1702 315, 316, 317, 26, 0, 27, 319, 104, 104, 104,
1703 104, 7, 8, 9, 10, 0, 321, 0, 0, 902,
1704 0, 0, 0, 0, 0, 0, 0, 323, 324, 903,
1705 0, 0, 0, 0, 0, 326, 327, 328, 0, 622,
1706 0, 625, 904, 624, 0, 1118, 1119, 886, 888, 21,
1707 0, 0, 0, 1125, 0, 619, 0, 0, 0, 330,
1708 0, 0, 26, 0, 27, 28, 0, 104, 0, 530,
1709 0, 0, 0, 0, 0, 724, 886, 888, 946, 0,
1710 0, 617, 0, 530, 530, 0, 633, 0, 947, 0,
1711 0, 0, 0, 909, 0, 0, 32, 911, 622, 0,
1712 0, 948, 624, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 203, 0, 625, 0, 625, 0, 8, 9,
1714 0, 167, 12, 13, 0, 0, 732, 625, 14, 0,
1715 0, 906, 906, 906, 0, 0, 133, 0, 0, 0,
1716 0, 0, 16, 133, 17, 18, 0, 0, 0, 0,
1717 20, 203, 953, 203, 203, 238, 633, 0, 0, 23,
1718 0, 619, 0, 0, 1118, 1119, 0, 1125, 26, 0,
1719 130, 131, 0, 0, 0, 625, 625, 625, 0, 0,
1720 0, 0, 0, 0, 620, 0, 0, 0, 0, 0,
1721 0, 0, 0, 0, 621, 0, 0, 0, 203, 0,
1722 0, 0, 953, 0, 622, 0, 0, 623, 624, 203,
1723 203, 0, 203, 0, 0, 7, 8, 9, 10, 214,
1724 215, 216, 0, 0, 906, 0, 14, 0, 0, 133,
1725 0, 0, 80, 0, 80, 0, 0, 0, 0, 1048,
1726 80, 80, 0, 18, 127, 128, 0, 80, 20, 246,
1727 104, 0, 0, 21, 0, 0, 104, 23, 0, 619,
1728 0, 0, 0, 530, 530, 530, 26, 0, 27, 28,
1729 0, 0, 0, 0, 0, 530, 0, 0, 0, 0,
1730 0, 0, 946, 0, 0, 0, 0, 619, 83, 0,
1731 0, 0, 947, 0, 26, 0, 130, 131, 106, 0,
1732 32, 0, 622, 0, 0, 948, 624, 126, 134, 0,
1733 620, 0, 0, 0, 145, 145, 0, 145, 0, 83,
1734 621, 0, 0, 0, 0, 0, 83, 0, 0, 0,
1735 622, 0, 0, 623, 624, 0, 0, 0, 0, 145,
1736 0, 83, 0, 0, 0, 0, 0, 0, 530, 239,
1737 530, 0, 0, 0, 0, 0, 248, 104, 0, 0,
1738 0, 530, 0, 104, 0, 909, 909, 909, 248, 0,
1739 0, 0, 0, 1132, 0, 0, 0, 0, 7, 127,
1740 128, 10, 625, 625, 625, 625, 625, 0, 0, 0,
1741 625, 580, 581, 582, 583, 584, 585, 586, 587, 588,
1742 589, 590, 591, 592, 0, 104, 18, 104, 0, 203,
1743 203, 1159, 0, 906, 906, 906, 21, 0, 0, 0,
1744 83, 0, 0, 0, 145, 145, 0, 0, 0, 26,
1745 145, 27, 28, 145, 145, 145, 0, 0, 7, 8,
1746 9, 10, 0, 0, 13, 30, 0, 0, 0, 83,
1747 0, 0, 0, 83, 0, 31, 0, 0, 1159, 145,
1748 83, 0, 0, 32, 0, 0, 18, 0, 33, 0,
1749 0, 104, 0, 0, 0, 0, 21, 145, 145, 145,
1750 0, 0, 619, 0, 0, 0, 0, 104, 0, 26,
1751 1048, 27, 28, 0, 0, 0, 0, 0, 0, 104,
1752 0, 625, 625, 0, 625, 946, 145, 0, 0, 0,
1753 0, 0, 1220, 0, 0, 947, 0, 0, 0, 0,
1754 0, 0, 51, 32, 80, 622, 0, 0, 948, 624,
1755 0, 0, 0, 104, 0, 104, 0, 0, 7, 127,
1756 128, 10, 0, 145, 13, 0, 0, 0, 51, 51,
1757 0, 152, 0, 51, 8, 9, 0, 0, 12, 13,
1758 51, 0, 0, 104, 14, 0, 18, 0, 530, 530,
1759 0, 530, 0, 51, 0, 51, 21, 0, 16, 0,
1760 17, 248, 145, 0, 0, 0, 20, 0, 0, 26,
1761 0, 27, 28, 0, 0, 23, 0, 0, 254, 0,
1762 0, 0, 0, 0, 26, 149, 130, 131, 0, 0,
1763 0, 0, 0, 0, 0, 150, 203, 203, 203, 203,
1764 1159, 0, 0, 32, 203, 0, 248, 0, 151, 0,
1765 618, 0, 145, 145, 634, 0, 0, 0, 0, 643,
1766 0, 0, 0, 83, 0, 0, 0, 1159, 1159, 1159,
1767 0, 396, 396, 0, 51, 0, 0, 0, 51, 51,
1768 0, 0, 254, 0, 51, 0, 0, 152, 152, 152,
1769 0, 0, 0, 0, 431, 0, 0, 680, 0, 0,
1770 203, 0, 0, 51, 0, 144, 248, 51, 145, 248,
1771 0, 0, 0, 51, 51, 0, 0, 0, 0, 0,
1772 0, 0, 0, 145, 0, 0, 145, 0, 0, 0,
1773 0, 51, 51, 152, 0, 0, 0, 0, 145, 0,
1774 0, 254, 0, 0, 0, 0, 83, 0, 0, 0,
1775 0, 0, 0, 0, 0, 203, 203, 0, 203, 0,
1776 51, 581, 582, 583, 584, 585, 586, 587, 588, 589,
1777 590, 591, 592, 0, 145, 0, 145, 0, 145, 145,
1778 145, 0, 0, 0, 145, 0, 0, 0, 0, 145,
1779 0, 0, 145, 0, 203, 953, 203, 51, 0, 764,
1780 0, 7, 8, 765, 10, 167, 12, 13, 0, 0,
1781 83, 0, 14, 104, 0, 0, 0, 0, 0, 0,
1782 0, 1037, 1038, 9, 10, 0, 16, 0, 17, 18,
1783 19, 0, 0, 0, 20, -526, 0, 0, 0, 21,
1784 0, 0, 0, 23, 766, 0, 168, 0, 248, 248,
1785 248, 248, 26, 0, 27, 28, 0, 0, 767, 21,
1786 768, 7, 8, 9, 10, 0, 0, 558, 30, 0,
1787 0, 0, 26, 0, 27, 28, 0, 0, 31, 0,
1788 1039, 0, 0, 0, 396, 0, 32, 0, 193, 0,
1789 0, 33, 254, 0, 0, 0, 0, 51, 194, 21,
1790 0, 0, 0, 0, 0, 0, 32, -526, 248, 1159,
1791 145, 195, 26, 0, 27, 28, 0, 0, 192, 0,
1792 0, 0, 0, 0, 145, 145, 0, 634, 193, 0,
1793 0, 396, 0, 0, 910, 0, 0, 0, 194, 0,
1794 0, 0, 51, 0, 0, 0, 32, 643, 0, 0,
1795 0, 195, 0, 145, 0, 0, 0, 51, 0, 0,
1796 51, 0, 0, 0, 0, 0, 431, 431, 431, 0,
1797 0, 0, 51, 0, 0, 0, 0, 680, 76, 0,
1798 51, 0, 1159, 1159, 1159, 126, 0, 0, 0, 0,
1799 0, 0, 145, 634, 145, 145, 239, 634, 0, 0,
1800 0, 104, 0, 0, 0, 0, 203, 0, 51, 76,
1801 51, 0, 152, 152, 152, 0, 76, 0, 51, 0,
1802 983, 0, 0, 51, 0, 0, 51, 0, 0, 201,
1803 0, 213, 0, 0, 0, 0, 0, 0, 0, 145,
1804 0, 0, 0, 634, 51, 0, 0, 0, 0, 0,
1805 145, 145, 0, 145, 0, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 0, 0, 0, 983, 0, 0,
1807 134, 0, 0, 83, 558, 83, 0, 558, 0, 0,
1808 1049, 83, 83, 0, 7, 8, 9, 10, 83, 0,
1809 246, 248, 558, 558, 558, 0, 0, 248, 0, 0,
1810 0, 0, 0, 0, 145, 145, 145, 558, 0, 0,
1811 407, 0, 18, 0, 410, 0, 145, 0, 0, 0,
1812 0, 0, 21, 0, 0, 0, 0, 0, 619, 0,
1813 0, 0, 0, 0, 0, 26, 0, 27, 28, 76,
1814 0, 0, 0, 76, 0, 0, 0, 127, 128, 201,
1815 213, 946, 518, 0, 0, 254, 0, 0, 0, 0,
1816 0, 947, 0, 0, 0, 0, 0, 0, 558, 32,
1817 0, 622, 0, 0, 948, 624, 0, 0, 0, 0,
1818 0, 0, 0, 0, 0, 0, 0, 51, 0, 145,
1819 619, 145, 0, 0, 0, 0, 201, 26, 248, 130,
1820 131, 0, 145, 0, 248, 0, 910, 910, 910, 0,
1821 0, 396, 0, 620, 643, 127, 128, 0, 396, 215,
1822 216, 0, 0, 621, 0, 14, 51, 51, 51, 51,
1823 0, 0, 0, 622, 0, 0, 623, 624, 0, 0,
1824 259, 0, 0, 0, 0, 0, 248, 20, 248, 0,
1825 145, 145, 634, 0, 0, 0, 23, 0, 619, 0,
1826 0, 0, 0, 0, 0, 26, 0, 130, 131, 0,
1827 0, 0, 0, 51, 0, 0, 0, 51, 0, 0,
1828 0, 620, 0, 0, 51, 51, 0, 51, 0, 0,
1829 0, 621, 7, 8, 9, 10, 214, 215, 216, 910,
1830 0, 622, 0, 14, 623, 624, 0, 51, 0, 51,
1831 0, 0, 248, 0, 51, 51, 51, 434, 0, 0,
1832 18, 0, 51, 0, 0, 20, 0, 0, 248, 0,
1833 21, 1049, 0, 651, 23, 0, 619, 0, 0, 0,
1834 248, 0, 0, 26, 558, 27, 28, 0, 0, 469,
1835 0, 0, 0, 0, 0, 0, 0, 0, 0, 946,
1836 0, 0, 485, 0, 0, 83, 0, 0, 0, 947,
1837 0, 0, 0, 0, 248, 0, 248, 32, 201, 622,
1838 0, 0, 995, 624, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 7, 8, 9,
1840 10, 167, 12, 13, 248, 0, 1000, 0, 14, 145,
1841 145, 0, 145, 0, 0, 0, 76, 0, 0, 0,
1842 0, 0, 16, 0, 17, 18, 0, 0, 0, 0,
1843 20, 0, 0, 0, 0, 21, 0, 0, 0, 23,
1844 558, 558, 558, 0, 0, 0, 431, 254, 26, 0,
1845 27, 28, 0, 0, 201, 0, 0, 145, 145, 145,
1846 145, 634, 201, 0, 30, 145, 78, 0, 0, 0,
1847 0, 0, 983, 0, 31, 0, 0, 0, 0, 0,
1848 781, 0, 32, 0, 51, 51, 152, 33, 910, 910,
1849 910, 254, 78, 78, 0, 78, 0, 78, 0, 0,
1850 0, 0, 0, 0, 78, 0, 0, 0, 0, 983,
1851 8, 9, 0, 167, 12, 13, 0, 78, 0, 78,
1852 14, 145, 0, 0, 0, 0, 145, 0, 0, 7,
1853 8, 9, 10, 1187, 16, 13, 17, 18, 0, 0,
1854 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
1855 0, 681, 0, 0, 168, 0, 0, 18, 0, 0,
1856 26, 0, 130, 131, 0, 51, 0, 21, 0, 0,
1857 0, 0, 0, 0, 0, 0, 145, 145, 0, 145,
1858 26, 0, 27, 28, 0, 0, 254, 0, 0, 0,
1859 0, 0, 7, 8, 9, 10, 193, 0, 78, 51,
1860 0, 0, 78, 78, 1413, 0, 194, 0, 78, 0,
1861 0, 78, 78, 78, 32, 145, 634, 145, 0, 195,
1862 18, 0, 0, 201, 0, 0, 0, 78, 0, 0,
1863 21, 78, 0, 0, 248, 0, 749, 78, 78, 0,
1864 983, 755, 0, 26, 0, 27, 28, 0, 0, 0,
1865 7, 8, 9, 10, 0, 78, 78, 78, 0, 474,
1866 0, 0, 201, 952, 201, 201, 0, 0, 786, 475,
1867 254, 0, 0, 0, 792, 0, 159, 32, 0, 0,
1868 0, 0, 476, 0, 78, 0, 800, 801, 21, 802,
1869 0, 51, 51, 152, 152, 152, 0, 254, 204, 51,
1870 0, 26, 0, 27, 28, 0, 0, 1420, 0, 201,
1871 0, 0, 0, 1001, 0, 8, 9, 193, 205, 12,
1872 206, 78, 1187, 1187, 1187, 14, 0, 194, 0, 0,
1873 910, 0, 0, 0, 0, 32, 0, 0, 0, 16,
1874 195, 17, 18, 781, 0, 781, 0, 20, 0, 0,
1875 1047, 1054, 781, 0, 0, 51, 23, 0, 781, 0,
1876 51, 0, 0, 0, 0, 26, 0, 130, 131, 0,
1877 0, 0, 0, 0, 0, 0, 0, 7, 8, 9,
1878 10, 0, 0, 0, 897, 898, 0, 0, 0, 897,
1879 0, 0, 159, 159, 159, 0, 0, 0, 0, 0,
1880 0, 0, 0, 910, 910, 910, 0, 0, 0, 0,
1881 51, 51, 0, 51, 0, 21, 0, 642, 204, 0,
1882 0, 78, 248, 0, 0, 0, 0, 145, 26, 0,
1883 27, 28, 0, 0, 0, 0, 204, 204, 478, 0,
1884 0, 0, 0, 0, 193, 0, 0, 0, 0, 51,
1885 51, 51, 0, 0, 194, 0, 0, 0, 0, 0,
1886 0, 0, 32, 0, 0, 204, 78, 195, 0, 0,
1887 0, 0, 0, 0, 202, 0, 1350, 1351, 9, 10,
1888 0, 78, 0, 0, 78, 0, 0, 0, 0, 0,
1889 369, 371, 0, 0, 0, 0, 78, 0, 0, 257,
1890 0, 0, 261, 0, 78, 0, 0, 0, 0, 0,
1891 0, 0, 0, 0, 21, 0, 0, 0, 7, 8,
1892 9, 10, 0, 257, 13, 365, 0, 26, 0, 27,
1893 28, 0, 78, 0, 78, 1352, 78, 78, 78, 0,
1894 0, 531, 78, 193, 0, 0, 18, 78, 0, 0,
1895 78, 0, 1069, 194, 1071, 0, 21, 0, 0, 0,
1896 0, 32, 619, 0, 1187, 0, 195, 0, 78, 26,
1897 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
1898 0, 0, 0, 0, 0, 1155, 0, 0, 0, 0,
1899 0, 627, 627, 627, 202, 1156, 0, 0, 0, 0,
1900 0, 1047, 0, 32, 0, 622, 0, 0, 1157, 624,
1901 0, 0, 202, 202, 202, 0, 0, 0, 0, 0,
1902 0, 0, 484, 0, 0, 0, 1105, 1106, 0, 1108,
1903 0, 0, 0, 0, 0, 781, 0, 1187, 1187, 1187,
1904 0, 202, 0, 0, 0, 0, 0, 204, 0, 7,
1905 8, 9, 10, 167, 12, 13, 0, 1126, 0, 0,
1906 14, 51, 0, 0, 0, 0, 0, 261, 0, 0,
1907 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
1908 642, 257, 20, 0, 0, 0, 0, 21, 0, 0,
1909 0, 23, 0, 0, 168, 0, 0, 0, 0, 0,
1910 26, 0, 27, 28, 0, 0, 0, 0, 1161, 0,
1911 0, 78, 561, 204, 0, 204, 30, 478, 478, 478,
1912 0, 0, 0, 204, 0, 0, 31, 0, 204, 0,
1913 0, 204, 0, 0, 32, 0, 0, 8, 9, 33,
1914 167, 12, 13, 0, 34, 732, 0, 14, 0, 0,
1915 78, 78, 78, 78, 0, 0, 0, 0, 0, 0,
1916 0, 16, 0, 17, 18, 1350, 127, 128, 10, 20,
1917 0, 0, 0, 257, 261, 0, 0, 0, 23, 0,
1918 0, 1206, 0, 0, 0, 687, 0, 26, 0, 130,
1919 131, 1357, 0, 1211, 0, 0, 1357, 78, 0, 0,
1920 0, 78, 0, 21, 0, 0, 0, 0, 78, 78,
1921 0, 78, 0, 0, 0, 0, 26, 0, 27, 28,
1922 0, 0, 0, 202, 1352, 0, 0, 0, 0, 0,
1923 0, 78, 30, 78, 0, 0, 0, 0, 78, 78,
1924 78, 0, 31, 0, 0, 0, 78, 0, 0, 871,
1925 32, 734, 0, 0, 0, 33, 0, 0, 0, 0,
1926 0, 0, 0, 627, 627, 0, 627, 0, 0, 0,
1927 0, 0, 0, 627, 0, 0, 0, 0, 0, 1262,
1928 0, 0, 0, 0, 0, 201, 1425, 201, 0, 202,
1929 0, 202, 204, 202, 202, 202, 0, 0, 0, 202,
1930 0, 0, 0, 0, 202, 0, 0, 202, 0, 7,
1931 8, 9, 10, 0, 0, 518, 0, 0, 1275, 805,
1932 0, 0, 808, 0, 0, 0, 810, 811, 813, 814,
1933 815, 950, 0, 950, 950, 0, 627, 18, 0, 561,
1934 0, 0, 0, 0, 0, 0, 0, 21, 0, 0,
1935 0, 0, 832, 619, 0, 0, 0, 0, 0, 0,
1936 26, 0, 27, 28, 0, 0, 0, 0, 0, 0,
1937 0, 0, 642, 0, 0, 0, 946, 0, 950, 0,
1938 0, 0, 0, 1365, 0, 0, 947, 1366, 0, 204,
1939 204, 0, 204, 0, 32, 0, 622, 0, 0, 948,
1940 624, 0, 0, 0, 0, 0, 889, 0, 78, 78,
1941 78, 0, 0, 889, 0, 0, 0, 0, 0, 204,
1942 0, 0, 1382, 0, 0, 0, 0, 0, 0, 764,
1943 0, 7, 8, 765, 10, 167, 12, 13, 0, 0,
1944 0, 0, 14, 531, 531, 531, 0, 0, 0, 0,
1945 0, 0, 257, 261, 0, 627, 16, 1189, 17, 18,
1946 19, 0, 0, 0, 20, -527, 0, 0, 202, 21,
1947 0, 0, 0, 23, 766, 0, 168, 0, 0, 0,
1948 0, 0, 26, 0, 27, 28, 0, 0, 767, 78,
1949 768, 0, 0, 0, 0, 0, 0, 201, 30, 1441,
1950 0, 0, 0, 1442, 0, 0, 0, 202, 31, 202,
1951 202, 0, 0, 0, 0, 0, 32, 0, 0, 0,
1952 0, 33, 687, 78, 0, 1460, 1461, 0, 627, 0,
1953 627, 0, 0, 0, 0, 0, 0, -527, 0, 0,
1954 0, 627, 0, 0, 0, 627, 627, 627, 0, 0,
1955 0, 0, 0, 0, 202, 0, 0, 0, 0, 0,
1956 0, 0, 0, 0, 0, 202, 202, 0, 202, 0,
1957 734, 0, 0, 0, 0, 0, 734, 0, 0, 0,
1958 0, 0, 0, 0, 0, 0, 0, 0, 0, 950,
1959 950, 1160, 0, 0, 0, 202, 0, 0, 0, 0,
1960 0, 7, 8, 9, 10, 167, 12, 13, 0, 0,
1961 732, 0, 14, 0, 0, 78, 78, 78, 78, 78,
1962 0, 0, 0, 78, 0, 0, 16, 0, 17, 18,
1963 0, 0, 0, 0, 20, 0, 0, 0, 1160, 21,
1964 0, 0, 0, 23, 1099, 619, 1189, 1189, 1189, 1483,
1965 0, 0, 26, 0, 27, 28, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 1155, 0,
1967 204, 0, 0, 0, 0, 0, 0, 832, 1156, 78,
1968 0, 0, 0, 734, 78, 0, 32, 889, 622, 0,
1969 0, 1157, 624, 0, 0, 0, 0, 0, 0, 1484,
1970 571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
1971 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
1972 591, 592, 0, 0, 0, 687, 0, 1151, 257, 261,
1973 257, 889, 0, 0, 78, 78, 0, 78, 0, 0,
1974 0, 0, 0, 0, 0, 0, 0, 0, 871, 871,
1975 0, 871, 0, 0, 0, 7, 127, 128, 10, 0,
1976 0, 518, 0, 0, 0, 202, 202, 1158, 0, 0,
1977 102, 0, 257, 78, 78, 78, 0, 0, 889, 121,
1978 102, 0, 0, 18, 0, 0, 102, 102, 0, 102,
1979 0, 1193, 0, 21, 0, 0, 950, 950, 1160, 1160,
1980 1160, 0, 261, 0, 950, 0, 26, 734, 27, 28,
1981 0, 0, 0, 0, 1158, 0, 0, 0, 0, 734,
1982 0, 235, 30, 0, 0, 0, 0, 1160, 1160, 1160,
1983 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
1984 32, 0, 0, 0, 0, 33, 202, 0, 0, 0,
1985 0, 0, 0, 734, 0, 734, 0, 0, 0, 0,
1986 204, 0, 0, 0, 0, 0, 0, 484, 0, 0,
1987 7, 8, 9, 10, 214, 215, 216, 0, 0, 0,
1988 389, 14, 121, 1248, 0, 0, 0, 0, 1189, 102,
1989 102, 0, 0, 0, 0, 0, 102, 102, 18, 0,
1990 102, 102, 102, 20, 417, 102, 102, 102, 21, 0,
1991 0, 0, 23, 0, 619, 950, 950, 0, 950, 0,
1992 0, 26, 0, 27, 28, 0, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 193, 0, 0,
1994 889, 0, 0, 0, 0, 0, 0, 194, 0, 0,
1995 0, 257, 0, 0, 204, 32, 204, 0, 0, 0,
1996 1426, 1189, 1189, 1189, 0, 0, 0, 0, 0, 889,
1997 0, 0, 202, 202, 202, 202, 1158, 0, 1274, 0,
1998 202, 0, 0, 1335, 0, 78, 0, 0, 0, 0,
1999 0, 0, 0, 0, 235, 102, 0, 0, 0, 0,
2000 0, 0, 0, 1158, 1158, 1158, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 102, 0, 0, 0, 0,
2002 764, 0, 7, 8, 765, 10, 167, 12, 13, 0,
2003 0, 0, 0, 14, 0, 0, 202, 0, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
2005 18, 19, 0, 0, 102, 20, -529, 0, 0, 0,
2006 21, 0, 0, 0, 23, 766, 0, 168, 0, 478,
2007 0, 0, 0, 26, 0, 27, 28, 0, 0, 767,
2008 0, 768, 0, 0, 0, 0, 0, 0, 0, 30,
2009 0, 202, 202, 0, 202, 0, 0, 0, 0, 31,
2010 0, 0, 102, 0, 102, 102, 0, 32, 0, 0,
2011 0, 0, 33, 1193, 0, 0, 0, 0, 0, 0,
2012 0, 8, 9, 0, 167, 12, 13, 0, -529, 1551,
2013 202, 14, 202, 0, 0, 0, 0, 0, 0, 0,
2014 0, 0, 478, 478, 478, 16, 0, 17, 18, 102,
2015 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
2016 0, 0, 23, 0, 0, 0, 204, 0, 102, 0,
2017 0, 26, 0, 130, 131, 102, 0, 0, 102, 0,
2018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2019 102, 1428, 0, 1285, 1286, 1287, 10, 167, 12, 301,
2020 302, 303, 0, 304, 14, 1288, 0, 1289, 1290, 1291,
2021 1292, 1293, 1294, 1295, 1296, 1297, 1298, 15, 16, 305,
2022 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2023 310, 21, 311, 312, 1299, 23, 1300, 0, 0, 313,
2024 314, 315, 316, 317, 26, 1158, 1301, 319, 719, 0,
2025 1302, 320, 0, 0, 0, 0, 0, 321, 102, 0,
2026 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2027 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2028 0, 0, 0, 329, 561, 1303, 102, 0, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 0, 1429,
2030 330, 687, 577, 578, 579, 580, 581, 582, 583, 584,
2031 585, 586, 587, 588, 589, 590, 591, 592, 1158, 1158,
2032 1158, 0, 0, 0, 0, 1454, 0, -479, -479, -479,
2033 -479, -479, -479, -479, 0, 0, -479, 0, -479, 0,
2034 0, 0, 202, 0, 0, 0, 0, 0, 0, -479,
2035 0, -479, 0, 0, 0, -479, 0, 0, 0, 0,
2036 -479, 0, 102, 0, 0, -479, 0, 0, 0, -479,
2037 0, -479, 0, 102, 102, 0, 102, 102, -479, 0,
2038 -479, -479, -479, -479, -479, 0, -479, -479, -479, -479,
2039 -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
2040 -479, -479, -479, -479, -479, -479, -479, -479, -479, 0,
2041 -479, -479, -479, 0, -479, -479, -479, -479, -479, -479,
2042 0, -479, 0, 0, 0, 0, 1455, 0, 0, 102,
2043 0, -479, -479, -479, 0, -479, 102, 121, 0, 0,
2044 0, 0, 0, 0, 0, 0, 0, 0, 235, 0,
2045 0, 0, 0, 0, 0, 0, 0, 1284, 0, 1285,
2046 1286, 1287, 10, 167, 12, 301, 302, 303, 0, 304,
2047 14, 1288, 980, 1289, 1290, 1291, 1292, 1293, 1294, 1295,
2048 1296, 1297, 1298, 15, 16, 305, 17, 18, 19, 0,
2049 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2050 1299, 23, 1300, 0, 0, 313, 314, 315, 316, 317,
2051 26, 0, 1301, 319, 719, 0, 1302, 320, 0, 980,
2052 0, 0, 102, 321, 0, 0, 322, 0, 0, 0,
2053 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2054 0, 0, 326, 327, 328, 0, 0, 0, 0, 329,
2055 0, 1303, 0, 0, 0, 0, 102, 102, 102, 0,
2056 0, 0, 0, 0, 0, 0, 330, 0, 102, 0,
2057 553, 0, 300, 8, 9, 10, 167, 12, 301, 302,
2058 303, 732, 304, 14, 0, 0, 0, 0, 0, 0,
2059 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2060 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2061 21, 311, 312, 0, 23, 0, 619, 0, 313, 314,
2062 315, 316, 317, 26, 0, 27, 319, -312, 0, 0,
2063 320, 0, 0, 0, 0, 0, 321, 0, 0, 902,
2064 0, 102, 0, 102, 0, 0, 0, 323, 324, 903,
2065 0, 0, 0, 0, 102, 326, 327, 328, 0, 622,
2066 0, 0, 904, 624, 553, 0, 7, 8, 9, 10,
2067 167, 12, 301, 302, 303, 732, 304, 14, 0, 330,
2068 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2069 0, 16, 305, 17, 18, 19, 0, 306, 307, 20,
2070 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2071 619, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2072 28, -312, 0, 0, 320, 0, 0, 0, 0, 0,
2073 321, 0, 0, 1184, 0, 0, 0, 0, 0, 980,
2074 0, 323, 324, 1185, 0, 0, 0, 0, 0, 326,
2075 327, 328, 0, 622, 0, 0, 1186, 624, 731, 0,
2076 300, 8, 9, 10, 167, 12, 301, 302, 303, 732,
2077 304, 14, 0, 330, 0, 0, 0, 0, 0, 0,
2078 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2079 0, 306, 307, 20, 0, 308, 309, 310, 21, 311,
2080 312, 0, 23, 0, 0, 102, 313, 314, 315, 316,
2081 317, 26, 0, 27, 319, 0, 0, 0, 320, 0,
2082 0, 0, 0, 0, 321, 0, 0, 322, 0, 0,
2083 0, 0, 0, 0, 0, 323, 324, 325, 0, 0,
2084 0, 0, 0, 326, 327, 328, 0, 0, 0, 0,
2085 329, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2086 0, 102, 102, 0, 102, -799, 835, 330, 300, 8,
2087 9, 10, 167, 12, 301, 302, 303, 0, 304, 14,
2088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2089 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2090 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2091 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2092 0, 27, 319, 1528, 980, -789, 320, 0, 0, 0,
2093 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2094 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2095 0, 326, 327, 328, 0, 0, 0, 0, 329, 0,
2096 722, 980, 823, 824, 825, 10, 0, 12, 535, 302,
2097 303, 0, 304, 14, 0, 330, 102, 0, 102, 0,
2098 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2099 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2100 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2101 315, 316, 317, 26, 0, 826, 827, 723, 0, 0,
2102 320, 0, 0, 0, 0, 0, 321, 0, 0, 322,
2103 0, 0, 0, 0, 0, 0, 0, 323, 324, 325,
2104 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
2105 0, 0, 329, 828, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 0, 0, 0, 0, 0, 987, 330,
2107 553, 0, 300, 8, 9, 10, 0, 12, 301, 302,
2108 303, 0, 304, 14, 0, 0, 0, 0, 0, 0,
2109 0, 0, 980, 0, 0, 0, 0, 16, 305, 17,
2110 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2111 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2112 315, 316, 317, 26, 0, 27, 319, -312, 0, 0,
2113 320, 0, 0, 0, 0, 0, 321, 0, 0, 554,
2114 0, 0, 0, 0, 0, 0, 0, 323, 324, 555,
2115 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
2116 0, 722, 556, 823, 824, 825, 10, 0, 12, 535,
2117 302, 303, 0, 304, 14, 0, 0, 0, 0, 330,
2118 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2119 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2120 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2121 314, 315, 316, 317, 26, 0, 826, 827, 723, 0,
2122 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2123 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2124 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2125 0, 0, 0, 329, 828, 722, 0, 823, 824, 825,
2126 10, 0, 12, 535, 302, 303, 0, 304, 14, 0,
2127 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2128 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2129 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2130 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2131 826, 827, 723, 0, 0, 320, 0, 0, 0, 0,
2132 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2133 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2134 326, 327, 328, 0, 0, 0, 722, 329, 823, 824,
2135 825, 10, 0, 12, 535, 302, 303, 0, 304, 14,
2136 0, 0, 0, -483, 330, 0, 0, 0, 0, 0,
2137 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2138 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2139 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2140 0, 826, 827, 723, 0, 0, 320, 0, 0, 0,
2141 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2142 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2143 0, 326, 327, 328, 0, 0, 0, 722, 329, 300,
2144 8, 9, 10, 0, 12, 535, 302, 303, 0, 304,
2145 14, 0, 0, 0, 1323, 330, 0, 0, 0, 0,
2146 0, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2147 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2148 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2149 26, 0, 27, 319, 723, 0, 0, 320, 0, 0,
2150 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2151 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2152 0, 0, 326, 327, 328, 0, 0, 0, 0, 329,
2153 0, 553, 0, 7, 8, 9, 10, 1327, 12, 301,
2154 302, 303, 0, 304, 14, 0, 330, 0, 0, 0,
2155 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2156 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2157 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2158 314, 315, 316, 317, 26, 0, 27, 28, -312, 0,
2159 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2160 1499, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2161 1500, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2162 0, 0, 722, 1501, 300, 8, 9, 10, 0, 12,
2163 535, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2164 330, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2165 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
2166 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
2167 313, 314, 315, 316, 317, 26, 0, 27, 319, 723,
2168 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2169 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
2170 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
2171 0, 0, 0, 835, 329, 300, 8, 9, 10, 0,
2172 12, 535, 302, 303, 0, 304, 14, 0, 0, 0,
2173 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2174 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2175 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2176 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2177 0, 0, 0, 320, -789, 0, 0, 0, 0, 321,
2178 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2179 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2180 328, 0, 0, 0, 1580, 329, 300, 8, 9, 10,
2181 0, 12, 301, 302, 303, 0, 304, 14, 0, 0,
2182 0, 0, 330, 0, 0, 0, 0, 0, 0, 0,
2183 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2184 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2185 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2186 319, 0, 0, -196, 320, 0, 0, 0, 0, 0,
2187 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2188 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2189 327, 328, 0, 0, 0, 835, 329, 300, 8, 9,
2190 10, 0, 12, 535, 302, 303, 0, 304, 14, 0,
2191 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2192 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2193 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2194 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2195 27, 319, 0, 0, 0, 320, 0, 0, 0, 0,
2196 0, 321, 263, 0, 322, 8, 9, 0, 0, 12,
2197 13, 0, 323, 324, 325, 14, 0, 0, 0, 0,
2198 326, 327, 328, 0, 0, 0, 0, 329, 0, 16,
2199 0, 17, 0, 0, 0, 0, 0, 20, 0, 264,
2200 265, 0, -789, 0, 330, 0, 23, 0, 266, 0,
2201 0, 0, 0, 0, 0, 26, 0, 130, 131, 0,
2202 267, 0, 0, 0, 268, 269, 270, 271, 272, 273,
2203 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
2204 284, 285, 286, 287, 288, 0, 0, 289, 290, 291,
2205 0, 0, 292, 0, 924, 293, 300, 8, 9, 10,
2206 0, 12, 535, 302, 303, 0, 304, 14, 0, 0,
2207 0, 294, 0, 0, 0, 0, 0, 0, 0, 0,
2208 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2209 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2210 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2211 319, 0, 0, 0, 320, 0, 0, 0, 0, 0,
2212 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2213 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2214 327, 328, 0, 0, 0, 926, 329, 300, 8, 9,
2215 10, 0, 12, 535, 302, 303, 0, 304, 14, 0,
2216 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2217 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2218 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2219 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2220 27, 319, 0, 0, 0, 320, 0, 0, 0, 0,
2221 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2222 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2223 326, 327, 328, 0, 0, 0, 1512, 329, 300, 8,
2224 9, 10, 0, 12, 535, 302, 303, 0, 304, 14,
2225 0, 0, 0, 0, 330, 0, 0, 0, 0, 0,
2226 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2227 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2228 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2229 0, 27, 319, 0, 0, 0, 320, 0, 0, 0,
2230 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2231 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2232 0, 326, 327, 328, 300, 8, 9, 10, 329, 12,
2233 535, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2234 0, 0, 0, 0, 0, 330, 0, 0, 0, 16,
2235 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
2236 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
2237 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
2238 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2239 764, 322, 7, 8, 765, 10, 167, 12, 13, 323,
2240 324, 325, 0, 14, 0, 0, 0, 326, 327, 328,
2241 0, 0, 0, 0, 329, 0, 0, 16, 0, 17,
2242 18, 19, 0, 0, 0, 20, -528, 0, 0, 0,
2243 21, 330, 874, 0, 23, 766, 0, 168, 0, 0,
2244 0, 0, 0, 26, 0, 27, 28, 0, 0, 767,
2245 0, 768, 0, 0, 0, 0, 0, 0, 0, 30,
2246 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2247 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
2248 0, 0, 33, 0, 0, 1285, 1286, 1287, 10, 167,
2249 12, 301, 302, 303, 0, 304, 14, 1288, -528, 1289,
2250 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 15,
2251 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
2252 308, 309, 310, 21, 311, 312, 1299, 23, 1300, 0,
2253 0, 313, 314, 315, 316, 317, 26, 0, 1301, 319,
2254 719, 0, 1302, 320, 0, 0, 0, 0, 0, 321,
2255 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2256 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2257 328, 0, 0, 0, 0, 329, 0, 1303, 0, 0,
2258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2259 0, 1433, 330, 1285, 1286, 1287, 10, 167, 12, 301,
2260 302, 303, 0, 304, 14, 1288, 0, 1289, 1290, 1291,
2261 1292, 1293, 1294, 1295, 1296, 1297, 1298, 15, 16, 305,
2262 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2263 310, 21, 311, 312, 1299, 23, 1300, 0, 0, 313,
2264 314, 315, 316, 317, 26, 0, 1301, 319, 719, 0,
2265 1302, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2266 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2267 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2268 0, 0, 0, 329, 0, 1303, 0, 1285, 1286, 1287,
2269 10, 167, 12, 301, 302, 303, 0, 304, 14, 1288,
2270 330, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297,
2271 1298, 15, 16, 305, 17, 18, 19, 0, 306, 307,
2272 20, 0, 308, 309, 310, 21, 311, 312, 1299, 23,
2273 1300, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2274 1301, 319, 1557, 0, 1302, 320, 0, 0, 0, 0,
2275 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2276 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2277 326, 327, 328, 0, 0, 0, 0, 329, 0, 1303,
2278 0, 1285, 1286, 1287, 10, 167, 12, 301, 302, 303,
2279 0, 304, 14, 1288, 330, 1289, 1290, 1291, 1292, 1293,
2280 1294, 1295, 1296, 1297, 1298, 15, 16, 305, 17, 18,
2281 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2282 311, 312, 1299, 23, 1300, 0, 0, 313, 314, 315,
2283 316, 317, 26, 0, 1301, 319, 0, 0, 1302, 320,
2284 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2285 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2286 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2287 0, 329, 0, 1303, 300, 8, 9, 10, 167, 12,
2288 301, 302, 303, 732, 304, 14, 0, 0, 330, 0,
2289 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2290 305, 17, 18, 19, 0, 306, 307, 20, 0, 308,
2291 309, 310, 21, 311, 312, 0, 23, 0, 619, 0,
2292 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
2293 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2294 0, 902, 0, 0, 0, 0, 0, 0, 0, 323,
2295 324, 903, 0, 0, 0, 0, 0, 326, 327, 328,
2296 0, 622, 0, 0, 904, 624, 7, 8, 9, 10,
2297 167, 12, 301, 302, 303, 732, 304, 14, 0, 0,
2298 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2299 0, 16, 305, 17, 18, 19, 0, 306, 307, 20,
2300 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2301 619, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2302 28, 0, 0, 0, 320, 0, 0, 0, 0, 0,
2303 321, 0, 0, 1184, 0, 0, 0, 0, 0, 0,
2304 0, 323, 324, 1185, 0, 0, 0, 0, 0, 326,
2305 327, 328, 0, 622, 0, 0, 1186, 624, 7, 8,
2306 9, 10, 0, 12, 301, 302, 303, 0, 304, 14,
2307 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2308 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2309 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2310 23, 0, 619, 0, 313, 314, 315, 316, 317, 26,
2311 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
2312 0, 0, 321, 0, 0, 1184, 0, 0, 0, 0,
2313 0, 0, 0, 323, 324, 1185, 0, 0, 0, 0,
2314 0, 326, 327, 328, 0, 622, 0, 0, 1186, 624,
2315 300, 8, 9, 10, 0, 12, 535, 302, 303, 0,
2316 304, 14, 0, 0, 0, 330, 0, 0, 0, 0,
2317 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2318 0, 306, 307, 20, 0, 308, 309, 310, 21, 311,
2319 312, 0, 23, 0, 0, 0, 313, 314, 315, 316,
2320 317, 26, 0, 27, 319, 0, 0, 0, 320, 0,
2321 0, 0, 0, 0, 321, 0, 0, 554, 0, 0,
2322 0, 0, 0, 0, 0, 323, 324, 555, 0, 0,
2323 0, 0, 0, 326, 327, 328, 300, 8, 9, 10,
2324 556, 12, 535, 302, 303, 0, 304, 14, 0, 0,
2325 0, 0, 0, 0, 0, 0, 0, 330, 0, 0,
2326 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2327 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2328 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2329 319, 0, 0, 1406, 320, 0, 0, 0, 0, 0,
2330 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2331 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2332 327, 328, 0, 0, 0, 0, 329, 300, 8, 9,
2333 10, 167, 12, 301, 302, 303, 0, 304, 14, 0,
2334 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2335 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
2336 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2337 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2338 27, 319, 0, 0, 0, 0, 0, 0, 0, 0,
2339 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2340 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2341 326, 327, 328, 7, 8, 9, 10, 329, 12, 535,
2342 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2343 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2344 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2345 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2346 314, 315, 316, 317, 26, 0, 27, 28, 0, 0,
2347 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2348 1499, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2349 1500, 0, 0, 0, 0, 0, 326, 327, 328, 300,
2350 8, 9, 10, 1501, 12, 301, 302, 303, 0, 304,
2351 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2352 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2353 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2354 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2355 26, 0, 318, 319, 0, 0, 0, 320, 0, 0,
2356 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2357 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2358 0, 0, 326, 327, 328, 300, 8, 9, 10, 329,
2359 12, 301, 302, 303, 0, 304, 14, 0, 0, 0,
2360 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
2361 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2362 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2363 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2364 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2365 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2366 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2367 328, 300, 8, 9, 10, 329, 12, 535, 302, 303,
2368 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2369 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
2370 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2371 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2372 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
2373 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2374 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2375 0, 0, 0, 0, 326, 327, 328, 300, 8, 9,
2376 10, 329, 12, 535, 302, 303, 0, 304, 14, 0,
2377 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
2378 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2379 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2380 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2381 27, 319, 568, 0, 0, 0, 0, 0, 0, 0,
2382 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2383 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2384 326, 327, 328, 300, 8, 9, 10, 569, 12, 535,
2385 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2386 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2387 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2388 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2389 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
2390 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
2391 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2392 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2393 0, 0, 0, 329, 607, 300, 8, 9, 10, 0,
2394 12, 535, 302, 303, 0, 304, 14, 0, 0, 0,
2395 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2396 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
2397 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2398 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2399 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
2400 0, 0, 554, 0, 0, 0, 0, 0, 0, 0,
2401 323, 324, 555, 0, 0, 0, 0, 0, 326, 327,
2402 328, 1144, 8, 9, 10, 556, 12, 535, 302, 303,
2403 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2404 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
2405 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2406 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2407 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
2408 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2409 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2410 0, 0, 0, 0, 326, 327, 328, 7, 8, 9,
2411 10, 329, 12, 301, 302, 303, 0, 304, 14, 0,
2412 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
2413 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
2414 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2415 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2416 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2417 0, 321, 0, 0, 1499, 0, 0, 0, 0, 0,
2418 0, 0, 323, 324, 1500, 0, 0, 0, 0, 0,
2419 326, 327, 328, 300, 8, 9, 10, 1501, 12, 535,
2420 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2421 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2422 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2423 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2424 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
2425 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
2426 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2427 325, 0, 0, 0, 0, 0, 326, 327, 328, 300,
2428 8, 9, 10, 536, 12, 535, 302, 303, 0, 304,
2429 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2430 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2431 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2432 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2433 26, 0, 27, 319, 0, 0, 0, 0, 0, 0,
2434 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2435 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2436 0, 0, 326, 327, 328, 300, 8, 9, 10, 539,
2437 12, 535, 302, 303, 0, 304, 14, 0, 0, 0,
2438 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
2439 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2440 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2441 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2442 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
2443 0, 6, 322, 7, 8, 9, 10, 11, 12, 13,
2444 323, 324, 325, 0, 14, 0, 0, 0, 326, 327,
2445 328, 0, 0, 0, 0, 329, 0, 15, 16, 0,
2446 17, 18, 19, 0, 0, 0, 20, 0, 0, 0,
2447 0, 21, 330, 0, 22, 23, 24, 0, 25, 0,
2448 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
2449 29, 0, 7, 8, 9, 10, 0, 0, 246, 0,
2450 30, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2451 31, 7, 8, 9, 10, 167, 12, 13, 32, 0,
2452 18, 0, 14, 33, 0, 0, 0, 0, 34, 0,
2453 21, 0, 0, 0, 0, 0, 16, 0, 17, 18,
2454 19, 0, 0, 26, 20, 27, 28, 0, 0, 21,
2455 0, 0, 0, 23, 0, 0, 168, 0, 0, 193,
2456 0, 0, 26, 0, 27, 28, 0, 0, 764, 194,
2457 7, 8, 765, 10, 167, 12, 13, 32, 30, 0,
2458 0, 14, 195, 0, 0, 0, 0, 0, 31, 0,
2459 0, 0, 0, 0, 0, 16, 32, 17, 18, 19,
2460 0, 33, 0, 20, 0, 0, 34, 0, 21, 0,
2461 0, 0, 23, 766, 0, 168, 0, 0, 0, 0,
2462 0, 26, 0, 27, 28, 0, 0, 767, 0, 768,
2463 0, 0, 0, 0, 0, 0, 6, 30, 7, 8,
2464 9, 10, 11, 12, 13, 0, 0, 31, 0, 14,
2465 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
2466 33, 0, 0, 16, 0, 17, 18, 0, 0, 0,
2467 0, 20, 0, 0, 0, 0, 21, 0, 0, 0,
2468 23, 0, 0, 438, 0, 0, 0, 0, 0, 26,
2469 0, 27, 28, 0, 0, 29, 0, -387, 8, 9,
2470 -387, -387, 12, 246, 0, 30, 0, 0, 14, 0,
2471 0, 0, 0, 0, 0, 31, 0, 0, 0, 0,
2472 0, 0, 16, 32, 17, -387, 0, 0, 33, 0,
2473 20, 0, 0, 0, 0, -387, 0, 0, 0, 23,
2474 0, 619, 0, 0, 0, 0, 0, 0, 26, 0,
2475 130, 131, 7, 8, 9, 10, 205, 12, 206, 0,
2476 0, 0, 0, 14, 620, 0, 0, 0, 0, 0,
2477 0, 0, 0, 0, 621, 0, 0, 16, 0, 17,
2478 18, 0, -387, 0, 622, 20, 0, 623, 624, 0,
2479 21, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2480 0, 0, 0, 26, 0, 27, 28, 0, 0, 207,
2481 0, 1037, 8, 765, 10, 205, 12, 206, 0, 30,
2482 0, 0, 14, 0, 0, 0, 0, 0, 0, 31,
2483 0, 0, 0, 0, 0, 0, 16, 32, 17, 18,
2484 0, 0, 33, 0, 20, 0, 0, 0, 0, 21,
2485 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
2486 0, 0, 26, 0, 27, 28, 0, 0, 0, 0,
2487 1039, 0, 0, 0, 0, 0, 0, 0, 30, 7,
2488 8, 9, 10, 205, 12, 206, 0, 0, 31, 0,
2489 14, 0, 0, 0, 0, 0, 32, 0, 0, 0,
2490 0, 33, 0, 0, 16, 0, 17, 18, 0, 0,
2491 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
2492 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
2493 26, 0, 27, 28, 0, 0, 1423, 0, 7, 8,
2494 9, 10, 167, 12, 13, 0, 30, 0, 0, 14,
2495 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2496 0, 0, 0, 16, 32, 17, 18, 0, 0, 33,
2497 0, 20, 0, 0, 0, 0, 21, 0, 0, 0,
2498 23, 0, 0, 0, 0, 0, 0, 0, 0, 26,
2499 0, 27, 28, 7, 8, 9, 10, 205, 12, 206,
2500 0, 0, 0, 0, 14, 30, 0, 0, 0, 0,
2501 7, 8, 9, 10, 0, 31, 13, 0, 16, 0,
2502 17, 18, 0, 32, 0, 0, 20, 0, 33, 0,
2503 0, 21, 0, 0, 0, 23, 0, 0, 18, 0,
2504 0, 0, 0, 0, 26, 0, 27, 28, 21, 0,
2505 0, 7, 8, 9, 10, 0, 0, 518, 0, 0,
2506 30, 26, 0, 27, 28, 0, 0, 0, 0, 0,
2507 31, 0, 0, 0, 0, 0, 0, 474, 32, 18,
2508 0, 0, 0, 33, 0, 0, 0, 475, 0, 21,
2509 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
2510 476, 0, 26, 0, 27, 28, 0, 0, 0, 0,
2511 18, 0, 0, 0, 0, 0, 0, 0, 193, 0,
2512 0, 0, 0, 0, 0, 0, 0, 0, 194, 0,
2513 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
2514 0, 195, 571, 572, 573, 574, 575, 576, 577, 578,
2515 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
2516 589, 590, 591, 592, 571, 572, 573, 574, 575, 576,
2517 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2518 587, 588, 589, 590, 591, 592, 571, 572, 573, 574,
2519 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2520 585, 586, 587, 588, 589, 590, 591, 592, 0, 0,
2521 0, 0, 1238, 0, 0, 0, 0, 0, 0, 0,
2522 0, 0, 0, 0, 0, 0, 0, 660, 0, 0,
2523 1547, 571, 572, 573, 574, 575, 576, 577, 578, 579,
2524 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
2525 590, 591, 592, 1565, 571, 572, 573, 574, 575, 576,
2526 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2527 587, 588, 589, 590, 591, 592, 571, 572, 573, 574,
2528 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2529 585, 586, 587, 588, 589, 590, 591, 592, 571, 572,
2530 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
2531 0, 584, 585, 586, 587, 588, 589, 590, 591, 592,
2532 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2533 585, 586, 587, 588, 589, 590, 591, 592, 576, 577,
2534 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
2535 588, 589, 590, 591, 592, 578, 579, 580, 581, 582,
2536 583, 584, 585, 586, 587, 588, 589, 590, 591, 592
2539 static const short yycheck
[] = { 4,
2540 174, 149, 150, 176, 23, 209, 55, 161, 175, 4,
2541 349, 126, 717, 402, 80, 455, 156, 14, 4, 402,
2542 251, 90, 4, 92, 46, 42, 482, 355, 355, 566,
2543 35, 134, 80, 304, 305, 42, 863, 42, 84, 623,
2544 35, 373, 59, 247, 133, 134, 630, 699, 716, 35,
2545 4, 1304, 57, 35, 76, 402, 42, 42, 603, 646,
2546 42, 503, 692, 787, 1481, 1388, 337, 72, 137, 793,
2547 124, 62, 217, 218, 54, 133, 30, 31, 144, 84,
2548 42, 35, 460, 88, 4, 90, 83, 92, 42, 440,
2549 209, 769, 296, 771, 1482, 763, 42, 11, 1504, 218,
2550 778, 11, 107, 108, 60, 4, 1480, 11, 47, 106,
2551 33, 47, 0, 700, 7, 35, 12, 59, 1524, 490,
2552 560, 37, 42, 12, 355, 33, 175, 54, 356, 357,
2553 84, 136, 137, 0, 139, 62, 35, 203, 509, 1314,
2554 1, 4, 47, 42, 37, 349, 1321, 74, 62, 140,
2555 9, 1525, 169, 109, 93, 94, 1, 93, 165, 74,
2556 165, 1, 169, 59, 169, 156, 62, 109, 624, 108,
2557 59, 176, 35, 62, 1562, 155, 900, 1583, 59, 42,
2558 408, 409, 136, 169, 169, 84, 109, 169, 93, 94,
2559 1607, 213, 209, 109, 108, 149, 150, 58, 108, 538,
2560 217, 218, 61, 108, 108, 33, 57, 169, 4, 5,
2561 47, 165, 108, 58, 262, 169, 136, 62, 58, 62,
2562 200, 212, 62, 169, 74, 54, 48, 108, 1481, 220,
2563 247, 4, 4, 62, 47, 25, 47, 136, 1528, 193,
2564 194, 149, 150, 151, 1567, 165, 237, 47, 1622, 169,
2565 95, 248, 4, 47, 93, 95, 93, 346, 54, 93,
2566 56, 57, 35, 35, 916, 108, 165, 919, 58, 60,
2567 169, 108, 62, 136, 70, 3, 4, 5, 718, 296,
2568 93, 94, 93, 35, 80, 136, 1576, 195, 346, 358,
2569 393, 93, 297, 93, 448, 108, 342, 108, 94, 93,
2570 1024, 25, 165, 27, 74, 95, 169, 58, 960, 961,
2571 1485, 941, 1036, 59, 306, 307, 643, 862, 109, 74,
2572 904, 149, 150, 151, 329, 176, 474, 475, 56, 57,
2573 322, 385, 349, 325, 58, 682, 328, 342, 62, 331,
2574 672, 486, 487, 335, 59, 350, 1070, 98, 1072, 494,
2575 739, 343, 80, 358, 359, 404, 739, 60, 355, 1534,
2576 711, 712, 108, 508, 948, 4, 5, 195, 487, 4,
2577 5, 95, 62, 93, 60, 59, 107, 25, 54, 27,
2578 12, 612, 527, 1061, 74, 47, 62, 47, 342, 406,
2579 47, 60, 54, 108, 182, 27, 735, 402, 74, 31,
2580 405, 25, 3, 4, 5, 359, 109, 64, 945, 1584,
2581 58, 995, 74, 48, 62, 47, 402, 56, 57, 647,
2582 1247, 56, 57, 109, 108, 442, 1013, 59, 60, 498,
2583 62, 93, 64, 93, 27, 442, 93, 442, 31, 359,
2584 1209, 1210, 25, 342, 27, 901, 47, 95, 402, 25,
2585 60, 27, 47, 54, 1223, 56, 57, 442, 506, 450,
2586 359, 93, 94, 468, 533, 4, 5, 60, 58, 486,
2587 487, 64, 62, 54, 496, 58, 108, 494, 38, 62,
2588 4, 5, 58, 1135, 1136, 9, 62, 865, 442, 47,
2589 31, 508, 93, 498, 54, 59, 359, 58, 93, 94,
2590 1168, 506, 493, 402, 74, 44, 64, 54, 359, 47,
2591 527, 75, 95, 77, 468, 54, 109, 56, 57, 95,
2592 474, 475, 442, 54, 506, 47, 58, 74, 533, 59,
2593 54, 536, 56, 57, 539, 93, 710, 1205, 543, 544,
2594 545, 546, 547, 442, 984, 75, 70, 47, 8, 9,
2595 1377, 556, 506, 942, 14, 93, 80, 47, 604, 942,
2596 109, 566, 554, 555, 569, 47, 474, 475, 476, 468,
2597 673, 93, 1014, 1157, 1016, 803, 36, 680, 1020, 442,
2598 1349, 54, 910, 910, 12, 45, 506, 59, 60, 1358,
2599 1359, 680, 1361, 93, 94, 942, 54, 54, 47, 604,
2600 649, 74, 1186, 93, 94, 47, 675, 506, 812, 93,
2601 54, 93, 757, 47, 47, 64, 74, 74, 623, 3,
2602 4, 5, 6, 54, 480, 630, 94, 3, 4, 5,
2603 74, 59, 488, 650, 62, 906, 64, 634, 54, 688,
2604 54, 690, 691, 506, 93, 94, 474, 475, 476, 47,
2605 604, 93, 47, 1109, 47, 506, 47, 41, 74, 93,
2606 93, 108, 681, 54, 48, 62, 620, 621, 1336, 623,
2607 675, 54, 56, 57, 691, 62, 630, 74, 54, 910,
2608 56, 57, 58, 74, 689, 75, 735, 74, 693, 62,
2609 3, 4, 5, 6, 109, 93, 80, 716, 93, 47,
2610 93, 74, 93, 47, 88, 604, 47, 935, 108, 47,
2611 62, 1089, 1090, 54, 33, 800, 801, 802, 735, 788,
2612 789, 769, 791, 771, 623, 4, 5, 776, 41, 777,
2613 778, 630, 58, 74, 739, 48, 784, 108, 64, 108,
2614 757, 1510, 1511, 56, 57, 93, 3, 4, 5, 93,
2615 772, 773, 93, 4, 5, 93, 108, 11, 9, 781,
2616 1202, 1203, 1204, 98, 769, 1104, 771, 80, 908, 48,
2617 8, 9, 777, 778, 60, 88, 14, 56, 57, 784,
2618 3, 47, 787, 788, 789, 739, 791, 769, 793, 771,
2619 107, 108, 4, 5, 968, 812, 778, 54, 36, 56,
2620 57, 80, 784, 54, 1182, 56, 57, 45, 93, 47,
2621 4, 5, 60, 1191, 1192, 769, 111, 771, 1196, 70,
2622 86, 87, 4, 5, 778, 91, 92, 93, 94, 80,
2623 784, 150, 151, 787, 59, 60, 1064, 1065, 1066, 793,
2624 739, 74, 54, 94, 56, 57, 62, 1105, 1106, 769,
2625 1108, 771, 31, 94, 48, 93, 861, 75, 778, 77,
2626 1238, 866, 56, 57, 784, 1570, 48, 94, 983, 62,
2627 769, 44, 771, 93, 56, 57, 195, 4, 5, 778,
2628 111, 54, 874, 93, 57, 784, 80, 953, 787, 894,
2629 59, 60, 4, 5, 793, 900, 54, 74, 80, 904,
2630 3, 4, 5, 6, 62, 59, 769, 74, 771, 74,
2631 902, 903, 74, 910, 54, 778, 74, 908, 769, 11,
2632 771, 784, 62, 59, 60, 776, 777, 778, 109, 56,
2633 57, 59, 3, 784, 74, 6, 108, 942, 41, 944,
2634 945, 74, 54, 948, 56, 57, 900, 27, 902, 903,
2635 904, 31, 108, 56, 57, 1333, 942, 108, 70, 1399,
2636 31, 59, 141, 54, 108, 27, 64, 146, 80, 31,
2637 41, 62, 760, 54, 1313, 1415, 74, 75, 1027, 59,
2638 60, 74, 1048, 74, 64, 56, 57, 74, 942, 108,
2639 995, 109, 946, 947, 948, 783, 1374, 59, 60, 70,
2640 1048, 900, 109, 1008, 108, 904, 54, 1155, 1156, 80,
2641 329, 111, 329, 1061, 62, 194, 111, 88, 1040, 1024,
2642 59, 60, 93, 27, 1046, 1047, 74, 74, 1050, 1051,
2643 1258, 1036, 1054, 4, 5, 111, 1184, 1185, 4, 5,
2644 948, 995, 59, 942, 1113, 3, 4, 5, 6, 948,
2645 83, 84, 3, 4, 5, 74, 1061, 74, 75, 54,
2646 77, 59, 60, 74, 1504, 1070, 111, 1072, 59, 60,
2647 1024, 80, 81, 82, 83, 84, 108, 48, 108, 1061,
2648 259, 47, 1036, 41, 1524, 56, 57, 995, 54, 58,
2649 56, 57, 108, 1159, 108, 1100, 995, 48, 56, 57,
2650 3, 4, 5, 6, 70, 56, 57, 1061, 1113, 80,
2651 429, 430, 54, 1553, 80, 8, 1070, 111, 1072, 1111,
2652 948, 59, 60, 93, 90, 1024, 47, 93, 94, 1518,
2653 88, 59, 60, 59, 60, 1518, 59, 1036, 41, 1312,
2654 64, 1061, 109, 1583, 1311, 48, 1313, 93, 465, 1168,
2655 54, 1591, 1157, 56, 57, 60, 475, 476, 7, 8,
2656 9, 14, 1061, 36, 64, 14, 64, 995, 64, 22,
2657 60, 1070, 1220, 1072, 1179, 108, 1027, 80, 108, 62,
2658 64, 1186, 31, 1522, 1179, 88, 108, 36, 108, 108,
2659 108, 108, 1184, 1185, 64, 1200, 45, 1179, 1061, 64,
2660 111, 1155, 1156, 1157, 75, 62, 108, 3, 4, 5,
2661 1061, 60, 65, 4, 5, 75, 108, 536, 62, 536,
2662 539, 108, 539, 108, 75, 1179, 543, 75, 75, 108,
2663 1184, 1185, 1186, 108, 1612, 62, 555, 556, 59, 556,
2664 419, 1029, 1030, 422, 3, 4, 5, 1155, 1156, 1157,
2665 569, 62, 569, 108, 108, 434, 573, 48, 1157, 1179,
2666 56, 57, 1311, 108, 1313, 56, 57, 3, 4, 5,
2667 1058, 124, 111, 111, 94, 88, 1184, 1185, 1186, 74,
2668 1179, 47, 108, 108, 601, 109, 108, 1186, 111, 80,
2669 607, 470, 111, 472, 108, 148, 1313, 56, 57, 1304,
2670 108, 4, 5, 108, 60, 109, 485, 1312, 59, 1314,
2671 64, 630, 1304, 402, 64, 93, 1321, 59, 1522, 1314,
2672 56, 57, 1304, 108, 59, 1330, 1321, 1155, 1156, 1157,
2673 59, 108, 1314, 93, 1356, 1357, 93, 30, 31, 1321,
2674 33, 93, 1496, 108, 93, 48, 3, 4, 5, 111,
2675 1304, 1499, 1500, 56, 57, 108, 1184, 1185, 1186, 8,
2676 1314, 109, 109, 108, 57, 108, 59, 1321, 108, 108,
2677 108, 33, 65, 64, 111, 109, 1550, 80, 54, 468,
2678 108, 3, 4, 5, 1304, 238, 239, 3, 4, 5,
2679 6, 3, 4, 5, 1314, 7, 8, 9, 251, 56,
2680 57, 1321, 108, 1425, 108, 1304, 3, 4, 5, 108,
2681 7, 8, 9, 108, 108, 1314, 108, 62, 47, 31,
2682 108, 111, 1321, 108, 36, 41, 108, 1215, 1216, 96,
2683 1218, 1219, 48, 1221, 56, 57, 58, 62, 62, 60,
2684 56, 57, 54, 60, 56, 57, 58, 9, 141, 60,
2685 16, 60, 108, 146, 108, 108, 149, 150, 151, 56,
2686 57, 108, 108, 193, 194, 195, 108, 108, 321, 108,
2687 1475, 60, 88, 93, 1523, 1480, 1481, 1482, 93, 54,
2688 1485, 64, 17, 176, 111, 1480, 93, 806, 93, 182,
2689 1485, 103, 104, 105, 54, 60, 1501, 107, 1480, 1481,
2690 193, 194, 195, 1485, 97, 1522, 108, 1499, 1500, 60,
2691 363, 11, 108, 1518, 108, 60, 209, 108, 1426, 372,
2692 1525, 1475, 60, 60, 217, 218, 1480, 1481, 1482, 1534,
2693 1525, 1485, 385, 1555, 623, 93, 59, 64, 108, 1534,
2694 60, 630, 11, 1525, 108, 1499, 1500, 3, 4, 5,
2695 60, 108, 1534, 870, 11, 60, 0, 1562, 1346, 1347,
2696 1480, 1481, 0, 0, 1518, 1485, 259, 746, 747, 170,
2697 749, 1525, 2, 35, 673, 1413, 1475, 942, 442, 1584,
2698 1534, 1480, 1481, 1482, 903, 904, 1485, 904, 169, 1584,
2699 1549, 1499, 1500, 1501, 3, 4, 5, 165, 1426, 777,
2700 56, 57, 1584, 1168, 94, 1525, 238, 139, 1562, 1398,
2701 1622, 1248, 299, 928, 1534, 723, 923, 1622, 1336, 1518,
2702 243, 3, 4, 5, 6, 1205, 1525, 1622, 777, 948,
2703 1584, 784, 656, 1222, 921, 1534, 329, 200, 346, 48,
2704 1622, 88, 604, 90, 124, 92, 1314, 56, 57, 502,
2705 739, 1180, 1570, 1591, 1539, 1603, 3, 4, 5, 41,
2706 1448, 1449, 1450, 1562, 1584, 1330, 48, 1601, 1622, 1003,
2707 -1, 1499, 1500, 1501, 56, 57, 995, 1, -1, 3,
2708 4, 5, 6, 30, 8, 1584, -1, -1, -1, -1,
2709 137, -1, 139, -1, 3, 4, 5, -1, 787, 3,
2710 4, 5, 1622, -1, 793, -1, 88, 54, -1, 56,
2711 57, -1, 405, 406, -1, 568, -1, 41, -1, 1507,
2712 1508, -1, -1, 1622, 48, -1, 419, -1, -1, 422,
2713 54, -1, 56, 57, -1, 428, 429, 430, -1, -1,
2714 470, 434, 472, -1, 474, 475, 476, 56, 57, -1,
2715 54, -1, 56, 57, -1, 485, -1, 9, -1, 612,
2716 12, -1, -1, -1, 88, 3, 4, 5, 947, -1,
2717 78, 79, 80, 81, 82, 83, 84, 470, -1, 472,
2718 -1, 474, 475, 476, -1, -1, 479, 1575, -1, -1,
2719 -1, -1, 485, 486, 487, 47, -1, 490, -1, -1,
2720 -1, 494, -1, -1, -1, -1, -1, 59, -1, 61,
2721 62, 900, 64, -1, -1, 904, 509, -1, 56, 57,
2722 -1, -1, -1, 75, -1, 77, -1, 80, 681, -1,
2723 -1, -1, -1, -1, -1, -1, -1, 1156, 1157, 692,
2724 -1, 93, 94, 536, -1, -1, 539, 3, 4, 5,
2725 6, 104, -1, 942, -1, -1, 108, -1, -1, 948,
2726 -1, 554, 555, 556, -1, -1, 1185, 1186, -1, 1186,
2727 723, -1, -1, 320, -1, -1, 569, -1, -1, -1,
2728 133, -1, -1, 1200, -1, 41, -1, -1, -1, -1,
2729 -1, 144, 48, -1, -1, 3, 4, 5, 6, -1,
2730 56, 57, -1, -1, -1, -1, 995, -1, -1, -1,
2731 -1, 358, -1, -1, -1, -1, -1, 1234, 1235, 1236,
2732 1237, -1, -1, -1, 80, -1, -1, 7, 8, 9,
2733 38, 39, 88, 41, 14, 1024, -1, 630, 3, 4,
2734 5, 6, -1, -1, 9, -1, 54, 1036, 56, 57,
2735 203, 31, -1, -1, -1, -1, 36, 650, 4, 5,
2736 -1, -1, -1, 9, -1, 45, 31, -1, -1, -1,
2737 461, -1, -1, -1, 1153, 1154, 41, 468, -1, 461,
2738 1297, 1070, 1161, 1072, -1, 238, 468, -1, -1, 54,
2739 -1, 56, 57, -1, -1, -1, 689, -1, 691, 692,
2740 -1, 47, -1, -1, -1, 70, -1, -1, 54, 262,
2741 56, 57, -1, 460, 461, 80, 746, 747, -1, 749,
2742 -1, 468, -1, 88, 70, -1, -1, -1, 93, -1,
2743 -1, 7, 8, 9, 80, -1, -1, -1, 14, -1,
2744 -1, -1, 735, 534, 90, -1, 776, 93, 94, -1,
2745 -1, 498, 534, 746, 747, 31, 749, -1, 1375, -1,
2746 36, -1, -1, -1, 757, -1, -1, 760, 1157, 45,
2747 -1, -1, -1, -1, -1, 928, -1, -1, -1, -1,
2748 -1, -1, -1, -1, 777, -1, 533, 534, 941, -1,
2749 783, 1408, -1, 1272, 1273, -1, 1275, 1186, -1, -1,
2750 -1, 354, -1, 594, -1, -1, -1, 1426, -1, 600,
2751 -1, -1, 594, 806, -1, -1, -1, -1, 600, 566,
2752 -1, 568, -1, -1, 571, 572, -1, 574, 575, 576,
2753 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2754 587, 588, 589, 590, 591, 592, 637, 594, 630, 3,
2755 4, 5, 6, 600, -1, 637, -1, -1, 1475, 412,
2756 -1, -1, -1, -1, 1481, 1482, -1, -1, -1, -1,
2757 755, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2758 -1, 1500, 1501, 630, 1501, -1, -1, 41, -1, -1,
2759 637, -1, -1, -1, 48, -1, -1, -1, -1, -1,
2760 -1, 786, 56, 57, -1, -1, -1, 792, -1, 902,
2761 903, 904, 659, 660, -1, -1, 946, 947, 948, 4,
2762 5, -1, -1, 8, 9, -1, 80, -1, 675, 14,
2763 -1, -1, -1, -1, 88, -1, -1, 1090, -1, -1,
2764 3, 4, 5, 6, -1, 1562, -1, -1, 941, 502,
2765 -1, 36, -1, 946, 947, 948, -1, -1, -1, -1,
2766 45, 1578, 47, -1, -1, 995, -1, -1, -1, 54,
2767 -1, 56, 57, -1, -1, -1, 723, 530, 41, -1,
2768 -1, -1, -1, 1600, -1, 70, -1, -1, -1, -1,
2769 1607, 54, -1, 56, 57, 80, -1, 1027, -1, 3,
2770 4, 5, 995, 7, -1, 90, -1, -1, 93, 94,
2771 895, -1, 897, -1, -1, -1, -1, -1, -1, -1,
2772 -1, 768, -1, 1176, 806, 88, 30, -1, -1, 1182,
2773 348, 349, 350, 37, -1, -1, 1029, 1030, -1, -1,
2774 -1, 788, 789, -1, 791, -1, -1, -1, -1, -1,
2775 54, -1, 56, 57, -1, -1, -1, -1, -1, 806,
2776 -1, -1, -1, -1, 617, 1058, -1, -1, -1, 860,
2777 861, -1, -1, -1, -1, 866, -1, -1, 860, 861,
2778 633, 828, -1, -1, 866, -1, -1, -1, -1, 880,
2779 -1, 882, -1, 884, -1, -1, -1, -1, 880, -1,
2780 882, -1, 884, -1, 3, 4, 5, 6, -1, -1,
2781 -1, -1, -1, 860, 861, -1, -1, -1, 865, 866,
2782 -1, -1, -1, 1153, 1154, 1155, 1156, 1157, -1, 1518,
2783 -1, 1161, -1, 880, -1, 882, -1, 884, -1, 930,
2784 -1, -1, 41, -1, -1, 1298, 1299, -1, 930, 48,
2785 3, 4, 5, 6, 1184, 1185, 1186, 56, 57, -1,
2786 1153, 1154, 1155, 1156, 1157, -1, -1, -1, 1161, -1,
2787 -1, -1, -1, 920, -1, -1, -1, -1, -1, -1,
2788 -1, -1, -1, 930, 1069, 976, 1071, 1217, 41, 88,
2789 -1, 1184, 1185, 1186, 976, -1, -1, -1, 945, -1,
2790 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
2791 -1, 958, -1, 995, -1, -1, -1, 70, -1, -1,
2792 -1, -1, 1215, 1216, -1, 1218, 1219, 80, 1221, 976,
2793 -1, -1, -1, -1, -1, 88, -1, 1390, -1, -1,
2794 93, 1126, 1272, 1273, -1, 1275, 4, 5, 995, -1,
2795 8, 9, -1, -1, -1, -1, 14, 4, -1, 1412,
2796 1413, -1, 3, 4, 5, 6, -1, 14, 9, -1,
2797 28, -1, 30, -1, -1, -1, -1, 24, 36, 1272,
2798 1273, -1, 1275, 30, 31, -1, 33, 45, 35, -1,
2799 31, -1, 1039, -1, -1, 42, 54, -1, 56, 57,
2800 41, -1, 620, 621, -1, -1, -1, -1, 55, -1,
2801 57, -1, -1, 54, -1, 56, 57, -1, 65, 1312,
2802 1313, 1206, -1, -1, -1, 72, 1211, -1, -1, 70,
2803 -1, -1, -1, -1, -1, 93, 83, 84, -1, 80,
2804 1493, -1, 1089, 1090, -1, -1, 1093, 88, -1, -1,
2805 -1, -1, 93, 1346, 1347, -1, 909, -1, 911, 106,
2806 -1, -1, -1, -1, -1, -1, 1113, 348, 349, 350,
2807 688, -1, 690, 691, -1, 693, -1, 1262, -1, 1170,
2808 -1, 1172, -1, 1174, -1, -1, -1, 134, 1170, 136,
2809 1172, -1, 1174, 140, 141, -1, 1426, -1, 145, 146,
2810 953, -1, 149, 150, 151, -1, -1, -1, -1, -1,
2811 4, 5, -1, -1, 8, 9, -1, 735, 165, -1,
2812 14, -1, 169, 1170, -1, 1172, -1, 1174, 175, 176,
2813 7, 8, 9, 1426, 28, 1182, 30, 14, -1, -1,
2814 -1, -1, 36, -1, 1191, 1192, 193, 194, 195, 1196,
2815 -1, 45, -1, 47, 31, 1448, 1449, 1450, -1, 36,
2816 54, -1, 56, 57, -1, -1, 1213, 1214, 45, 1499,
2817 1500, 1501, -1, -1, -1, 222, 70, -1, 1269, -1,
2818 1365, 1366, -1, 60, -1, -1, 80, 1269, -1, -1,
2819 -1, 1238, 239, -1, 812, 1048, 90, 1382, -1, 93,
2820 94, 248, -1, -1, -1, -1, 1499, 1500, 1501, -1,
2821 -1, -1, 259, -1, 1507, 1508, -1, -1, -1, 3,
2822 4, 5, 1269, 7, 8, 9, 71, 72, 73, 74,
2823 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2824 3, 4, 5, 6, -1, -1, 1293, 31, -1, -1,
2825 297, 298, 36, -1, -1, -1, 1441, 1442, -1, -1,
2826 -1, -1, -1, -1, -1, -1, -1, 885, 31, 887,
2827 -1, -1, 56, 57, -1, 1460, 1461, -1, 41, 1132,
2828 898, -1, 1575, -1, 902, 903, 1333, -1, -1, -1,
2829 -1, 54, -1, 56, 57, 342, -1, -1, -1, 346,
2830 -1, 348, 349, 350, -1, 1352, 1159, 70, -1, 4,
2831 5, -1, 359, 8, 9, -1, -1, 80, -1, 14,
2832 -1, -1, -1, -1, -1, 88, -1, 1374, 946, 947,
2833 93, -1, -1, 28, -1, 30, -1, -1, -1, 620,
2834 621, 36, 623, -1, 1426, -1, 393, -1, -1, 630,
2835 45, -1, -1, -1, -1, 402, -1, 404, 405, 54,
2836 -1, 56, 57, 58, 4, 5, -1, 1220, 8, 9,
2837 -1, -1, 419, -1, 14, 422, -1, -1, -1, 1426,
2838 -1, -1, -1, -1, -1, -1, -1, 434, 28, -1,
2839 30, -1, -1, -1, -1, 442, 36, -1, 93, 1446,
2840 1447, -1, -1, -1, -1, 45, -1, 688, 1455, 690,
2841 691, -1, 693, -1, 54, -1, 56, 57, -1, -1,
2842 -1, -1, -1, 470, -1, 472, -1, 474, 475, 476,
2843 -1, -1, -1, 480, -1, -1, 1483, -1, 485, -1,
2844 -1, 488, 3, 4, 5, 6, -1, 8, 9, 10,
2845 11, -1, 13, 14, 735, -1, -1, -1, -1, 506,
2846 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
2847 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
2848 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
2849 51, 52, 53, 54, -1, 56, 57, 544, 545, 546,
2850 547, 3, 4, 5, 6, -1, 67, -1, -1, 70,
2851 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
2852 -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
2853 -1, 812, 93, 94, -1, 1153, 1154, 1155, 1156, 41,
2854 -1, -1, -1, 1161, -1, 47, -1, -1, -1, 110,
2855 -1, -1, 54, -1, 56, 57, -1, 604, -1, 606,
2856 -1, -1, -1, -1, -1, 1612, 1184, 1185, 70, -1,
2857 -1, 618, -1, 620, 621, -1, 623, -1, 80, -1,
2858 -1, -1, -1, 630, -1, -1, 88, 634, 90, -1,
2859 -1, 93, 94, -1, -1, -1, -1, -1, -1, -1,
2860 -1, -1, 649, -1, 885, -1, 887, -1, 4, 5,
2861 -1, 7, 8, 9, -1, -1, 12, 898, 14, -1,
2862 -1, 902, 903, 904, -1, -1, 673, -1, -1, -1,
2863 -1, -1, 28, 680, 30, 31, -1, -1, -1, -1,
2864 36, 688, 689, 690, 691, 692, 693, -1, -1, 45,
2865 -1, 47, -1, -1, 1272, 1273, -1, 1275, 54, -1,
2866 56, 57, -1, -1, -1, 946, 947, 948, -1, -1,
2867 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
2868 -1, -1, -1, -1, 80, -1, -1, -1, 735, -1,
2869 -1, -1, 739, -1, 90, -1, -1, 93, 94, 746,
2870 747, -1, 749, -1, -1, 3, 4, 5, 6, 7,
2871 8, 9, -1, -1, 995, -1, 14, -1, -1, 766,
2872 -1, -1, 769, -1, 771, -1, -1, -1, -1, 776,
2873 777, 778, -1, 31, 4, 5, -1, 784, 36, 9,
2874 787, -1, -1, 41, -1, -1, 793, 45, -1, 47,
2875 -1, -1, -1, 800, 801, 802, 54, -1, 56, 57,
2876 -1, -1, -1, -1, -1, 812, -1, -1, -1, -1,
2877 -1, -1, 70, -1, -1, -1, -1, 47, 4, -1,
2878 -1, -1, 80, -1, 54, -1, 56, 57, 14, -1,
2879 88, -1, 90, -1, -1, 93, 94, 23, 24, -1,
2880 70, -1, -1, -1, 30, 31, -1, 33, -1, 35,
2881 80, -1, -1, -1, -1, -1, 42, -1, -1, -1,
2882 90, -1, -1, 93, 94, -1, -1, -1, -1, 55,
2883 -1, 57, -1, -1, -1, -1, -1, -1, 885, 65,
2884 887, -1, -1, -1, -1, -1, 72, 894, -1, -1,
2885 -1, 898, -1, 900, -1, 902, 903, 904, 84, -1,
2886 -1, -1, -1, 910, -1, -1, -1, -1, 3, 4,
2887 5, 6, 1153, 1154, 1155, 1156, 1157, -1, -1, -1,
2888 1161, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2889 81, 82, 83, 84, -1, 942, 31, 944, -1, 946,
2890 947, 948, -1, 1184, 1185, 1186, 41, -1, -1, -1,
2891 136, -1, -1, -1, 140, 141, -1, -1, -1, 54,
2892 146, 56, 57, 149, 150, 151, -1, -1, 3, 4,
2893 5, 6, -1, -1, 9, 70, -1, -1, -1, 165,
2894 -1, -1, -1, 169, -1, 80, -1, -1, 995, 175,
2895 176, -1, -1, 88, -1, -1, 31, -1, 93, -1,
2896 -1, 1008, -1, -1, -1, -1, 41, 193, 194, 195,
2897 -1, -1, 47, -1, -1, -1, -1, 1024, -1, 54,
2898 1027, 56, 57, -1, -1, -1, -1, -1, -1, 1036,
2899 -1, 1272, 1273, -1, 1275, 70, 222, -1, -1, -1,
2900 -1, -1, 1049, -1, -1, 80, -1, -1, -1, -1,
2901 -1, -1, 4, 88, 1061, 90, -1, -1, 93, 94,
2902 -1, -1, -1, 1070, -1, 1072, -1, -1, 3, 4,
2903 5, 6, -1, 259, 9, -1, -1, -1, 30, 31,
2904 -1, 33, -1, 35, 4, 5, -1, -1, 8, 9,
2905 42, -1, -1, 1100, 14, -1, 31, -1, 1105, 1106,
2906 -1, 1108, -1, 55, -1, 57, 41, -1, 28, -1,
2907 30, 297, 298, -1, -1, -1, 36, -1, -1, 54,
2908 -1, 56, 57, -1, -1, 45, -1, -1, 80, -1,
2909 -1, -1, -1, -1, 54, 70, 56, 57, -1, -1,
2910 -1, -1, -1, -1, -1, 80, 1153, 1154, 1155, 1156,
2911 1157, -1, -1, 88, 1161, -1, 342, -1, 93, -1,
2912 346, -1, 348, 349, 350, -1, -1, -1, -1, 355,
2913 -1, -1, -1, 359, -1, -1, -1, 1184, 1185, 1186,
2914 -1, 133, 134, -1, 136, -1, -1, -1, 140, 141,
2915 -1, -1, 144, -1, 146, -1, -1, 149, 150, 151,
2916 -1, -1, -1, -1, 156, -1, -1, 393, -1, -1,
2917 1217, -1, -1, 165, -1, 1222, 402, 169, 404, 405,
2918 -1, -1, -1, 175, 176, -1, -1, -1, -1, -1,
2919 -1, -1, -1, 419, -1, -1, 422, -1, -1, -1,
2920 -1, 193, 194, 195, -1, -1, -1, -1, 434, -1,
2921 -1, 203, -1, -1, -1, -1, 442, -1, -1, -1,
2922 -1, -1, -1, -1, -1, 1272, 1273, -1, 1275, -1,
2923 222, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2924 82, 83, 84, -1, 470, -1, 472, -1, 474, 475,
2925 476, -1, -1, -1, 480, -1, -1, -1, -1, 485,
2926 -1, -1, 488, -1, 1311, 1312, 1313, 259, -1, 1,
2927 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2928 506, -1, 14, 1330, -1, -1, -1, -1, -1, -1,
2929 -1, 3, 4, 5, 6, -1, 28, -1, 30, 31,
2930 32, -1, -1, -1, 36, 37, -1, -1, -1, 41,
2931 -1, -1, -1, 45, 46, -1, 48, -1, 544, 545,
2932 546, 547, 54, -1, 56, 57, -1, -1, 60, 41,
2933 62, 3, 4, 5, 6, -1, -1, 329, 70, -1,
2934 -1, -1, 54, -1, 56, 57, -1, -1, 80, -1,
2935 62, -1, -1, -1, 346, -1, 88, -1, 70, -1,
2936 -1, 93, 354, -1, -1, -1, -1, 359, 80, 41,
2937 -1, -1, -1, -1, -1, -1, 88, 109, 604, 1426,
2938 606, 93, 54, -1, 56, 57, -1, -1, 60, -1,
2939 -1, -1, -1, -1, 620, 621, -1, 623, 70, -1,
2940 -1, 393, -1, -1, 630, -1, -1, -1, 80, -1,
2941 -1, -1, 404, -1, -1, -1, 88, 643, -1, -1,
2942 -1, 93, -1, 649, -1, -1, -1, 419, -1, -1,
2943 422, -1, -1, -1, -1, -1, 428, 429, 430, -1,
2944 -1, -1, 434, -1, -1, -1, -1, 673, 4, -1,
2945 442, -1, 1499, 1500, 1501, 681, -1, -1, -1, -1,
2946 -1, -1, 688, 689, 690, 691, 692, 693, -1, -1,
2947 -1, 1518, -1, -1, -1, -1, 1523, -1, 470, 35,
2948 472, -1, 474, 475, 476, -1, 42, -1, 480, -1,
2949 716, -1, -1, 485, -1, -1, 488, -1, -1, 55,
2950 -1, 57, -1, -1, -1, -1, -1, -1, -1, 735,
2951 -1, -1, -1, 739, 506, -1, -1, -1, -1, -1,
2952 746, 747, -1, 749, -1, -1, -1, -1, -1, -1,
2953 -1, -1, -1, -1, -1, -1, -1, 763, -1, -1,
2954 766, -1, -1, 769, 536, 771, -1, 539, -1, -1,
2955 776, 777, 778, -1, 3, 4, 5, 6, 784, -1,
2956 9, 787, 554, 555, 556, -1, -1, 793, -1, -1,
2957 -1, -1, -1, -1, 800, 801, 802, 569, -1, -1,
2958 136, -1, 31, -1, 140, -1, 812, -1, -1, -1,
2959 -1, -1, 41, -1, -1, -1, -1, -1, 47, -1,
2960 -1, -1, -1, -1, -1, 54, -1, 56, 57, 165,
2961 -1, -1, -1, 169, -1, -1, -1, 4, 5, 175,
2962 176, 70, 9, -1, -1, 617, -1, -1, -1, -1,
2963 -1, 80, -1, -1, -1, -1, -1, -1, 630, 88,
2964 -1, 90, -1, -1, 93, 94, -1, -1, -1, -1,
2965 -1, -1, -1, -1, -1, -1, -1, 649, -1, 885,
2966 47, 887, -1, -1, -1, -1, 222, 54, 894, 56,
2967 57, -1, 898, -1, 900, -1, 902, 903, 904, -1,
2968 -1, 673, -1, 70, 910, 4, 5, -1, 680, 8,
2969 9, -1, -1, 80, -1, 14, 688, 689, 690, 691,
2970 -1, -1, -1, 90, -1, -1, 93, 94, -1, -1,
2971 82, -1, -1, -1, -1, -1, 942, 36, 944, -1,
2972 946, 947, 948, -1, -1, -1, 45, -1, 47, -1,
2973 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
2974 -1, -1, -1, 735, -1, -1, -1, 739, -1, -1,
2975 -1, 70, -1, -1, 746, 747, -1, 749, -1, -1,
2976 -1, 80, 3, 4, 5, 6, 7, 8, 9, 995,
2977 -1, 90, -1, 14, 93, 94, -1, 769, -1, 771,
2978 -1, -1, 1008, -1, 776, 777, 778, 159, -1, -1,
2979 31, -1, 784, -1, -1, 36, -1, -1, 1024, -1,
2980 41, 1027, -1, 359, 45, -1, 47, -1, -1, -1,
2981 1036, -1, -1, 54, 806, 56, 57, -1, -1, 191,
2982 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
2983 -1, -1, 204, -1, -1, 1061, -1, -1, -1, 80,
2984 -1, -1, -1, -1, 1070, -1, 1072, 88, 404, 90,
2985 -1, -1, 93, 94, -1, -1, -1, -1, -1, -1,
2986 -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
2987 6, 7, 8, 9, 1100, -1, 12, -1, 14, 1105,
2988 1106, -1, 1108, -1, -1, -1, 442, -1, -1, -1,
2989 -1, -1, 28, -1, 30, 31, -1, -1, -1, -1,
2990 36, -1, -1, -1, -1, 41, -1, -1, -1, 45,
2991 902, 903, 904, -1, -1, -1, 908, 909, 54, -1,
2992 56, 57, -1, -1, 480, -1, -1, 1153, 1154, 1155,
2993 1156, 1157, 488, -1, 70, 1161, 4, -1, -1, -1,
2994 -1, -1, 1168, -1, 80, -1, -1, -1, -1, -1,
2995 506, -1, 88, -1, 946, 947, 948, 93, 1184, 1185,
2996 1186, 953, 30, 31, -1, 33, -1, 35, -1, -1,
2997 -1, -1, -1, -1, 42, -1, -1, -1, -1, 1205,
2998 4, 5, -1, 7, 8, 9, -1, 55, -1, 57,
2999 14, 1217, -1, -1, -1, -1, 1222, -1, -1, 3,
3000 4, 5, 6, 995, 28, 9, 30, 31, -1, -1,
3001 -1, -1, 36, -1, -1, -1, -1, -1, -1, -1,
3002 -1, 45, -1, -1, 48, -1, -1, 31, -1, -1,
3003 54, -1, 56, 57, -1, 1027, -1, 41, -1, -1,
3004 -1, -1, -1, -1, -1, -1, 1272, 1273, -1, 1275,
3005 54, -1, 56, 57, -1, -1, 1048, -1, -1, -1,
3006 -1, -1, 3, 4, 5, 6, 70, -1, 136, 1061,
3007 -1, -1, 140, 141, 1300, -1, 80, -1, 146, -1,
3008 -1, 149, 150, 151, 88, 1311, 1312, 1313, -1, 93,
3009 31, -1, -1, 649, -1, -1, -1, 165, -1, -1,
3010 41, 169, -1, -1, 1330, -1, 478, 175, 176, -1,
3011 1336, 483, -1, 54, -1, 56, 57, -1, -1, -1,
3012 3, 4, 5, 6, -1, 193, 194, 195, -1, 70,
3013 -1, -1, 688, 689, 690, 691, -1, -1, 510, 80,
3014 1132, -1, -1, -1, 516, -1, 33, 88, -1, -1,
3015 -1, -1, 93, -1, 222, -1, 528, 529, 41, 531,
3016 -1, 1153, 1154, 1155, 1156, 1157, -1, 1159, 55, 1161,
3017 -1, 54, -1, 56, 57, -1, -1, 60, -1, 735,
3018 -1, -1, -1, 739, -1, 4, 5, 70, 7, 8,
3019 9, 259, 1184, 1185, 1186, 14, -1, 80, -1, -1,
3020 1426, -1, -1, -1, -1, 88, -1, -1, -1, 28,
3021 93, 30, 31, 769, -1, 771, -1, 36, -1, -1,
3022 776, 777, 778, -1, -1, 1217, 45, -1, 784, -1,
3023 1222, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3024 -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
3025 6, -1, -1, -1, 626, 627, -1, -1, -1, 631,
3026 -1, -1, 149, 150, 151, -1, -1, -1, -1, -1,
3027 -1, -1, -1, 1499, 1500, 1501, -1, -1, -1, -1,
3028 1272, 1273, -1, 1275, -1, 41, -1, 355, 175, -1,
3029 -1, 359, 1518, -1, -1, -1, -1, 1523, 54, -1,
3030 56, 57, -1, -1, -1, -1, 193, 194, 195, -1,
3031 -1, -1, -1, -1, 70, -1, -1, -1, -1, 1311,
3032 1312, 1313, -1, -1, 80, -1, -1, -1, -1, -1,
3033 -1, -1, 88, -1, -1, 222, 404, 93, -1, -1,
3034 -1, -1, -1, -1, 55, -1, 3, 4, 5, 6,
3035 -1, 419, -1, -1, 422, -1, -1, -1, -1, -1,
3036 107, 108, -1, -1, -1, -1, 434, -1, -1, 80,
3037 -1, -1, 83, -1, 442, -1, -1, -1, -1, -1,
3038 -1, -1, -1, -1, 41, -1, -1, -1, 3, 4,
3039 5, 6, -1, 104, 9, 106, -1, 54, -1, 56,
3040 57, -1, 470, -1, 472, 62, 474, 475, 476, -1,
3041 -1, 298, 480, 70, -1, -1, 31, 485, -1, -1,
3042 488, -1, 794, 80, 796, -1, 41, -1, -1, -1,
3043 -1, 88, 47, -1, 1426, -1, 93, -1, 506, 54,
3044 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3045 -1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
3046 -1, 348, 349, 350, 175, 80, -1, -1, -1, -1,
3047 -1, 1027, -1, 88, -1, 90, -1, -1, 93, 94,
3048 -1, -1, 193, 194, 195, -1, -1, -1, -1, -1,
3049 -1, -1, 203, -1, -1, -1, 868, 869, -1, 871,
3050 -1, -1, -1, -1, -1, 1061, -1, 1499, 1500, 1501,
3051 -1, 222, -1, -1, -1, -1, -1, 404, -1, 3,
3052 4, 5, 6, 7, 8, 9, -1, 899, -1, -1,
3053 14, 1523, -1, -1, -1, -1, -1, 248, -1, -1,
3054 -1, -1, -1, -1, 28, -1, 30, 31, 32, -1,
3055 618, 262, 36, -1, -1, -1, -1, 41, -1, -1,
3056 -1, 45, -1, -1, 48, -1, -1, -1, -1, -1,
3057 54, -1, 56, 57, -1, -1, -1, -1, 950, -1,
3058 -1, 649, 329, 470, -1, 472, 70, 474, 475, 476,
3059 -1, -1, -1, 480, -1, -1, 80, -1, 485, -1,
3060 -1, 488, -1, -1, 88, -1, -1, 4, 5, 93,
3061 7, 8, 9, -1, 98, 12, -1, 14, -1, -1,
3062 688, 689, 690, 691, -1, -1, -1, -1, -1, -1,
3063 -1, 28, -1, 30, 31, 3, 4, 5, 6, 36,
3064 -1, -1, -1, 354, 355, -1, -1, -1, 45, -1,
3065 -1, 1023, -1, -1, -1, 402, -1, 54, -1, 56,
3066 57, 1217, -1, 1035, -1, -1, 1222, 735, -1, -1,
3067 -1, 739, -1, 41, -1, -1, -1, -1, 746, 747,
3068 -1, 749, -1, -1, -1, -1, 54, -1, 56, 57,
3069 -1, -1, -1, 404, 62, -1, -1, -1, -1, -1,
3070 -1, 769, 70, 771, -1, -1, -1, -1, 776, 777,
3071 778, -1, 80, -1, -1, -1, 784, -1, -1, 606,
3072 88, 468, -1, -1, -1, 93, -1, -1, -1, -1,
3073 -1, -1, -1, 620, 621, -1, 623, -1, -1, -1,
3074 -1, -1, -1, 630, -1, -1, -1, -1, -1, 1121,
3075 -1, -1, -1, -1, -1, 1311, 1312, 1313, -1, 470,
3076 -1, 472, 649, 474, 475, 476, -1, -1, -1, 480,
3077 -1, -1, -1, -1, 485, -1, -1, 488, -1, 3,
3078 4, 5, 6, -1, -1, 9, -1, -1, 1160, 536,
3079 -1, -1, 539, -1, -1, -1, 543, 544, 545, 546,
3080 547, 688, -1, 690, 691, -1, 693, 31, -1, 556,
3081 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
3082 -1, -1, 569, 47, -1, -1, -1, -1, -1, -1,
3083 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3084 -1, -1, 910, -1, -1, -1, 70, -1, 735, -1,
3085 -1, -1, -1, 1225, -1, -1, 80, 1229, -1, 746,
3086 747, -1, 749, -1, 88, -1, 90, -1, -1, 93,
3087 94, -1, -1, -1, -1, -1, 623, -1, 946, 947,
3088 948, -1, -1, 630, -1, -1, -1, -1, -1, 776,
3089 -1, -1, 1264, -1, -1, -1, -1, -1, -1, 1,
3090 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3091 -1, -1, 14, 800, 801, 802, -1, -1, -1, -1,
3092 -1, -1, 633, 634, -1, 812, 28, 995, 30, 31,
3093 32, -1, -1, -1, 36, 37, -1, -1, 649, 41,
3094 -1, -1, -1, 45, 46, -1, 48, -1, -1, -1,
3095 -1, -1, 54, -1, 56, 57, -1, -1, 60, 1027,
3096 62, -1, -1, -1, -1, -1, -1, 1523, 70, 1341,
3097 -1, -1, -1, 1345, -1, -1, -1, 688, 80, 690,
3098 691, -1, -1, -1, -1, -1, 88, -1, -1, -1,
3099 -1, 93, 739, 1061, -1, 1367, 1368, -1, 885, -1,
3100 887, -1, -1, -1, -1, -1, -1, 109, -1, -1,
3101 -1, 898, -1, -1, -1, 902, 903, 904, -1, -1,
3102 -1, -1, -1, -1, 735, -1, -1, -1, -1, -1,
3103 -1, -1, -1, -1, -1, 746, 747, -1, 749, -1,
3104 787, -1, -1, -1, -1, -1, 793, -1, -1, -1,
3105 -1, -1, -1, -1, -1, -1, -1, -1, -1, 946,
3106 947, 948, -1, -1, -1, 776, -1, -1, -1, -1,
3107 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3108 12, -1, 14, -1, -1, 1153, 1154, 1155, 1156, 1157,
3109 -1, -1, -1, 1161, -1, -1, 28, -1, 30, 31,
3110 -1, -1, -1, -1, 36, -1, -1, -1, 995, 41,
3111 -1, -1, -1, 45, 861, 47, 1184, 1185, 1186, 12,
3112 -1, -1, 54, -1, 56, 57, -1, -1, -1, -1,
3113 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
3114 1027, -1, -1, -1, -1, -1, -1, 894, 80, 1217,
3115 -1, -1, -1, 900, 1222, -1, 88, 904, 90, -1,
3116 -1, 93, 94, -1, -1, -1, -1, -1, -1, 62,
3117 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3118 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3119 83, 84, -1, -1, -1, 942, -1, 944, 909, 910,
3120 911, 948, -1, -1, 1272, 1273, -1, 1275, -1, -1,
3121 -1, -1, -1, -1, -1, -1, -1, -1, 1105, 1106,
3122 -1, 1108, -1, -1, -1, 3, 4, 5, 6, -1,
3123 -1, 9, -1, -1, -1, 946, 947, 948, -1, -1,
3124 14, -1, 953, 1311, 1312, 1313, -1, -1, 995, 23,
3125 24, -1, -1, 31, -1, -1, 30, 31, -1, 33,
3126 -1, 1008, -1, 41, -1, -1, 1153, 1154, 1155, 1156,
3127 1157, -1, 983, -1, 1161, -1, 54, 1024, 56, 57,
3128 -1, -1, -1, -1, 995, -1, -1, -1, -1, 1036,
3129 -1, 65, 70, -1, -1, -1, -1, 1184, 1185, 1186,
3130 -1, -1, 80, -1, -1, -1, -1, -1, -1, -1,
3131 88, -1, -1, -1, -1, 93, 1027, -1, -1, -1,
3132 -1, -1, -1, 1070, -1, 1072, -1, -1, -1, -1,
3133 1217, -1, -1, -1, -1, -1, -1, 1048, -1, -1,
3134 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
3135 124, 14, 126, 1100, -1, -1, -1, -1, 1426, 133,
3136 134, -1, -1, -1, -1, -1, 140, 141, 31, -1,
3137 144, 145, 146, 36, 148, 149, 150, 151, 41, -1,
3138 -1, -1, 45, -1, 47, 1272, 1273, -1, 1275, -1,
3139 -1, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3140 -1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
3141 1157, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3142 -1, 1132, -1, -1, 1311, 88, 1313, -1, -1, -1,
3143 93, 1499, 1500, 1501, -1, -1, -1, -1, -1, 1186,
3144 -1, -1, 1153, 1154, 1155, 1156, 1157, -1, 1159, -1,
3145 1161, -1, -1, 1200, -1, 1523, -1, -1, -1, -1,
3146 -1, -1, -1, -1, 238, 239, -1, -1, -1, -1,
3147 -1, -1, -1, 1184, 1185, 1186, -1, -1, -1, -1,
3148 -1, -1, -1, -1, -1, 259, -1, -1, -1, -1,
3149 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3150 -1, -1, -1, 14, -1, -1, 1217, -1, -1, -1,
3151 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
3152 31, 32, -1, -1, 298, 36, 37, -1, -1, -1,
3153 41, -1, -1, -1, 45, 46, -1, 48, -1, 1426,
3154 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
3155 -1, 62, -1, -1, -1, -1, -1, -1, -1, 70,
3156 -1, 1272, 1273, -1, 1275, -1, -1, -1, -1, 80,
3157 -1, -1, 346, -1, 348, 349, -1, 88, -1, -1,
3158 -1, -1, 93, 1330, -1, -1, -1, -1, -1, -1,
3159 -1, 4, 5, -1, 7, 8, 9, -1, 109, 12,
3160 1311, 14, 1313, -1, -1, -1, -1, -1, -1, -1,
3161 -1, -1, 1499, 1500, 1501, 28, -1, 30, 31, 393,
3162 -1, -1, -1, 36, -1, -1, -1, -1, -1, -1,
3163 -1, -1, 45, -1, -1, -1, 1523, -1, 412, -1,
3164 -1, 54, -1, 56, 57, 419, -1, -1, 422, -1,
3165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3166 434, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3167 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3168 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3169 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3170 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3171 50, 51, 52, 53, 54, 1426, 56, 57, 58, -1,
3172 60, 61, -1, -1, -1, -1, -1, 67, 502, -1,
3173 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3174 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3175 -1, -1, -1, 93, 1501, 95, 530, -1, -1, -1,
3176 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
3177 110, 1518, 69, 70, 71, 72, 73, 74, 75, 76,
3178 77, 78, 79, 80, 81, 82, 83, 84, 1499, 1500,
3179 1501, -1, -1, -1, -1, 1, -1, 3, 4, 5,
3180 6, 7, 8, 9, -1, -1, 12, -1, 14, -1,
3181 -1, -1, 1523, -1, -1, -1, -1, -1, -1, 25,
3182 -1, 27, -1, -1, -1, 31, -1, -1, -1, -1,
3183 36, -1, 606, -1, -1, 41, -1, -1, -1, 45,
3184 -1, 47, -1, 617, 618, -1, 620, 621, 54, -1,
3185 56, 57, 58, 59, 60, -1, 62, 63, 64, 65,
3186 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3187 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
3188 86, 87, 88, -1, 90, 91, 92, 93, 94, 95,
3189 -1, 97, -1, -1, -1, -1, 102, -1, -1, 673,
3190 -1, 107, 108, 109, -1, 111, 680, 681, -1, -1,
3191 -1, -1, -1, -1, -1, -1, -1, -1, 692, -1,
3192 -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
3193 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3194 14, 15, 716, 17, 18, 19, 20, 21, 22, 23,
3195 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3196 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3197 44, 45, 46, -1, -1, 49, 50, 51, 52, 53,
3198 54, -1, 56, 57, 58, -1, 60, 61, -1, 763,
3199 -1, -1, 766, 67, -1, -1, 70, -1, -1, -1,
3200 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3201 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3202 -1, 95, -1, -1, -1, -1, 800, 801, 802, -1,
3203 -1, -1, -1, -1, -1, -1, 110, -1, 812, -1,
3204 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3205 11, 12, 13, 14, -1, -1, -1, -1, -1, -1,
3206 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3207 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3208 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
3209 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3210 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3211 -1, 885, -1, 887, -1, -1, -1, 78, 79, 80,
3212 -1, -1, -1, -1, 898, 86, 87, 88, -1, 90,
3213 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3214 7, 8, 9, 10, 11, 12, 13, 14, -1, 110,
3215 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3216 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3217 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3218 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3219 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3220 67, -1, -1, 70, -1, -1, -1, -1, -1, 983,
3221 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3222 87, 88, -1, 90, -1, -1, 93, 94, 1, -1,
3223 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
3224 13, 14, -1, 110, -1, -1, -1, -1, -1, -1,
3225 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3226 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3227 43, -1, 45, -1, -1, 1049, 49, 50, 51, 52,
3228 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3229 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3230 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3231 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3232 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3233 -1, 1105, 1106, -1, 1108, 108, 1, 110, 3, 4,
3234 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3236 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3237 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3238 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3239 -1, 56, 57, 58, 1168, 60, 61, -1, -1, -1,
3240 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3241 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3242 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3243 1, 1205, 3, 4, 5, 6, -1, 8, 9, 10,
3244 11, -1, 13, 14, -1, 110, 1220, -1, 1222, -1,
3245 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3246 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3247 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3248 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3249 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3250 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3251 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3252 -1, -1, 93, 94, -1, -1, -1, -1, -1, -1,
3253 -1, -1, -1, -1, -1, -1, -1, -1, 109, 110,
3254 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3255 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3256 -1, -1, 1336, -1, -1, -1, -1, 28, 29, 30,
3257 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3258 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3259 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3260 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3261 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3262 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3263 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3264 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3265 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3266 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3267 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3268 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3269 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3270 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3271 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3272 -1, -1, -1, 93, 94, 1, -1, 3, 4, 5,
3273 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3274 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3275 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3276 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3277 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3278 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3279 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3280 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3281 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3282 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3283 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3284 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3285 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3286 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3287 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3288 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3289 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3290 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3291 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3292 14, -1, -1, -1, 109, 110, -1, -1, -1, -1,
3293 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3294 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3295 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3296 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3297 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3298 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3299 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3300 -1, 1, -1, 3, 4, 5, 6, 101, 8, 9,
3301 10, 11, -1, 13, 14, -1, 110, -1, -1, -1,
3302 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3303 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3304 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3305 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3306 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3307 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3308 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3309 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3310 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3311 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3312 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3313 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3314 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3315 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3316 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3317 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3318 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3319 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3320 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3321 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3322 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3323 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3324 -1, -1, -1, 61, 62, -1, -1, -1, -1, 67,
3325 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3326 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3327 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3328 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3329 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3330 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3331 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3332 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3333 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
3334 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3335 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3336 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3337 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3338 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3339 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3340 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3341 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3342 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3343 -1, 67, 1, -1, 70, 4, 5, -1, -1, 8,
3344 9, -1, 78, 79, 80, 14, -1, -1, -1, -1,
3345 86, 87, 88, -1, -1, -1, -1, 93, -1, 28,
3346 -1, 30, -1, -1, -1, -1, -1, 36, -1, 38,
3347 39, -1, 108, -1, 110, -1, 45, -1, 47, -1,
3348 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3349 59, -1, -1, -1, 63, 64, 65, 66, 67, 68,
3350 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3351 79, 80, 81, 82, 83, -1, -1, 86, 87, 88,
3352 -1, -1, 91, -1, 1, 94, 3, 4, 5, 6,
3353 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3354 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3355 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3356 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3357 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3358 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3359 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3360 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3361 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3362 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3363 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3364 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3365 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3366 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3367 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3368 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3369 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3370 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3371 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3372 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3373 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3374 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3375 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3376 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3377 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3378 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3379 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3380 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3381 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3382 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3383 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3384 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3385 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3386 1, 70, 3, 4, 5, 6, 7, 8, 9, 78,
3387 79, 80, -1, 14, -1, -1, -1, 86, 87, 88,
3388 -1, -1, -1, -1, 93, -1, -1, 28, -1, 30,
3389 31, 32, -1, -1, -1, 36, 37, -1, -1, -1,
3390 41, 110, 111, -1, 45, 46, -1, 48, -1, -1,
3391 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
3392 -1, 62, -1, -1, -1, -1, -1, -1, -1, 70,
3393 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
3394 -1, -1, -1, -1, -1, -1, -1, 88, -1, -1,
3395 -1, -1, 93, -1, -1, 3, 4, 5, 6, 7,
3396 8, 9, 10, 11, -1, 13, 14, 15, 109, 17,
3397 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3398 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3399 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
3400 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3401 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3402 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3403 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3404 88, -1, -1, -1, -1, 93, -1, 95, -1, -1,
3405 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3406 -1, 109, 110, 3, 4, 5, 6, 7, 8, 9,
3407 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3408 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3409 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3410 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3411 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3412 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3413 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3414 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3415 -1, -1, -1, 93, -1, 95, -1, 3, 4, 5,
3416 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3417 110, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3418 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3419 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3420 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3421 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3422 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3423 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3424 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3425 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3426 -1, 13, 14, 15, 110, 17, 18, 19, 20, 21,
3427 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3428 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3429 42, 43, 44, 45, 46, -1, -1, 49, 50, 51,
3430 52, 53, 54, -1, 56, 57, -1, -1, 60, 61,
3431 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3432 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3433 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3434 -1, 93, -1, 95, 3, 4, 5, 6, 7, 8,
3435 9, 10, 11, 12, 13, 14, -1, -1, 110, -1,
3436 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3437 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3438 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
3439 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3440 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3441 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3442 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3443 -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
3444 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3445 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3446 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3447 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3448 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3449 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3450 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3451 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3452 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3453 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3454 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3455 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3456 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3457 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3458 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3459 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3460 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3461 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3462 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3463 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3464 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3465 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3466 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3467 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3468 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3469 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3470 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3471 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3472 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3473 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3474 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3475 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3476 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
3477 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3478 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3479 87, 88, -1, -1, -1, -1, 93, 3, 4, 5,
3480 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3481 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3482 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3483 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3484 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3485 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3486 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3487 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3488 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3489 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3490 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3491 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3492 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3493 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3494 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3495 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3496 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3497 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3498 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3499 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3500 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3501 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3502 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3503 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3504 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3505 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3506 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3507 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3508 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3509 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3510 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3511 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3512 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3513 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3514 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3515 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3516 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3517 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3518 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3519 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3520 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3521 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3522 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3523 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3524 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3525 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3526 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3527 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3528 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3529 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3530 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3531 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3532 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3533 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3534 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3535 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3536 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3537 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3538 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3539 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3540 -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3541 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3542 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3543 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3544 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3545 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3546 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3547 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3548 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3549 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3550 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3551 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3552 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3553 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3554 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3555 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3556 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3557 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3558 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3559 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3560 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3561 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3562 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3563 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3564 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3565 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3566 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3567 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3568 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3569 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3570 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3571 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3572 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3573 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3574 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3575 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3576 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3577 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3578 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3579 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3580 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3581 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3582 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3583 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3584 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3585 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3586 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3587 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3588 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3589 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3590 -1, 1, 70, 3, 4, 5, 6, 7, 8, 9,
3591 78, 79, 80, -1, 14, -1, -1, -1, 86, 87,
3592 88, -1, -1, -1, -1, 93, -1, 27, 28, -1,
3593 30, 31, 32, -1, -1, -1, 36, -1, -1, -1,
3594 -1, 41, 110, -1, 44, 45, 46, -1, 48, -1,
3595 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
3596 60, -1, 3, 4, 5, 6, -1, -1, 9, -1,
3597 70, -1, -1, -1, -1, -1, -1, -1, -1, 1,
3598 80, 3, 4, 5, 6, 7, 8, 9, 88, -1,
3599 31, -1, 14, 93, -1, -1, -1, -1, 98, -1,
3600 41, -1, -1, -1, -1, -1, 28, -1, 30, 31,
3601 32, -1, -1, 54, 36, 56, 57, -1, -1, 41,
3602 -1, -1, -1, 45, -1, -1, 48, -1, -1, 70,
3603 -1, -1, 54, -1, 56, 57, -1, -1, 1, 80,
3604 3, 4, 5, 6, 7, 8, 9, 88, 70, -1,
3605 -1, 14, 93, -1, -1, -1, -1, -1, 80, -1,
3606 -1, -1, -1, -1, -1, 28, 88, 30, 31, 32,
3607 -1, 93, -1, 36, -1, -1, 98, -1, 41, -1,
3608 -1, -1, 45, 46, -1, 48, -1, -1, -1, -1,
3609 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
3610 -1, -1, -1, -1, -1, -1, 1, 70, 3, 4,
3611 5, 6, 7, 8, 9, -1, -1, 80, -1, 14,
3612 -1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
3613 93, -1, -1, 28, -1, 30, 31, -1, -1, -1,
3614 -1, 36, -1, -1, -1, -1, 41, -1, -1, -1,
3615 45, -1, -1, 48, -1, -1, -1, -1, -1, 54,
3616 -1, 56, 57, -1, -1, 60, -1, 3, 4, 5,
3617 6, 7, 8, 9, -1, 70, -1, -1, 14, -1,
3618 -1, -1, -1, -1, -1, 80, -1, -1, -1, -1,
3619 -1, -1, 28, 88, 30, 31, -1, -1, 93, -1,
3620 36, -1, -1, -1, -1, 41, -1, -1, -1, 45,
3621 -1, 47, -1, -1, -1, -1, -1, -1, 54, -1,
3622 56, 57, 3, 4, 5, 6, 7, 8, 9, -1,
3623 -1, -1, -1, 14, 70, -1, -1, -1, -1, -1,
3624 -1, -1, -1, -1, 80, -1, -1, 28, -1, 30,
3625 31, -1, 88, -1, 90, 36, -1, 93, 94, -1,
3626 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3627 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
3628 -1, 3, 4, 5, 6, 7, 8, 9, -1, 70,
3629 -1, -1, 14, -1, -1, -1, -1, -1, -1, 80,
3630 -1, -1, -1, -1, -1, -1, 28, 88, 30, 31,
3631 -1, -1, 93, -1, 36, -1, -1, -1, -1, 41,
3632 -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
3633 -1, -1, 54, -1, 56, 57, -1, -1, -1, -1,
3634 62, -1, -1, -1, -1, -1, -1, -1, 70, 3,
3635 4, 5, 6, 7, 8, 9, -1, -1, 80, -1,
3636 14, -1, -1, -1, -1, -1, 88, -1, -1, -1,
3637 -1, 93, -1, -1, 28, -1, 30, 31, -1, -1,
3638 -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
3639 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
3640 54, -1, 56, 57, -1, -1, 60, -1, 3, 4,
3641 5, 6, 7, 8, 9, -1, 70, -1, -1, 14,
3642 -1, -1, -1, -1, -1, -1, 80, -1, -1, -1,
3643 -1, -1, -1, 28, 88, 30, 31, -1, -1, 93,
3644 -1, 36, -1, -1, -1, -1, 41, -1, -1, -1,
3645 45, -1, -1, -1, -1, -1, -1, -1, -1, 54,
3646 -1, 56, 57, 3, 4, 5, 6, 7, 8, 9,
3647 -1, -1, -1, -1, 14, 70, -1, -1, -1, -1,
3648 3, 4, 5, 6, -1, 80, 9, -1, 28, -1,
3649 30, 31, -1, 88, -1, -1, 36, -1, 93, -1,
3650 -1, 41, -1, -1, -1, 45, -1, -1, 31, -1,
3651 -1, -1, -1, -1, 54, -1, 56, 57, 41, -1,
3652 -1, 3, 4, 5, 6, -1, -1, 9, -1, -1,
3653 70, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3654 80, -1, -1, -1, -1, -1, -1, 70, 88, 31,
3655 -1, -1, -1, 93, -1, -1, -1, 80, -1, 41,
3656 -1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
3657 93, -1, 54, -1, 56, 57, -1, -1, -1, -1,
3658 31, -1, -1, -1, -1, -1, -1, -1, 70, -1,
3659 -1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
3660 -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
3661 -1, 93, 63, 64, 65, 66, 67, 68, 69, 70,
3662 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3663 81, 82, 83, 84, 63, 64, 65, 66, 67, 68,
3664 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3665 79, 80, 81, 82, 83, 84, 63, 64, 65, 66,
3666 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3667 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
3668 -1, -1, 111, -1, -1, -1, -1, -1, -1, -1,
3669 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
3670 107, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3671 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3672 82, 83, 84, 62, 63, 64, 65, 66, 67, 68,
3673 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3674 79, 80, 81, 82, 83, 84, 63, 64, 65, 66,
3675 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3676 77, 78, 79, 80, 81, 82, 83, 84, 63, 64,
3677 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3678 -1, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3679 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3680 77, 78, 79, 80, 81, 82, 83, 84, 68, 69,
3681 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3682 80, 81, 82, 83, 84, 70, 71, 72, 73, 74,
3683 75, 76, 77, 78, 79, 80, 81, 82, 83, 84
3685 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3686 #line 3 "/usr/cygnus/gnupro-98r1/share/bison.simple"
3688 /* Skeleton output parser for bison,
3689 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3691 This program is free software; you can redistribute it and/or modify
3692 it under the terms of the GNU General Public License as published by
3693 the Free Software Foundation; either version 2, or (at your option)
3696 This program is distributed in the hope that it will be useful,
3697 but WITHOUT ANY WARRANTY; without even the implied warranty of
3698 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3699 GNU General Public License for more details.
3701 You should have received a copy of the GNU General Public License
3702 along with this program; if not, write to the Free Software
3703 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3705 /* As a special exception, when this file is copied by Bison into a
3706 Bison output file, you may use that output file without restriction.
3707 This special exception was added by the Free Software Foundation
3708 in version 1.24 of Bison. */
3712 #define alloca __builtin_alloca
3713 #else /* not GNU C. */
3714 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3716 #else /* not sparc */
3717 #if defined (MSDOS) && !defined (__TURBOC__)
3719 #else /* not MSDOS, or __TURBOC__ */
3723 #else /* not MSDOS, __TURBOC__, or _AIX */
3727 void *alloca (unsigned int);
3729 #else /* not __cplusplus */
3731 #endif /* not __cplusplus */
3733 #endif /* not _AIX */
3734 #endif /* not MSDOS, or __TURBOC__ */
3735 #endif /* not sparc. */
3736 #endif /* not GNU C. */
3737 #endif /* alloca not defined. */
3739 /* This is the parser code that is written into each bison parser
3740 when the %semantic_parser declaration is not specified in the grammar.
3741 It was written by Richard Stallman by simplifying the hairy parser
3742 used when %semantic_parser is specified. */
3744 /* Note: there must be only one dollar sign in this file.
3745 It is replaced by the list of actions, each action
3746 as one case of the switch. */
3748 #define yyerrok (yyerrstatus = 0)
3749 #define yyclearin (yychar = YYEMPTY)
3752 #define YYACCEPT return(0)
3753 #define YYABORT return(1)
3754 #define YYERROR goto yyerrlab1
3755 /* Like YYERROR except do call yyerror.
3756 This remains here temporarily to ease the
3757 transition to the new meaning of YYERROR, for GCC.
3758 Once GCC version 2 has supplanted version 1, this can go. */
3759 #define YYFAIL goto yyerrlab
3760 #define YYRECOVERING() (!!yyerrstatus)
3761 #define YYBACKUP(token, value) \
3763 if (yychar == YYEMPTY && yylen == 1) \
3764 { yychar = (token), yylval = (value); \
3765 yychar1 = YYTRANSLATE (yychar); \
3770 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3774 #define YYERRCODE 256
3777 #define YYLEX yylex()
3783 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3785 #define YYLEX yylex(&yylval, &yylloc)
3787 #else /* not YYLSP_NEEDED */
3789 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3791 #define YYLEX yylex(&yylval)
3793 #endif /* not YYLSP_NEEDED */
3796 /* If nonreentrant, generate the variables here */
3800 int yychar
; /* the lookahead symbol */
3801 YYSTYPE yylval
; /* the semantic value of the */
3802 /* lookahead symbol */
3805 YYLTYPE yylloc
; /* location data for the lookahead */
3809 int yynerrs
; /* number of parse errors so far */
3810 #endif /* not YYPURE */
3813 int yydebug
; /* nonzero means print parse trace */
3814 /* Since this is uninitialized, it does not stop multiple parsers
3818 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3821 #define YYINITDEPTH 200
3824 /* YYMAXDEPTH is the maximum size the stacks can grow to
3825 (effective only if the built-in stack extension method is used). */
3832 #define YYMAXDEPTH 10000
3835 /* Prevent warning if -Wstrict-prototypes. */
3840 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3841 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3842 #else /* not GNU C or C++ */
3845 /* This is the most reliable way to avoid incompatibilities
3846 in available built-in functions on various systems. */
3848 __yy_memcpy (to
, from
, count
)
3853 register char *f
= from
;
3854 register char *t
= to
;
3855 register int i
= count
;
3861 #else /* __cplusplus */
3863 /* This is the most reliable way to avoid incompatibilities
3864 in available built-in functions on various systems. */
3866 __yy_memcpy (char *to
, char *from
, int count
)
3868 register char *f
= from
;
3869 register char *t
= to
;
3870 register int i
= count
;
3879 #line 196 "/usr/cygnus/gnupro-98r1/share/bison.simple"
3881 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3882 into yyparse. The argument should have type void *.
3883 It should actually point to an object.
3884 Grammar actions can access the variable by casting it
3885 to the proper pointer type. */
3887 #ifdef YYPARSE_PARAM
3889 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3890 #define YYPARSE_PARAM_DECL
3891 #else /* not __cplusplus */
3892 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3893 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3894 #endif /* not __cplusplus */
3895 #else /* not YYPARSE_PARAM */
3896 #define YYPARSE_PARAM_ARG
3897 #define YYPARSE_PARAM_DECL
3898 #endif /* not YYPARSE_PARAM */
3901 yyparse(YYPARSE_PARAM_ARG
)
3904 register int yystate
;
3906 register short *yyssp
;
3907 register YYSTYPE
*yyvsp
;
3908 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3909 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3911 short yyssa
[YYINITDEPTH
]; /* the state stack */
3912 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3914 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3915 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3918 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3919 YYLTYPE
*yyls
= yylsa
;
3922 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3924 #define YYPOPSTACK (yyvsp--, yyssp--)
3927 int yystacksize
= YYINITDEPTH
;
3938 YYSTYPE yyval
; /* the variable used to return */
3939 /* semantic values from the action */
3946 fprintf(stderr
, "Starting parse\n");
3952 yychar
= YYEMPTY
; /* Cause a token to be read. */
3954 /* Initialize stack pointers.
3955 Waste one element of value and location stack
3956 so that they stay on the same level as the state stack.
3957 The wasted elements are never initialized. */
3965 /* Push a new state, which is found in yystate . */
3966 /* In all cases, when you get here, the value and location stacks
3967 have just been pushed. so pushing a state here evens the stacks. */
3972 if (yyssp
>= yyss
+ yystacksize
- 1)
3974 /* Give user a chance to reallocate the stack */
3975 /* Use copies of these so that the &'s don't force the real ones into memory. */
3976 YYSTYPE
*yyvs1
= yyvs
;
3977 short *yyss1
= yyss
;
3979 YYLTYPE
*yyls1
= yyls
;
3982 /* Get the current used size of the three stacks, in elements. */
3983 int size
= yyssp
- yyss
+ 1;
3986 /* Each stack pointer address is followed by the size of
3987 the data in use in that stack, in bytes. */
3989 /* This used to be a conditional around just the two extra args,
3990 but that might be undefined if yyoverflow is a macro. */
3991 yyoverflow("parser stack overflow",
3992 &yyss1
, size
* sizeof (*yyssp
),
3993 &yyvs1
, size
* sizeof (*yyvsp
),
3994 &yyls1
, size
* sizeof (*yylsp
),
3997 yyoverflow("parser stack overflow",
3998 &yyss1
, size
* sizeof (*yyssp
),
3999 &yyvs1
, size
* sizeof (*yyvsp
),
4003 yyss
= yyss1
; yyvs
= yyvs1
;
4007 #else /* no yyoverflow */
4008 /* Extend the stack our own way. */
4009 if (yystacksize
>= YYMAXDEPTH
)
4011 yyerror("parser stack overflow");
4015 if (yystacksize
> YYMAXDEPTH
)
4016 yystacksize
= YYMAXDEPTH
;
4017 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
4018 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
4019 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
4020 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
4022 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
4023 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
4025 #endif /* no yyoverflow */
4027 yyssp
= yyss
+ size
- 1;
4028 yyvsp
= yyvs
+ size
- 1;
4030 yylsp
= yyls
+ size
- 1;
4035 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
4038 if (yyssp
>= yyss
+ yystacksize
- 1)
4044 fprintf(stderr
, "Entering state %d\n", yystate
);
4050 /* Do appropriate processing given the current state. */
4051 /* Read a lookahead token if we need one and don't already have one. */
4054 /* First try to decide what to do without reference to lookahead token. */
4056 yyn
= yypact
[yystate
];
4060 /* Not known => get a lookahead token if don't already have one. */
4062 /* yychar is either YYEMPTY or YYEOF
4063 or a valid token in external form. */
4065 if (yychar
== YYEMPTY
)
4069 fprintf(stderr
, "Reading a token: ");
4074 /* Convert token to internal form (in yychar1) for indexing tables with */
4076 if (yychar
<= 0) /* This means end of input. */
4079 yychar
= YYEOF
; /* Don't call YYLEX any more */
4083 fprintf(stderr
, "Now at end of input.\n");
4088 yychar1
= YYTRANSLATE(yychar
);
4093 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
4094 /* Give the individual parser a way to print the precise meaning
4095 of a token, for further debugging info. */
4097 YYPRINT (stderr
, yychar
, yylval
);
4099 fprintf (stderr
, ")\n");
4105 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
4110 /* yyn is what to do for this token type in this state.
4111 Negative => reduce, -yyn is rule number.
4112 Positive => shift, yyn is new state.
4113 New state is final state => don't bother to shift,
4114 just return success.
4115 0, or most negative number => error. */
4130 /* Shift the lookahead token. */
4134 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
4137 /* Discard the token being shifted unless it is eof. */
4138 if (yychar
!= YYEOF
)
4146 /* count tokens shifted since error; after three, turn off error status. */
4147 if (yyerrstatus
) yyerrstatus
--;
4152 /* Do the default action for the current state. */
4155 yyn
= yydefact
[yystate
];
4159 /* Do a reduction. yyn is the number of a rule to reduce with. */
4163 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
4170 fprintf (stderr
, "Reducing via rule %d (line %d), ",
4173 /* Print the symbols being reduced, and their result. */
4174 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
4175 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
4176 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4185 { finish_translation_unit (); ;
4189 { yyval
.ttype
= NULL_TREE
; ;
4193 { yyval
.ttype
= NULL_TREE
; ;
4197 { yyval
.ttype
= NULL_TREE
; ;
4201 { have_extern_spec
= 1;
4202 used_extern_spec
= 0;
4203 yyval
.ttype
= NULL_TREE
; ;
4207 { have_extern_spec
= 0; ;
4211 { yyval
.itype
= pedantic
;
4216 { if (pending_lang_change
) do_pending_lang_change(); ;
4220 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4221 pop_everything (); ;
4225 { if (pending_inlines
) do_pending_inlines (); ;
4229 { if (pending_inlines
) do_pending_inlines (); ;
4233 { if (pending_inlines
) do_pending_inlines (); ;
4237 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4238 assemble_asm (yyvsp
[-2].ttype
); ;
4242 { pop_lang_context (); ;
4246 { if (pending_inlines
) do_pending_inlines ();
4247 pop_lang_context (); ;
4251 { if (pending_inlines
) do_pending_inlines ();
4252 pop_lang_context (); ;
4256 { push_namespace (yyvsp
[-1].ttype
); ;
4260 { pop_namespace (); ;
4264 { push_namespace (NULL_TREE
); ;
4268 { pop_namespace (); ;
4272 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4276 { pedantic
= yyvsp
[-1].itype
; ;
4280 { begin_only_namespace_names (); ;
4285 end_only_namespace_names ();
4287 yyvsp
[-1].ttype
= lastiddecl
;
4288 do_namespace_alias (yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
4293 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4297 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4301 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4305 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4309 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
); ;
4313 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4317 { begin_only_namespace_names (); ;
4322 end_only_namespace_names ();
4323 /* If no declaration was found, the using-directive is
4324 invalid. Since that was not reported, we need the
4325 identifier for the error message. */
4326 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4327 yyvsp
[-1].ttype
= lastiddecl
;
4328 do_using_directive (yyvsp
[-1].ttype
);
4334 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4335 yyval
.ttype
= lastiddecl
;
4336 got_scope
= yyval
.ttype
;
4342 yyval
.ttype
= yyvsp
[-1].ttype
;
4343 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4344 yyval
.ttype
= lastiddecl
;
4345 got_scope
= yyval
.ttype
;
4350 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4354 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4358 { push_lang_context (yyvsp
[0].ttype
); ;
4362 { if (current_lang_name
!= yyvsp
[0].ttype
)
4363 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4364 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4368 { begin_template_parm_list (); ;
4372 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4376 { begin_specialization();
4377 yyval
.ttype
= NULL_TREE
; ;
4381 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4385 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4389 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4393 { yyval
.ttype
= NULL_TREE
; ;
4397 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4401 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4405 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4409 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4413 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4417 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4421 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4425 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4430 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4431 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4432 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4434 error ("invalid default template argument");
4435 yyvsp
[0].ttype
= error_mark_node
;
4437 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4442 { finish_template_decl (yyvsp
[-1].ttype
); ;
4446 { finish_template_decl (yyvsp
[-1].ttype
); ;
4450 { if (pending_inlines
) do_pending_inlines (); ;
4454 { if (pending_inlines
) do_pending_inlines (); ;
4458 { if (pending_inlines
) do_pending_inlines (); ;
4462 { if (pending_inlines
) do_pending_inlines ();
4463 pop_lang_context (); ;
4467 { if (pending_inlines
) do_pending_inlines ();
4468 pop_lang_context (); ;
4472 { pedantic
= yyvsp
[-1].itype
; ;
4480 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4484 { maybe_process_partial_specialization (yyvsp
[-1].ftype
.t
);
4485 note_got_semicolon (yyvsp
[-1].ftype
.t
); ;
4493 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4497 { pedwarn ("empty declaration"); ;
4503 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4505 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4510 { yyval
.itype
= 0; ;
4514 { yyval
.itype
= 1; ;
4518 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4530 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4534 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4538 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4539 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4544 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4548 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4552 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4553 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4558 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4562 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4566 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4567 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4572 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4576 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4580 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4581 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4586 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4591 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4596 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4601 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4606 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4611 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4615 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4619 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4623 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4627 { tree specs
, attrs
;
4628 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4629 attrs
= build_tree_list (attrs
, NULL_TREE
);
4630 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
);
4634 if (yychar
== YYEMPTY
)
4636 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4640 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
4641 goto rest_of_mdef
; ;
4645 { tree specs
, attrs
;
4646 split_specs_attrs (yyvsp
[-1].ftype
.t
, &specs
, &attrs
);
4647 attrs
= build_tree_list (attrs
, NULL_TREE
);
4648 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4652 { tree specs
, attrs
;
4653 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4654 attrs
= build_tree_list (attrs
, NULL_TREE
);
4655 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4659 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4660 goto rest_of_mdef
; ;
4664 { tree specs
, attrs
;
4665 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4666 attrs
= build_tree_list (attrs
, NULL_TREE
);
4667 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4671 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4672 goto rest_of_mdef
; ;
4677 if (! current_function_parms_stored
)
4678 store_parm_decls ();
4679 yyval
.ttype
= yyvsp
[0].ttype
;
4684 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4688 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4692 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4697 if (yyvsp
[0].itype
== 0)
4698 error ("no base initializers given following ':'");
4700 /* Always keep the BLOCK node associated with the outermost
4701 pair of curley braces of a function. These are needed
4702 for correct operation of dwarfout.c. */
4709 if (! current_function_parms_stored
)
4710 store_parm_decls ();
4712 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4714 /* Make a contour for the initializer list. */
4717 expand_start_bindings (0);
4719 else if (current_class_type
== NULL_TREE
)
4720 error ("base initializers not allowed for non-member functions");
4721 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4722 error ("only constructors take base initializers");
4727 { yyval
.itype
= 0; ;
4731 { yyval
.itype
= 1; ;
4736 if (current_class_name
)
4737 pedwarn ("anachronistic old style base class initializer");
4738 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4744 if (current_class_name
)
4745 pedwarn ("anachronistic old style base class initializer");
4746 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4751 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4755 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4759 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4763 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4767 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4772 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4777 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4778 yyungetc (';', 1); ;
4782 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4783 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4787 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4791 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4795 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4796 yyungetc (';', 1); ;
4800 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4801 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4805 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4809 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4813 { begin_explicit_instantiation(); ;
4817 { end_explicit_instantiation(); ;
4821 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4825 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4829 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4833 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4838 if (yychar
== YYEMPTY
)
4841 yyval
.ttype
= finish_template_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
4848 /* Handle `Class<Class<Type>>' without space in the `>>' */
4849 pedwarn ("`>>' should be `> >' in template class name");
4855 { yyval
.ttype
= NULL_TREE
; ;
4859 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4863 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4867 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4871 { yyval
.ttype
= lastiddecl
; ;
4875 { yyval
.code
= NEGATE_EXPR
; ;
4879 { yyval
.code
= CONVERT_EXPR
; ;
4883 { yyval
.code
= PREINCREMENT_EXPR
; ;
4887 { yyval
.code
= PREDECREMENT_EXPR
; ;
4891 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4895 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4899 { error ("ANSI C++ forbids an empty condition for `%s'",
4901 yyval
.ttype
= integer_zero_node
; ;
4905 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4909 { error ("ANSI C++ forbids an empty condition for `%s'",
4911 yyval
.ttype
= integer_zero_node
; ;
4915 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4918 #line 1003 "parse.y"
4919 { yyval
.ttype
= NULL_TREE
; ;
4922 #line 1006 "parse.y"
4923 { yyval
.ttype
= NULL_TREE
; ;
4926 #line 1011 "parse.y"
4929 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4930 if (TREE_CODE (d
) == TYPE_DECL
) {
4931 tree s
= TREE_TYPE (d
);
4932 if (TREE_CODE (s
) == RECORD_TYPE
)
4933 cp_error ("definition of class `%T' in condition", s
);
4934 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4935 cp_error ("definition of enum `%T' in condition", s
);
4938 current_declspecs
= yyvsp
[-4].ftype
.t
;
4939 yyvsp
[0].itype
= suspend_momentary ();
4940 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
4941 yyvsp
[-1].ttype
, /*prefix_attributes*/ NULL_TREE
);
4945 #line 1028 "parse.y"
4947 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4948 resume_momentary (yyvsp
[-2].itype
);
4949 yyval
.ttype
= convert_from_reference (yyvsp
[-1].ttype
);
4950 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4951 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4955 #line 1047 "parse.y"
4956 { yyval
.ttype
= begin_compound_stmt (1); ;
4959 #line 1049 "parse.y"
4960 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
4963 #line 1056 "parse.y"
4964 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4965 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4968 #line 1059 "parse.y"
4969 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4970 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4973 #line 1062 "parse.y"
4974 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4977 #line 1064 "parse.y"
4978 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4981 #line 1069 "parse.y"
4982 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4985 #line 1075 "parse.y"
4986 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4989 #line 1078 "parse.y"
4990 { yyval
.ttype
= yyvsp
[0].ttype
;
4991 pedantic
= yyvsp
[-1].itype
; ;
4994 #line 1081 "parse.y"
4995 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4998 #line 1083 "parse.y"
4999 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5002 #line 1085 "parse.y"
5003 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5006 #line 1087 "parse.y"
5007 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5010 #line 1090 "parse.y"
5012 pedwarn ("ANSI C++ forbids `&&'");
5013 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
5016 #line 1094 "parse.y"
5017 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
5020 #line 1096 "parse.y"
5021 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
));
5022 check_for_new_type ("sizeof", yyvsp
[-1].ftype
); ;
5025 #line 1099 "parse.y"
5026 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
5029 #line 1101 "parse.y"
5030 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
5031 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
5034 #line 1107 "parse.y"
5035 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
5036 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5039 #line 1110 "parse.y"
5040 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
5041 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5044 #line 1113 "parse.y"
5045 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
5046 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5049 #line 1116 "parse.y"
5050 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
5051 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5054 #line 1129 "parse.y"
5055 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
5056 NULL_TREE
, yyvsp
[-4].itype
);
5057 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5060 #line 1134 "parse.y"
5061 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
5062 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5065 #line 1138 "parse.y"
5066 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-5].itype
);
5067 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5070 #line 1142 "parse.y"
5071 { yyval
.ttype
= build_new (yyvsp
[-5].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-6].itype
);
5072 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5075 #line 1146 "parse.y"
5076 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
5079 #line 1148 "parse.y"
5080 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
5081 if (yychar
== YYEMPTY
)
5085 #line 1152 "parse.y"
5086 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
5087 if (yychar
== YYEMPTY
)
5091 #line 1156 "parse.y"
5092 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
5095 #line 1158 "parse.y"
5096 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
5099 #line 1168 "parse.y"
5100 { finish_new_placement (NULL_TREE
, yyvsp
[-2].itype
); ;
5103 #line 1171 "parse.y"
5104 { yyval
.itype
= begin_new_placement (); ;
5107 #line 1175 "parse.y"
5108 { yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5111 #line 1177 "parse.y"
5112 { cp_pedwarn ("old style placement syntax, use () instead");
5113 yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5116 #line 1183 "parse.y"
5117 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5120 #line 1185 "parse.y"
5121 { yyval
.ttype
= NULL_TREE
; ;
5124 #line 1187 "parse.y"
5126 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
5127 yyval
.ttype
= error_mark_node
;
5131 #line 1195 "parse.y"
5134 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5135 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
5136 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
5137 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
5139 yyval
.ttype
= yyvsp
[0].ttype
;
5143 #line 1209 "parse.y"
5144 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5145 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5146 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5149 #line 1213 "parse.y"
5150 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5151 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5152 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5155 #line 1221 "parse.y"
5156 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5159 #line 1223 "parse.y"
5161 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5162 nreverse (yyvsp
[-2].ttype
));
5164 pedwarn ("ANSI C++ forbids constructor-expressions");
5165 /* Indicate that this was a GNU C constructor expression. */
5166 TREE_HAS_CONSTRUCTOR (init
) = 1;
5168 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5172 #line 1239 "parse.y"
5173 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5176 #line 1241 "parse.y"
5177 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5180 #line 1243 "parse.y"
5181 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5184 #line 1245 "parse.y"
5185 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5188 #line 1247 "parse.y"
5189 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5192 #line 1249 "parse.y"
5193 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5196 #line 1251 "parse.y"
5197 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5200 #line 1253 "parse.y"
5201 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5204 #line 1255 "parse.y"
5205 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5208 #line 1257 "parse.y"
5209 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5212 #line 1259 "parse.y"
5213 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5216 #line 1261 "parse.y"
5217 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5220 #line 1263 "parse.y"
5221 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5224 #line 1265 "parse.y"
5225 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5228 #line 1267 "parse.y"
5229 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5232 #line 1269 "parse.y"
5233 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5236 #line 1271 "parse.y"
5237 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5240 #line 1273 "parse.y"
5241 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5244 #line 1275 "parse.y"
5245 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5248 #line 1277 "parse.y"
5249 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5252 #line 1279 "parse.y"
5253 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5254 if (yyval
.ttype
!= error_mark_node
)
5255 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5258 #line 1283 "parse.y"
5259 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5262 #line 1285 "parse.y"
5263 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5266 #line 1287 "parse.y"
5267 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5270 #line 1305 "parse.y"
5271 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5274 #line 1307 "parse.y"
5275 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5278 #line 1316 "parse.y"
5280 /* If lastiddecl is a TREE_LIST, it's a baselink, which
5281 means that we're in an expression like S::f<int>, so
5282 don't do_identifier; we only do that for unqualified
5284 if (lastiddecl
&& TREE_CODE (lastiddecl
) != TREE_LIST
)
5285 yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1, NULL_TREE
);
5287 yyval
.ttype
= yyvsp
[-1].ttype
;
5291 #line 1329 "parse.y"
5292 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5295 #line 1331 "parse.y"
5296 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5299 #line 1336 "parse.y"
5300 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5303 #line 1338 "parse.y"
5304 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5307 #line 1341 "parse.y"
5308 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5311 #line 1353 "parse.y"
5313 /* Provide support for '(' attributes '*' declarator ')'
5315 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
5319 #line 1363 "parse.y"
5320 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5323 #line 1365 "parse.y"
5324 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5327 #line 1367 "parse.y"
5328 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5331 #line 1372 "parse.y"
5332 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5335 #line 1374 "parse.y"
5336 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5339 #line 1384 "parse.y"
5340 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5343 #line 1389 "parse.y"
5345 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
5346 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
5348 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
5352 #line 1398 "parse.y"
5354 if (processing_template_decl
)
5355 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5356 yyval
.ttype
= combine_strings (yyval
.ttype
);
5357 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5358 a const array the way we want, so fix it. */
5359 if (flag_const_strings
)
5360 TREE_TYPE (yyval
.ttype
) = build_cplus_array_type
5361 (TREE_TYPE (TREE_TYPE (yyval
.ttype
)),
5362 TYPE_DOMAIN (TREE_TYPE (yyval
.ttype
)));
5363 if (processing_template_decl
)
5368 #line 1412 "parse.y"
5369 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5372 #line 1414 "parse.y"
5373 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5374 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5377 #line 1417 "parse.y"
5378 { yyval
.ttype
= error_mark_node
; ;
5381 #line 1419 "parse.y"
5382 { tree scope
= current_scope ();
5383 if (!scope
|| TREE_CODE (scope
) != FUNCTION_DECL
)
5385 error ("braced-group within expression allowed only inside a function");
5389 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5390 yyval
.ttype
= begin_stmt_expr ();
5394 #line 1430 "parse.y"
5395 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5398 #line 1435 "parse.y"
5399 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
5402 #line 1437 "parse.y"
5403 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 1); ;
5406 #line 1439 "parse.y"
5407 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 0); ;
5410 #line 1441 "parse.y"
5411 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 0); ;
5414 #line 1443 "parse.y"
5415 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5418 #line 1445 "parse.y"
5419 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5422 #line 1447 "parse.y"
5423 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5426 #line 1450 "parse.y"
5427 { yyval
.ttype
= finish_this_expr (); ;
5430 #line 1452 "parse.y"
5432 /* This is a C cast in C++'s `functional' notation
5433 using the "implicit int" extension so that:
5434 `const (3)' is equivalent to `const int (3)'. */
5437 if (yyvsp
[-1].ttype
== error_mark_node
)
5439 yyval
.ttype
= error_mark_node
;
5443 type
= cp_build_qualified_type (integer_type_node
,
5444 cp_type_qual_from_rid (yyvsp
[-3].ttype
));
5445 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5449 #line 1470 "parse.y"
5450 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5451 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5452 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5455 #line 1474 "parse.y"
5456 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5457 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5458 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5461 #line 1478 "parse.y"
5462 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5463 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5464 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5467 #line 1482 "parse.y"
5468 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5469 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5470 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5473 #line 1486 "parse.y"
5474 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5477 #line 1488 "parse.y"
5478 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5479 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5480 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5483 #line 1492 "parse.y"
5484 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5487 #line 1494 "parse.y"
5488 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5491 #line 1496 "parse.y"
5493 got_scope
= NULL_TREE
;
5494 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5495 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5497 yyval
.ttype
= yyvsp
[0].ttype
;
5501 #line 1504 "parse.y"
5502 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5505 #line 1506 "parse.y"
5506 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5509 #line 1508 "parse.y"
5510 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5513 #line 1510 "parse.y"
5515 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5519 #line 1514 "parse.y"
5520 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5523 #line 1516 "parse.y"
5524 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5527 #line 1518 "parse.y"
5528 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5531 #line 1520 "parse.y"
5532 { if (processing_template_decl
)
5533 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5535 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5538 #line 1525 "parse.y"
5539 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5542 #line 1527 "parse.y"
5543 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5546 #line 1529 "parse.y"
5547 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5550 #line 1531 "parse.y"
5551 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5554 #line 1534 "parse.y"
5555 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5558 #line 1536 "parse.y"
5559 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5562 #line 1538 "parse.y"
5564 yyval
.ttype
= error_mark_node
;
5568 #line 1583 "parse.y"
5569 { yyval
.itype
= 0; ;
5572 #line 1585 "parse.y"
5573 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5576 #line 1590 "parse.y"
5577 { yyval
.itype
= 0; ;
5580 #line 1592 "parse.y"
5581 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5584 #line 1597 "parse.y"
5585 { yyval
.ttype
= boolean_true_node
; ;
5588 #line 1599 "parse.y"
5589 { yyval
.ttype
= boolean_false_node
; ;
5592 #line 1606 "parse.y"
5593 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5596 #line 1611 "parse.y"
5598 if (! current_function_parms_stored
)
5599 store_parm_decls ();
5601 /* Always keep the BLOCK node associated with the outermost
5602 pair of curley braces of a function. These are needed
5603 for correct operation of dwarfout.c. */
5608 #line 1624 "parse.y"
5609 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5612 #line 1626 "parse.y"
5614 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5615 got_object
= TREE_TYPE (yyval
.ttype
);
5619 #line 1634 "parse.y"
5621 resume_momentary (yyvsp
[-1].itype
);
5622 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5623 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5627 #line 1640 "parse.y"
5629 resume_momentary (yyvsp
[-1].itype
);
5630 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5634 #line 1645 "parse.y"
5635 { resume_momentary (yyvsp
[-1].itype
); ;
5638 #line 1647 "parse.y"
5640 shadow_tag (yyvsp
[-1].ftype
.t
);
5641 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5645 #line 1652 "parse.y"
5646 { warning ("empty declaration"); ;
5649 #line 1654 "parse.y"
5650 { pedantic
= yyvsp
[-1].itype
; ;
5653 #line 1668 "parse.y"
5654 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5655 NULL_TREE
, NULL_TREE
); ;
5658 #line 1671 "parse.y"
5659 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5663 #line 1678 "parse.y"
5664 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5665 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5668 #line 1681 "parse.y"
5669 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5670 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5673 #line 1684 "parse.y"
5674 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5675 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5678 #line 1687 "parse.y"
5679 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5680 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5683 #line 1690 "parse.y"
5684 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5685 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5688 #line 1706 "parse.y"
5689 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5690 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5693 #line 1709 "parse.y"
5694 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5695 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5698 #line 1712 "parse.y"
5699 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5700 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5703 #line 1715 "parse.y"
5704 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5705 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5708 #line 1718 "parse.y"
5709 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5710 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5713 #line 1721 "parse.y"
5714 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5715 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5716 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5719 #line 1728 "parse.y"
5720 { if (extra_warnings
)
5721 warning ("`%s' is not at beginning of declaration",
5722 IDENTIFIER_POINTER (yyval
.ttype
));
5723 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5726 #line 1733 "parse.y"
5727 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5730 #line 1735 "parse.y"
5731 { if (extra_warnings
)
5732 warning ("`%s' is not at beginning of declaration",
5733 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5734 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5737 #line 1740 "parse.y"
5738 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5741 #line 1742 "parse.y"
5742 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5745 #line 1752 "parse.y"
5746 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5749 #line 1754 "parse.y"
5750 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5753 #line 1756 "parse.y"
5754 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5755 TREE_STATIC (yyval
.ttype
) = 1; ;
5758 #line 1759 "parse.y"
5759 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5760 warning ("`%s' is not at beginning of declaration",
5761 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5762 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5763 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5766 #line 1765 "parse.y"
5767 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5770 #line 1767 "parse.y"
5771 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5774 #line 1778 "parse.y"
5775 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5776 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5779 #line 1781 "parse.y"
5780 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5781 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5784 #line 1784 "parse.y"
5785 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5786 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5789 #line 1787 "parse.y"
5790 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5791 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5794 #line 1793 "parse.y"
5795 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5798 #line 1795 "parse.y"
5799 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5802 #line 1805 "parse.y"
5803 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5806 #line 1807 "parse.y"
5807 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5810 #line 1809 "parse.y"
5811 { yyval
.ftype
.t
= finish_typeof (yyvsp
[-1].ttype
);
5812 yyval
.ftype
.new_type_flag
= 0; ;
5815 #line 1812 "parse.y"
5816 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5817 yyval
.ftype
.new_type_flag
= 0; ;
5820 #line 1815 "parse.y"
5821 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5823 yyval
.ftype
.new_type_flag
= 0;
5824 if (IS_AGGR_TYPE (type
))
5826 sorry ("sigof type specifier");
5827 yyval
.ftype
.t
= type
;
5831 error ("`sigof' applied to non-aggregate expression");
5832 yyval
.ftype
.t
= error_mark_node
;
5837 #line 1830 "parse.y"
5838 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5840 yyval
.ftype
.new_type_flag
= 0;
5841 if (IS_AGGR_TYPE (type
))
5843 sorry ("sigof type specifier");
5844 yyval
.ftype
.t
= type
;
5848 error("`sigof' applied to non-aggregate type");
5849 yyval
.ftype
.t
= error_mark_node
;
5854 #line 1850 "parse.y"
5855 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5858 #line 1852 "parse.y"
5859 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5862 #line 1859 "parse.y"
5863 { check_multiple_declarators (); ;
5866 #line 1865 "parse.y"
5867 { check_multiple_declarators (); ;
5870 #line 1871 "parse.y"
5871 { check_multiple_declarators (); ;
5874 #line 1876 "parse.y"
5875 { yyval
.ttype
= NULL_TREE
; ;
5878 #line 1878 "parse.y"
5879 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5882 #line 1883 "parse.y"
5883 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
5884 yyvsp
[-1].ttype
, prefix_attributes
); ;
5887 #line 1887 "parse.y"
5888 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5891 #line 1889 "parse.y"
5892 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
5893 yyvsp
[0].ttype
, prefix_attributes
);
5894 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5897 #line 1902 "parse.y"
5898 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
5899 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
5902 #line 1907 "parse.y"
5903 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1,
5904 LOOKUP_ONLYCONVERTING
);
5905 yyval
.itype
= yyvsp
[-2].itype
; ;
5908 #line 1911 "parse.y"
5910 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
5911 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5914 #line 1918 "parse.y"
5915 { yyval
.itype
= yyvsp
[0].itype
; ;
5918 #line 1922 "parse.y"
5919 { yyval
.itype
= yyvsp
[0].itype
; ;
5922 #line 1927 "parse.y"
5923 { /* Set things up as initdcl0_innards expects. */
5924 yyvsp
[0].ttype
= yyvsp
[-1].ttype
;
5925 yyvsp
[-1].ttype
= NULL_TREE
; ;
5928 #line 1931 "parse.y"
5932 #line 1933 "parse.y"
5934 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
5935 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5938 #line 1942 "parse.y"
5939 { yyval
.ttype
= NULL_TREE
; ;
5942 #line 1944 "parse.y"
5943 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5946 #line 1949 "parse.y"
5947 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5950 #line 1951 "parse.y"
5951 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5954 #line 1956 "parse.y"
5955 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5958 #line 1961 "parse.y"
5959 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5962 #line 1963 "parse.y"
5963 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5966 #line 1968 "parse.y"
5967 { yyval
.ttype
= NULL_TREE
; ;
5970 #line 1970 "parse.y"
5971 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5974 #line 1972 "parse.y"
5975 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5978 #line 1974 "parse.y"
5979 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5982 #line 1976 "parse.y"
5983 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5986 #line 1992 "parse.y"
5987 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5990 #line 1994 "parse.y"
5991 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5994 #line 1999 "parse.y"
5995 { yyval
.ttype
= NULL_TREE
; ;
5998 #line 2001 "parse.y"
5999 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6002 #line 2009 "parse.y"
6003 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
6004 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6007 #line 2012 "parse.y"
6008 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
6009 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6012 #line 2015 "parse.y"
6013 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
6014 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6017 #line 2018 "parse.y"
6018 { yyval
.ttype
= NULL_TREE
; ;
6021 #line 2025 "parse.y"
6022 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
6025 #line 2027 "parse.y"
6026 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6029 #line 2030 "parse.y"
6030 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6033 #line 2032 "parse.y"
6034 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
6037 #line 2034 "parse.y"
6038 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6041 #line 2039 "parse.y"
6042 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
6044 reinit_parse_for_function (); ;
6047 #line 2045 "parse.y"
6049 int nested
= (hack_decl_function_context
6050 (current_function_decl
) != NULL_TREE
);
6051 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
6052 process_next_inline (yyvsp
[-3].ttype
);
6056 #line 2052 "parse.y"
6057 { process_next_inline (yyvsp
[-2].ttype
); ;
6060 #line 2054 "parse.y"
6061 { process_next_inline (yyvsp
[-2].ttype
); ;
6064 #line 2066 "parse.y"
6065 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6068 #line 2068 "parse.y"
6069 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6072 #line 2073 "parse.y"
6073 { do_pending_defargs (); ;
6076 #line 2075 "parse.y"
6077 { do_pending_defargs (); ;
6080 #line 2080 "parse.y"
6081 { yyvsp
[0].itype
= suspend_momentary ();
6082 yyval
.ttype
= current_enum_type
;
6083 current_enum_type
= start_enum (yyvsp
[-1].ttype
); ;
6086 #line 2084 "parse.y"
6087 { TYPE_VALUES (current_enum_type
) = yyvsp
[-2].ttype
;
6088 yyval
.ftype
.t
= finish_enum (current_enum_type
);
6089 yyval
.ftype
.new_type_flag
= 1;
6090 current_enum_type
= yyvsp
[-3].ttype
;
6091 resume_momentary ((int) yyvsp
[-4].itype
);
6092 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6095 #line 2091 "parse.y"
6096 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
));
6097 yyval
.ftype
.new_type_flag
= 1;
6098 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6101 #line 2095 "parse.y"
6102 { yyvsp
[0].itype
= suspend_momentary ();
6103 yyval
.ttype
= current_enum_type
;
6104 current_enum_type
= start_enum (make_anon_name ()); ;
6107 #line 2099 "parse.y"
6108 { TYPE_VALUES (current_enum_type
) = yyvsp
[-2].ttype
;
6109 yyval
.ftype
.t
= finish_enum (current_enum_type
);
6110 yyval
.ftype
.new_type_flag
= 1;
6111 current_enum_type
= yyvsp
[-3].ttype
;
6112 resume_momentary ((int) yyvsp
[-5].itype
);
6113 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6116 #line 2106 "parse.y"
6117 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()));
6118 yyval
.ftype
.new_type_flag
= 1;
6119 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6122 #line 2110 "parse.y"
6123 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6124 yyval
.ftype
.new_type_flag
= 0; ;
6127 #line 2113 "parse.y"
6128 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6129 yyval
.ftype
.new_type_flag
= 0; ;
6132 #line 2116 "parse.y"
6133 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6134 yyval
.ftype
.new_type_flag
= 0;
6135 if (!processing_template_decl
)
6136 cp_pedwarn ("using `typename' outside of template"); ;
6139 #line 2123 "parse.y"
6143 if (yychar
== YYEMPTY
)
6145 semi
= yychar
== ';';
6147 yyval
.ttype
= finish_class_definition (yyvsp
[-4].ttype
, yyvsp
[0].ttype
, semi
);
6151 #line 2133 "parse.y"
6152 { finish_default_args (); ;
6155 #line 2135 "parse.y"
6156 { yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6157 yyval
.ftype
.new_type_flag
= 1;
6158 begin_inline_definitions (); ;
6161 #line 2139 "parse.y"
6163 yyval
.ftype
.new_type_flag
= 0;
6164 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
6166 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
6167 yyval
.ftype
.t
= error_mark_node
;
6171 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6172 /* struct B: public A; is not accepted by the WP grammar. */
6173 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6174 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6175 cp_error ("base clause without member specification for `%#T'",
6181 #line 2166 "parse.y"
6182 { if (pedantic
&& !in_system_header
)
6183 pedwarn ("comma at end of enumerator list"); ;
6186 #line 2173 "parse.y"
6187 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6190 #line 2175 "parse.y"
6191 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6194 #line 2177 "parse.y"
6195 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6198 #line 2179 "parse.y"
6199 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6202 #line 2181 "parse.y"
6203 { yyval
.ttype
= build_decl_list (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6206 #line 2186 "parse.y"
6208 current_aggr
= yyvsp
[-1].ttype
;
6209 yyval
.ttype
= yyvsp
[0].ttype
;
6213 #line 2194 "parse.y"
6214 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6217 #line 2196 "parse.y"
6218 { yyungetc ('{', 1); ;
6221 #line 2198 "parse.y"
6222 { yyungetc (':', 1); ;
6225 #line 2203 "parse.y"
6227 current_aggr
= yyvsp
[-2].ttype
;
6228 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6232 #line 2208 "parse.y"
6234 current_aggr
= yyvsp
[-3].ttype
;
6235 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6239 #line 2213 "parse.y"
6241 current_aggr
= yyvsp
[-2].ttype
;
6242 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6246 #line 2218 "parse.y"
6247 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6250 #line 2220 "parse.y"
6251 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6254 #line 2225 "parse.y"
6255 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 1); ;
6258 #line 2227 "parse.y"
6259 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 0); ;
6262 #line 2231 "parse.y"
6264 yyval
.ttype
= yyvsp
[-1].ttype
;
6266 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6270 #line 2237 "parse.y"
6271 { push_scope (CP_DECL_CONTEXT (yyvsp
[0].ttype
)); ;
6274 #line 2239 "parse.y"
6276 pop_scope (CP_DECL_CONTEXT (yyvsp
[-2].ttype
));
6277 yyval
.ttype
= TREE_TYPE (yyvsp
[-2].ttype
);
6278 if (current_aggr
== union_type_node
6279 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
6280 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
6281 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
6282 && current_aggr
!= union_type_node
)
6283 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
6284 else if (TREE_CODE (yyval
.ttype
) == RECORD_TYPE
)
6285 /* We might be specializing a template with a different
6287 CLASSTYPE_DECLARED_CLASS (yyval
.ttype
) = (current_aggr
6288 == class_type_node
);
6291 maybe_process_partial_specialization (yyval
.ttype
);
6292 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6297 #line 2263 "parse.y"
6298 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), 0);
6299 yyungetc ('{', 1); ;
6302 #line 2274 "parse.y"
6303 { yyval
.ttype
= NULL_TREE
; ;
6306 #line 2276 "parse.y"
6307 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6310 #line 2278 "parse.y"
6311 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6314 #line 2284 "parse.y"
6315 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6318 #line 2289 "parse.y"
6319 { yyval
.ttype
= finish_base_specifier (access_default_node
, yyvsp
[0].ttype
,
6321 == signature_type_node
); ;
6324 #line 2293 "parse.y"
6325 { yyval
.ttype
= finish_base_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
,
6327 == signature_type_node
); ;
6330 #line 2300 "parse.y"
6331 { if (yyval
.ttype
!= error_mark_node
) yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6334 #line 2303 "parse.y"
6336 if (current_aggr
== signature_type_node
)
6338 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6340 sorry ("`sigof' as base signature specifier");
6341 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6345 error ("`sigof' applied to non-aggregate expression");
6346 yyval
.ttype
= error_mark_node
;
6351 error ("`sigof' in struct or class declaration");
6352 yyval
.ttype
= error_mark_node
;
6357 #line 2324 "parse.y"
6359 if (current_aggr
== signature_type_node
)
6361 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6363 sorry ("`sigof' as base signature specifier");
6364 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6368 error ("`sigof' applied to non-aggregate expression");
6369 yyval
.ttype
= error_mark_node
;
6374 error ("`sigof' in struct or class declaration");
6375 yyval
.ttype
= error_mark_node
;
6380 #line 2349 "parse.y"
6381 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6382 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6383 yyval
.ttype
= access_default_virtual_node
; ;
6386 #line 2353 "parse.y"
6388 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6389 error ("multiple access specifiers");
6390 else if (yyvsp
[-1].ttype
== access_public_node
)
6391 yyval
.ttype
= access_public_virtual_node
;
6392 else if (yyvsp
[-1].ttype
== access_protected_node
)
6393 yyval
.ttype
= access_protected_virtual_node
;
6394 else /* $2 == access_private_node */
6395 yyval
.ttype
= access_private_virtual_node
;
6399 #line 2364 "parse.y"
6400 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6401 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6402 else if (yyval
.ttype
== access_public_node
)
6403 yyval
.ttype
= access_public_virtual_node
;
6404 else if (yyval
.ttype
== access_protected_node
)
6405 yyval
.ttype
= access_protected_virtual_node
;
6406 else if (yyval
.ttype
== access_private_node
)
6407 yyval
.ttype
= access_private_virtual_node
;
6409 error ("multiple `virtual' specifiers");
6413 #line 2379 "parse.y"
6414 { yyvsp
[-1].ttype
= begin_class_definition (yyvsp
[-1].ttype
); ;
6417 #line 2384 "parse.y"
6419 finish_member_declaration (build_self_reference ());
6423 #line 2398 "parse.y"
6425 if (current_aggr
== signature_type_node
)
6427 error ("access specifier not allowed in signature");
6428 yyvsp
[-1].ttype
= access_public_node
;
6431 current_access_specifier
= yyvsp
[-1].ttype
;
6435 #line 2413 "parse.y"
6437 finish_member_declaration (yyvsp
[0].ttype
);
6441 #line 2417 "parse.y"
6443 finish_member_declaration (yyvsp
[0].ttype
);
6447 #line 2425 "parse.y"
6448 { error ("missing ';' before right brace");
6449 yyungetc ('}', 0); ;
6452 #line 2430 "parse.y"
6453 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6456 #line 2432 "parse.y"
6457 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6460 #line 2434 "parse.y"
6461 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6464 #line 2436 "parse.y"
6465 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6468 #line 2438 "parse.y"
6469 { yyval
.ttype
= NULL_TREE
; ;
6472 #line 2440 "parse.y"
6473 { yyval
.ttype
= yyvsp
[0].ttype
;
6474 pedantic
= yyvsp
[-1].itype
; ;
6477 #line 2443 "parse.y"
6480 yyval
.ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6482 /* The component was already processed. */
6483 yyval
.ttype
= NULL_TREE
;
6485 finish_template_decl (yyvsp
[-1].ttype
);
6489 #line 2453 "parse.y"
6491 yyval
.ttype
= finish_member_class_template (yyvsp
[-1].ftype
.t
);
6492 finish_template_decl (yyvsp
[-2].ttype
);
6496 #line 2464 "parse.y"
6498 /* Most of the productions for component_decl only
6499 allow the creation of one new member, so we call
6500 finish_member_declaration in component_decl_list.
6501 For this rule and the next, however, there can be
6502 more than one member, e.g.:
6506 and we need the first member to be fully
6507 registered before the second is processed.
6508 Therefore, the rules for components take care of
6509 this processing. To avoid registering the
6510 components more than once, we send NULL_TREE up
6511 here; that lets finish_member_declaration now
6512 that there is nothing to do. */
6513 if (!yyvsp
[0].itype
)
6514 grok_x_components (yyvsp
[-1].ftype
.t
);
6515 yyval
.ttype
= NULL_TREE
;
6519 #line 2485 "parse.y"
6521 if (!yyvsp
[0].itype
)
6522 grok_x_components (yyvsp
[-1].ttype
);
6523 yyval
.ttype
= NULL_TREE
;
6527 #line 2491 "parse.y"
6528 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6529 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6532 #line 2494 "parse.y"
6533 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6534 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6537 #line 2497 "parse.y"
6538 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6541 #line 2499 "parse.y"
6542 { yyval
.ttype
= NULL_TREE
; ;
6545 #line 2510 "parse.y"
6546 { tree specs
, attrs
;
6547 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6548 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6549 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6552 #line 2515 "parse.y"
6553 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6554 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6557 #line 2518 "parse.y"
6558 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6561 #line 2524 "parse.y"
6562 { yyval
.itype
= 0; ;
6565 #line 2526 "parse.y"
6567 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6568 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6569 finish_member_declaration (yyvsp
[0].ttype
);
6574 #line 2533 "parse.y"
6576 check_multiple_declarators ();
6577 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6578 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6579 finish_member_declaration (yyvsp
[0].ttype
);
6584 #line 2544 "parse.y"
6585 { yyval
.itype
= 0; ;
6588 #line 2546 "parse.y"
6590 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6591 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6592 finish_member_declaration (yyvsp
[0].ttype
);
6597 #line 2553 "parse.y"
6599 check_multiple_declarators ();
6600 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6601 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6602 finish_member_declaration (yyvsp
[0].ttype
);
6607 #line 2574 "parse.y"
6608 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6609 &prefix_attributes
);
6610 yyvsp
[-4].ttype
= current_declspecs
;
6611 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6612 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6615 #line 2580 "parse.y"
6616 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6617 &prefix_attributes
);
6618 yyvsp
[-4].ttype
= current_declspecs
;
6619 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6620 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6623 #line 2589 "parse.y"
6624 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6625 &prefix_attributes
);
6626 yyvsp
[-4].ttype
= current_declspecs
;
6627 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6628 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6631 #line 2595 "parse.y"
6632 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6633 &prefix_attributes
);
6634 yyvsp
[-4].ttype
= current_declspecs
;
6635 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6636 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6639 #line 2601 "parse.y"
6640 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6641 &prefix_attributes
);
6642 yyvsp
[-4].ttype
= current_declspecs
;
6643 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6644 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6647 #line 2607 "parse.y"
6648 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6649 &prefix_attributes
);
6650 yyvsp
[-3].ttype
= current_declspecs
;
6651 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6652 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6655 #line 2616 "parse.y"
6656 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6657 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6660 #line 2619 "parse.y"
6661 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6662 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6665 #line 2625 "parse.y"
6666 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6667 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6670 #line 2628 "parse.y"
6671 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6672 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6675 #line 2631 "parse.y"
6676 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6677 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6680 #line 2642 "parse.y"
6681 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6684 #line 2647 "parse.y"
6685 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
, current_enum_type
); ;
6688 #line 2649 "parse.y"
6689 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
, current_enum_type
); ;
6692 #line 2655 "parse.y"
6693 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6694 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6697 #line 2658 "parse.y"
6698 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6699 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6702 #line 2665 "parse.y"
6705 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6706 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6707 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6708 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6712 #line 2676 "parse.y"
6713 { yyval
.ttype
= NULL_TREE
; ;
6716 #line 2678 "parse.y"
6717 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6720 #line 2683 "parse.y"
6721 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6722 yyval
.ftype
.new_type_flag
= 0; ;
6725 #line 2686 "parse.y"
6726 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6727 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6730 #line 2695 "parse.y"
6731 { yyval
.itype
= suspend_momentary (); ;
6734 #line 2700 "parse.y"
6735 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6738 #line 2706 "parse.y"
6739 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6742 #line 2708 "parse.y"
6743 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6746 #line 2710 "parse.y"
6747 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6750 #line 2712 "parse.y"
6751 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6754 #line 2719 "parse.y"
6755 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6758 #line 2721 "parse.y"
6759 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6762 #line 2723 "parse.y"
6763 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6766 #line 2725 "parse.y"
6767 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6770 #line 2727 "parse.y"
6771 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6772 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6776 #line 2735 "parse.y"
6778 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6780 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6781 if (current_class_type
6782 && TYPE_BEING_DEFINED (current_class_type
)
6783 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6785 /* Remember that this name has been used in the class
6786 definition, as per [class.scope0] */
6787 pushdecl_class_level (yyval
.ttype
);
6791 yyval
.ttype
= yyvsp
[0].ttype
;
6795 #line 2752 "parse.y"
6797 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6798 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6800 yyval
.ttype
= yyvsp
[0].ttype
;
6801 got_scope
= NULL_TREE
;
6805 #line 2765 "parse.y"
6806 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6809 #line 2770 "parse.y"
6810 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6813 #line 2775 "parse.y"
6814 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6817 #line 2777 "parse.y"
6818 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6821 #line 2779 "parse.y"
6822 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6825 #line 2781 "parse.y"
6826 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6829 #line 2783 "parse.y"
6830 { push_nested_class (yyvsp
[-1].ttype
, 3);
6831 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6832 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6835 #line 2795 "parse.y"
6837 /* Provide support for '(' attributes '*' declarator ')'
6839 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
6843 #line 2804 "parse.y"
6844 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6847 #line 2806 "parse.y"
6848 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6851 #line 2808 "parse.y"
6852 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6855 #line 2810 "parse.y"
6856 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6859 #line 2812 "parse.y"
6860 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6861 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6865 #line 2820 "parse.y"
6866 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6869 #line 2822 "parse.y"
6870 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6873 #line 2824 "parse.y"
6874 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6877 #line 2826 "parse.y"
6878 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6881 #line 2828 "parse.y"
6882 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6883 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6887 #line 2836 "parse.y"
6888 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6891 #line 2838 "parse.y"
6892 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6895 #line 2840 "parse.y"
6896 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6899 #line 2842 "parse.y"
6900 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6903 #line 2844 "parse.y"
6904 { enter_scope_of (yyvsp
[0].ttype
); ;
6907 #line 2846 "parse.y"
6908 { got_scope
= NULL_TREE
;
6909 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6910 enter_scope_of (yyval
.ttype
);
6914 #line 2854 "parse.y"
6915 { got_scope
= NULL_TREE
;
6916 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6919 #line 2857 "parse.y"
6920 { got_scope
= NULL_TREE
;
6921 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6924 #line 2863 "parse.y"
6925 { got_scope
= NULL_TREE
;
6926 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6929 #line 2866 "parse.y"
6930 { got_scope
= NULL_TREE
;
6931 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6934 #line 2873 "parse.y"
6935 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6938 #line 2878 "parse.y"
6939 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6942 #line 2880 "parse.y"
6943 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6946 #line 2882 "parse.y"
6947 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6950 #line 2893 "parse.y"
6951 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6954 #line 2895 "parse.y"
6955 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6958 #line 2902 "parse.y"
6960 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6962 yyval
.ttype
= lastiddecl
;
6963 /* Remember that this name has been used in the class
6964 definition, as per [class.scope0] */
6965 if (current_class_type
6966 && TYPE_BEING_DEFINED (current_class_type
)
6967 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
6968 pushdecl_class_level (yyval
.ttype
);
6970 got_scope
= yyval
.ttype
= TYPE_MAIN_VARIANT (TREE_TYPE (yyval
.ttype
));
6974 #line 2916 "parse.y"
6976 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6977 yyval
.ttype
= lastiddecl
;
6978 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6982 #line 2922 "parse.y"
6984 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6985 yyval
.ttype
= lastiddecl
;
6986 got_scope
= yyval
.ttype
;
6990 #line 2928 "parse.y"
6991 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
6994 #line 2944 "parse.y"
6995 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6998 #line 2949 "parse.y"
7000 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7001 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7002 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7003 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7006 yyval
.ttype
= yyvsp
[0].ttype
;
7007 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7008 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7013 #line 2962 "parse.y"
7014 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
7017 #line 2964 "parse.y"
7018 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7021 #line 2966 "parse.y"
7022 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
7025 #line 2971 "parse.y"
7027 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7028 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7032 #line 2976 "parse.y"
7034 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7035 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7036 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7037 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7040 yyval
.ttype
= yyvsp
[0].ttype
;
7041 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7042 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7047 #line 2989 "parse.y"
7048 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
7051 #line 2991 "parse.y"
7052 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7055 #line 2996 "parse.y"
7057 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7058 yyvsp
[-1].ttype
= lastiddecl
;
7060 /* Retrieve the type for the identifier, which might involve
7061 some computation. */
7062 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
7064 if (yyval
.ttype
== error_mark_node
)
7065 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
7069 #line 3008 "parse.y"
7071 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7072 yyval
.ttype
= lastiddecl
;
7073 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7077 #line 3014 "parse.y"
7078 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7081 #line 3018 "parse.y"
7083 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7084 yyval
.ttype
= lastiddecl
;
7085 got_scope
= yyval
.ttype
;
7089 #line 3027 "parse.y"
7090 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7093 #line 3032 "parse.y"
7095 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7096 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7098 yyval
.ttype
= yyvsp
[0].ttype
;
7099 got_scope
= NULL_TREE
;
7103 #line 3041 "parse.y"
7104 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7107 #line 3046 "parse.y"
7108 { got_scope
= NULL_TREE
; ;
7111 #line 3048 "parse.y"
7112 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7115 #line 3055 "parse.y"
7116 { got_scope
= void_type_node
; ;
7119 #line 3061 "parse.y"
7120 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7123 #line 3063 "parse.y"
7124 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7127 #line 3065 "parse.y"
7128 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7131 #line 3067 "parse.y"
7132 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7135 #line 3069 "parse.y"
7136 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7137 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7141 #line 3073 "parse.y"
7142 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7143 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7147 #line 3082 "parse.y"
7148 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7151 #line 3084 "parse.y"
7152 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7155 #line 3090 "parse.y"
7156 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7159 #line 3092 "parse.y"
7160 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7163 #line 3094 "parse.y"
7164 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7167 #line 3096 "parse.y"
7168 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7171 #line 3098 "parse.y"
7172 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7175 #line 3100 "parse.y"
7176 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7179 #line 3102 "parse.y"
7180 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7183 #line 3104 "parse.y"
7184 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7187 #line 3106 "parse.y"
7188 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7189 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7193 #line 3110 "parse.y"
7194 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7195 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7199 #line 3119 "parse.y"
7200 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7203 #line 3123 "parse.y"
7204 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7207 #line 3125 "parse.y"
7208 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7211 #line 3127 "parse.y"
7212 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7215 #line 3129 "parse.y"
7216 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7219 #line 3131 "parse.y"
7220 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7223 #line 3133 "parse.y"
7224 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7227 #line 3135 "parse.y"
7228 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7231 #line 3137 "parse.y"
7232 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7235 #line 3139 "parse.y"
7236 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7239 #line 3162 "parse.y"
7241 pedwarn ("ANSI C++ forbids label declarations"); ;
7244 #line 3173 "parse.y"
7246 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7248 tree label
= shadow_label (TREE_VALUE (link
));
7249 C_DECLARED_LABEL_FLAG (label
) = 1;
7250 declare_nonlocal_label (label
);
7255 #line 3187 "parse.y"
7259 #line 3193 "parse.y"
7260 { yyval
.ttype
= begin_compound_stmt (0); ;
7263 #line 3195 "parse.y"
7264 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7267 #line 3200 "parse.y"
7269 yyval
.ttype
= begin_if_stmt ();
7270 cond_stmt_keyword
= "if";
7274 #line 3205 "parse.y"
7275 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7278 #line 3207 "parse.y"
7279 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7282 #line 3212 "parse.y"
7283 { yyval
.ttype
= begin_compound_stmt (0); ;
7286 #line 3214 "parse.y"
7287 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7290 #line 3219 "parse.y"
7294 #line 3225 "parse.y"
7298 #line 3227 "parse.y"
7299 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7302 #line 3229 "parse.y"
7303 { begin_else_clause (); ;
7306 #line 3231 "parse.y"
7308 finish_else_clause (yyvsp
[-3].ttype
);
7313 #line 3236 "parse.y"
7314 { finish_if_stmt (); ;
7317 #line 3238 "parse.y"
7319 yyval
.ttype
= begin_while_stmt ();
7320 cond_stmt_keyword
= "while";
7324 #line 3243 "parse.y"
7325 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7328 #line 3245 "parse.y"
7329 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7332 #line 3247 "parse.y"
7333 { yyval
.ttype
= begin_do_stmt (); ;
7336 #line 3249 "parse.y"
7338 finish_do_body (yyvsp
[-2].ttype
);
7339 cond_stmt_keyword
= "do";
7343 #line 3254 "parse.y"
7344 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7347 #line 3256 "parse.y"
7348 { yyval
.ttype
= begin_for_stmt (); ;
7351 #line 3258 "parse.y"
7352 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7355 #line 3260 "parse.y"
7356 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7359 #line 3262 "parse.y"
7360 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7363 #line 3264 "parse.y"
7364 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7367 #line 3266 "parse.y"
7368 { begin_switch_stmt (); ;
7371 #line 3268 "parse.y"
7372 { yyval
.ttype
= finish_switch_cond (yyvsp
[-1].ttype
); ;
7375 #line 3270 "parse.y"
7376 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7379 #line 3272 "parse.y"
7380 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7383 #line 3275 "parse.y"
7384 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7387 #line 3278 "parse.y"
7388 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7391 #line 3281 "parse.y"
7392 { finish_break_stmt (); ;
7395 #line 3283 "parse.y"
7396 { finish_continue_stmt (); ;
7399 #line 3285 "parse.y"
7400 { finish_return_stmt (NULL_TREE
); ;
7403 #line 3287 "parse.y"
7404 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7407 #line 3289 "parse.y"
7409 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7414 #line 3295 "parse.y"
7416 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7421 #line 3301 "parse.y"
7422 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7425 #line 3305 "parse.y"
7426 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7429 #line 3307 "parse.y"
7432 pedwarn ("ANSI C++ forbids computed gotos");
7433 finish_goto_stmt (yyvsp
[-1].ttype
);
7437 #line 3313 "parse.y"
7438 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7441 #line 3315 "parse.y"
7445 #line 3317 "parse.y"
7446 { error ("label must be followed by statement");
7451 #line 3321 "parse.y"
7455 #line 3325 "parse.y"
7456 { do_local_using_decl (yyvsp
[0].ttype
); ;
7459 #line 3331 "parse.y"
7461 if (! current_function_parms_stored
)
7462 store_parm_decls ();
7463 expand_start_early_try_stmts ();
7467 #line 3337 "parse.y"
7469 expand_start_all_catch ();
7473 #line 3341 "parse.y"
7475 int nested
= (hack_decl_function_context
7476 (current_function_decl
) != NULL_TREE
);
7477 expand_end_all_catch ();
7478 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7482 #line 3351 "parse.y"
7483 { yyval
.ttype
= begin_try_block (); ;
7486 #line 3353 "parse.y"
7487 { finish_try_block (yyvsp
[-1].ttype
); ;
7490 #line 3355 "parse.y"
7491 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7494 #line 3365 "parse.y"
7495 { yyval
.ttype
= begin_handler(); ;
7498 #line 3367 "parse.y"
7499 { finish_handler_parms (yyvsp
[-1].ttype
); ;
7502 #line 3369 "parse.y"
7503 { finish_handler (yyvsp
[-3].ttype
); ;
7506 #line 3379 "parse.y"
7507 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7510 #line 3395 "parse.y"
7511 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7512 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7513 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7516 #line 3402 "parse.y"
7519 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7520 if (label
&& ! minimal_parse_mode
)
7521 expand_label (label
);
7525 #line 3409 "parse.y"
7529 #line 3411 "parse.y"
7533 #line 3413 "parse.y"
7537 #line 3418 "parse.y"
7538 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7541 #line 3421 "parse.y"
7543 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7547 #line 3430 "parse.y"
7548 { emit_line_note (input_filename
, lineno
);
7549 yyval
.ttype
= NULL_TREE
; ;
7552 #line 3433 "parse.y"
7553 { emit_line_note (input_filename
, lineno
); ;
7556 #line 3438 "parse.y"
7557 { yyval
.ttype
= NULL_TREE
; ;
7560 #line 3441 "parse.y"
7561 { yyval
.ttype
= NULL_TREE
; ;
7564 #line 3448 "parse.y"
7565 { yyval
.ttype
= NULL_TREE
; ;
7568 #line 3455 "parse.y"
7569 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7572 #line 3460 "parse.y"
7573 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7576 #line 3465 "parse.y"
7577 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7580 #line 3467 "parse.y"
7581 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7584 #line 3478 "parse.y"
7586 yyval
.ttype
= empty_parms();
7590 #line 3483 "parse.y"
7591 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
7592 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7595 #line 3491 "parse.y"
7596 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7599 #line 3493 "parse.y"
7600 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7603 #line 3496 "parse.y"
7604 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7607 #line 3498 "parse.y"
7608 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7609 yyvsp
[-1].ftype
.t
), 1); ;
7612 #line 3501 "parse.y"
7613 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7616 #line 3503 "parse.y"
7618 /* This helps us recover from really nasty
7619 parse errors, for example, a missing right
7621 yyerror ("possibly missing ')'");
7622 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7628 #line 3513 "parse.y"
7630 /* This helps us recover from really nasty
7631 parse errors, for example, a missing right
7633 yyerror ("possibly missing ')'");
7634 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7635 yyvsp
[-1].ftype
.t
), 0);
7641 #line 3528 "parse.y"
7642 { maybe_snarf_defarg (); ;
7645 #line 3530 "parse.y"
7646 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7649 #line 3541 "parse.y"
7650 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7651 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7654 #line 3544 "parse.y"
7655 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7656 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7659 #line 3547 "parse.y"
7660 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7661 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7664 #line 3550 "parse.y"
7665 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7668 #line 3552 "parse.y"
7669 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7672 #line 3558 "parse.y"
7673 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7674 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7677 #line 3568 "parse.y"
7678 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7679 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7680 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7683 #line 3572 "parse.y"
7684 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7685 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7688 #line 3575 "parse.y"
7689 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
7690 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7693 #line 3578 "parse.y"
7694 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7695 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7696 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7699 #line 3582 "parse.y"
7700 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7701 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7702 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7705 #line 3586 "parse.y"
7706 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7707 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7708 yyval
.ftype
.new_type_flag
= 0; ;
7711 #line 3593 "parse.y"
7712 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7713 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7716 #line 3596 "parse.y"
7717 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7718 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7721 #line 3607 "parse.y"
7722 { see_typename (); ;
7725 #line 3612 "parse.y"
7727 error ("type specifier omitted for parameter");
7728 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7732 #line 3617 "parse.y"
7734 error ("type specifier omitted for parameter");
7735 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7736 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7737 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7738 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7739 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7743 #line 3629 "parse.y"
7744 { yyval
.ttype
= NULL_TREE
; ;
7747 #line 3631 "parse.y"
7748 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7751 #line 3633 "parse.y"
7752 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
7755 #line 3638 "parse.y"
7756 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
7759 #line 3644 "parse.y"
7761 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
7762 yyval
.ttype
= yyvsp
[0].ttype
;
7766 #line 3652 "parse.y"
7767 { yyval
.ttype
= NULL_TREE
; ;
7770 #line 3654 "parse.y"
7771 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7774 #line 3656 "parse.y"
7775 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7778 #line 3658 "parse.y"
7779 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7780 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7784 #line 3665 "parse.y"
7785 { got_scope
= NULL_TREE
; ;
7788 #line 3670 "parse.y"
7789 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
7792 #line 3672 "parse.y"
7793 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
7796 #line 3674 "parse.y"
7797 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
7800 #line 3676 "parse.y"
7801 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
7804 #line 3678 "parse.y"
7805 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
7808 #line 3680 "parse.y"
7809 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
7812 #line 3682 "parse.y"
7813 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
7816 #line 3684 "parse.y"
7817 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
7820 #line 3686 "parse.y"
7821 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
7824 #line 3688 "parse.y"
7825 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
7828 #line 3690 "parse.y"
7829 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7832 #line 3692 "parse.y"
7833 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
7836 #line 3694 "parse.y"
7837 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
7840 #line 3696 "parse.y"
7841 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7844 #line 3698 "parse.y"
7845 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
7848 #line 3700 "parse.y"
7849 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
7852 #line 3702 "parse.y"
7853 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7856 #line 3704 "parse.y"
7857 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7860 #line 3706 "parse.y"
7861 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
7864 #line 3708 "parse.y"
7865 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
7868 #line 3710 "parse.y"
7869 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
7872 #line 3712 "parse.y"
7873 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
7876 #line 3714 "parse.y"
7877 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
7880 #line 3716 "parse.y"
7881 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
7884 #line 3718 "parse.y"
7885 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7888 #line 3720 "parse.y"
7889 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
7892 #line 3722 "parse.y"
7893 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
7896 #line 3724 "parse.y"
7897 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
7900 #line 3726 "parse.y"
7901 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
7904 #line 3728 "parse.y"
7905 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
7908 #line 3730 "parse.y"
7909 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
7912 #line 3732 "parse.y"
7913 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
7916 #line 3734 "parse.y"
7917 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
7920 #line 3737 "parse.y"
7921 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7924 #line 3739 "parse.y"
7925 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
7928 /* the action file gets copied in in place of this dollarsign */
7929 #line 498 "/usr/cygnus/gnupro-98r1/share/bison.simple"
7940 short *ssp1
= yyss
- 1;
7941 fprintf (stderr
, "state stack now");
7942 while (ssp1
!= yyssp
)
7943 fprintf (stderr
, " %d", *++ssp1
);
7944 fprintf (stderr
, "\n");
7954 yylsp
->first_line
= yylloc
.first_line
;
7955 yylsp
->first_column
= yylloc
.first_column
;
7956 yylsp
->last_line
= (yylsp
-1)->last_line
;
7957 yylsp
->last_column
= (yylsp
-1)->last_column
;
7962 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
7963 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
7967 /* Now "shift" the result of the reduction.
7968 Determine what state that goes to,
7969 based on the state we popped back to
7970 and the rule number reduced by. */
7974 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
7975 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
7976 yystate
= yytable
[yystate
];
7978 yystate
= yydefgoto
[yyn
- YYNTBASE
];
7982 yyerrlab
: /* here on detecting error */
7985 /* If not already recovering from an error, report this error. */
7989 #ifdef YYERROR_VERBOSE
7990 yyn
= yypact
[yystate
];
7992 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
7999 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8000 for (x
= (yyn
< 0 ? -yyn
: 0);
8001 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8002 if (yycheck
[x
+ yyn
] == x
)
8003 size
+= strlen(yytname
[x
]) + 15, count
++;
8004 msg
= (char *) malloc(size
+ 15);
8007 strcpy(msg
, "parse error");
8012 for (x
= (yyn
< 0 ? -yyn
: 0);
8013 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8014 if (yycheck
[x
+ yyn
] == x
)
8016 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
8017 strcat(msg
, yytname
[x
]);
8026 yyerror ("parse error; also virtual memory exceeded");
8029 #endif /* YYERROR_VERBOSE */
8030 yyerror("parse error");
8034 yyerrlab1
: /* here on error raised explicitly by an action */
8036 if (yyerrstatus
== 3)
8038 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8040 /* return failure if at end of input */
8041 if (yychar
== YYEOF
)
8046 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8052 /* Else will try to reuse lookahead token
8053 after shifting the error token. */
8055 yyerrstatus
= 3; /* Each real token shifted decrements this */
8059 yyerrdefault
: /* current state does not do anything special for the error token. */
8062 /* This is wrong; only states that explicitly want error tokens
8063 should shift them. */
8064 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8065 if (yyn
) goto yydefault
;
8068 yyerrpop
: /* pop the current state because it cannot handle the error token */
8070 if (yyssp
== yyss
) YYABORT
;
8080 short *ssp1
= yyss
- 1;
8081 fprintf (stderr
, "Error: state stack now");
8082 while (ssp1
!= yyssp
)
8083 fprintf (stderr
, " %d", *++ssp1
);
8084 fprintf (stderr
, "\n");
8090 yyn
= yypact
[yystate
];
8095 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8114 fprintf(stderr
, "Shifting error token, ");
8125 #line 3742 "parse.y"
8130 debug_yytranslate (value
)
8133 return yytname
[YYTRANSLATE (value
)];