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 const char *cond_stmt_keyword
;
131 static tree empty_parms
PROTO((void));
132 static int parse_decl
PROTO((tree
, tree
, tree
, int, tree
*));
134 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
135 int have_extern_spec
;
136 int used_extern_spec
;
138 /* Cons up an empty parameter list. */
148 || current_class_type
!= NULL
)
149 parms
= void_list_node
;
157 typedef union {long itype
; tree ttype
; char *strtype
; enum tree_code code
; flagged_type_tree ftype
; } YYSTYPE
;
160 /* List of types and structure classes of the current declaration. */
161 static tree current_declspecs
;
163 /* List of prefix attributes in effect.
164 Prefix attributes are parsed by the reserved_declspecs and declmods
165 rules. They create a list that contains *both* declspecs and attrs. */
166 /* ??? It is not clear yet that all cases where an attribute can now appear in
167 a declspec list have been updated. */
168 static tree prefix_attributes
;
170 /* When defining an aggregate, this is the kind of the most recent one
171 being defined. (For example, this might be class_type_node.) */
172 static tree current_aggr
;
174 /* When defining an enumeration, this is the type of the enumeration. */
175 static tree current_enum_type
;
177 /* Tell yyparse how to print a token's value, if yydebug is set. */
179 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
180 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
181 extern tree combine_strings
PROTO((tree
));
184 parse_decl(declarator
, specs_attrs
, attributes
, initialized
, decl
)
193 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
194 if (current_declspecs
195 && TREE_CODE (current_declspecs
) != TREE_LIST
)
196 current_declspecs
= get_decl_list (current_declspecs
);
197 if (have_extern_spec
&& !used_extern_spec
)
199 current_declspecs
= decl_tree_cons (NULL_TREE
,
200 get_identifier ("extern"),
202 used_extern_spec
= 1;
204 sm
= suspend_momentary ();
205 *decl
= start_decl (declarator
, current_declspecs
, initialized
,
206 attributes
, prefix_attributes
);
220 #define YYFLAG -32768
223 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 399)
225 static const char yytranslate
[] = { 0,
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, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 110, 2, 2, 2, 82, 70, 2, 93,
230 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
232 64, 75, 65, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 94, 2, 111, 69, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
238 2, 2, 58, 68, 109, 88, 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, 2, 2, 2, 2, 2,
251 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
252 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
253 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
254 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
255 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
256 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
257 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
258 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
259 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
264 static const short yyprhs
[] = { 0,
265 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
266 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
267 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
268 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
269 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
270 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
271 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
272 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
273 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
274 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
275 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
276 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
277 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
278 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
279 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
280 485, 486, 493, 494, 501, 502, 508, 509, 515, 516,
281 524, 525, 533, 534, 541, 542, 549, 550, 551, 557,
282 563, 565, 567, 573, 579, 580, 582, 584, 585, 587,
283 589, 593, 595, 597, 599, 601, 603, 605, 607, 609,
284 611, 613, 615, 619, 621, 625, 626, 628, 630, 631,
285 639, 641, 643, 647, 652, 656, 657, 661, 663, 667,
286 671, 675, 679, 681, 683, 685, 688, 691, 694, 697,
287 700, 703, 706, 711, 714, 719, 722, 726, 730, 735,
288 741, 748, 755, 763, 766, 771, 777, 780, 783, 785,
289 786, 791, 796, 800, 802, 806, 809, 813, 818, 820,
290 823, 829, 831, 835, 839, 843, 847, 851, 855, 859,
291 863, 867, 871, 875, 879, 883, 887, 891, 895, 899,
292 903, 907, 913, 917, 921, 923, 926, 930, 934, 936,
293 938, 940, 942, 944, 945, 951, 957, 963, 969, 975,
294 977, 979, 981, 983, 986, 988, 991, 994, 998, 1003,
295 1008, 1010, 1012, 1014, 1018, 1020, 1022, 1024, 1026, 1030,
296 1034, 1038, 1039, 1044, 1049, 1052, 1057, 1060, 1065, 1068,
297 1071, 1073, 1078, 1080, 1088, 1096, 1104, 1112, 1117, 1122,
298 1125, 1128, 1131, 1133, 1138, 1141, 1144, 1150, 1154, 1157,
299 1160, 1166, 1170, 1176, 1180, 1185, 1192, 1195, 1197, 1200,
300 1202, 1205, 1207, 1209, 1211, 1214, 1215, 1218, 1221, 1225,
301 1229, 1233, 1236, 1239, 1242, 1244, 1246, 1248, 1251, 1254,
302 1257, 1260, 1262, 1264, 1266, 1268, 1271, 1274, 1278, 1282,
303 1286, 1291, 1293, 1296, 1299, 1302, 1304, 1306, 1308, 1311,
304 1314, 1317, 1319, 1321, 1324, 1327, 1331, 1333, 1336, 1338,
305 1340, 1342, 1347, 1352, 1357, 1362, 1364, 1366, 1368, 1370,
306 1374, 1376, 1380, 1382, 1386, 1387, 1392, 1393, 1400, 1404,
307 1405, 1410, 1412, 1416, 1420, 1421, 1426, 1430, 1431, 1433,
308 1435, 1438, 1445, 1447, 1451, 1452, 1454, 1459, 1466, 1471,
309 1473, 1475, 1477, 1479, 1481, 1485, 1486, 1489, 1491, 1494,
310 1498, 1503, 1505, 1507, 1511, 1516, 1520, 1526, 1528, 1533,
311 1537, 1541, 1542, 1546, 1550, 1554, 1555, 1558, 1561, 1562,
312 1570, 1575, 1576, 1583, 1587, 1590, 1593, 1596, 1597, 1598,
313 1608, 1610, 1611, 1613, 1614, 1616, 1618, 1621, 1624, 1627,
314 1630, 1633, 1636, 1639, 1642, 1645, 1649, 1654, 1658, 1661,
315 1665, 1667, 1668, 1672, 1673, 1677, 1680, 1682, 1684, 1685,
316 1688, 1692, 1694, 1699, 1701, 1705, 1707, 1709, 1714, 1719,
317 1722, 1725, 1729, 1733, 1735, 1736, 1738, 1742, 1745, 1748,
318 1750, 1753, 1756, 1759, 1762, 1765, 1768, 1771, 1773, 1776,
319 1779, 1783, 1786, 1789, 1794, 1799, 1802, 1804, 1810, 1815,
320 1817, 1818, 1820, 1824, 1825, 1827, 1831, 1833, 1835, 1837,
321 1839, 1844, 1849, 1854, 1859, 1864, 1868, 1873, 1878, 1883,
322 1888, 1892, 1894, 1898, 1900, 1904, 1907, 1909, 1917, 1918,
323 1921, 1923, 1926, 1927, 1930, 1935, 1940, 1943, 1948, 1952,
324 1956, 1959, 1962, 1966, 1968, 1970, 1973, 1975, 1977, 1980,
325 1983, 1988, 1993, 1997, 2001, 2004, 2006, 2008, 2011, 2015,
326 2019, 2022, 2025, 2029, 2031, 2035, 2039, 2042, 2045, 2049,
327 2051, 2056, 2060, 2065, 2069, 2071, 2074, 2077, 2080, 2083,
328 2086, 2088, 2091, 2096, 2101, 2104, 2106, 2108, 2110, 2112,
329 2115, 2120, 2123, 2126, 2129, 2132, 2134, 2137, 2140, 2143,
330 2146, 2150, 2152, 2155, 2159, 2164, 2167, 2170, 2173, 2176,
331 2179, 2182, 2187, 2190, 2192, 2195, 2198, 2202, 2204, 2208,
332 2211, 2215, 2218, 2221, 2225, 2227, 2231, 2236, 2240, 2243,
333 2246, 2248, 2252, 2255, 2258, 2260, 2263, 2267, 2269, 2273,
334 2275, 2282, 2287, 2292, 2296, 2302, 2306, 2310, 2314, 2317,
335 2319, 2321, 2324, 2327, 2330, 2331, 2333, 2335, 2338, 2342,
336 2344, 2347, 2348, 2352, 2353, 2354, 2360, 2362, 2363, 2366,
337 2368, 2370, 2372, 2375, 2376, 2381, 2383, 2384, 2385, 2391,
338 2392, 2393, 2401, 2402, 2403, 2404, 2405, 2418, 2419, 2420,
339 2428, 2429, 2435, 2436, 2444, 2445, 2450, 2453, 2456, 2459,
340 2463, 2470, 2479, 2490, 2503, 2508, 2512, 2515, 2518, 2520,
341 2522, 2524, 2526, 2528, 2529, 2530, 2537, 2538, 2539, 2545,
342 2547, 2550, 2551, 2552, 2558, 2560, 2562, 2566, 2570, 2573,
343 2576, 2579, 2582, 2585, 2587, 2590, 2591, 2593, 2594, 2596,
344 2598, 2599, 2601, 2603, 2607, 2612, 2614, 2618, 2619, 2621,
345 2623, 2625, 2628, 2631, 2634, 2636, 2639, 2642, 2643, 2647,
346 2649, 2651, 2653, 2656, 2659, 2662, 2667, 2670, 2673, 2676,
347 2679, 2682, 2685, 2687, 2690, 2692, 2695, 2697, 2699, 2700,
348 2701, 2703, 2704, 2709, 2712, 2714, 2716, 2720, 2721, 2725,
349 2729, 2733, 2735, 2738, 2741, 2744, 2747, 2750, 2753, 2756,
350 2759, 2762, 2765, 2768, 2771, 2774, 2777, 2780, 2783, 2786,
351 2789, 2792, 2795, 2798, 2801, 2804, 2808, 2811, 2814, 2817,
352 2820, 2824, 2827, 2830, 2835, 2840, 2844
355 static const short yyrhs
[] = { -1,
356 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
357 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
358 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
359 93, 219, 108, 60, 0, 133, 58, 115, 109, 0,
360 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
361 0, 0, 44, 163, 58, 123, 115, 109, 0, 0,
362 44, 58, 124, 115, 109, 0, 125, 0, 127, 60,
363 0, 129, 0, 118, 122, 0, 0, 44, 163, 64,
364 126, 132, 60, 0, 46, 313, 0, 46, 327, 313,
365 0, 46, 327, 209, 0, 46, 131, 163, 0, 46,
366 327, 163, 0, 46, 327, 131, 163, 0, 0, 46,
367 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
368 54, 0, 209, 0, 313, 0, 327, 313, 0, 327,
369 209, 0, 98, 0, 133, 98, 0, 0, 48, 74,
370 135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
371 136, 59, 140, 0, 163, 0, 0, 268, 137, 0,
372 45, 137, 0, 134, 268, 137, 0, 138, 0, 138,
373 64, 225, 0, 390, 0, 390, 64, 204, 0, 139,
374 0, 139, 64, 184, 0, 134, 142, 0, 134, 1,
375 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
376 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
377 142, 0, 236, 60, 0, 229, 235, 60, 0, 226,
378 234, 60, 0, 261, 60, 0, 236, 60, 0, 229,
379 235, 60, 0, 226, 234, 60, 0, 229, 60, 0,
380 166, 60, 0, 226, 60, 0, 1, 60, 0, 1,
381 109, 0, 60, 0, 220, 0, 159, 0, 0, 158,
382 0, 158, 60, 0, 0, 107, 0, 154, 146, 145,
383 337, 0, 154, 146, 361, 0, 154, 146, 1, 0,
384 0, 318, 5, 93, 150, 381, 108, 299, 393, 0,
385 318, 5, 47, 299, 393, 0, 0, 327, 318, 5,
386 93, 151, 381, 108, 299, 393, 0, 327, 318, 5,
387 47, 299, 393, 0, 0, 318, 179, 93, 152, 381,
388 108, 299, 393, 0, 318, 179, 47, 299, 393, 0,
389 0, 327, 318, 179, 93, 153, 381, 108, 299, 393,
390 0, 327, 318, 179, 47, 299, 393, 0, 226, 223,
391 0, 229, 310, 0, 310, 0, 229, 149, 0, 149,
392 0, 5, 93, 381, 108, 299, 393, 0, 5, 47,
393 299, 393, 0, 179, 93, 381, 108, 299, 393, 0,
394 179, 47, 299, 393, 0, 229, 155, 0, 155, 0,
395 226, 223, 0, 229, 310, 0, 310, 0, 229, 149,
396 0, 149, 0, 25, 3, 0, 157, 253, 0, 157,
397 93, 196, 108, 0, 157, 47, 0, 62, 160, 161,
398 0, 0, 0, 162, 0, 161, 59, 162, 0, 161,
399 1, 0, 93, 196, 108, 0, 47, 0, 164, 93,
400 196, 108, 0, 164, 47, 0, 305, 93, 196, 108,
401 0, 305, 47, 0, 320, 93, 196, 108, 0, 320,
402 47, 0, 3, 0, 4, 0, 5, 0, 56, 0,
403 57, 0, 3, 0, 56, 0, 57, 0, 104, 0,
404 103, 0, 105, 0, 0, 48, 175, 232, 60, 167,
405 176, 0, 0, 48, 175, 226, 223, 168, 176, 0,
406 0, 48, 175, 310, 169, 176, 0, 0, 48, 175,
407 149, 170, 176, 0, 0, 7, 48, 175, 232, 60,
408 171, 176, 0, 0, 7, 48, 175, 226, 223, 172,
409 176, 0, 0, 7, 48, 175, 310, 173, 176, 0,
410 0, 7, 48, 175, 149, 174, 176, 0, 0, 0,
411 56, 74, 182, 181, 180, 0, 4, 74, 182, 181,
412 180, 0, 179, 0, 177, 0, 163, 74, 182, 75,
413 180, 0, 5, 74, 182, 181, 180, 0, 0, 75,
414 0, 77, 0, 0, 183, 0, 184, 0, 183, 59,
415 184, 0, 225, 0, 56, 0, 204, 0, 79, 0,
416 78, 0, 86, 0, 87, 0, 110, 0, 195, 0,
417 204, 0, 47, 0, 93, 186, 108, 0, 47, 0,
418 93, 190, 108, 0, 0, 190, 0, 1, 0, 0,
419 371, 223, 237, 246, 64, 191, 254, 0, 186, 0,
420 109, 0, 334, 332, 109, 0, 334, 332, 1, 109,
421 0, 334, 1, 109, 0, 0, 58, 194, 192, 0,
422 346, 0, 204, 59, 204, 0, 204, 59, 1, 0,
423 195, 59, 204, 0, 195, 59, 1, 0, 204, 0,
424 195, 0, 214, 0, 118, 203, 0, 80, 203, 0,
425 70, 203, 0, 88, 203, 0, 185, 203, 0, 67,
426 163, 0, 13, 197, 0, 13, 93, 225, 108, 0,
427 29, 197, 0, 29, 93, 225, 108, 0, 216, 298,
428 0, 216, 298, 201, 0, 216, 200, 298, 0, 216,
429 200, 298, 201, 0, 216, 93, 199, 225, 198, 0,
430 216, 93, 199, 225, 198, 201, 0, 216, 200, 93,
431 199, 225, 198, 0, 216, 200, 93, 199, 225, 198,
432 201, 0, 217, 203, 0, 217, 94, 111, 203, 0,
433 217, 94, 186, 111, 203, 0, 34, 203, 0, 35,
434 203, 0, 108, 0, 0, 93, 199, 196, 108, 0,
435 58, 199, 196, 109, 0, 93, 196, 108, 0, 47,
436 0, 93, 232, 108, 0, 64, 254, 0, 93, 225,
437 108, 0, 202, 93, 225, 108, 0, 197, 0, 202,
438 197, 0, 202, 58, 255, 266, 109, 0, 203, 0,
439 204, 83, 204, 0, 204, 84, 204, 0, 204, 78,
440 204, 0, 204, 79, 204, 0, 204, 80, 204, 0,
441 204, 81, 204, 0, 204, 82, 204, 0, 204, 76,
442 204, 0, 204, 77, 204, 0, 204, 73, 204, 0,
443 204, 74, 204, 0, 204, 75, 204, 0, 204, 72,
444 204, 0, 204, 71, 204, 0, 204, 70, 204, 0,
445 204, 68, 204, 0, 204, 69, 204, 0, 204, 67,
446 204, 0, 204, 66, 204, 0, 204, 65, 376, 62,
447 204, 0, 204, 64, 204, 0, 204, 63, 204, 0,
448 61, 0, 61, 204, 0, 88, 391, 163, 0, 88,
449 391, 177, 0, 207, 0, 398, 0, 3, 0, 56,
450 0, 57, 0, 0, 6, 74, 206, 182, 181, 0,
451 398, 74, 206, 182, 181, 0, 48, 163, 74, 182,
452 181, 0, 48, 6, 74, 182, 181, 0, 48, 398,
453 74, 182, 181, 0, 205, 0, 4, 0, 5, 0,
454 211, 0, 247, 211, 0, 205, 0, 80, 210, 0,
455 70, 210, 0, 93, 210, 108, 0, 3, 74, 182,
456 181, 0, 57, 74, 183, 181, 0, 312, 0, 205,
457 0, 212, 0, 93, 210, 108, 0, 205, 0, 10,
458 0, 218, 0, 219, 0, 93, 186, 108, 0, 93,
459 210, 108, 0, 93, 1, 108, 0, 0, 93, 215,
460 338, 108, 0, 205, 93, 196, 108, 0, 205, 47,
461 0, 214, 93, 196, 108, 0, 214, 47, 0, 214,
462 94, 186, 111, 0, 214, 86, 0, 214, 87, 0,
463 40, 0, 9, 93, 196, 108, 0, 316, 0, 50,
464 74, 225, 75, 93, 186, 108, 0, 51, 74, 225,
465 75, 93, 186, 108, 0, 52, 74, 225, 75, 93,
466 186, 108, 0, 53, 74, 225, 75, 93, 186, 108,
467 0, 49, 93, 186, 108, 0, 49, 93, 225, 108,
468 0, 327, 3, 0, 327, 207, 0, 327, 398, 0,
469 315, 0, 315, 93, 196, 108, 0, 315, 47, 0,
470 221, 208, 0, 221, 208, 93, 196, 108, 0, 221,
471 208, 47, 0, 221, 209, 0, 221, 315, 0, 221,
472 209, 93, 196, 108, 0, 221, 209, 47, 0, 221,
473 315, 93, 196, 108, 0, 221, 315, 47, 0, 221,
474 88, 8, 47, 0, 221, 8, 54, 88, 8, 47,
475 0, 221, 1, 0, 39, 0, 327, 39, 0, 38,
476 0, 327, 217, 0, 42, 0, 43, 0, 11, 0,
477 219, 11, 0, 0, 214, 92, 0, 214, 91, 0,
478 232, 234, 60, 0, 226, 234, 60, 0, 229, 235,
479 60, 0, 226, 60, 0, 229, 60, 0, 118, 222,
480 0, 304, 0, 310, 0, 47, 0, 224, 47, 0,
481 230, 330, 0, 300, 330, 0, 232, 330, 0, 230,
482 0, 300, 0, 230, 0, 227, 0, 229, 232, 0,
483 232, 228, 0, 232, 231, 228, 0, 229, 232, 228,
484 0, 229, 232, 231, 0, 229, 232, 231, 228, 0,
485 7, 0, 228, 233, 0, 228, 7, 0, 228, 247,
486 0, 247, 0, 300, 0, 7, 0, 229, 9, 0,
487 229, 7, 0, 229, 247, 0, 247, 0, 232, 0,
488 300, 232, 0, 232, 231, 0, 300, 232, 231, 0,
489 233, 0, 231, 233, 0, 261, 0, 8, 0, 306,
490 0, 28, 93, 186, 108, 0, 28, 93, 225, 108,
491 0, 30, 93, 186, 108, 0, 30, 93, 225, 108,
492 0, 8, 0, 9, 0, 261, 0, 242, 0, 234,
493 59, 238, 0, 243, 0, 235, 59, 238, 0, 244,
494 0, 236, 59, 238, 0, 0, 119, 93, 219, 108,
495 0, 0, 223, 237, 246, 64, 239, 254, 0, 223,
496 237, 246, 0, 0, 246, 64, 241, 254, 0, 246,
497 0, 223, 237, 240, 0, 310, 237, 240, 0, 0,
498 310, 237, 245, 240, 0, 149, 237, 246, 0, 0,
499 247, 0, 248, 0, 247, 248, 0, 31, 93, 93,
500 249, 108, 108, 0, 250, 0, 249, 59, 250, 0,
501 0, 251, 0, 251, 93, 3, 108, 0, 251, 93,
502 3, 59, 196, 108, 0, 251, 93, 196, 108, 0,
503 163, 0, 7, 0, 8, 0, 9, 0, 163, 0,
504 252, 59, 163, 0, 0, 64, 254, 0, 204, 0,
505 58, 109, 0, 58, 255, 109, 0, 58, 255, 59,
506 109, 0, 1, 0, 254, 0, 255, 59, 254, 0,
507 94, 204, 111, 254, 0, 163, 62, 254, 0, 255,
508 59, 163, 62, 254, 0, 97, 0, 256, 146, 145,
509 337, 0, 256, 146, 361, 0, 256, 146, 1, 0,
510 0, 258, 257, 147, 0, 102, 204, 107, 0, 102,
511 1, 107, 0, 0, 260, 259, 0, 260, 1, 0,
512 0, 14, 163, 58, 262, 296, 267, 109, 0, 14,
513 163, 58, 109, 0, 0, 14, 58, 263, 296, 267,
514 109, 0, 14, 58, 109, 0, 14, 163, 0, 14,
515 325, 0, 45, 320, 0, 0, 0, 276, 282, 283,
516 109, 246, 264, 260, 265, 258, 0, 276, 0, 0,
517 59, 0, 0, 59, 0, 36, 0, 268, 7, 0,
518 268, 8, 0, 268, 9, 0, 268, 36, 0, 268,
519 247, 0, 268, 163, 0, 268, 165, 0, 269, 58,
520 0, 269, 62, 0, 268, 318, 163, 0, 268, 327,
521 318, 163, 0, 268, 327, 163, 0, 268, 178, 0,
522 268, 318, 178, 0, 269, 0, 0, 270, 273, 277,
523 0, 0, 271, 274, 277, 0, 268, 58, 0, 275,
524 0, 272, 0, 0, 62, 391, 0, 62, 391, 278,
525 0, 279, 0, 278, 59, 391, 279, 0, 280, 0,
526 281, 391, 280, 0, 320, 0, 305, 0, 30, 93,
527 186, 108, 0, 30, 93, 225, 108, 0, 37, 391,
528 0, 7, 391, 0, 281, 37, 391, 0, 281, 7,
529 391, 0, 58, 0, 0, 285, 0, 283, 284, 285,
530 0, 283, 284, 0, 37, 62, 0, 286, 0, 285,
531 286, 0, 287, 60, 0, 287, 109, 0, 156, 62,
532 0, 156, 95, 0, 156, 25, 0, 156, 58, 0,
533 60, 0, 118, 286, 0, 134, 286, 0, 134, 226,
534 60, 0, 226, 288, 0, 229, 289, 0, 310, 237,
535 246, 253, 0, 149, 237, 246, 253, 0, 62, 204,
536 0, 1, 0, 229, 155, 237, 246, 253, 0, 155,
537 237, 246, 253, 0, 127, 0, 0, 290, 0, 288,
538 59, 291, 0, 0, 293, 0, 289, 59, 295, 0,
539 292, 0, 293, 0, 294, 0, 295, 0, 304, 237,
540 246, 253, 0, 4, 62, 204, 246, 0, 310, 237,
541 246, 253, 0, 149, 237, 246, 253, 0, 3, 62,
542 204, 246, 0, 62, 204, 246, 0, 304, 237, 246,
543 253, 0, 4, 62, 204, 246, 0, 310, 237, 246,
544 253, 0, 3, 62, 204, 246, 0, 62, 204, 246,
545 0, 297, 0, 296, 59, 297, 0, 163, 0, 163,
546 64, 204, 0, 371, 328, 0, 371, 0, 93, 199,
547 225, 198, 94, 186, 111, 0, 0, 299, 9, 0,
548 9, 0, 300, 9, 0, 0, 301, 186, 0, 301,
549 93, 196, 108, 0, 301, 93, 381, 108, 0, 301,
550 47, 0, 301, 93, 1, 108, 0, 80, 300, 304,
551 0, 70, 300, 304, 0, 80, 304, 0, 70, 304,
552 0, 326, 299, 304, 0, 308, 0, 317, 0, 327,
553 317, 0, 305, 0, 307, 0, 327, 307, 0, 318,
554 317, 0, 308, 303, 299, 393, 0, 308, 94, 302,
555 111, 0, 308, 94, 111, 0, 93, 304, 108, 0,
556 318, 317, 0, 317, 0, 310, 0, 247, 310, 0,
557 80, 300, 309, 0, 70, 300, 309, 0, 80, 309,
558 0, 70, 309, 0, 326, 299, 309, 0, 213, 0,
559 80, 300, 309, 0, 70, 300, 309, 0, 80, 311,
560 0, 70, 311, 0, 326, 299, 309, 0, 312, 0,
561 213, 303, 299, 393, 0, 93, 311, 108, 0, 213,
562 94, 302, 111, 0, 213, 94, 111, 0, 314, 0,
563 318, 212, 0, 318, 209, 0, 318, 208, 0, 318,
564 205, 0, 318, 208, 0, 314, 0, 327, 314, 0,
565 232, 93, 196, 108, 0, 232, 93, 210, 108, 0,
566 232, 224, 0, 4, 0, 5, 0, 177, 0, 319,
567 0, 318, 319, 0, 318, 48, 324, 54, 0, 4,
568 54, 0, 5, 54, 0, 57, 54, 0, 177, 54,
569 0, 321, 0, 327, 321, 0, 322, 163, 0, 322,
570 177, 0, 322, 324, 0, 322, 48, 324, 0, 323,
571 0, 322, 323, 0, 322, 324, 54, 0, 322, 48,
572 324, 54, 0, 4, 54, 0, 5, 54, 0, 177,
573 54, 0, 56, 54, 0, 3, 54, 0, 57, 54,
574 0, 163, 74, 182, 181, 0, 327, 317, 0, 307,
575 0, 327, 307, 0, 318, 80, 0, 327, 318, 80,
576 0, 54, 0, 80, 299, 328, 0, 80, 299, 0,
577 70, 299, 328, 0, 70, 299, 0, 326, 299, 0,
578 326, 299, 328, 0, 329, 0, 94, 186, 111, 0,
579 329, 94, 302, 111, 0, 80, 300, 330, 0, 80,
580 330, 0, 80, 300, 0, 80, 0, 70, 300, 330,
581 0, 70, 330, 0, 70, 300, 0, 70, 0, 326,
582 299, 0, 326, 299, 330, 0, 331, 0, 93, 330,
583 108, 0, 90, 0, 331, 93, 381, 108, 299, 393,
584 0, 331, 47, 299, 393, 0, 331, 94, 302, 111,
585 0, 331, 94, 111, 0, 93, 382, 108, 299, 393,
586 0, 202, 299, 393, 0, 224, 299, 393, 0, 94,
587 302, 111, 0, 94, 111, 0, 345, 0, 333, 0,
588 332, 345, 0, 332, 333, 0, 1, 60, 0, 0,
589 335, 0, 336, 0, 335, 336, 0, 33, 252, 60,
590 0, 338, 0, 1, 338, 0, 0, 58, 339, 192,
591 0, 0, 0, 15, 341, 188, 342, 343, 0, 338,
592 0, 0, 344, 346, 0, 338, 0, 346, 0, 222,
593 0, 186, 60, 0, 0, 340, 16, 347, 343, 0,
594 340, 0, 0, 0, 17, 348, 188, 349, 193, 0,
595 0, 0, 18, 350, 343, 17, 351, 187, 60, 0,
596 0, 0, 0, 0, 19, 352, 93, 374, 353, 189,
597 60, 354, 376, 108, 355, 193, 0, 0, 0, 20,
598 356, 93, 190, 108, 357, 343, 0, 0, 21, 204,
599 62, 358, 345, 0, 0, 21, 204, 12, 204, 62,
600 359, 345, 0, 0, 22, 62, 360, 345, 0, 23,
601 60, 0, 24, 60, 0, 25, 60, 0, 25, 186,
602 60, 0, 119, 375, 93, 219, 108, 60, 0, 119,
603 375, 93, 219, 62, 377, 108, 60, 0, 119, 375,
604 93, 219, 62, 377, 62, 377, 108, 60, 0, 119,
605 375, 93, 219, 62, 377, 62, 377, 62, 380, 108,
606 60, 0, 26, 80, 186, 60, 0, 26, 163, 60,
607 0, 373, 345, 0, 373, 109, 0, 60, 0, 364,
608 0, 129, 0, 128, 0, 125, 0, 0, 0, 95,
609 362, 145, 338, 363, 367, 0, 0, 0, 95, 365,
610 338, 366, 367, 0, 368, 0, 367, 368, 0, 0,
611 0, 96, 369, 372, 370, 338, 0, 230, 0, 300,
612 0, 93, 12, 108, 0, 93, 390, 108, 0, 3,
613 62, 0, 56, 62, 0, 4, 62, 0, 5, 62,
614 0, 376, 60, 0, 222, 0, 58, 192, 0, 0,
615 9, 0, 0, 186, 0, 1, 0, 0, 378, 0,
616 379, 0, 378, 59, 379, 0, 11, 93, 186, 108,
617 0, 11, 0, 380, 59, 11, 0, 0, 382, 0,
618 225, 0, 386, 0, 387, 12, 0, 386, 12, 0,
619 225, 12, 0, 12, 0, 386, 62, 0, 225, 62,
620 0, 0, 64, 384, 385, 0, 101, 0, 254, 0,
621 388, 0, 390, 383, 0, 387, 389, 0, 387, 392,
622 0, 387, 392, 64, 254, 0, 386, 59, 0, 225,
623 59, 0, 227, 223, 0, 230, 223, 0, 232, 223,
624 0, 227, 330, 0, 227, 0, 229, 310, 0, 390,
625 0, 390, 383, 0, 388, 0, 225, 0, 0, 0,
626 310, 0, 0, 61, 93, 395, 108, 0, 61, 47,
627 0, 225, 0, 394, 0, 395, 59, 394, 0, 0,
628 80, 299, 396, 0, 70, 299, 396, 0, 326, 299,
629 396, 0, 41, 0, 397, 80, 0, 397, 81, 0,
630 397, 82, 0, 397, 78, 0, 397, 79, 0, 397,
631 70, 0, 397, 68, 0, 397, 69, 0, 397, 88,
632 0, 397, 59, 0, 397, 73, 0, 397, 74, 0,
633 397, 75, 0, 397, 72, 0, 397, 63, 0, 397,
634 64, 0, 397, 76, 0, 397, 77, 0, 397, 86,
635 0, 397, 87, 0, 397, 67, 0, 397, 66, 0,
636 397, 110, 0, 397, 65, 62, 0, 397, 71, 0,
637 397, 91, 0, 397, 83, 0, 397, 47, 0, 397,
638 94, 111, 0, 397, 39, 0, 397, 38, 0, 397,
639 39, 94, 111, 0, 397, 38, 94, 111, 0, 397,
640 371, 396, 0, 397, 1, 0
646 static const short yyrline
[] = { 0,
647 338, 340, 348, 351, 352, 356, 358, 361, 366, 370,
648 376, 380, 383, 387, 390, 392, 394, 397, 399, 402,
649 405, 407, 409, 411, 413, 414, 416, 417, 421, 424,
650 433, 436, 438, 442, 445, 447, 451, 454, 466, 473,
651 481, 483, 484, 486, 490, 493, 499, 502, 504, 509,
652 512, 516, 519, 522, 525, 529, 534, 544, 546, 548,
653 550, 552, 565, 568, 572, 575, 577, 579, 582, 585,
654 589, 591, 593, 595, 600, 602, 604, 606, 608, 609,
655 616, 617, 618, 621, 624, 628, 630, 631, 634, 636,
656 639, 642, 648, 652, 655, 657, 661, 663, 665, 669,
657 671, 673, 677, 679, 681, 687, 691, 694, 697, 700,
658 705, 708, 710, 712, 718, 730, 733, 738, 743, 746,
659 751, 756, 765, 768, 770, 774, 787, 807, 810, 812,
660 813, 816, 823, 829, 831, 833, 835, 837, 840, 845,
661 847, 848, 849, 850, 853, 855, 856, 859, 861, 862,
662 865, 870, 870, 874, 874, 877, 877, 880, 880, 884,
663 884, 889, 889, 892, 892, 895, 897, 900, 907, 911,
664 914, 917, 919, 923, 929, 938, 940, 948, 951, 954,
665 957, 961, 964, 966, 969, 972, 974, 976, 978, 982,
666 985, 988, 993, 997, 1002, 1006, 1009, 1010, 1014, 1033,
667 1040, 1043, 1045, 1046, 1047, 1050, 1054, 1055, 1059, 1063,
668 1066, 1068, 1072, 1075, 1078, 1082, 1085, 1087, 1089, 1091,
669 1094, 1098, 1100, 1103, 1105, 1111, 1114, 1117, 1120, 1132,
670 1137, 1141, 1145, 1150, 1152, 1156, 1160, 1162, 1171, 1175,
671 1178, 1181, 1186, 1189, 1191, 1199, 1212, 1217, 1223, 1225,
672 1227, 1240, 1243, 1245, 1247, 1249, 1251, 1253, 1255, 1257,
673 1259, 1261, 1263, 1265, 1267, 1269, 1271, 1273, 1275, 1277,
674 1279, 1281, 1283, 1287, 1289, 1291, 1308, 1311, 1313, 1314,
675 1315, 1316, 1317, 1320, 1332, 1335, 1339, 1342, 1344, 1349,
676 1351, 1352, 1355, 1357, 1365, 1367, 1369, 1371, 1375, 1378,
677 1382, 1386, 1387, 1388, 1392, 1400, 1401, 1402, 1416, 1418,
678 1421, 1423, 1434, 1439, 1441, 1443, 1445, 1447, 1449, 1451,
679 1454, 1456, 1473, 1474, 1478, 1482, 1486, 1490, 1492, 1496,
680 1498, 1500, 1508, 1510, 1512, 1514, 1518, 1520, 1522, 1524,
681 1529, 1531, 1533, 1535, 1538, 1540, 1542, 1586, 1589, 1593,
682 1596, 1600, 1603, 1608, 1610, 1614, 1627, 1630, 1637, 1644,
683 1649, 1651, 1656, 1658, 1665, 1667, 1671, 1675, 1681, 1685,
684 1688, 1691, 1694, 1704, 1706, 1709, 1713, 1716, 1719, 1722,
685 1725, 1731, 1737, 1739, 1744, 1746, 1755, 1758, 1760, 1763,
686 1769, 1771, 1781, 1785, 1788, 1791, 1796, 1799, 1807, 1809,
687 1811, 1813, 1816, 1819, 1834, 1853, 1856, 1858, 1861, 1863,
688 1867, 1869, 1873, 1875, 1879, 1882, 1886, 1892, 1893, 1905,
689 1912, 1915, 1921, 1925, 1930, 1936, 1937, 1945, 1948, 1952,
690 1955, 1959, 1964, 1967, 1971, 1974, 1976, 1978, 1980, 1987,
691 1989, 1990, 1991, 1995, 1998, 2002, 2005, 2011, 2013, 2016,
692 2019, 2022, 2028, 2031, 2034, 2036, 2038, 2042, 2048, 2056,
693 2063, 2067, 2069, 2074, 2077, 2080, 2082, 2084, 2088, 2093,
694 2100, 2104, 2108, 2115, 2119, 2122, 2125, 2131, 2143, 2145,
695 2148, 2168, 2170, 2173, 2175, 2180, 2182, 2184, 2186, 2188,
696 2190, 2194, 2202, 2205, 2207, 2211, 2217, 2222, 2227, 2229,
697 2233, 2236, 2240, 2246, 2252, 2277, 2283, 2285, 2288, 2291,
698 2293, 2297, 2299, 2303, 2308, 2314, 2317, 2318, 2339, 2362,
699 2364, 2368, 2379, 2393, 2398, 2399, 2400, 2401, 2404, 2419,
700 2424, 2430, 2432, 2437, 2439, 2441, 2443, 2445, 2447, 2450,
701 2460, 2467, 2492, 2498, 2501, 2504, 2506, 2517, 2522, 2525,
702 2530, 2533, 2540, 2550, 2553, 2560, 2570, 2572, 2575, 2577,
703 2580, 2587, 2595, 2602, 2608, 2614, 2622, 2626, 2631, 2635,
704 2638, 2647, 2649, 2653, 2656, 2661, 2665, 2671, 2682, 2685,
705 2689, 2693, 2701, 2706, 2712, 2715, 2717, 2719, 2725, 2728,
706 2730, 2732, 2734, 2738, 2741, 2759, 2769, 2771, 2772, 2776,
707 2781, 2784, 2786, 2788, 2790, 2794, 2800, 2802, 2810, 2813,
708 2815, 2817, 2819, 2823, 2826, 2829, 2831, 2833, 2835, 2839,
709 2842, 2845, 2847, 2849, 2851, 2853, 2860, 2864, 2869, 2873,
710 2878, 2880, 2884, 2887, 2889, 2892, 2894, 2895, 2898, 2900,
711 2902, 2908, 2923, 2929, 2935, 2949, 2951, 2955, 2969, 2971,
712 2973, 2977, 2983, 2996, 2998, 3002, 3015, 3021, 3023, 3024,
713 3025, 3033, 3038, 3047, 3048, 3052, 3055, 3061, 3067, 3070,
714 3072, 3074, 3076, 3080, 3084, 3088, 3091, 3096, 3099, 3101,
715 3103, 3105, 3107, 3109, 3111, 3113, 3117, 3121, 3125, 3129,
716 3130, 3132, 3134, 3136, 3138, 3140, 3142, 3144, 3146, 3154,
717 3156, 3157, 3158, 3161, 3167, 3169, 3174, 3176, 3179, 3193,
718 3196, 3199, 3203, 3206, 3213, 3215, 3218, 3220, 3222, 3225,
719 3228, 3231, 3234, 3236, 3239, 3243, 3245, 3251, 3253, 3254,
720 3256, 3261, 3263, 3265, 3267, 3269, 3272, 3273, 3275, 3278,
721 3279, 3282, 3282, 3285, 3285, 3288, 3288, 3290, 3292, 3294,
722 3296, 3302, 3308, 3311, 3314, 3320, 3322, 3324, 3328, 3330,
723 3331, 3332, 3334, 3337, 3344, 3349, 3355, 3359, 3361, 3364,
724 3366, 3369, 3373, 3375, 3378, 3380, 3383, 3400, 3406, 3414,
725 3416, 3418, 3422, 3425, 3426, 3434, 3438, 3442, 3445, 3446,
726 3452, 3455, 3458, 3460, 3464, 3469, 3472, 3482, 3487, 3488,
727 3495, 3498, 3501, 3503, 3506, 3508, 3518, 3532, 3536, 3539,
728 3541, 3545, 3549, 3552, 3555, 3557, 3561, 3563, 3570, 3577,
729 3580, 3583, 3587, 3591, 3597, 3601, 3606, 3608, 3611, 3616,
730 3622, 3633, 3636, 3638, 3642, 3647, 3649, 3656, 3659, 3661,
731 3663, 3669, 3674, 3677, 3679, 3681, 3683, 3685, 3687, 3689,
732 3691, 3693, 3695, 3697, 3699, 3701, 3703, 3705, 3707, 3709,
733 3711, 3713, 3715, 3717, 3719, 3721, 3723, 3725, 3727, 3729,
734 3731, 3733, 3735, 3737, 3739, 3742, 3744
739 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
741 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
742 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
743 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
744 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
745 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
746 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
747 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
748 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
749 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
750 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
751 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
752 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
753 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
754 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
755 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
756 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
757 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
758 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
759 "template_type_parm","template_template_parm","template_parm","template_def",
760 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
761 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
762 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
763 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
764 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
765 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
766 "apparent_template_type","self_template_type",".finish_template_type","template_close_bracket",
767 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
768 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
769 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
770 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
771 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
772 "unqualified_id","expr_or_declarator_intern","expr_or_declarator","notype_template_declarator",
773 "direct_notype_declarator","primary","@22","new","delete","boolean.literal",
774 "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
775 "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
776 "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
777 "nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0",
778 "notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute",
779 "attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init",
780 "init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again",
781 "pending_defargs","structsp","@26","@27","@28","@29","maybecomma","maybecomma_warn",
782 "aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
783 "named_complex_class_head_sans_basetype","named_class_head","@30","@31","unnamed_class_head",
784 "class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
785 "base_class_access_list","left_curly","opt.component_decl_list","access_specifier",
786 "component_decl_list","component_decl","component_decl_1","components","notype_components",
787 "component_declarator0","component_declarator","after_type_component_declarator0",
788 "notype_component_declarator0","after_type_component_declarator","notype_component_declarator",
789 "enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers",
790 "suspend_mom","nonmomentary_expr","maybe_parmlist","after_type_declarator","nonnested_type",
791 "complete_type_name","nested_type","direct_after_type_declarator","notype_declarator_intern",
792 "notype_declarator","complex_notype_declarator","complex_direct_notype_declarator",
793 "qualified_id","notype_qualified_id","overqualified_id","functional_cast","type_name",
794 "nested_name_specifier","nested_name_specifier_1","typename_sub","typename_sub0",
795 "typename_sub1","typename_sub2","explicit_template_type","complex_type_name",
796 "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
797 "direct_abstract_declarator","stmts","errstmt","maybe_label_decls","label_decls",
798 "label_decl","compstmt_or_error","compstmt","@32","simple_if","@33","@34","implicitly_scoped_stmt",
799 "@35","stmt","simple_stmt","@36","@37","@38","@39","@40","@41","@42","@43","@44",
800 "@45","@46","@47","@48","@49","function_try_block","@50","@51","try_block","@52",
801 "@53","handler_seq","handler","@54","@55","type_specifier_seq","handler_args",
802 "label_colon","for.init.statement","maybe_cv_qualifier","xexpr","asm_operands",
803 "nonnull_asm_operands","asm_operand","asm_clobbers","parmlist","complex_parmlist",
804 "defarg","@56","defarg1","parms","parms_comma","named_parm","full_parm","parm",
805 "see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
806 "ansi_raise_identifiers","conversion_declarator","operator","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, 283, 283, 283, 284, 285,
864 285, 286, 286, 286, 286, 286, 286, 286, 286, 286,
865 286, 287, 287, 287, 287, 287, 287, 287, 287, 287,
866 288, 288, 288, 289, 289, 289, 290, 290, 291, 291,
867 292, 292, 293, 293, 293, 293, 294, 294, 295, 295,
868 295, 296, 296, 297, 297, 298, 298, 298, 299, 299,
869 300, 300, 301, 302, 303, 303, 303, 303, 304, 304,
870 304, 304, 304, 304, 305, 305, 306, 306, 306, 307,
871 308, 308, 308, 308, 308, 308, 309, 309, 310, 310,
872 310, 310, 310, 310, 311, 311, 311, 311, 311, 311,
873 312, 312, 312, 312, 312, 312, 313, 313, 314, 314,
874 315, 315, 316, 316, 316, 317, 317, 317, 318, 318,
875 318, 319, 319, 319, 319, 320, 320, 321, 321, 321,
876 321, 322, 322, 322, 322, 323, 323, 323, 323, 323,
877 323, 324, 325, 325, 325, 326, 326, 327, 328, 328,
878 328, 328, 328, 328, 328, 329, 329, 330, 330, 330,
879 330, 330, 330, 330, 330, 330, 330, 330, 331, 331,
880 331, 331, 331, 331, 331, 331, 331, 331, 331, 332,
881 332, 332, 332, 333, 334, 334, 335, 335, 336, 337,
882 337, 339, 338, 341, 342, 340, 343, 344, 343, 345,
883 345, 346, 346, 347, 346, 346, 348, 349, 346, 350,
884 351, 346, 352, 353, 354, 355, 346, 356, 357, 346,
885 358, 346, 359, 346, 360, 346, 346, 346, 346, 346,
886 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
887 346, 346, 346, 362, 363, 361, 365, 366, 364, 367,
888 367, 369, 370, 368, 371, 371, 372, 372, 373, 373,
889 373, 373, 374, 374, 374, 375, 375, 376, 376, 376,
890 377, 377, 378, 378, 379, 380, 380, 381, 381, 381,
891 382, 382, 382, 382, 382, 382, 382, 384, 383, 385,
892 385, 386, 386, 386, 386, 386, 387, 387, 388, 388,
893 388, 388, 388, 388, 389, 389, 390, 390, 391, 392,
894 392, 393, 393, 393, 394, 395, 395, 396, 396, 396,
895 396, 397, 398, 398, 398, 398, 398, 398, 398, 398,
896 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
897 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
898 398, 398, 398, 398, 398, 398, 398
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, 3, 2, 2, 1,
955 2, 2, 2, 2, 2, 2, 2, 1, 2, 2,
956 3, 2, 2, 4, 4, 2, 1, 5, 4, 1,
957 0, 1, 3, 0, 1, 3, 1, 1, 1, 1,
958 4, 4, 4, 4, 4, 3, 4, 4, 4, 4,
959 3, 1, 3, 1, 3, 2, 1, 7, 0, 2,
960 1, 2, 0, 2, 4, 4, 2, 4, 3, 3,
961 2, 2, 3, 1, 1, 2, 1, 1, 2, 2,
962 4, 4, 3, 3, 2, 1, 1, 2, 3, 3,
963 2, 2, 3, 1, 3, 3, 2, 2, 3, 1,
964 4, 3, 4, 3, 1, 2, 2, 2, 2, 2,
965 1, 2, 4, 4, 2, 1, 1, 1, 1, 2,
966 4, 2, 2, 2, 2, 1, 2, 2, 2, 2,
967 3, 1, 2, 3, 4, 2, 2, 2, 2, 2,
968 2, 4, 2, 1, 2, 2, 3, 1, 3, 2,
969 3, 2, 2, 3, 1, 3, 4, 3, 2, 2,
970 1, 3, 2, 2, 1, 2, 3, 1, 3, 1,
971 6, 4, 4, 3, 5, 3, 3, 3, 2, 1,
972 1, 2, 2, 2, 0, 1, 1, 2, 3, 1,
973 2, 0, 3, 0, 0, 5, 1, 0, 2, 1,
974 1, 1, 2, 0, 4, 1, 0, 0, 5, 0,
975 0, 7, 0, 0, 0, 0, 12, 0, 0, 7,
976 0, 5, 0, 7, 0, 4, 2, 2, 2, 3,
977 6, 8, 10, 12, 4, 3, 2, 2, 1, 1,
978 1, 1, 1, 0, 0, 6, 0, 0, 5, 1,
979 2, 0, 0, 5, 1, 1, 3, 3, 2, 2,
980 2, 2, 2, 1, 2, 0, 1, 0, 1, 1,
981 0, 1, 1, 3, 4, 1, 3, 0, 1, 1,
982 1, 2, 2, 2, 1, 2, 2, 0, 3, 1,
983 1, 1, 2, 2, 2, 4, 2, 2, 2, 2,
984 2, 2, 1, 2, 1, 2, 1, 1, 0, 0,
985 1, 0, 4, 2, 1, 1, 3, 0, 3, 3,
986 3, 1, 2, 2, 2, 2, 2, 2, 2, 2,
987 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
988 2, 2, 2, 2, 2, 3, 2, 2, 2, 2,
992 static const short yydefact
[] = { 3,
993 12, 12, 5, 0, 4, 0, 281, 636, 637, 0,
994 388, 400, 581, 0, 11, 0, 0, 0, 10, 486,
995 842, 0, 0, 0, 167, 668, 282, 283, 83, 0,
996 0, 829, 0, 45, 0, 0, 13, 25, 0, 27,
997 8, 0, 16, 15, 89, 110, 86, 0, 638, 171,
998 302, 279, 303, 614, 0, 375, 0, 374, 393, 0,
999 413, 392, 430, 399, 0, 501, 502, 504, 508, 507,
1000 481, 387, 597, 401, 598, 108, 301, 625, 595, 0,
1001 639, 579, 0, 0, 280, 81, 82, 178, 642, 178,
1002 643, 178, 284, 167, 140, 141, 142, 143, 144, 472,
1003 475, 0, 664, 0, 476, 0, 0, 0, 0, 141,
1004 142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
1005 0, 477, 646, 0, 652, 0, 0, 0, 37, 0,
1006 0, 31, 0, 0, 47, 0, 178, 644, 0, 0,
1007 0, 612, 607, 0, 0, 0, 611, 0, 0, 0,
1008 0, 302, 0, 293, 583, 0, 0, 301, 579, 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, 645, 583, 0,
1012 579, 80, 0, 0, 0, 106, 0, 409, 365, 594,
1013 366, 606, 0, 579, 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, 0, 582, 394, 0, 425, 637,
1018 0, 666, 171, 629, 630, 626, 600, 640, 0, 599,
1019 596, 0, 877, 873, 872, 870, 852, 857, 858, 0,
1020 864, 863, 849, 850, 848, 867, 856, 853, 854, 855,
1021 859, 860, 846, 847, 843, 844, 845, 869, 861, 862,
1022 851, 868, 0, 865, 775, 393, 776, 838, 284, 281,
1023 581, 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 631, 333, 323, 0, 0, 0, 0, 178, 0, 474,
1029 0, 469, 0, 665, 663, 0, 190, 191, 0, 0,
1030 0, 435, 3, 21, 29, 660, 656, 657, 659, 661,
1031 658, 140, 141, 142, 0, 143, 144, 648, 649, 653,
1032 650, 647, 0, 291, 292, 290, 628, 627, 33, 32,
1033 49, 0, 157, 0, 0, 393, 155, 0, 0, 608,
1034 610, 0, 609, 141, 142, 277, 278, 297, 0, 618,
1035 296, 0, 617, 0, 304, 282, 283, 0, 0, 0,
1036 295, 294, 622, 0, 0, 12, 0, 167, 9, 9,
1037 70, 0, 65, 0, 0, 71, 74, 0, 427, 429,
1038 122, 93, 127, 764, 0, 85, 84, 92, 125, 0,
1039 0, 123, 88, 624, 0, 0, 587, 0, 832, 0,
1040 592, 0, 591, 0, 0, 0, 0, 579, 428, 0,
1041 77, 583, 579, 605, 0, 379, 380, 0, 76, 428,
1042 384, 383, 385, 378, 398, 415, 414, 178, 496, 500,
1043 498, 0, 829, 503, 505, 547, 637, 0, 538, 0,
1044 0, 550, 0, 121, 116, 0, 171, 551, 554, 0,
1045 0, 530, 0, 119, 396, 428, 579, 94, 0, 0,
1046 0, 0, 579, 100, 580, 613, 637, 667, 171, 0,
1047 0, 866, 871, 395, 579, 579, 0, 579, 876, 178,
1048 0, 0, 0, 222, 0, 0, 224, 237, 238, 0,
1049 0, 0, 0, 0, 276, 221, 218, 217, 219, 0,
1050 0, 0, 0, 0, 305, 0, 0, 0, 216, 176,
1051 177, 299, 0, 220, 0, 0, 250, 0, 0, 0,
1052 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1053 0, 0, 0, 0, 0, 0, 0, 0, 0, 315,
1054 0, 317, 319, 320, 358, 357, 0, 0, 240, 240,
1055 0, 226, 577, 0, 234, 355, 347, 0, 0, 829,
1056 336, 339, 340, 0, 0, 367, 685, 681, 690, 0,
1057 583, 579, 579, 579, 369, 688, 0, 635, 371, 0,
1058 0, 370, 335, 0, 330, 349, 331, 351, 632, 0,
1059 332, 175, 175, 0, 165, 0, 393, 163, 574, 484,
1060 572, 471, 0, 0, 402, 0, 0, 403, 404, 405,
1061 441, 442, 443, 440, 0, 433, 436, 0, 3, 0,
1062 651, 178, 654, 0, 41, 42, 0, 53, 0, 0,
1063 57, 61, 50, 828, 823, 0, 372, 393, 53, 373,
1064 827, 59, 168, 153, 151, 168, 175, 300, 616, 615,
1065 304, 0, 619, 0, 18, 20, 89, 9, 9, 73,
1066 72, 0, 128, 356, 0, 712, 91, 710, 452, 0,
1067 448, 447, 214, 0, 213, 584, 623, 0, 805, 0,
1068 800, 393, 0, 799, 801, 830, 812, 0, 0, 621,
1069 590, 589, 0, 0, 604, 0, 423, 422, 410, 603,
1070 0, 832, 593, 381, 412, 424, 428, 0, 497, 510,
1071 579, 798, 546, 539, 551, 540, 428, 428, 536, 537,
1072 534, 535, 579, 798, 281, 636, 0, 415, 117, 542,
1073 552, 557, 558, 415, 415, 0, 0, 415, 115, 543,
1074 555, 415, 0, 428, 0, 531, 532, 533, 428, 426,
1075 832, 798, 178, 178, 641, 178, 832, 798, 579, 97,
1076 579, 103, 875, 874, 838, 838, 838, 0, 0, 0,
1077 0, 635, 0, 0, 0, 0, 393, 0, 0, 0,
1078 311, 0, 309, 310, 0, 247, 181, 281, 636, 637,
1079 282, 283, 0, 0, 453, 482, 0, 274, 273, 790,
1080 789, 0, 271, 270, 268, 269, 267, 266, 265, 262,
1081 263, 264, 260, 261, 255, 256, 257, 258, 259, 253,
1082 254, 0, 0, 0, 0, 0, 240, 228, 244, 0,
1083 0, 227, 579, 579, 0, 579, 576, 675, 0, 0,
1084 0, 0, 0, 338, 0, 342, 0, 344, 0, 684,
1085 683, 680, 679, 828, 0, 0, 699, 0, 0, 832,
1086 368, 832, 686, 579, 798, 583, 685, 681, 0, 0,
1087 579, 0, 392, 0, 0, 0, 0, 170, 174, 285,
1088 168, 161, 159, 168, 0, 485, 0, 484, 212, 211,
1089 210, 209, 435, 0, 0, 24, 0, 0, 655, 0,
1090 38, 44, 43, 55, 52, 53, 0, 48, 0, 0,
1091 685, 681, 0, 819, 579, 822, 824, 0, 820, 821,
1092 54, 492, 0, 158, 168, 168, 156, 169, 298, 17,
1093 19, 69, 89, 416, 145, 636, 637, 133, 146, 147,
1094 0, 126, 129, 0, 638, 0, 0, 0, 0, 711,
1095 705, 449, 0, 124, 588, 585, 804, 818, 807, 0,
1096 586, 803, 817, 806, 802, 831, 814, 825, 815, 808,
1097 813, 834, 0, 420, 602, 601, 419, 175, 829, 0,
1098 829, 511, 512, 514, 829, 517, 516, 832, 0, 541,
1099 446, 446, 832, 0, 0, 0, 428, 428, 0, 428,
1100 428, 0, 428, 0, 529, 478, 0, 446, 96, 0,
1101 0, 0, 0, 102, 0, 832, 798, 832, 798, 840,
1102 839, 841, 286, 322, 223, 225, 328, 329, 0, 0,
1103 0, 0, 310, 313, 0, 0, 0, 0, 248, 0,
1104 314, 316, 318, 0, 0, 0, 0, 229, 246, 0,
1105 0, 672, 670, 0, 673, 583, 235, 0, 0, 178,
1106 345, 0, 0, 0, 682, 678, 689, 579, 698, 696,
1107 697, 687, 832, 0, 694, 0, 633, 634, 0, 334,
1108 166, 168, 168, 164, 575, 573, 473, 0, 434, 432,
1109 281, 0, 22, 30, 662, 56, 51, 58, 62, 684,
1110 680, 685, 681, 0, 595, 0, 579, 686, 60, 154,
1111 152, 68, 0, 131, 0, 135, 0, 137, 0, 139,
1112 0, 765, 0, 202, 713, 0, 706, 707, 0, 450,
1113 685, 681, 0, 305, 0, 631, 826, 0, 0, 835,
1114 836, 0, 0, 417, 173, 521, 0, 520, 829, 829,
1115 829, 0, 112, 579, 545, 549, 114, 579, 428, 428,
1116 566, 446, 281, 636, 0, 553, 559, 560, 415, 415,
1117 446, 446, 0, 446, 556, 466, 544, 579, 288, 287,
1118 289, 579, 99, 0, 105, 0, 0, 0, 0, 0,
1119 0, 456, 0, 454, 251, 272, 242, 241, 239, 230,
1120 0, 243, 245, 671, 669, 676, 674, 0, 236, 0,
1121 0, 337, 341, 343, 832, 692, 579, 693, 162, 160,
1122 470, 0, 437, 439, 684, 680, 600, 686, 132, 130,
1123 0, 0, 0, 0, 444, 0, 0, 281, 636, 637,
1124 714, 727, 730, 733, 738, 0, 0, 0, 0, 0,
1125 0, 0, 0, 282, 759, 767, 0, 786, 763, 762,
1126 761, 0, 722, 0, 0, 393, 0, 701, 720, 726,
1127 700, 721, 760, 0, 708, 451, 0, 634, 816, 810,
1128 811, 809, 0, 833, 421, 0, 0, 0, 0, 523,
1129 522, 515, 832, 832, 565, 562, 564, 0, 0, 428,
1130 428, 428, 561, 563, 548, 0, 832, 832, 579, 579,
1131 0, 0, 0, 0, 455, 0, 0, 231, 232, 677,
1132 346, 287, 695, 832, 0, 134, 136, 138, 772, 766,
1133 770, 0, 709, 704, 205, 779, 781, 782, 0, 0,
1134 718, 0, 0, 0, 745, 747, 748, 749, 0, 0,
1135 0, 0, 0, 0, 0, 780, 0, 364, 787, 0,
1136 723, 362, 415, 0, 363, 0, 415, 0, 0, 0,
1137 203, 703, 702, 724, 758, 757, 310, 837, 418, 518,
1138 519, 513, 111, 113, 428, 428, 571, 446, 446, 468,
1139 0, 467, 462, 95, 101, 832, 832, 324, 325, 326,
1140 327, 457, 0, 233, 691, 438, 0, 771, 445, 194,
1141 0, 715, 728, 717, 0, 0, 0, 0, 0, 741,
1142 0, 750, 0, 756, 39, 144, 34, 144, 0, 35,
1143 768, 0, 360, 361, 0, 0, 0, 359, 204, 718,
1144 570, 568, 567, 569, 0, 0, 480, 98, 104, 578,
1145 0, 773, 201, 0, 393, 0, 718, 0, 731, 719,
1146 705, 784, 734, 0, 0, 0, 0, 746, 755, 40,
1147 36, 0, 0, 725, 465, 464, 458, 86, 89, 0,
1148 0, 0, 195, 415, 716, 206, 729, 208, 0, 785,
1149 0, 783, 739, 743, 742, 769, 791, 0, 0, 463,
1150 777, 778, 774, 428, 705, 192, 0, 0, 198, 0,
1151 197, 718, 0, 0, 0, 792, 793, 751, 461, 0,
1152 460, 0, 207, 0, 732, 735, 740, 744, 0, 791,
1153 0, 0, 459, 199, 193, 0, 0, 0, 752, 794,
1154 0, 0, 795, 0, 0, 200, 736, 796, 0, 753,
1155 0, 0, 0, 737, 797, 754, 0, 0, 0
1158 static const short yydefgoto
[] = { 1627,
1159 436, 2, 437, 165, 726, 331, 181, 3, 4, 37,
1160 689, 373, 1329, 690, 512, 1330, 1331, 393, 1424, 694,
1161 41, 513, 402, 700, 974, 701, 702, 703, 43, 172,
1162 173, 44, 455, 184, 180, 45, 46, 822, 1087, 828,
1163 1089, 47, 515, 516, 185, 186, 456, 733, 1012, 1013,
1164 669, 1014, 234, 48, 996, 995, 716, 713, 1153, 1152,
1165 954, 951, 136, 994, 49, 236, 50, 948, 582, 332,
1166 333, 334, 335, 1332, 1578, 1482, 1580, 1524, 1611, 1195,
1167 1557, 1575, 367, 940, 336, 1270, 895, 621, 902, 337,
1168 338, 368, 340, 358, 52, 255, 695, 418, 154, 53,
1169 54, 341, 577, 342, 343, 344, 345, 457, 346, 1333,
1170 496, 643, 347, 1334, 56, 217, 706, 348, 218, 555,
1171 219, 197, 210, 60, 479, 497, 1356, 767, 1213, 198,
1172 211, 61, 526, 768, 62, 63, 685, 686, 687, 1306,
1173 462, 865, 866, 1548, 1549, 1517, 1462, 1376, 64, 673,
1174 361, 1246, 1463, 1108, 957, 65, 66, 67, 68, 69,
1175 242, 243, 70, 71, 504, 1052, 1053, 1054, 1055, 245,
1176 520, 815, 521, 522, 523, 800, 810, 801, 1236, 802,
1177 803, 1237, 1238, 670, 671, 622, 930, 350, 465, 466,
1178 191, 199, 73, 74, 75, 200, 142, 143, 157, 77,
1179 132, 351, 352, 353, 79, 354, 81, 1057, 123, 124,
1180 125, 531, 105, 82, 355, 907, 908, 925, 646, 1337,
1181 1338, 1196, 1197, 1198, 737, 1339, 1021, 1340, 1409, 1527,
1182 1485, 1486, 1341, 1342, 1510, 1410, 1528, 1411, 1559, 1412,
1183 1561, 1606, 1621, 1413, 1582, 1537, 1583, 1491, 458, 734,
1184 1304, 1343, 1427, 1542, 1400, 1401, 1477, 1552, 1526, 1522,
1185 1344, 1533, 1430, 872, 1585, 1586, 1587, 1619, 753, 754,
1186 1041, 1209, 1352, 755, 756, 757, 1037, 758, 148, 1039,
1187 760, 1211, 1212, 549, 84, 85
1190 static const short yypact
[] = { 136,
1191 169,-32768,-32768, 5066,-32768, 203, 163, 73, 77, 190,
1192 291,-32768,-32768, 1458,-32768, 259, 264, 279,-32768,-32768,
1193 -32768, 871, 2044, 1374, 330,-32768, 336, 320,-32768, 1976,
1194 1976,-32768, 2798,-32768, 5066, 351,-32768,-32768, 355,-32768,
1195 51, 3166,-32768,-32768, 344, 824, 443, 463, 483,-32768,
1196 -32768,-32768,-32768, 324, 5213,-32768, 5421,-32768, 2205, 804,
1197 -32768, 456,-32768,-32768, 1137, 623,-32768,-32768,-32768,-32768,
1198 435, 3747,-32768,-32768,-32768, 198,-32768,-32768,-32768, 906,
1199 -32768,-32768, 1174, 8340, 481,-32768,-32768, 10037,-32768, 10037,
1200 -32768, 10037,-32768,-32768,-32768, 73, 77, 336, 510, 472,
1201 539, 483,-32768, 1000,-32768, 1174, 10123, 10123, 509,-32768,
1202 -32768,-32768,-32768,-32768, 234, 550, 474, 541, 767, 554,
1203 564,-32768,-32768, 1006,-32768, 305, 73, 77,-32768, 336,
1204 510,-32768, 2508, 1031, 545, 5547, 10037,-32768, 10037, 4171,
1205 2952,-32768,-32768, 1311, 1265, 2952,-32768, 664, 3604, 3604,
1206 2798, 517, 538,-32768, 559, 876, 562, 592,-32768,-32768,
1207 700,-32768, 630,-32768, 3999,-32768,-32768, 330, 3843, 643,
1208 -32768,-32768,-32768, 344, 6652, 6133, 836, 690,-32768,-32768,
1209 684, 456, 778, 176, 458, 728,-32768,-32768, 691, 69,
1210 -32768,-32768, 3940, 3940, 6529, 198, 864,-32768,-32768, 546,
1211 -32768,-32768, 1679,-32768,-32768,-32768,-32768,-32768, 2205, 883,
1212 -32768, 456, 198,-32768,-32768,-32768, 2251, 2205,-32768, 456,
1213 -32768, 6652,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1214 -32768,-32768, 749,-32768, 483,-32768, 456, 2169, 910,-32768,
1215 -32768, 766, 766,-32768, 4696,-32768, 715, 1174,-32768, 784,
1216 1757,-32768, 366,-32768,-32768,-32768,-32768,-32768, 4100,-32768,
1217 -32768, 769,-32768, 740, 758,-32768,-32768,-32768,-32768, 781,
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, 755,-32768,-32768, 715, 3747, 1632,-32768,-32768,
1221 776,-32768,-32768, 10731, 10817, 10903, 10903,-32768,-32768,-32768,
1222 -32768,-32768, 780, 786, 797, 825, 832, 1025, 510, 10209,
1223 1357, 10903,-32768,-32768, 10903,-32768,-32768, 10903, 7539,-32768,
1224 10903, 65, 849,-32768, 10903,-32768, 10295,-32768, 11119, 426,
1225 1563, 3740, 10381,-32768, 919, 2567,-32768, 1700, 2285, 3286,
1226 -32768, 431,-32768, 3387, 1998, 65, 65, 10037, 5547,-32768,
1227 1357, 827, 1357,-32768,-32768, 826, 879, 11052, 837, 842,
1228 857, 1966, 630,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1229 -32768, 550, 474, 541, 1357, 767, 554, 881, 564,-32768,
1230 914,-32768, 270, 73, 77,-32768,-32768,-32768,-32768,-32768,
1231 -32768, 6834,-32768, 6652, 6645, 723,-32768, 65, 301,-32768,
1232 -32768, 811,-32768, 897, 903,-32768,-32768,-32768, 2952,-32768,
1233 -32768, 2952,-32768, 873,-32768,-32768,-32768, 876, 876, 876,
1234 -32768,-32768,-32768, 4100, 103, 875, 884,-32768,-32768,-32768,
1235 -32768, 5547,-32768, 900, 963,-32768,-32768, 700,-32768, 456,
1236 -32768,-32768,-32768,-32768, 165,-32768,-32768,-32768,-32768, 8091,
1237 10209,-32768,-32768,-32768, 10209, 877,-32768, 5311, 240, 4742,
1238 -32768, 4742,-32768, 5059, 5059, 6529, 882,-32768, 456, 6652,
1239 -32768, 891,-32768,-32768, 5849, 2251, 2205, 6652,-32768, 456,
1240 -32768,-32768, 456, 2251,-32768, 981,-32768, 10037, 749,-32768,
1241 -32768, 2169,-32768,-32768,-32768,-32768, 807, 385,-32768, 10209,
1242 1836,-32768, 1836, 219, 219, 220, 433, 3033, 4527, 108,
1243 4879,-32768, 274, 219, 715, 456,-32768,-32768, 941, 944,
1244 971, 955,-32768,-32768,-32768,-32768, 847,-32768, 439, 921,
1245 927,-32768,-32768, 715,-32768,-32768, 1100,-32768,-32768, 10037,
1246 10209, 776, 7539,-32768, 451, 7539,-32768,-32768,-32768, 10123,
1247 4970, 4970, 4970, 4970, 11097,-32768,-32768,-32768,-32768, 934,
1248 10473, 10473, 7539, 937, 437, 939, 991, 947,-32768,-32768,
1249 -32768,-32768, 10037,-32768, 7630, 7539,-32768, 10209, 10209, 5654,
1250 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209,
1251 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209, 10209,-32768,
1252 10209,-32768,-32768,-32768,-32768,-32768, 10209, 10209,-32768,-32768,
1253 339, 651, 1120, 8700,-32768,-32768,-32768, 998, 1757, 1053,
1254 469, 482, 581, 3585, 1265,-32768, 1659, 1659,-32768, 3502,
1255 960, 982, 1043,-32768,-32768, 590, 9320, 1173,-32768, 1103,
1256 1174,-32768,-32768, 10209,-32768,-32768,-32768,-32768,-32768, 90,
1257 481,-32768,-32768, 65,-32768, 6652, 1444,-32768, 1014, 1034,
1258 -32768,-32768, 1357, 881,-32768, 8432, 8523,-32768,-32768,-32768,
1259 -32768,-32768,-32768,-32768, 278,-32768, 1016, 1020, 630, 270,
1260 1062, 10037,-32768, 1073,-32768,-32768, 1031, 2198, 1102, 71,
1261 1079, 1083,-32768,-32768, 2306, 6133, 2306, 2152, 1137, 4350,
1262 -32768, 1094,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1263 1046, 1054,-32768, 1107,-32768,-32768, 344,-32768,-32768,-32768,
1264 -32768, 104, 1493, 1101, 991,-32768,-32768,-32768,-32768, 7429,
1265 11097,-32768, 879, 1064, 11052,-32768,-32768, 1067,-32768, 1089,
1266 93, 3406, 1095,-32768, 571, 5919, 1140, 1145, 649,-32768,
1267 -32768,-32768, 4742, 4742,-32768, 5849,-32768, 1157,-32768,-32768,
1268 1111, 240,-32768, 2251,-32768,-32768, 456, 1109,-32768, 2385,
1269 -32768, 7162, 11097,-32768, 5202,-32768, 456, 456,-32768,-32768,
1270 -32768,-32768,-32768, 7162, 174, 966, 10209, 981,-32768, 1166,
1271 -32768,-32768,-32768, 485, 580, 906, 1265, 587, 219, 1177,
1272 -32768, 676, 1161, 456, 8768,-32768,-32768,-32768, 456,-32768,
1273 240, 7162, 10037, 10037,-32768, 10037, 240, 7162,-32768,-32768,
1274 -32768,-32768,-32768,-32768, 1688, 1688, 1688, 65, 1136, 1143,
1275 9688, 1043, 1147, 1149, 1152, 1170, 2853, 1186, 1189, 1190,
1276 -32768, 1167,-32768,-32768, 1168,-32768,-32768, 1211, 996, 1060,
1277 557, 601, 10209, 1217,-32768, 1232, 1191, 11097, 11097,-32768,
1278 -32768, 1235, 5746, 6217, 6158, 4780, 2387, 5364, 4442, 2354,
1279 2354, 2354, 1205, 1205, 1512, 1512, 1028, 1028, 1028,-32768,
1280 -32768, 1192, 1194, 1183, 10209, 10123,-32768, 651,-32768, 8091,
1281 10209,-32768,-32768,-32768, 10209,-32768,-32768, 1204, 10903, 1199,
1282 1215, 1231, 1264,-32768, 10209,-32768, 10209,-32768, 10209, 2925,
1283 -32768, 2925,-32768, 228, 1216, 1218,-32768, 1214, 4970, 240,
1284 -32768, 240, 3053,-32768, 7162, 1219, 9504, 9504, 6451, 1220,
1285 10295, 1221, 876, 2159, 1998, 1368, 1224,-32768,-32768,-32768,
1286 -32768,-32768,-32768,-32768, 10209, 1357, 1225, 1034,-32768, 11097,
1287 -32768, 11097, 1966, 1227, 10559,-32768, 1233, 1253,-32768, 65,
1288 -32768,-32768,-32768,-32768,-32768, 1852, 6834,-32768, 4970, 10037,
1289 1202, 1202, 4282,-32768,-32768,-32768,-32768, 1679,-32768,-32768,
1290 -32768, 1188, 10209,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1291 -32768,-32768, 344,-32768, 550, 474, 541,-32768, 767, 554,
1292 10209, 1285,-32768, 672, 564, 702, 706, 1806, 991,-32768,
1293 96,-32768, 171,-32768,-32768,-32768,-32768,-32768,-32768, 9412,
1294 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1145, 1283,-32768,
1295 -32768,-32768, 4970,-32768,-32768,-32768, 1284,-32768,-32768, 1257,
1296 -32768, 1294,-32768,-32768, 298,-32768,-32768, 240, 1249,-32768,
1297 1305, 1305, 240, 1262, 10209, 10209, 7076, 456, 4960, 456,
1298 456, 1524, 456, 6356,-32768,-32768, 8838, 1305,-32768, 1266,
1299 65, 65, 65,-32768, 1267, 240, 7162, 240, 7162,-32768,
1300 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1289, 1290,
1301 1291, 1293, 1046,-32768, 10985, 8091, 7724, 1280,-32768, 10209,
1302 -32768,-32768,-32768, 1281, 1287, 1295, 4970,-32768,-32768, 1298,
1303 569, 1012, 1012, 1296, 1012,-32768,-32768, 10903, 1384, 10037,
1304 -32768, 1309, 1313, 1319,-32768,-32768,-32768,-32768,-32768,-32768,
1305 -32768,-32768, 240, 1326,-32768, 1325,-32768,-32768, 2768,-32768,
1306 -32768,-32768,-32768,-32768, 11097,-32768,-32768, 1292,-32768,-32768,
1307 292, 1330,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2497,
1308 2497, 2557, 2557, 4282,-32768, 1679,-32768, 3088, 11119,-32768,
1309 -32768,-32768, 1331,-32768, 1493,-32768, 10209,-32768, 10209,-32768,
1310 10209,-32768, 1357,-32768,-32768, 7026, 1413,-32768, 7815,-32768,
1311 9596, 9596, 7226, 173, 1339, 209,-32768, 8091, 7906,-32768,
1312 -32768, 311, 8091,-32768,-32768,-32768, 10123,-32768,-32768,-32768,
1313 -32768, 1848,-32768,-32768,-32768,-32768,-32768,-32768, 7076, 7076,
1314 -32768, 1305, 585, 1127, 10209,-32768,-32768,-32768, 981, 981,
1315 1305, 1305, 847, 1305,-32768,-32768,-32768,-32768,-32768, 1395,
1316 -32768,-32768,-32768, 1342,-32768, 1346, 10209, 10209, 10209, 10209,
1317 8091,-32768, 1393,-32768,-32768, 11097,-32768,-32768,-32768, 60,
1318 1295,-32768,-32768,-32768,-32768,-32768,-32768, 1348,-32768, 1421,
1319 65,-32768,-32768,-32768, 240,-32768,-32768,-32768,-32768,-32768,
1320 -32768, 10209,-32768,-32768, 2497, 2497,-32768, 3088,-32768,-32768,
1321 1352, 1362, 1363, 1380,-32768, 1036, 321, 1407, 1164, 1165,
1322 -32768,-32768,-32768,-32768,-32768, 10209, 1416, 1419, 1425, 9774,
1323 653, 1357, 496, 693,-32768,-32768, 9865, 1477,-32768,-32768,
1324 -32768, 1430,-32768, 6551, 6039, 4418, 6895,-32768,-32768, 1475,
1325 -32768,-32768,-32768, 8931,-32768,-32768, 1386, 1373,-32768,-32768,
1326 -32768,-32768, 4970,-32768,-32768, 8091, 1391, 1399, 2385,-32768,
1327 -32768,-32768, 240, 240,-32768,-32768,-32768, 10209, 10209, 7076,
1328 456, 456,-32768,-32768,-32768, 6712, 240, 240,-32768,-32768,
1329 1400, 1401, 1405, 1410,-32768, 8091, 10209,-32768, 60,-32768,
1330 -32768,-32768,-32768, 240, 1415,-32768,-32768,-32768,-32768, 1380,
1331 -32768, 1357,-32768,-32768,-32768,-32768,-32768,-32768, 711, 711,
1332 991, 1432, 1433, 6200,-32768,-32768,-32768,-32768, 1467, 10209,
1333 1472, 1428, 1480, 1927, 1987,-32768, 991,-32768,-32768, 1451,
1334 -32768,-32768, 981, 1061,-32768, 1076, 981, 9951, 1090, 322,
1335 -32768,-32768,-32768,-32768,-32768,-32768, 364,-32768,-32768,-32768,
1336 -32768,-32768,-32768,-32768, 7076, 7076,-32768, 1305, 1305,-32768,
1337 8614,-32768,-32768,-32768,-32768, 240, 240,-32768,-32768,-32768,
1338 -32768,-32768, 1434,-32768,-32768,-32768, 1459,-32768,-32768,-32768,
1339 10123,-32768,-32768,-32768, 1538, 9227, 7336, 10123, 10209,-32768,
1340 9039,-32768, 1496,-32768,-32768, 1504,-32768, 1480, 1927,-32768,
1341 -32768, 700,-32768,-32768, 10645, 10645, 8000,-32768,-32768, 991,
1342 -32768,-32768,-32768,-32768, 1452, 11007, 1463,-32768,-32768,-32768,
1343 10990,-32768,-32768, 1455, 398, 6652, 991, 9133,-32768,-32768,
1344 96,-32768,-32768, 1507, 1460, 11075, 9039,-32768,-32768,-32768,
1345 -32768, 1380, 76,-32768,-32768,-32768,-32768, 443, 344, 1462,
1346 1466, 991,-32768, 981,-32768,-32768,-32768,-32768, 714,-32768,
1347 8182,-32768,-32768,-32768,-32768, 1380, 1566, 1522, 177,-32768,
1348 -32768,-32768,-32768, 456, 96,-32768, 10209, 1523,-32768, 1529,
1349 -32768, 991, 9039, 1491, 63, 1531,-32768,-32768,-32768, 165,
1350 -32768, 1534,-32768, 1494,-32768,-32768,-32768,-32768, 10209, 1566,
1351 1539, 1566,-32768,-32768,-32768, 8273, 1500, 572,-32768,-32768,
1352 8091, 1501,-32768, 1577, 1553,-32768,-32768,-32768, 332,-32768,
1353 9133, 1603, 1559,-32768,-32768,-32768, 1621, 1622,-32768
1356 static const short yypgoto
[] = {-32768,
1357 1624,-32768, -304, 1456, -364, 75, 2, 1623,-32768, 1593,
1358 -32768,-32768, 315,-32768, 373,-32768, 507,-32768, 206, 942,
1359 58, 24,-32768,-32768, -669,-32768,-32768, 657, 59, 1469,
1360 1197, 1478, -719, 111, -173, 29, 55,-32768,-32768,-32768,
1361 -32768,-32768, 1125,-32768,-32768,-32768,-32768,-32768,-32768, 466,
1362 1903,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1363 -32768,-32768, 1568, -526, 6178, 1422, -58, -599, -235, -44,
1364 1533, -547,-32768, 388,-32768, 260,-32768, -1362,-32768, -1307,
1365 52,-32768, 1442, 1361, -254, 403, -557,-32768, -868, 3479,
1366 -125, 1528, 4472, 1379, -332, -52, -76, 427, -140, -66,
1367 135,-32768,-32768,-32768, -344,-32768, -159,-32768,-32768, -1236,
1368 -16, -329, 1934, 530, -150, -166, 78, 50, -206, -4,
1369 -145, -165, -171, 32, -11, 357,-32768, -257,-32768,-32768,
1370 -32768,-32768,-32768, 734, 1247, -45,-32768, 716,-32768,-32768,
1371 -765, -399, 940,-32768,-32768,-32768,-32768,-32768, 218,-32768,
1372 -32768,-32768,-32768,-32768, 729, -377,-32768,-32768,-32768,-32768,
1373 -32768,-32768,-32768,-32768, 1447,-32768, 335, 473,-32768,-32768,
1374 -32768,-32768, 885, -479,-32768,-32768,-32768,-32768,-32768,-32768,
1375 1172,-32768, 624, 1030, 745, 1086, 2837, 14, 54, -461,
1376 1510, 2756, -686,-32768, 13,-32768, 645, 20, -142, 271,
1377 -105, 5046, 1365,-32768, 5682, 2642, 1651, -19, -113,-32768,
1378 1590, -54,-32768, 5135, 3513, -359,-32768, 1597,-32768,-32768,
1379 381,-32768,-32768, 527, 138, -429,-32768,-32768,-32768,-32768,
1380 -1369,-32768, -1238, -1389,-32768,-32768,-32768,-32768,-32768,-32768,
1381 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 156,-32768,
1382 -32768,-32768,-32768,-32768, 188, -1311,-32768,-32768, -51,-32768,
1383 -32768,-32768,-32768, -1385, 140,-32768, 144,-32768, -606, -580,
1384 710,-32768,-32768,-32768,-32768, -393,-32768, -390, -333,-32768,
1385 1007, 397,-32768, 83,-32768, -232
1389 #define YYLAST 11203
1392 static const short yytable
[] = { 59,
1393 443, 435, 487, 122, 445, 36, 420, 423, 711, 444,
1394 658, 712, 392, 256, 1019, 432, 224, 72, 532, 648,
1395 771, 253, 657, 76, 709, 738, 103, 42, 400, 1118,
1396 59, 784, 298, 786, 182, 857, 36, 59, 196, 991,
1397 525, 816, 486, 141, 146, 356, 1016, 357, 72, 554,
1398 557, 494, 209, 58, 76, 72, 398, 399, 42, 926,
1399 742, 76, 896, 949, 249, 42, 926, 247, 688, 391,
1400 174, 492, 495, 177, 201, 727, 213, 256, 35, 296,
1401 397, 57, 587, 349, 58, 349, 626, 349, 1478, 544,
1402 1428, 58, 408, 1056, 224, 260, 1530, 297, 1443, 170,
1403 171, 1534, 349, 349, 1027, 1446, 899, 190, 163, 35,
1404 224, 208, 57, 626, 626, 467, 169, 998, 364, 176,
1405 662, 663, 661, 900, 1600, 1535, 89, 308, 1193, 977,
1406 91, 406, 349, 295, 349, -1, 256, 1567, 1558, 580,
1407 1544, 581, 544, 26, 813, 978, 90, 855, 164, 72,
1408 92, 1028, 901, 1387, 1029, 407, -828, 1555, 196, 410,
1409 59, 468, 419, 422, 59, 735, 224, 155, -2, 780,
1410 1601, 209, 717, 718, 224, 1059, 452, 1589, 72, 928,
1411 558, 559, 72, 1568, 76, 58, 517, 1064, 76, 997,
1412 403, 224, 42, 440, 201, 213, 567, 174, 1581, 568,
1413 177, 490, 569, 539, 1194, 579, 470, 472, 190, 584,
1414 724, 1004, 1597, 405, 58, 1080, 814, 625, 58, -302,
1415 1612, 1085, 736, 1560, 15, 842, 170, 171, -415, 1199,
1416 208, 1558, 776, -356, -356, 1065, 88, 453, 453, 1027,
1417 59, 201, 57, 169, 789, 15, 176, 88, 535, -415,
1418 1532, 705, 1538, 190, 1478, -625, -415, -415, 72, 178,
1419 260, -415, 86, 93, 524, -302, -302, 1593, 820, 632,
1420 454, 454, 300, 394, 395, 10, 221, 790, -415, 1200,
1421 -295, 791, -415, 155, 155, 155, 1028, 696, 732, 1029,
1422 623, 374, 247, 631, 58, 1225, 1226, 375, 1565, 514,
1423 759, -625, -625, 158, 1220, 1020, 1166, 116, 117, 118,
1424 21, 87, 1247, 664, 792, 658, -625, 705, 38, 511,
1425 774, 976, 519, 26, 349, 27, 319, -415, 1144, 155,
1426 691, 420, 423, 817, 1221, 856, 963, 296, 94, 1117,
1427 492, 495, 8, 9, 1598, 247, 12, 13, 492, 38,
1428 1292, 107, 14, 349, 667, 297, 108, 32, 926, 583,
1429 119, 120, 711, 1002, 1003, 1038, 16, 260, 17, 1353,
1430 -583, 109, 72, 138, 20, 580, 39, 581, 668, 495,
1431 1404, 1404, 818, 23, 967, 964, 178, 714, 127, 128,
1432 1622, 295, 26, 139, 130, 131, 532, 708, 495, 1293,
1433 209, 1388, 926, 135, 224, 215, 216, 39, 58, 137,
1434 -304, 14, 533, 665, 162, 710, -583, 189, 1354, 158,
1435 158, 158, 648, 201, 1151, 699, 221, 1154, 950, 1405,
1436 1509, 897, 1169, 20, 221, 221, 405, 59, 26, 1623,
1437 130, 131, 23, 161, 636, 567, 568, 224, 1215, 926,
1438 179, 707, 517, 778, 517, 72, -304, -304, 534, 153,
1439 517, 76, 517, 752, 221, 158, 1367, 183, 1180, 1181,
1440 729, -298, 610, 177, 1146, 1373, 1374, 653, 1375, 793,
1441 1254, 710, 1256, 610, 777, 831, 18, 763, 764, 705,
1442 841, 58, 244, 349, 366, 370, 705, 636, 1016, 201,
1443 1119, 799, 787, 788, 459, 838, 59, 201, 59, -365,
1444 40, 15, 819, 221, 209, 914, 59, 707, 611, 176,
1445 1474, 460, 187, 654, 72, 794, 72, 377, 916, 611,
1446 524, 832, 524, 55, 72, 1056, 188, 805, 812, 129,
1447 524, 40, -365, 841, -295, 349, -365, 90, 349, 26,
1448 461, 349, 1423, 1001, 299, 349, 847, 847, 847, 847,
1449 58, 915, 58, 138, 55, 514, 221, 514, 349, 623,
1450 58, 175, 798, 808, 917, 514, 421, 424, 349, -365,
1451 360, 349, 1032, 711, 696, 511, 712, 511, 519, 1192,
1452 519, 973, -583, 926, 378, 511, 362, 816, 519, 709,
1453 658, 372, 1093, 376, -366, 705, 15, 380, 155, 155,
1454 155, -120, 657, 15, 92, 636, 296, 381, -143, 401,
1455 972, 153, 926, 221, -295, 1289, 1290, 918, 492, 1033,
1456 137, 705, 1034, 1614, 297, 708, 934, -366, -583, 482,
1457 544, -366, 752, 705, -120, 425, 1368, 970, -120, 952,
1458 920, 922, 189, 710, 138, 95, 110, 111, 88, 178,
1459 710, 841, -144, 260, 1278, 404, 95, 414, 415, 433,
1460 295, 705, 1056, 919, -366, 147, 1273, 705, 122, 1615,
1461 240, -120, 935, 936, 241, 201, 587, 349, 984, 707,
1462 989, 990, 1513, 1514, 55, 1042, 707, 899, 175, -620,
1463 -118, 209, 15, 221, 221, 247, 1262, 1264, 112, 113,
1464 303, 221, 661, 1017, 900, 1216, 574, 1218, 1186, 98,
1465 113, 1222, 215, 216, 201, 987, 201, 201, 14, 214,
1466 215, 216, 1420, -118, 1165, 990, 14, -118, -7, 256,
1467 164, 1043, 221, 901, 158, 158, 158, 253, 1188, 447,
1468 20, 708, 1190, 18, 1426, 576, 517, 1480, 20, 23,
1469 1576, 221, 1274, 1275, 1187, 1277, 137, 23, 799, 710,
1470 -118, 201, 8, 537, 518, 1036, 448, 708, 1081, 1082,
1471 451, 1083, 715, 1127, 705, 411, 1068, 463, 705, 708,
1472 413, 842, 1070, 1071, 1189, 710, 1068, 1073, 1191, 1264,
1473 1071, 464, 432, 1481, 805, 707, 1577, 710, 1349, 1351,
1474 59, 567, 568, 1355, 127, 128, 363, 708, 349, 349,
1475 379, 349, 498, 708, 130, 131, 705, 503, 72, 1182,
1476 527, 707, 705, 540, 524, 710, 769, 91, 147, 798,
1477 137, 710, 542, 707, 775, 1249, 1250, 1251, 538, 1590,
1478 15, 541, 746, 781, -415, 421, 722, 92, 363, 561,
1479 91, 1385, 222, 223, 58, 543, 130, 131, 551, 514,
1480 562, 707, 560, 95, 110, 111, 528, 707, 300, 705,
1481 92, 10, -415, -415, 221, 1359, 1360, 1361, 666, 511,
1482 538, 349, 519, 829, 222, 446, 1121, 224, 563, 782,
1483 91, 421, 424, 536, 392, 564, 18, 583, 7, 8,
1484 250, 10, 95, 96, 97, 449, 21, 1090, 1091, 1092,
1485 92, 256, 480, 481, 847, 221, 112, 113, 114, 626,
1486 708, 426, 427, 675, 752, 672, 705, 676, 705, 830,
1487 574, 488, 489, 574, 678, 428, 21, 844, 710, 679,
1488 920, 922, 710, 251, 692, 429, 1449, 260, 480, 730,
1489 574, 27, 28, 32, 680, 98, 99, 693, 430, 221,
1490 90, 175, 708, 574, 847, 349, 92, 871, 708, 576,
1491 721, 1484, 576, -6, 707, 252, 1472, 747, 707, 765,
1492 710, 221, 725, 32, 1170, 1171, 710, 1501, 421, 852,
1493 699, 770, 1279, 8, 9, 894, 842, 15, 382, 383,
1494 384, 910, 576, 539, 823, 127, 128, 824, 517, 89,
1495 535, 488, 731, 705, 825, 752, 707, 1066, 826, 420,
1496 423, 833, 707, 300, 394, 395, 10, 834, 847, 90,
1497 518, 851, 785, 710, 853, 1392, 854, 363, 736, 89,
1498 518, 911, 705, 385, 856, 130, 131, -141, 420, 423,
1499 913, 386, 387, 719, 221, 26, 720, 130, 131, 90,
1500 927, 21, 59, 942, 929, 567, 568, 955, 723, 707,
1501 1484, 903, 708, -183, 708, 1281, 27, 319, 1240, 931,
1502 72, 904, 956, 1240, 1402, 1403, 524, 1484, 137, -183,
1503 710, -183, 710, 127, 128, 905, 8, 9, 965, 256,
1504 608, 609, 847, 91, 411, 969, 413, 155, 32, 480,
1505 1503, -142, 1573, 127, 128, 349, 58, 711, 966, 536,
1506 1551, 514, 971, 92, 488, 1504, 707, 20, 707, 95,
1507 96, 97, 979, 225, 226, 227, 980, 363, 480, 1508,
1508 363, 511, 1484, -298, 519, 130, 131, 993, 130, 131,
1509 738, 999, 453, 1436, 155, 1017, 1000, 18, 1434, 708,
1510 1439, 1024, 228, 26, 1025, 130, 131, 8, 9, 252,
1511 89, -579, 252, 1048, -579, 1295, 1296, 710, 1369, 903,
1512 26, 1336, 98, 99, 229, 842, 1026, 1328, 752, 904,
1513 90, 579, 1031, -827, 7, 8, 9, 10, 1040, 72,
1514 13, 1616, 349, 905, 1295, 1296, 710, 89, 91, 931,
1515 1044, 1045, 1075, 707, 1069, 1407, 1408, 1371, 1372, 130,
1516 131, -579, 18, -579, -579, 1074, -579, 90, 92, 230,
1517 231, 232, 21, 1094, 1099, 58, -52, -579, 636, -579,
1518 1095, -52, 707, 158, 1096, 26, 1097, 27, 28, 1098,
1519 1100, 498, -52, 1101, 1102, -579, -579, 942, 127, 128,
1520 1327, 981, -140, 1335, 1103, 1104, 140, 140, 1106, 156,
1521 -579, 982, 603, 604, 605, 606, 607, 608, 609, 32,
1522 1107, 639, 1124, 1113, 983, 641, 1110, 1126, 1109, 1111,
1523 158, 1112, 1129, 212, 1130, 220, 155, 155, 155, 1128,
1524 1131, 237, 1164, 7, 127, 128, 10, 1433, 544, 1433,
1525 130, 131, 1336, 1137, 1139, 1138, 574, 1147, 1148, 1145,
1526 209, 1150, 1336, 1157, 1160, 155, 155, 155, 1328, 1336,
1527 72, 1163, 1543, 1185, 518, 1328, 1208, 1214, 847, 1217,
1528 72, 21, 1219, 201, 1437, 201, 1224, 72, 251, 95,
1529 110, 111, 420, 423, 421, 852, 27, 28, 460, 1228,
1530 705, 8, 9, 1248, 1252, 1570, 58, 127, 128, 567,
1531 568, 1257, 1258, 1259, -304, 1260, 58, 140, 1265, 1267,
1532 252, 1280, 140, 58, 1268, 156, 156, 156, 32, -304,
1533 1291, 1327, 1269, -304, 1335, 1272, 1276, 719, 720, 153,
1534 723, 1327, 112, 113, 1335, 363, 1282, 129, 1327, -304,
1535 1283, 1335, 212, 130, 131, 490, 1284, 26, 450, 130,
1536 131, -304, -304, 1287, -304, 1288, -304, 1294, 1299, 140,
1537 140, 156, 158, 158, 158, 1193, 1348, 538, -662, 1379,
1538 214, 215, 216, 1380, 1386, 220, 1205, 14, 1390, 1396,
1539 95, 96, 97, 493, 220, -304, -304, 1391, 1406, 1397,
1540 1398, 158, 158, 158, 18, 1399, 1525, 1415, 1416, 20,
1541 -304, 1336, 1336, 1525, 1417, 1429, 1336, 1328, 23, 1431,
1542 1444, 375, 1328, 1447, 297, 1005, 1006, 1007, 1450, 72,
1543 72, 297, 349, 953, 72, 140, 1451, 1468, 1469, 1554,
1544 1047, 26, 1470, 98, 99, 100, 708, 1471, 763, 764,
1545 1061, 1062, 1476, 1336, 1487, 1488, 1492, 127, 1243, 1328,
1546 295, 1494, 1336, 1495, 710, 58, 58, 295, 1328, 1008,
1547 58, 72, 1574, 1502, 1520, 201, 26, 1076, 1009, 1010,
1548 72, 1521, 1078, 221, 1529, 1539, 1525, 1540, 1545, 1547,
1549 1327, 1327, 1553, 1335, 1335, 1327, 1562, 1563, 1335, 1571,
1550 707, 363, 155, 1572, 297, 156, 1584, 58, 1336, 130,
1551 131, 1588, 1595, 1599, 1328, 1011, 58, 1618, 1596, 1602,
1552 574, 605, 606, 607, 608, 609, 72, 1604, 1609, 421,
1553 424, 1605, 1327, 538, 1357, 1335, 518, 1613, 1617, 612,
1554 295, 1327, 1620, 1625, 1335, 339, 1336, 339, 1626, 339,
1555 1628, 1629, 1328, 1, 5, 442, 147, 160, 421, 1347,
1556 1499, 968, 58, 1167, 72, 127, 128, 441, 728, 155,
1557 155, 155, 439, 809, 1381, 1382, 1383, 1384, 613, 614,
1558 1300, 212, 220, 615, 616, 617, 618, 1327, 1569, 500,
1559 1335, 359, 127, 128, 339, 140, 339, 13, 140, 1483,
1560 58, 409, 1624, 1389, 156, 156, 156, 550, 1159, 1023,
1561 140, 7, 8, 9, 10, 26, 1158, 130, 131, 505,
1562 811, 127, 128, 1452, 1362, 1327, 535, 1245, 1335, 1077,
1563 1156, 545, 958, 127, 128, 636, 898, 1419, 158, 483,
1564 633, 546, 26, 390, 130, 131, 140, 1442, 140, 21,
1565 156, 156, 156, 1345, 1591, 450, 251, 1603, 637, 1566,
1566 258, 140, 493, 220, 27, 28, 450, 0, 638, 1608,
1567 493, 26, 221, 130, 131, 1610, 636, 1207, 639, 1448,
1568 0, 640, 641, 26, 258, 130, 131, 545, 252, 95,
1569 110, 111, 529, 0, 0, 212, 32, 546, 0, 637,
1570 0, 0, 450, 0, 1473, 158, 158, 158, 1046, 638,
1571 0, 0, 0, 258, 0, 0, 0, 0, 0, 639,
1572 0, 0, 640, 641, 258, 0, 0, 21, 0, 156,
1573 1231, 1232, 156, 1241, 1242, 0, 1244, 1493, 116, 1006,
1574 1007, 0, 112, 113, 411, 413, 0, 156, 156, 156,
1575 0, 744, 536, 0, 0, 0, 0, 1079, 750, 0,
1576 0, 0, 156, 1084, 0, 0, 506, 0, 7, 8,
1577 507, 10, 167, 12, 13, 0, 0, 565, 0, 14,
1578 116, 1006, 1007, 258, 95, 110, 111, 0, 225, 226,
1579 227, 119, 120, 16, 1205, 17, 18, 19, 1523, 0,
1580 0, 20, 0, 0, 871, 1523, 21, 1050, 0, 0,
1581 23, 508, 18, 168, 0, 339, 0, 228, 258, 26,
1582 0, 27, 28, 943, 574, 509, 0, 510, 0, 0,
1583 0, 26, 743, 119, 120, 30, 0, 112, 113, 743,
1584 0, 839, 258, 220, 0, 31, 101, 0, 0, 0,
1585 0, 0, 0, 32, 115, 0, 0, 0, 33, 95,
1586 110, 111, 421, 1347, 0, 0, 1140, 0, 1141, 719,
1587 720, 0, 723, 0, 645, 649, 652, 0, 1523, 0,
1588 0, 0, 212, 0, 220, 237, 0, 0, 0, 0,
1589 0, 0, 1365, 1366, 1594, 0, 0, 233, 95, 110,
1590 111, 892, 681, 682, 683, 0, 0, 893, 7, 127,
1591 128, 10, 112, 1496, 13, 0, 1607, 741, 745, 95,
1592 110, 111, 743, 871, 0, 745, 0, 0, 220, 0,
1593 655, 8, 9, 10, 258, 0, 18, 0, 0, 140,
1594 140, 0, 140, 0, 947, 0, 21, 0, 0, 0,
1595 493, 112, 113, 450, 0, 339, 388, 0, 0, 26,
1596 0, 27, 28, 450, 450, 308, 656, 783, 21, 0,
1597 369, 371, 112, 1498, 0, 30, 116, 117, 118, 0,
1598 416, 26, 743, 130, 131, 31, 0, 0, 743, 0,
1599 450, 0, 258, 32, 1223, 450, 0, 0, 33, 1227,
1600 0, 0, 0, 0, 0, 0, 0, 339, 745, 0,
1601 0, 0, 0, 0, 0, 0, 0, 156, 743, 0,
1602 0, 0, 1253, 0, 1255, 743, 0, 26, 0, 119,
1603 120, 0, 0, 1457, 1458, 1459, 0, 0, 0, 0,
1604 339, 0, 741, 0, 0, 868, 869, 0, 873, 874,
1605 875, 876, 877, 878, 879, 880, 881, 882, 883, 884,
1606 885, 886, 887, 888, 889, 890, 891, 0, 745, 0,
1607 499, 501, 0, 0, 745, 0, 0, 0, 0, 1286,
1608 0, 0, 258, 530, 7, 8, 9, 10, 214, 215,
1609 216, 300, 8, 9, 10, 14, 0, 0, 0, 0,
1610 0, 95, 96, 97, 745, 0, 0, 0, 0, 0,
1611 0, 745, 18, 156, 156, 943, 0, 20, 1511, 1512,
1612 0, 0, 21, 0, 0, 0, 23, 258, 636, 21,
1613 382, 383, 384, 960, 962, 26, 251, 27, 28, 0,
1614 0, 214, 215, 216, 27, 319, 363, 0, 14, 339,
1615 0, 981, 237, 566, 98, 99, 0, 140, 140, 943,
1616 0, 982, 0, 921, 923, 18, 0, 0, 252, 32,
1617 20, 639, 0, 0, 983, 641, 32, 0, 0, 23,
1618 0, 26, 0, 386, 387, 1114, 1115, 491, 215, 216,
1619 0, 1120, 578, 0, 14, 674, 0, 741, 0, 0,
1620 0, 0, 0, 0, 684, 1132, 943, 1133, 0, 1134,
1621 0, 18, 743, 0, 258, 0, 20, 674, 127, 128,
1622 0, 1393, 215, 216, 0, 23, 0, 0, 14, 0,
1623 258, 986, 0, 645, 649, 0, 652, 1592, 7, 8,
1624 9, 10, 0, 450, 450, 0, 450, 450, 0, 450,
1625 20, 0, 0, 0, 1067, 1162, 0, 0, 0, 23,
1626 0, 636, 0, 0, 0, 704, 743, 743, 26, 0,
1627 130, 131, 743, 0, 0, 0, 21, 0, 649, 0,
1628 339, 339, 636, 339, 637, 0, 743, 0, 743, 26,
1629 743, 27, 28, 0, 638, 0, 0, 0, 745, 1453,
1630 1454, 1183, 0, 0, 639, 981, 0, 647, 641, 0,
1631 0, 0, 0, 1464, 1465, 982, 0, 116, 1006, 1007,
1632 1105, 1049, 0, 32, 0, 639, 0, 0, 983, 641,
1633 1475, 751, 0, 0, 779, 0, 743, 0, 0, 0,
1634 0, 0, 0, 0, 1050, 0, 140, 140, 156, 156,
1635 943, 1051, 745, 745, 140, 0, 0, 741, 745, 601,
1636 602, 603, 604, 605, 606, 607, 608, 609, 26, 0,
1637 119, 120, 745, 649, 745, 0, 745, 156, 156, 943,
1638 0, 0, 743, 0, 0, 0, 258, 596, 597, 598,
1639 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
1640 609, 743, 1518, 1519, 0, 450, 450, 0, 0, 0,
1641 0, 0, 1155, 0, 0, 0, 840, 864, 0, 843,
1642 0, 0, 745, 845, 846, 848, 849, 850, 0, 7,
1643 8, 9, 10, 0, 0, 246, 578, 339, 0, 0,
1644 300, 394, 395, 10, 0, 0, 1135, 0, 1136, 867,
1645 1179, 0, 0, 0, 0, 0, 0, 18, 0, 1142,
1646 0, 912, 0, 921, 923, 0, 0, 21, 745, 0,
1647 0, 140, 140, 636, 140, 0, 0, 1301, 21, 1302,
1648 26, 1303, 27, 28, 0, 251, 0, 745, 0, 7,
1649 8, 9, 10, 27, 319, 13, 981, 627, 0, 300,
1650 394, 395, 10, 924, 628, 0, 982, 921, 923, 0,
1651 924, 212, 220, 0, 32, 0, 639, 18, 0, 983,
1652 641, 0, 1229, 1230, 258, 32, 258, 21, 0, 0,
1653 975, 0, 0, 636, 0, 0, 0, 21, 0, 0,
1654 26, 992, 27, 28, 629, 0, 450, 450, 450, 0,
1655 26, 0, 27, 319, 0, 0, 1172, 0, 743, 0,
1656 743, 0, 743, 741, 741, 0, 1173, 1266, 258, 0,
1657 0, 0, 864, 0, 32, 80, 639, 0, 0, 1174,
1658 641, 0, 1395, 0, 630, 104, 0, 339, 0, 0,
1659 0, 0, 0, 0, 0, 133, 0, 0, 0, 0,
1660 0, 144, 144, 0, 144, 0, 80, 0, 0, 0,
1661 0, 0, 0, 80, 156, 0, 0, 0, 0, 704,
1662 0, 0, 0, 0, 0, 0, 203, 0, 80, 0,
1663 0, 450, 450, 0, 0, 0, 238, 0, 0, 0,
1664 0, 0, 0, 104, 745, 751, 745, 0, 745, 0,
1665 0, 0, 258, 0, 262, 104, 741, 751, 0, 0,
1666 0, 0, 0, 743, 0, 741, 741, 0, 0, 0,
1667 741, 0, 0, 0, 0, 0, 0, 104, 0, 0,
1668 0, 156, 156, 156, 0, 751, 0, 0, 0, 0,
1669 0, 751, 1370, 0, 0, 0, 1135, 1136, 921, 923,
1670 300, 8, 9, 10, 1142, 133, 0, 80, 0, 0,
1671 0, 144, 144, 0, 0, 0, 412, 144, 741, 0,
1672 144, 144, 144, 0, 0, 0, 0, 921, 923, 258,
1673 7, 127, 128, 10, 0, 0, 80, 0, 21, 0,
1674 80, 0, 0, 0, 0, 251, 203, 80, 0, 745,
1675 450, 0, 0, 27, 319, 0, 258, 0, 18, 1116,
1676 0, 0, 0, 0, 203, 203, 203, 0, 21, 0,
1677 0, 0, 0, 1414, 0, 0, 0, 538, 0, 0,
1678 0, 26, 0, 27, 28, 32, 127, 128, 0, 0,
1679 215, 216, 867, 203, 0, 684, 14, 149, 751, 0,
1680 0, 0, 924, 0, 0, 0, 0, 150, 975, 743,
1681 502, 0, 0, 741, 0, 32, 80, 0, 20, 104,
1682 151, 1135, 1136, 0, 1142, 1455, 1456, 23, 0, 636,
1683 144, 0, 0, 0, 0, 0, 26, 0, 130, 131,
1684 704, 0, 1168, 741, 0, 0, 924, 0, 259, 0,
1685 0, 0, 637, 0, 0, 0, 0, 0, 127, 128,
1686 0, 0, 638, 246, 0, 0, 0, 0, 104, 547,
1687 0, 0, 639, 0, 0, 640, 641, 0, 471, 473,
1688 477, 0, 0, 0, 7, 127, 128, 10, 0, 0,
1689 246, 0, 0, 924, 0, 745, 0, 0, 0, 0,
1690 0, 636, 0, 0, 0, 0, 1210, 0, 26, 0,
1691 130, 131, 18, 104, 0, 0, 0, 634, 1516, 547,
1692 547, 650, 21, 0, 637, 434, 0, 0, 0, 0,
1693 80, 0, 0, 0, 638, 26, 0, 27, 28, 1263,
1694 0, 0, 0, 0, 639, 0, 1536, 640, 641, 0,
1695 751, 30, 751, 0, 0, 0, 0, 469, 0, 0,
1696 0, 31, 0, 0, 133, 795, 796, 9, 10, 32,
1697 485, 0, 0, 104, 33, 203, 104, 0, 0, 0,
1698 1271, 0, 0, 0, 0, 0, 127, 128, 0, 0,
1699 144, 535, 0, 144, 0, 0, 0, 0, 0, 0,
1700 0, 0, 0, 21, 0, 144, 0, 0, 0, 0,
1701 0, 0, 0, 80, 0, 0, 26, 0, 27, 28,
1702 7, 8, 9, 10, 797, 1305, 535, 0, 0, 636,
1703 0, 1263, 193, 0, 0, 0, 26, 924, 130, 131,
1704 0, 203, 194, 203, 0, 203, 203, 203, 18, 0,
1705 32, 203, 637, 0, 0, 195, 203, 0, 21, 203,
1706 0, 0, 638, 0, 636, 0, 924, 0, 741, 0,
1707 0, 26, 639, 27, 28, 640, 641, 0, 0, 133,
1708 1358, 0, 80, 0, 80, 0, 0, 981, 0, 806,
1709 80, 0, 80, 0, 0, 0, 166, 982, 7, 8,
1710 9, 10, 167, 12, 13, 32, 0, 639, 0, 14,
1711 983, 641, 0, 0, 0, 0, 0, 0, 0, 0,
1712 0, 0, 0, 16, 0, 17, 18, 19, 0, 0,
1713 0, 20, 104, 104, 104, 104, 21, 0, 0, 0,
1714 23, 0, 0, 168, 0, 0, 0, 0, 0, 26,
1715 0, 27, 28, 1421, 1422, 761, 0, 762, 0, 471,
1716 473, 477, 0, 0, 0, 30, 0, 0, 0, 0,
1717 773, 0, 0, 0, 0, 31, 0, 0, 0, 0,
1718 0, 0, 0, 32, 0, 0, 0, 0, 33, 0,
1719 0, 0, 104, 34, 547, 0, 0, 0, 0, 0,
1720 0, 0, 0, 804, 0, 0, 634, 0, 547, 547,
1721 0, 650, 0, 0, 0, 0, 1210, 0, 944, 8,
1722 9, 0, 946, 12, 246, 0, 0, 0, 0, 14,
1723 0, 0, 0, 0, 1479, 0, 0, 203, 0, 0,
1724 0, 0, 0, 16, 766, 17, 0, 0, 0, 772,
1725 0, 20, 0, 0, 0, 0, 1497, 1500, 0, 0,
1726 23, 133, 636, 0, 0, 0, 0, 0, 133, 26,
1727 0, 130, 131, 0, 0, 0, 203, 988, 203, 203,
1728 238, 650, 0, 0, 0, 637, 0, 0, 0, 0,
1729 0, 0, 0, 821, 0, 638, 0, 0, 0, 827,
1730 0, 0, 0, 0, 0, 639, 0, 0, 640, 641,
1731 0, 835, 836, 0, 837, 0, 0, 0, 0, 300,
1732 8, 9, 10, 203, 0, 0, 0, 988, 0, 0,
1733 0, 1541, 0, 0, 203, 203, 0, 203, 7, 8,
1734 9, 10, 214, 215, 216, 0, 0, 0, 0, 14,
1735 0, 0, 0, 104, 0, 0, 806, 21, 0, 0,
1736 0, 0, 0, 0, 251, 104, 18, 0, 0, 0,
1737 578, 20, 27, 319, 0, 0, 21, 0, 1072, 0,
1738 23, 0, 636, 0, 704, 0, 80, 0, 0, 26,
1739 0, 27, 28, 104, 0, 0, 0, 0, 0, 104,
1740 0, 0, 0, 0, 32, 981, 547, 547, 547, 932,
1741 933, 0, 0, 0, 932, 982, 0, 0, 547, 0,
1742 0, 0, 0, 32, 0, 639, 0, 0, 1030, 641,
1743 0, 0, 0, 0, 0, 8, 9, 0, 167, 12,
1744 13, 0, 0, 749, 0, 14, 83, 0, 761, 762,
1745 0, 773, 0, 0, 0, 0, 106, 0, 0, 16,
1746 0, 17, 18, 0, 0, 126, 134, 20, 0, 0,
1747 804, 0, 145, 145, 0, 145, 23, 83, 636, 0,
1748 0, 0, 0, 0, 83, 26, 0, 130, 131, 0,
1749 0, 547, 0, 547, 0, 0, 0, 145, 0, 83,
1750 104, 637, 0, 0, 547, 0, 104, 239, 944, 944,
1751 944, 638, 0, 0, 248, 0, 1149, 300, 127, 128,
1752 10, 639, 0, 0, 640, 641, 248, 0, 0, 0,
1753 0, 0, 0, 0, 0, 0, 7, 127, 128, 10,
1754 0, 0, 13, 0, 0, 0, 0, 1058, 104, 0,
1755 104, 0, 203, 203, 1176, 21, 0, 0, 0, 1063,
1756 0, 0, 251, 0, 18, 0, 0, 0, 0, 0,
1757 27, 319, 0, 0, 21, 0, 0, 0, 83, 0,
1758 0, 0, 145, 145, 0, 0, 0, 26, 145, 27,
1759 28, 145, 145, 145, 0, 1086, 0, 1088, 0, 0,
1760 0, 1176, 32, 149, 0, 0, 0, 83, 0, 0,
1761 0, 83, 0, 150, 104, 0, 0, 145, 83, 0,
1762 0, 32, 0, 0, 0, 0, 151, 0, 0, 0,
1763 0, 0, 0, 0, 0, 145, 145, 145, 0, 0,
1764 203, 0, 0, 0, 0, 144, 0, 0, 80, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
1766 104, 0, 0, 0, 145, 0, 471, 473, 477, 1122,
1767 1123, 0, 1125, 8, 9, 0, 0, 12, 13, 0,
1768 8, 9, 0, 14, 12, 246, 0, 83, 104, 0,
1769 14, 0, 0, 547, 547, 0, 547, 16, 0, 17,
1770 1143, 145, 0, 0, 16, 20, 17, 0, 0, 0,
1771 0, 0, 20, 0, 23, 477, 0, 0, 0, 0,
1772 0, 23, 0, 26, 0, 130, 131, 619, 0, 0,
1773 26, 0, 130, 131, 0, 0, 0, 0, 0, 248,
1774 145, 203, 203, 203, 203, 1176, 0, 0, 0, 203,
1775 0, 1178, 0, 0, 1239, 0, 642, 642, 642, 0,
1776 0, 0, 620, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 1176, 1176, 1176, 7, 8, 9, 10, 167,
1778 12, 13, 0, 0, 248, 0, 14, 0, 635, 0,
1779 145, 145, 651, 0, 0, 0, 0, 660, 0, 0,
1780 16, 83, 17, 18, 19, 0, 0, 0, 20, 0,
1781 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
1782 168, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1783 0, 0, 0, 0, 0, 697, 0, 0, 0, 0,
1784 0, 0, 30, 0, 248, 0, 145, 248, 0, 0,
1785 0, 0, 31, 0, 0, 761, 762, 471, 473, 477,
1786 32, 145, 0, 773, 145, 33, 203, 203, 0, 203,
1787 34, 0, 7, 8, 9, 10, 145, 0, 13, 0,
1788 0, 0, 0, 0, 83, 0, 471, 473, 477, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 18, 0, 0, 0, 1285, 203, 988, 203, 0, 0,
1791 21, 0, 145, 0, 145, 0, 145, 145, 145, 0,
1792 0, 0, 145, 26, 104, 27, 28, 145, 0, 6,
1793 145, 7, 8, 9, 10, 11, 12, 13, 0, 193,
1794 0, 0, 14, 1298, 0, 0, 0, 0, 0, 194,
1795 134, 0, 0, 83, 0, 83, 16, 32, 17, 18,
1796 807, 83, 195, 83, 20, 0, 0, 0, 0, 21,
1797 0, 0, 0, 23, 0, 0, 438, 0, 0, 0,
1798 761, 762, 26, 773, 27, 28, 0, 0, 29, 0,
1799 1363, 0, 0, 0, 1364, 0, 0, 0, 30, 0,
1800 0, 0, 0, 248, 248, 248, 248, 0, 31, 1176,
1801 0, 0, 0, 0, 1377, 0, 32, 0, 1378, 0,
1802 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
1803 0, 0, 7, 127, 128, 10, 0, 0, 535, 0,
1804 0, 0, 0, 0, 0, 642, 642, 0, 642, 0,
1805 0, 0, 0, 1394, 0, 941, 0, 0, 0, 0,
1806 18, 0, 0, 248, 0, 145, 0, 0, 0, 0,
1807 21, 0, 0, 0, 0, 0, 1176, 1176, 1176, 145,
1808 145, 0, 651, 26, 0, 27, 28, 0, 0, 945,
1809 0, 0, 104, 0, 0, 0, 0, 203, 0, 30,
1810 0, 0, 660, 7, 127, 128, 10, 0, 145, 31,
1811 0, 0, 0, 642, 0, 642, 642, 32, 642, 0,
1812 0, 0, 33, 477, 0, 0, 0, 0, 0, 0,
1813 0, 18, 697, 0, 0, 0, 0, 0, 0, 0,
1814 126, 21, 0, 0, 0, 1466, 1467, 145, 651, 145,
1815 145, 239, 651, 0, 26, 0, 27, 28, 0, 0,
1816 642, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1817 30, 0, 0, 0, 0, 1018, 0, 0, 0, 0,
1818 31, 0, 0, 0, 0, 0, 0, 0, 32, 0,
1819 471, 473, 477, 33, 145, 0, 0, 0, 651, 0,
1820 0, 0, 0, 0, 0, 145, 145, 0, 145, 0,
1821 0, 0, 0, 0, 7, 8, 9, 10, 167, 12,
1822 13, 0, 1018, 749, 248, 14, 0, 807, 0, 0,
1823 0, 0, 0, 0, 0, 0, 248, 0, 0, 16,
1824 0, 17, 18, 0, 0, 0, 0, 20, 0, 0,
1825 0, 0, 21, 0, 0, 642, 23, 83, 636, 0,
1826 0, 0, 0, 0, 248, 26, 0, 27, 28, 0,
1827 248, 0, 0, 0, 0, 0, 0, 145, 145, 145,
1828 0, 1172, -387, 8, 9, -387, -387, 12, 246, 145,
1829 0, 1173, 0, 14, 0, 0, 0, 0, 0, 32,
1830 0, 639, 0, 0, 1174, 641, 0, 16, 0, 17,
1831 -387, 0, 0, 0, 0, 20, 0, 0, 0, 0,
1832 -387, 0, 0, 0, 23, 0, 636, 0, 642, 0,
1833 642, 0, 0, 26, 0, 130, 131, 0, 0, 0,
1834 0, 642, 0, 0, 0, 941, 941, 941, 0, 637,
1835 7, 8, 9, 10, 214, 215, 216, 0, 0, 638,
1836 0, 14, 145, 0, 145, 0, 0, -387, 0, 639,
1837 0, 248, 640, 641, 0, 145, 0, 248, 18, 945,
1838 945, 945, 0, 20, 0, 0, 0, 660, 21, 642,
1839 642, 642, 23, 0, 636, 0, 0, 0, 0, 0,
1840 0, 26, 0, 27, 28, 51, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 193, 0, 248,
1842 0, 248, 0, 145, 145, 651, 0, 194, 0, 0,
1843 0, 51, 51, 0, 152, 32, 51, 0, 941, 0,
1844 1438, 0, 0, 51, 598, 599, 600, 601, 602, 603,
1845 604, 605, 606, 607, 608, 609, 51, 0, 51, 795,
1846 8, 507, 10, 205, 12, 206, 0, 0, 0, 0,
1847 14, 0, 945, 0, 0, 0, 0, 0, 0, 0,
1848 0, 254, 0, 0, 16, 248, 17, 18, 0, 0,
1849 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
1850 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
1851 26, 145, 27, 28, 0, 0, 145, 0, 797, 83,
1852 0, 0, 0, 0, 0, 0, 30, 0, 0, 248,
1853 0, 248, 0, 0, 396, 396, 31, 51, 0, 0,
1854 0, 51, 51, 0, 32, 254, 0, 51, 0, 33,
1855 152, 152, 152, 0, 0, 0, 0, 431, 0, 248,
1856 0, 0, 0, 0, 145, 145, 51, 145, 0, 0,
1857 51, 0, 0, 0, 0, 0, 51, 51, 642, 642,
1858 642, 642, 642, 0, 0, 0, 642, 0, 0, 0,
1859 0, 0, 0, 0, 51, 51, 152, 0, 0, 0,
1860 0, 0, 0, 0, 254, 0, 0, 0, 0, 941,
1861 941, 941, 145, 145, 145, 145, 651, 0, 0, 0,
1862 145, 0, 0, 51, 0, 0, 506, 1018, 7, 8,
1863 507, 10, 167, 12, 13, 0, 0, 0, 0, 14,
1864 0, 0, 0, 945, 945, 945, 51, 0, 0, 0,
1865 0, 0, 0, 16, 0, 17, 18, 19, 0, 0,
1866 51, 20, -525, 0, 1018, 0, 21, 0, 0, 0,
1867 23, 508, 0, 168, 7, 8, 9, 10, 0, 26,
1868 246, 27, 28, 0, 0, 509, 0, 510, 0, 0,
1869 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
1870 0, 0, 18, 642, 642, 31, 642, 0, 0, 0,
1871 0, 0, 21, 32, 0, 0, 0, 0, 33, 0,
1872 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
1873 575, 0, 0, 0, -525, 0, 0, 145, 145, 0,
1874 145, 193, 0, 0, 0, 0, 0, 396, 0, 0,
1875 0, 194, 0, 0, 0, 254, 0, 0, 0, 32,
1876 51, 0, 0, 0, 195, 1425, 0, 0, 0, 0,
1877 0, 0, 0, 0, 0, 0, 145, 651, 145, 595,
1878 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
1879 606, 607, 608, 609, 396, 248, 0, 0, 0, 0,
1880 0, 1018, 0, 0, 0, 51, 0, 0, 0, 506,
1881 0, 7, 8, 507, 10, 167, 12, 13, 0, 0,
1882 51, 0, 14, 51, 0, 0, 0, 0, 0, 431,
1883 431, 431, 0, 0, 0, 51, 16, 0, 17, 18,
1884 19, 0, 0, 51, 20, -526, 0, 0, 0, 21,
1885 0, 0, 0, 23, 508, 0, 168, 0, 0, 0,
1886 0, 0, 26, 0, 27, 28, 0, 0, 509, 0,
1887 510, 51, 0, 51, 0, 152, 152, 152, 30, 0,
1888 945, 51, 0, 0, 0, 0, 51, 0, 31, 51,
1889 0, 0, 1233, 1234, 9, 10, 32, 0, 0, 0,
1890 0, 33, 0, 8, 9, 0, 0, 12, 13, 0,
1891 0, 0, 51, 14, 51, 0, 0, -526, 0, 51,
1892 51, 0, 51, 0, 0, 0, 0, 16, 0, 17,
1893 21, 0, 0, 0, 0, 20, 0, 0, 0, 0,
1894 0, 0, 0, 26, 23, 27, 28, 945, 945, 945,
1895 0, 1235, 0, 26, 575, 130, 131, 575, 0, 193,
1896 0, 0, 0, 248, 0, 0, 0, 0, 145, 194,
1897 0, 0, 575, 575, 575, 0, 0, 32, 0, 78,
1898 0, 0, 195, 0, 0, 0, 0, 575, 0, 0,
1899 0, 7, 8, 9, 10, 0, 6, 13, 7, 8,
1900 9, 10, 11, 12, 13, 78, 78, 0, 78, 14,
1901 78, 0, 0, 0, 0, 0, 0, 78, 0, 18,
1902 0, 0, 15, 16, 0, 17, 18, 19, 0, 21,
1903 78, 20, 78, 0, 0, 254, 21, 0, 0, 22,
1904 23, 24, 26, 25, 27, 28, 0, 0, 575, 26,
1905 0, 27, 28, 0, 0, 29, 0, 0, 474, 0,
1906 0, 0, 0, 0, 0, 30, 0, 51, 475, 0,
1907 0, 0, 0, 0, 0, 31, 32, 0, 0, 0,
1908 0, 476, 0, 32, 0, 0, 0, 0, 33, 0,
1909 0, 396, 0, 34, 0, 0, 0, 159, 396, 0,
1910 0, 0, 0, 0, 0, 0, 51, 51, 51, 51,
1911 0, 78, 0, 0, 0, 78, 78, 0, 0, 204,
1912 0, 78, 0, 0, 78, 78, 78, 0, 0, 0,
1913 0, 0, 0, 0, 795, 796, 9, 10, 0, 0,
1914 78, 0, 0, 0, 78, 7, 8, 9, 10, 0,
1915 78, 78, 0, 51, 0, 0, 0, 51, 0, 0,
1916 0, 0, 0, 0, 51, 51, 0, 51, 78, 78,
1917 78, 0, 21, 0, 0, 0, 0, 0, 0, 0,
1918 0, 0, 0, 21, 0, 26, 51, 27, 28, 0,
1919 0, 1060, 0, 797, 0, 0, 26, 78, 27, 28,
1920 0, 193, 192, 0, 0, 0, 0, 254, 0, 0,
1921 0, 194, 193, 159, 159, 159, 51, 0, 0, 32,
1922 78, 0, 194, 0, 195, 0, 0, 0, 0, 0,
1923 32, 0, 0, 0, 78, 195, 0, 0, 0, 204,
1924 0, 748, 575, 300, 8, 9, 10, 167, 12, 301,
1925 302, 303, 749, 304, 14, 0, 0, 204, 204, 478,
1926 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
1927 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
1928 310, 21, 311, 312, 0, 23, 204, 0, 0, 313,
1929 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
1930 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
1931 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
1932 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
1933 659, 0, 0, 329, 78, 0, 0, 0, 575, 575,
1934 575, 0, 0, 0, 431, 254, 0, 0, -798, 0,
1935 330, 0, 0, 7, 8, 9, 10, 205, 12, 206,
1936 0, 0, 548, 0, 14, 597, 598, 599, 600, 601,
1937 602, 603, 604, 605, 606, 607, 608, 609, 16, 78,
1938 17, 18, 51, 51, 152, 0, 20, 0, 0, 254,
1939 0, 21, 0, 0, 78, 23, 0, 78, 0, 0,
1940 0, 0, 0, 0, 26, 0, 27, 28, 0, 78,
1941 207, 0, 644, 644, 644, 0, 0, 78, 0, 0,
1942 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 31, 1204, 0, 0, 0, 0, 0, 0, 32, 0,
1944 0, 0, 0, 33, 0, 78, 0, 78, 0, 78,
1945 78, 78, 0, 0, 0, 78, 0, 0, 0, 0,
1946 78, 0, 0, 78, 0, 0, 0, 0, 204, 0,
1947 51, 0, 0, 0, 0, 51, 0, 0, 51, 7,
1948 8, 9, 10, 167, 12, 13, 78, 0, 78, 0,
1949 14, 0, 0, 78, 78, 0, 78, 0, 0, 0,
1950 0, 0, 0, 0, 16, 0, 17, 18, 0, 0,
1951 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
1952 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
1953 26, 0, 27, 28, 204, 0, 204, 0, 478, 478,
1954 478, 0, 0, 0, 204, 0, 30, 0, 0, 204,
1955 254, 0, 204, 0, 0, 0, 31, 0, 0, 0,
1956 0, 0, 0, 0, 32, 0, 0, 0, 0, 33,
1957 0, 51, 51, 152, 152, 152, 0, 254, 0, 51,
1958 0, 0, 204, 0, 870, 0, 300, 8, 9, 10,
1959 0, 12, 552, 302, 303, 0, 304, 14, 0, 0,
1960 0, 0, 1204, 1204, 1204, 0, 0, 0, 0, 0,
1961 659, 16, 305, 17, 0, 19, 0, 306, 307, 20,
1962 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
1963 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
1964 319, 78, 0, 0, 320, -788, 0, 0, 0, 0,
1965 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
1966 0, 323, 324, 325, 0, 0, 202, 0, 0, 326,
1967 327, 328, 0, 0, 0, 0, 329, 0, 0, 0,
1968 78, 78, 78, 78, 0, 0, 0, 906, 0, 0,
1969 0, 257, 0, 330, 261, 0, 51, 51, 0, 51,
1970 0, 644, 644, 0, 644, 0, 0, 0, 0, 0,
1971 0, 644, 0, 0, 0, 257, 0, 365, 0, 0,
1972 0, 0, 0, 0, 0, 0, 0, 78, 0, 0,
1973 204, 78, 0, 0, 0, 51, 51, 51, 78, 78,
1974 0, 78, 592, 593, 594, 595, 596, 597, 598, 599,
1975 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
1976 78, 0, 0, 0, 0, 0, 0, 0, 0, 985,
1977 0, 985, 985, 0, 644, 0, 0, 0, 0, 0,
1978 0, 7, 8, 9, 10, 0, 202, 535, 0, 0,
1979 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 202, 202, 202, 0, 0, 18,
1981 0, 0, 0, 0, 484, 0, 985, 0, 0, 21,
1982 0, 0, 0, 0, 0, 0, 0, 204, 204, 0,
1983 204, 0, 26, 202, 27, 28, 0, 0, 0, 1204,
1984 0, 0, 0, 0, 0, 0, 0, 0, 193, 204,
1985 0, 7, 8, 9, 10, 167, 12, 13, 194, 261,
1986 1035, 0, 14, 0, 0, 0, 32, 0, 0, 0,
1987 0, 195, 0, 257, 0, 0, 16, 0, 17, 18,
1988 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
1989 0, 0, 0, 23, 0, 0, 0, 0, 0, 548,
1990 548, 548, 26, 0, 27, 28, 1204, 1204, 1204, 0,
1991 0, 644, 0, 0, 0, 0, 0, 0, 30, 0,
1992 659, 0, 0, 0, 0, 0, 0, 51, 31, 0,
1993 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
1994 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 78, 78, 78, 0,
1996 0, 0, 0, 0, 0, 257, 261, 0, 0, 0,
1997 0, 7, 8, 9, 10, 205, 12, 206, 0, 0,
1998 0, 0, 14, 0, 644, 0, 644, 0, 0, 0,
1999 0, 0, 0, 0, 0, 0, 16, 644, 17, 18,
2000 0, 644, 644, 644, 20, 1206, 0, 0, 0, 21,
2001 0, 0, 0, 23, 0, 202, 0, 0, 0, 0,
2002 0, 0, 26, 0, 27, 28, 0, 0, 1435, 0,
2003 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,
2004 0, 0, 0, 0, 78, 985, 985, 1177, 31, 78,
2005 0, 0, 78, 0, 0, 0, 32, 0, 0, 0,
2006 0, 33, 0, 0, 0, 7, 8, 9, 10, 205,
2007 12, 206, 0, 0, 0, 0, 14, 0, 0, 0,
2008 0, 202, 0, 202, 0, 202, 202, 202, 0, 0,
2009 16, 202, 17, 18, 1177, 0, 202, 0, 20, 202,
2010 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
2011 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2012 0, 102, 0, 0, 0, 0, 0, 0, 0, 202,
2013 121, 102, 30, 204, 0, 0, 0, 102, 102, 0,
2014 102, 1489, 31, 0, 0, 78, 78, 78, 78, 78,
2015 32, 0, 0, 78, 0, 33, 594, 595, 596, 597,
2016 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2017 608, 609, 235, 0, 0, 0, 1206, 1206, 1206, 0,
2018 0, 0, 0, 0, 0, 0, 906, 906, 0, 906,
2019 0, 1490, 588, 589, 590, 591, 592, 593, 594, 595,
2020 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
2021 606, 607, 608, 609, 593, 594, 595, 596, 597, 598,
2022 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2023 609, 389, 0, 121, 985, 985, 1177, 1177, 1177, 0,
2024 102, 102, 985, 0, 0, 0, 0, 102, 102, 0,
2025 0, 102, 102, 102, 0, 417, 102, 102, 102, 0,
2026 0, 257, 261, 0, 0, 1177, 1177, 1177, 0, 0,
2027 78, 78, 0, 78, 0, 0, 0, 202, 0, 0,
2028 0, 0, 0, 0, 0, 0, 0, 0, 1233, 127,
2029 128, 10, 0, 0, 0, 0, 0, 0, 0, 0,
2030 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
2031 78, 78, 0, 0, 0, 0, 202, 0, 202, 202,
2032 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
2033 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
2034 0, 27, 28, 0, 0, 235, 102, 1235, 0, 0,
2035 0, 0, 0, 0, 0, 30, 0, 0, 0, 985,
2036 985, 0, 985, 202, 0, 31, 102, 0, 0, 0,
2037 0, 0, 0, 32, 202, 202, 0, 202, 33, 0,
2038 0, 570, 0, 300, 8, 9, 10, 167, 12, 301,
2039 302, 303, 749, 304, 14, 0, 202, 0, 204, 0,
2040 204, 0, 0, 0, 0, 102, 0, 0, 16, 305,
2041 17, 18, 19, 1206, 306, 307, 20, 484, 308, 309,
2042 310, 21, 311, 312, 0, 23, 0, 636, 0, 313,
2043 314, 315, 316, 317, 26, 0, 27, 319, -312, 0,
2044 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2045 937, 0, 0, 102, 0, 102, 102, 0, 323, 324,
2046 938, 7, 8, 9, 10, 0, 326, 327, 328, 0,
2047 639, 0, 0, 939, 641, 0, 0, 0, 0, 0,
2048 1206, 1206, 1206, 7, 8, 9, 10, 0, 0, 18,
2049 330, 0, 0, 0, 0, 0, 0, 0, 0, 21,
2050 102, 78, 478, 0, 0, 0, 0, 0, 0, 0,
2051 0, 0, 26, 0, 27, 28, 0, 0, 0, 102,
2052 0, 21, 0, 0, 0, 0, 102, 0, 474, 102,
2053 0, 0, 0, 0, 26, 0, 27, 28, 475, 0,
2054 1432, 102, 0, 0, 0, 0, 32, 0, 0, 0,
2055 193, 476, 0, 0, 0, 257, 261, 257, 0, 0,
2056 194, 0, 0, 0, 0, 0, 0, 0, 32, 478,
2057 478, 478, 0, 195, 0, 0, 0, 0, 8, 9,
2058 0, 205, 12, 206, 7, 8, 9, 10, 14, 0,
2059 204, 0, 202, 202, 1175, 0, 0, 0, 0, 257,
2060 0, 0, 16, 0, 17, 18, 0, 0, 0, 102,
2061 20, 0, 0, 0, 0, 102, 0, 0, 0, 23,
2062 0, 0, 21, 0, 0, 0, 0, 0, 26, 261,
2063 130, 131, 0, 0, 0, 26, 0, 27, 28, 0,
2064 0, 1175, 1460, 0, -479, -479, -479, -479, -479, -479,
2065 -479, 193, 0, -479, 102, -479, 0, 0, 0, 0,
2066 0, 194, 0, 0, 0, 0, -479, 0, -479, 32,
2067 0, 0, -479, 0, 195, 0, 0, -479, 0, 0,
2068 202, 0, -479, 0, 0, 0, -479, 0, -479, 0,
2069 0, 0, 0, 0, 0, -479, 0, -479, -479, -479,
2070 -479, -479, 0, -479, -479, -479, -479, -479, -479, -479,
2071 -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
2072 -479, -479, -479, -479, -479, -479, 0, -479, -479, -479,
2073 102, -479, -479, -479, -479, -479, -479, 0, -479, 0,
2074 0, 102, 102, 1461, 102, 102, 0, 0, -479, -479,
2075 -479, 0, -479, 0, 0, 0, 0, 0, 0, 0,
2076 257, 0, 0, 0, 0, 0, 0, 8, 9, 0,
2077 167, 12, 13, 0, 0, 0, 0, 14, 0, 0,
2078 0, 202, 202, 202, 202, 1175, 0, 1297, 0, 202,
2079 0, 16, 0, 17, 18, 0, 0, 102, 0, 20,
2080 0, 0, 0, 0, 102, 121, 0, 0, 698, 0,
2081 0, 168, 1175, 1175, 1175, 0, 235, 26, 0, 130,
2082 131, 0, 0, 0, 0, 1440, 0, 1308, 1309, 1310,
2083 10, 167, 12, 301, 302, 303, 0, 304, 14, 1311,
2084 1015, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320,
2085 1321, 15, 16, 305, 17, 18, 19, 0, 306, 307,
2086 20, 0, 308, 309, 310, 21, 311, 312, 1322, 23,
2087 1323, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2088 1324, 319, 736, 0, 1325, 320, 0, 1015, 0, 0,
2089 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2090 0, 0, 323, 324, 325, 0, 202, 202, 0, 202,
2091 326, 327, 328, 0, 102, 0, 0, 329, 0, 1326,
2092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2093 0, 0, 0, 1441, 330, 0, 0, 0, 0, 0,
2094 0, 0, 102, 102, 102, 202, 0, 202, 0, 0,
2095 0, 0, 0, 0, 102, 0, 1307, 0, 1308, 1309,
2096 1310, 10, 167, 12, 301, 302, 303, 0, 304, 14,
2097 1311, 0, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319,
2098 1320, 1321, 15, 16, 305, 17, 18, 19, 0, 306,
2099 307, 20, 0, 308, 309, 310, 21, 311, 312, 1322,
2100 23, 1323, 0, 0, 313, 314, 315, 316, 317, 26,
2101 0, 1324, 319, 736, 0, 1325, 320, 0, 0, 0,
2102 0, 0, 321, 0, 0, 322, 0, 102, 0, 102,
2103 0, 0, 0, 323, 324, 325, 18, 0, 0, 0,
2104 102, 326, 327, 328, 0, 0, 0, 0, 329, 1175,
2105 1326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 0, 0, 330, 0, 0, 588, 589,
2107 590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
2108 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2109 0, 0, 0, 0, 0, 8, 9, 0, 167, 12,
2110 13, 0, 0, 749, 0, 14, 0, 0, 0, 0,
2111 0, 0, 0, 0, 0, 0, 1175, 1175, 1175, 16,
2112 0, 17, 18, 0, 0, 1015, 0, 20, 0, 0,
2113 0, 0, 0, 0, 0, 0, 23, 202, 0, 0,
2114 0, 0, 0, 0, 0, 26, 0, 130, 131, 0,
2115 0, 0, 0, 0, 0, 0, 570, 0, 7, 8,
2116 9, 10, 167, 12, 301, 302, 303, 749, 304, 14,
2117 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
2118 0, 102, 0, 16, 305, 17, 18, 19, 0, 306,
2119 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2120 23, 0, 636, 0, 313, 314, 315, 316, 317, 26,
2121 0, 27, 28, -312, 0, 0, 320, 0, 0, 0,
2122 0, 0, 321, 0, 0, 1201, 0, 0, 0, 102,
2123 102, 0, 102, 323, 324, 1202, 0, 0, 0, 0,
2124 0, 326, 327, 328, 0, 639, 0, 0, 1203, 641,
2125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2126 0, 0, 0, 0, 0, 330, 870, 0, 300, 8,
2127 9, 10, 167, 12, 301, 302, 303, 0, 304, 14,
2128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2129 0, 0, 1015, 16, 305, 17, 18, 19, 0, 306,
2130 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2131 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2132 0, 27, 319, 1531, 0, -788, 320, 0, 0, 1015,
2133 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2134 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2135 0, 326, 327, 328, 0, 0, 0, 0, 329, 739,
2136 0, 858, 859, 860, 10, 0, 12, 552, 302, 303,
2137 0, 304, 14, 0, 0, 330, 0, 0, 0, 0,
2138 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2139 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2140 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2141 316, 317, 26, 0, 861, 862, 740, 0, 0, 320,
2142 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2143 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2144 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2145 0, 329, 863, 0, 0, 0, 0, 0, 0, 0,
2146 0, 0, 0, 0, 0, 0, 1015, 1022, 330, 570,
2147 0, 300, 8, 9, 10, 0, 12, 301, 302, 303,
2148 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2149 0, 0, 0, 0, 0, 0, 16, 305, 17, 18,
2150 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2151 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2152 316, 317, 26, 0, 27, 319, -312, 0, 0, 320,
2153 0, 0, 0, 0, 0, 321, 0, 0, 571, 0,
2154 0, 0, 0, 0, 0, 0, 323, 324, 572, 0,
2155 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2156 739, 573, 858, 859, 860, 10, 0, 12, 552, 302,
2157 303, 0, 304, 14, 0, 0, 0, 0, 330, 0,
2158 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2159 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2160 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2161 315, 316, 317, 26, 0, 861, 862, 740, 0, 0,
2162 320, 0, 0, 0, 0, 0, 321, 0, 0, 322,
2163 0, 0, 0, 0, 0, 0, 0, 323, 324, 325,
2164 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
2165 0, 0, 329, 863, 739, 0, 858, 859, 860, 10,
2166 0, 12, 552, 302, 303, 0, 304, 14, 0, 330,
2167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2168 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2169 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2170 0, 0, 313, 314, 315, 316, 317, 26, 0, 861,
2171 862, 740, 0, 0, 320, 0, 0, 0, 0, 0,
2172 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2173 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2174 327, 328, 0, 0, 0, 739, 329, 858, 859, 860,
2175 10, 0, 12, 552, 302, 303, 0, 304, 14, 0,
2176 0, 0, -483, 330, 0, 0, 0, 0, 0, 0,
2177 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2178 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2179 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2180 861, 862, 740, 0, 0, 320, 0, 0, 0, 0,
2181 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2182 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2183 326, 327, 328, 0, 0, 0, 739, 329, 300, 8,
2184 9, 10, 0, 12, 552, 302, 303, 0, 304, 14,
2185 0, 0, 0, 1346, 330, 0, 0, 0, 0, 0,
2186 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2187 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2188 23, 0, 0, 0, 313, 314, 315, 316, 317, 26,
2189 0, 27, 319, 740, 0, 0, 320, 0, 0, 0,
2190 0, 0, 321, 0, 0, 322, 0, 0, 0, 0,
2191 0, 0, 0, 323, 324, 325, 0, 0, 0, 0,
2192 0, 326, 327, 328, 0, 0, 0, 0, 329, 0,
2193 570, 0, 7, 8, 9, 10, 1350, 12, 301, 302,
2194 303, 0, 304, 14, 0, 330, 0, 0, 0, 0,
2195 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2196 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2197 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2198 315, 316, 317, 26, 0, 27, 28, -312, 0, 0,
2199 320, 0, 0, 0, 0, 0, 321, 0, 0, 1505,
2200 0, 0, 0, 0, 0, 0, 0, 323, 324, 1506,
2201 0, 0, 0, 0, 0, 326, 327, 328, 0, 0,
2202 0, 739, 1507, 300, 8, 9, 10, 0, 12, 552,
2203 302, 303, 0, 304, 14, 0, 0, 0, 0, 330,
2204 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2205 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2206 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2207 314, 315, 316, 317, 26, 0, 27, 319, 740, 0,
2208 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2209 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2210 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2211 0, 0, 1579, 329, 300, 8, 9, 10, 0, 12,
2212 301, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2213 330, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2214 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
2215 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
2216 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
2217 0, -196, 320, 0, 0, 0, 0, 0, 321, 0,
2218 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
2219 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
2220 0, 0, 0, 870, 329, 300, 8, 9, 10, 0,
2221 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2222 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2223 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2224 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2225 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2226 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2227 263, 0, 322, 8, 9, 0, 0, 12, 13, 0,
2228 323, 324, 325, 14, 0, 0, 0, 0, 326, 327,
2229 328, 0, 0, 0, 0, 329, 0, 16, 0, 17,
2230 0, 0, 0, 0, 0, 20, 0, 264, 265, 0,
2231 -788, 0, 330, 0, 23, 0, 266, 0, 0, 0,
2232 0, 0, 0, 26, 0, 130, 131, 0, 267, 0,
2233 0, 0, 268, 269, 270, 271, 272, 273, 274, 275,
2234 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
2235 286, 287, 288, 0, 0, 289, 290, 291, 0, 0,
2236 292, 0, 959, 293, 300, 8, 9, 10, 0, 12,
2237 552, 302, 303, 0, 304, 14, 0, 0, 0, 294,
2238 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2239 305, 17, 0, 19, 0, 306, 307, 20, 0, 308,
2240 309, 310, 21, 311, 312, 0, 23, 0, 0, 0,
2241 313, 314, 315, 316, 317, 26, 0, 27, 319, 0,
2242 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2243 0, 322, 0, 0, 0, 0, 0, 0, 0, 323,
2244 324, 325, 0, 0, 0, 0, 0, 326, 327, 328,
2245 0, 0, 0, 961, 329, 300, 8, 9, 10, 0,
2246 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2247 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2248 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2249 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2250 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2251 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2252 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2253 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2254 328, 0, 0, 0, 1515, 329, 300, 8, 9, 10,
2255 0, 12, 552, 302, 303, 0, 304, 14, 0, 0,
2256 0, 0, 330, 0, 0, 0, 0, 0, 0, 0,
2257 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2258 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2259 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2260 319, 0, 0, 0, 320, 0, 0, 0, 0, 0,
2261 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2262 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2263 327, 328, 300, 8, 9, 10, 329, 12, 552, 302,
2264 303, 0, 304, 14, 0, 0, 0, 0, 0, 0,
2265 0, 0, 0, 330, 0, 0, 0, 16, 305, 17,
2266 0, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2267 21, 311, 312, 0, 23, 0, 0, 0, 313, 314,
2268 315, 316, 317, 26, 0, 27, 319, 0, 0, 0,
2269 320, 0, 0, 0, 0, 0, 321, 0, 506, 322,
2270 7, 8, 507, 10, 167, 12, 13, 323, 324, 325,
2271 0, 14, 0, 0, 0, 326, 327, 328, 0, 0,
2272 0, 0, 329, 0, 0, 16, 0, 17, 18, 19,
2273 0, 0, 0, 20, -528, 0, 0, 0, 21, 330,
2274 909, 0, 23, 508, 0, 168, 0, 0, 0, 0,
2275 0, 26, 0, 27, 28, 0, 0, 509, 0, 510,
2276 0, 0, 0, 0, 0, 0, 0, 30, 506, 0,
2277 7, 8, 507, 10, 167, 12, 13, 31, 0, 0,
2278 0, 14, 0, 0, 0, 32, 0, 0, 0, 0,
2279 33, 0, 0, 0, 0, 16, 0, 17, 18, 19,
2280 0, 0, 0, 20, -527, 0, -528, 0, 21, 0,
2281 0, 0, 23, 508, 0, 168, 0, 0, 0, 0,
2282 0, 26, 0, 27, 28, 0, 0, 509, 0, 510,
2283 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
2284 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
2285 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
2286 33, 0, 0, 1308, 1309, 1310, 10, 167, 12, 301,
2287 302, 303, 0, 304, 14, 1311, -527, 1312, 1313, 1314,
2288 1315, 1316, 1317, 1318, 1319, 1320, 1321, 15, 16, 305,
2289 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2290 310, 21, 311, 312, 1322, 23, 1323, 0, 0, 313,
2291 314, 315, 316, 317, 26, 0, 1324, 319, 736, 0,
2292 1325, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2293 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2294 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2295 0, 0, 0, 329, 0, 1326, 0, 0, 0, 0,
2296 0, 0, 0, 0, 0, 0, 0, 0, 0, 1445,
2297 330, 1308, 1309, 1310, 10, 167, 12, 301, 302, 303,
2298 0, 304, 14, 1311, 0, 1312, 1313, 1314, 1315, 1316,
2299 1317, 1318, 1319, 1320, 1321, 15, 16, 305, 17, 18,
2300 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2301 311, 312, 1322, 23, 1323, 0, 0, 313, 314, 315,
2302 316, 317, 26, 0, 1324, 319, 736, 0, 1325, 320,
2303 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2304 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2305 0, 0, 0, 0, 326, 327, 328, 0, 0, 0,
2306 0, 329, 0, 1326, 0, 1308, 1309, 1310, 10, 167,
2307 12, 301, 302, 303, 0, 304, 14, 1311, 330, 1312,
2308 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 15,
2309 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
2310 308, 309, 310, 21, 311, 312, 1322, 23, 1323, 0,
2311 0, 313, 314, 315, 316, 317, 26, 0, 1324, 319,
2312 1556, 0, 1325, 320, 0, 0, 0, 0, 0, 321,
2313 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2314 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2315 328, 0, 0, 0, 0, 329, 0, 1326, 0, 1308,
2316 1309, 1310, 10, 167, 12, 301, 302, 303, 0, 304,
2317 14, 1311, 330, 1312, 1313, 1314, 1315, 1316, 1317, 1318,
2318 1319, 1320, 1321, 15, 16, 305, 17, 18, 19, 0,
2319 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2320 1322, 23, 1323, 0, 0, 313, 314, 315, 316, 317,
2321 26, 0, 1324, 319, 0, 0, 1325, 320, 0, 0,
2322 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2323 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2324 0, 0, 326, 327, 328, 0, 0, 0, 0, 329,
2325 0, 1326, 300, 8, 9, 10, 167, 12, 301, 302,
2326 303, 749, 304, 14, 0, 0, 330, 0, 0, 0,
2327 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2328 18, 19, 0, 306, 307, 20, 0, 308, 309, 310,
2329 21, 311, 312, 0, 23, 0, 636, 0, 313, 314,
2330 315, 316, 317, 26, 0, 27, 319, 0, 0, 0,
2331 320, 0, 0, 0, 0, 0, 321, 0, 0, 937,
2332 0, 0, 0, 0, 0, 0, 0, 323, 324, 938,
2333 0, 0, 0, 0, 0, 326, 327, 328, 0, 639,
2334 0, 0, 939, 641, 7, 8, 9, 10, 167, 12,
2335 301, 302, 303, 749, 304, 14, 0, 0, 0, 330,
2336 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2337 305, 17, 18, 19, 0, 306, 307, 20, 0, 308,
2338 309, 310, 21, 311, 312, 0, 23, 0, 636, 0,
2339 313, 314, 315, 316, 317, 26, 0, 27, 28, 0,
2340 0, 0, 320, 0, 0, 0, 0, 0, 321, 0,
2341 0, 1201, 0, 0, 0, 0, 0, 0, 0, 323,
2342 324, 1202, 0, 0, 0, 0, 0, 326, 327, 328,
2343 0, 639, 0, 0, 1203, 641, 300, 8, 9, 10,
2344 0, 12, 301, 302, 303, 0, 304, 14, 0, 0,
2345 0, 330, 0, 0, 0, 0, 0, 0, 0, 0,
2346 0, 16, 305, 17, 18, 19, 0, 306, 307, 20,
2347 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2348 636, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2349 319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2350 321, 0, 0, 937, 0, 0, 0, 0, 0, 0,
2351 0, 323, 324, 938, 0, 0, 0, 0, 0, 326,
2352 327, 328, 0, 639, 0, 0, 939, 641, 7, 8,
2353 9, 10, 0, 12, 301, 302, 303, 0, 304, 14,
2354 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2355 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2356 307, 20, 0, 308, 309, 310, 21, 311, 312, 0,
2357 23, 0, 636, 0, 313, 314, 315, 316, 317, 26,
2358 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
2359 0, 0, 321, 0, 0, 1201, 0, 0, 0, 0,
2360 0, 0, 0, 323, 324, 1202, 0, 0, 0, 0,
2361 0, 326, 327, 328, 0, 639, 0, 0, 1203, 641,
2362 300, 8, 9, 10, 0, 12, 552, 302, 303, 0,
2363 304, 14, 0, 0, 0, 330, 0, 0, 0, 0,
2364 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2365 0, 306, 307, 20, 0, 308, 309, 310, 21, 311,
2366 312, 0, 23, 0, 0, 0, 313, 314, 315, 316,
2367 317, 26, 0, 27, 319, 0, 0, 0, 320, 0,
2368 0, 0, 0, 0, 321, 0, 0, 571, 0, 0,
2369 0, 0, 0, 0, 0, 323, 324, 572, 0, 0,
2370 0, 0, 0, 326, 327, 328, 300, 8, 9, 10,
2371 573, 12, 552, 302, 303, 0, 304, 14, 0, 0,
2372 0, 0, 0, 0, 0, 0, 0, 330, 0, 0,
2373 0, 16, 305, 17, 0, 19, 0, 306, 307, 20,
2374 0, 308, 309, 310, 21, 311, 312, 0, 23, 0,
2375 0, 0, 313, 314, 315, 316, 317, 26, 0, 27,
2376 319, 0, 0, 1418, 320, 0, 0, 0, 0, 0,
2377 321, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2378 0, 323, 324, 325, 0, 0, 0, 0, 0, 326,
2379 327, 328, 0, 0, 0, 0, 329, 300, 8, 9,
2380 10, 167, 12, 301, 302, 303, 0, 304, 14, 0,
2381 0, 0, 0, 330, 0, 0, 0, 0, 0, 0,
2382 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
2383 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2384 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2385 27, 319, 0, 0, 0, 0, 0, 0, 0, 0,
2386 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2387 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2388 326, 327, 328, 7, 8, 9, 10, 329, 12, 552,
2389 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2390 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2391 17, 18, 19, 0, 306, 307, 20, 0, 308, 309,
2392 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2393 314, 315, 316, 317, 26, 0, 27, 28, 0, 0,
2394 0, 320, 0, 0, 0, 0, 0, 321, 0, 0,
2395 1505, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2396 1506, 0, 0, 0, 0, 0, 326, 327, 328, 300,
2397 8, 9, 10, 1507, 12, 301, 302, 303, 0, 304,
2398 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2399 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2400 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2401 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2402 26, 0, 318, 319, 0, 0, 0, 320, 0, 0,
2403 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2404 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2405 0, 0, 326, 327, 328, 300, 8, 9, 10, 329,
2406 12, 301, 302, 303, 0, 304, 14, 0, 0, 0,
2407 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
2408 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2409 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2410 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2411 0, 0, 0, 320, 0, 0, 0, 0, 0, 321,
2412 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2413 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2414 328, 300, 8, 9, 10, 329, 12, 552, 302, 303,
2415 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2416 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
2417 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2418 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2419 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
2420 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2421 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2422 0, 0, 0, 0, 326, 327, 328, 300, 8, 9,
2423 10, 329, 12, 552, 302, 303, 0, 304, 14, 0,
2424 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
2425 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2426 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2427 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2428 27, 319, 585, 0, 0, 0, 0, 0, 0, 0,
2429 0, 321, 0, 0, 322, 0, 0, 0, 0, 0,
2430 0, 0, 323, 324, 325, 0, 0, 0, 0, 0,
2431 326, 327, 328, 300, 8, 9, 10, 586, 12, 552,
2432 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2433 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2434 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2435 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2436 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
2437 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
2438 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2439 325, 0, 0, 0, 0, 0, 326, 327, 328, 0,
2440 0, 0, 0, 329, 624, 300, 8, 9, 10, 0,
2441 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2442 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2443 16, 305, 17, 18, 19, 0, 306, 307, 20, 0,
2444 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2445 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2446 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
2447 0, 0, 571, 0, 0, 0, 0, 0, 0, 0,
2448 323, 324, 572, 0, 0, 0, 0, 0, 326, 327,
2449 328, 1161, 8, 9, 10, 573, 12, 552, 302, 303,
2450 0, 304, 14, 0, 0, 0, 0, 0, 0, 0,
2451 0, 0, 330, 0, 0, 0, 16, 305, 17, 0,
2452 19, 0, 306, 307, 20, 0, 308, 309, 310, 21,
2453 311, 312, 0, 23, 0, 0, 0, 313, 314, 315,
2454 316, 317, 26, 0, 27, 319, 0, 0, 0, 320,
2455 0, 0, 0, 0, 0, 321, 0, 0, 322, 0,
2456 0, 0, 0, 0, 0, 0, 323, 324, 325, 0,
2457 0, 0, 0, 0, 326, 327, 328, 7, 8, 9,
2458 10, 329, 12, 301, 302, 303, 0, 304, 14, 0,
2459 0, 0, 0, 0, 0, 0, 0, 0, 330, 0,
2460 0, 0, 16, 305, 17, 18, 19, 0, 306, 307,
2461 20, 0, 308, 309, 310, 21, 311, 312, 0, 23,
2462 0, 0, 0, 313, 314, 315, 316, 317, 26, 0,
2463 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2464 0, 321, 0, 0, 1505, 0, 0, 0, 0, 0,
2465 0, 0, 323, 324, 1506, 0, 0, 0, 0, 0,
2466 326, 327, 328, 300, 8, 9, 10, 1507, 12, 552,
2467 302, 303, 0, 304, 14, 0, 0, 0, 0, 0,
2468 0, 0, 0, 0, 330, 0, 0, 0, 16, 305,
2469 17, 0, 19, 0, 306, 307, 20, 0, 308, 309,
2470 310, 21, 311, 312, 0, 23, 0, 0, 0, 313,
2471 314, 315, 316, 317, 26, 0, 27, 319, 0, 0,
2472 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
2473 322, 0, 0, 0, 0, 0, 0, 0, 323, 324,
2474 325, 0, 0, 0, 0, 0, 326, 327, 328, 300,
2475 8, 9, 10, 553, 12, 552, 302, 303, 0, 304,
2476 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2477 330, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2478 306, 307, 20, 0, 308, 309, 310, 21, 311, 312,
2479 0, 23, 0, 0, 0, 313, 314, 315, 316, 317,
2480 26, 0, 27, 319, 0, 0, 0, 0, 0, 0,
2481 0, 0, 0, 321, 0, 0, 322, 0, 0, 0,
2482 0, 0, 0, 0, 323, 324, 325, 0, 0, 0,
2483 0, 0, 326, 327, 328, 300, 8, 9, 10, 556,
2484 12, 552, 302, 303, 0, 304, 14, 0, 0, 0,
2485 0, 0, 0, 0, 0, 0, 330, 0, 0, 0,
2486 16, 305, 17, 0, 19, 0, 306, 307, 20, 0,
2487 308, 309, 310, 21, 311, 312, 0, 23, 0, 0,
2488 0, 313, 314, 315, 316, 317, 26, 0, 27, 319,
2489 0, 0, 0, 0, 0, 0, 0, 0, 0, 321,
2490 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2491 323, 324, 325, 0, 0, 0, 0, 0, 326, 327,
2492 328, 0, 0, 8, 9, 329, 167, 12, 13, 0,
2493 0, 1550, 0, 14, 0, 0, 0, 0, 0, 0,
2494 0, 0, 330, 0, 0, 0, 0, 16, 0, 17,
2495 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2496 0, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2497 0, 0, 0, 26, 0, 130, 131, 588, 589, 590,
2498 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
2499 601, 602, 603, 604, 605, 606, 607, 608, 609, 588,
2500 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
2501 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2502 609, 0, 0, 0, 0, 1261, 0, 0, 0, 0,
2503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2504 677, 0, 0, 1546, 588, 589, 590, 591, 592, 593,
2505 594, 595, 596, 597, 598, 599, 600, 601, 602, 603,
2506 604, 605, 606, 607, 608, 609, 1564, 588, 589, 590,
2507 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
2508 601, 602, 603, 604, 605, 606, 607, 608, 609, 588,
2509 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
2510 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
2511 609, 588, 589, 590, 591, 592, 593, 594, 595, 596,
2512 597, 598, 599, 0, 601, 602, 603, 604, 605, 606,
2516 static const short yycheck
[] = { 4,
2517 174, 161, 209, 23, 176, 4, 149, 150, 402, 175,
2518 355, 402, 126, 80, 734, 156, 62, 4, 251, 349,
2519 482, 80, 355, 4, 402, 455, 14, 4, 134, 898,
2520 35, 511, 84, 513, 46, 583, 35, 42, 55, 709,
2521 247, 521, 209, 30, 31, 90, 733, 92, 35, 304,
2522 305, 218, 57, 4, 35, 42, 133, 134, 35, 640,
2523 460, 42, 620, 663, 76, 42, 647, 72, 373, 124,
2524 42, 217, 218, 42, 55, 440, 57, 144, 4, 84,
2525 133, 4, 337, 88, 35, 90, 11, 92, 1400, 296,
2526 1327, 42, 137, 780, 140, 83, 1486, 84, 1337, 42,
2527 42, 1487, 107, 108, 12, 1344, 47, 54, 58, 35,
2528 156, 57, 35, 11, 11, 47, 42, 717, 106, 42,
2529 356, 357, 355, 64, 62, 1488, 54, 38, 33, 59,
2530 54, 136, 137, 84, 139, 0, 203, 62, 1528, 75,
2531 1510, 77, 349, 54, 37, 75, 74, 577, 98, 136,
2532 74, 59, 93, 94, 62, 136, 64, 1527, 175, 140,
2533 165, 93, 149, 150, 169, 1, 212, 33, 0, 503,
2534 108, 176, 408, 409, 220, 782, 1, 1, 165, 641,
2535 306, 307, 169, 108, 165, 136, 245, 794, 169, 716,
2536 136, 237, 169, 165, 175, 176, 322, 169, 1561, 325,
2537 169, 213, 328, 262, 109, 331, 193, 194, 155, 335,
2538 108, 108, 1582, 136, 165, 822, 109, 343, 169, 47,
2539 1606, 828, 58, 1531, 27, 555, 169, 169, 31, 59,
2540 176, 1621, 490, 58, 58, 62, 74, 62, 62, 12,
2541 245, 222, 165, 169, 25, 27, 169, 74, 9, 31,
2542 1487, 402, 1491, 200, 1566, 47, 59, 60, 245, 42,
2543 248, 64, 60, 74, 245, 93, 94, 1575, 526, 346,
2544 95, 95, 3, 4, 5, 6, 59, 58, 60, 109,
2545 108, 62, 64, 149, 150, 151, 59, 393, 448, 62,
2546 342, 58, 297, 346, 245, 1061, 1062, 64, 1537, 245,
2547 61, 93, 94, 33, 7, 735, 976, 3, 4, 5,
2548 41, 109, 1078, 358, 95, 660, 108, 468, 4, 245,
2549 487, 699, 245, 54, 329, 56, 57, 109, 935, 195,
2550 385, 474, 475, 60, 37, 108, 59, 342, 48, 897,
2551 486, 487, 4, 5, 1583, 350, 8, 9, 494, 35,
2552 59, 93, 14, 358, 359, 342, 93, 88, 939, 59,
2553 56, 57, 756, 728, 729, 756, 28, 355, 30, 59,
2554 47, 93, 359, 54, 36, 75, 4, 77, 359, 525,
2555 60, 60, 109, 45, 689, 108, 169, 404, 4, 5,
2556 59, 342, 54, 74, 56, 57, 629, 402, 544, 108,
2557 405, 1270, 983, 74, 450, 8, 9, 35, 359, 74,
2558 47, 14, 47, 359, 60, 402, 93, 94, 108, 149,
2559 150, 151, 752, 404, 951, 402, 209, 954, 664, 109,
2560 109, 93, 980, 36, 217, 218, 359, 442, 54, 108,
2561 56, 57, 45, 93, 47, 571, 572, 493, 1048, 1030,
2562 107, 402, 511, 498, 513, 442, 93, 94, 93, 33,
2563 519, 442, 521, 468, 247, 195, 1232, 25, 995, 996,
2564 442, 108, 47, 442, 936, 1241, 1242, 47, 1244, 47,
2565 1087, 468, 1089, 47, 496, 47, 31, 474, 475, 640,
2566 93, 442, 58, 498, 107, 108, 647, 47, 1185, 480,
2567 900, 518, 514, 515, 47, 550, 511, 488, 513, 25,
2568 4, 27, 524, 296, 519, 47, 521, 468, 93, 442,
2569 1389, 64, 60, 93, 511, 93, 513, 54, 47, 93,
2570 511, 93, 513, 4, 521, 1222, 54, 518, 519, 44,
2571 521, 35, 58, 93, 108, 550, 62, 74, 553, 54,
2572 93, 556, 57, 727, 74, 560, 561, 562, 563, 564,
2573 511, 93, 513, 54, 35, 511, 349, 513, 573, 621,
2574 521, 42, 518, 519, 93, 521, 150, 151, 583, 95,
2575 109, 586, 12, 977, 690, 511, 977, 513, 511, 1019,
2576 513, 697, 47, 1174, 54, 521, 58, 1077, 521, 977,
2577 945, 93, 838, 54, 25, 756, 27, 54, 474, 475,
2578 476, 25, 945, 27, 74, 47, 621, 54, 62, 75,
2579 697, 195, 1203, 406, 108, 1152, 1153, 47, 774, 59,
2580 74, 782, 62, 62, 621, 640, 47, 58, 93, 94,
2581 847, 62, 647, 794, 58, 108, 62, 692, 62, 666,
2582 637, 638, 94, 640, 54, 3, 4, 5, 74, 442,
2583 647, 93, 62, 651, 1126, 136, 3, 4, 5, 108,
2584 621, 822, 1359, 93, 95, 31, 108, 828, 698, 108,
2585 58, 95, 93, 94, 62, 666, 941, 692, 705, 640,
2586 707, 708, 1458, 1459, 165, 47, 647, 47, 169, 108,
2587 25, 706, 27, 486, 487, 710, 1106, 1107, 56, 57,
2588 11, 494, 945, 733, 64, 1049, 329, 1051, 47, 56,
2589 57, 1055, 8, 9, 705, 706, 707, 708, 14, 7,
2590 8, 9, 80, 58, 970, 752, 14, 62, 109, 806,
2591 98, 93, 525, 93, 474, 475, 476, 806, 47, 60,
2592 36, 756, 47, 31, 62, 329, 815, 47, 36, 45,
2593 47, 544, 1122, 1123, 93, 1125, 74, 45, 785, 756,
2594 95, 752, 4, 5, 245, 756, 93, 782, 823, 824,
2595 3, 826, 60, 909, 935, 141, 798, 60, 939, 794,
2596 146, 1121, 804, 805, 93, 782, 808, 809, 93, 1199,
2597 812, 111, 943, 93, 785, 756, 93, 794, 1208, 1209,
2598 815, 937, 938, 1213, 4, 5, 48, 822, 823, 824,
2599 54, 826, 74, 828, 56, 57, 977, 62, 815, 1003,
2600 47, 782, 983, 94, 815, 822, 480, 54, 194, 785,
2601 74, 828, 62, 794, 488, 1081, 1082, 1083, 80, 1569,
2602 27, 94, 465, 47, 31, 429, 430, 74, 48, 74,
2603 54, 1261, 59, 60, 815, 111, 56, 57, 93, 815,
2604 74, 822, 93, 3, 4, 5, 93, 828, 3, 1030,
2605 74, 6, 59, 60, 667, 1219, 1220, 1221, 359, 815,
2606 80, 896, 815, 47, 59, 60, 901, 943, 74, 93,
2607 54, 475, 476, 259, 1018, 74, 31, 59, 3, 4,
2608 5, 6, 3, 4, 5, 182, 41, 835, 836, 837,
2609 74, 988, 59, 60, 929, 708, 56, 57, 58, 11,
2610 935, 56, 57, 108, 939, 109, 1087, 59, 1089, 93,
2611 553, 59, 60, 556, 108, 70, 41, 560, 935, 108,
2612 937, 938, 939, 48, 74, 80, 1356, 945, 59, 60,
2613 573, 56, 57, 88, 108, 56, 57, 54, 93, 752,
2614 74, 442, 977, 586, 979, 980, 74, 590, 983, 553,
2615 108, 1411, 556, 109, 935, 80, 1386, 111, 939, 108,
2616 977, 774, 109, 88, 981, 982, 983, 1427, 572, 573,
2617 977, 111, 1128, 4, 5, 618, 1336, 27, 3, 4,
2618 5, 624, 586, 1072, 74, 4, 5, 74, 1077, 54,
2619 9, 59, 60, 1174, 54, 1030, 977, 62, 74, 1172,
2620 1173, 111, 983, 3, 4, 5, 6, 111, 1043, 74,
2621 511, 108, 513, 1030, 108, 1281, 108, 48, 58, 54,
2622 521, 54, 1203, 48, 108, 56, 57, 62, 1201, 1202,
2623 8, 56, 57, 419, 847, 54, 422, 56, 57, 74,
2624 111, 41, 1077, 647, 93, 1201, 1202, 64, 434, 1030,
2625 1510, 70, 1087, 59, 1089, 1130, 56, 57, 1069, 47,
2626 1077, 80, 59, 1074, 59, 60, 1077, 1527, 74, 75,
2627 1087, 77, 1089, 4, 5, 94, 4, 5, 93, 1176,
2628 83, 84, 1117, 54, 470, 54, 472, 983, 88, 59,
2629 60, 62, 1552, 4, 5, 1130, 1077, 1521, 109, 485,
2630 1521, 1077, 60, 74, 59, 60, 1087, 36, 1089, 3,
2631 4, 5, 64, 7, 8, 9, 64, 48, 59, 60,
2632 48, 1077, 1582, 108, 1077, 56, 57, 64, 56, 57,
2633 1590, 108, 62, 1335, 1030, 1185, 60, 31, 1334, 1174,
2634 1336, 108, 36, 54, 108, 56, 57, 4, 5, 80,
2635 54, 9, 80, 75, 12, 1172, 1173, 1174, 62, 70,
2636 54, 1196, 56, 57, 58, 1525, 108, 1196, 1203, 80,
2637 74, 1327, 108, 64, 3, 4, 5, 6, 64, 1196,
2638 9, 1611, 1217, 94, 1201, 1202, 1203, 54, 54, 47,
2639 64, 111, 62, 1174, 59, 62, 62, 1239, 1240, 56,
2640 57, 59, 31, 61, 62, 59, 64, 74, 74, 103,
2641 104, 105, 41, 108, 75, 1196, 59, 75, 47, 77,
2642 108, 64, 1203, 983, 108, 54, 108, 56, 57, 108,
2643 75, 74, 75, 75, 75, 93, 94, 841, 4, 5,
2644 1196, 70, 62, 1196, 108, 108, 30, 31, 62, 33,
2645 108, 80, 78, 79, 80, 81, 82, 83, 84, 88,
2646 59, 90, 905, 111, 93, 94, 62, 94, 108, 108,
2647 1030, 108, 88, 57, 74, 59, 1172, 1173, 1174, 111,
2648 47, 65, 60, 3, 4, 5, 6, 1334, 1525, 1336,
2649 56, 57, 1327, 108, 111, 108, 939, 108, 108, 111,
2650 1335, 108, 1337, 109, 108, 1201, 1202, 1203, 1337, 1344,
2651 1327, 109, 1502, 59, 815, 1344, 64, 64, 1353, 93,
2652 1337, 41, 59, 1334, 1335, 1336, 108, 1344, 48, 3,
2653 4, 5, 1505, 1506, 938, 939, 56, 57, 64, 108,
2654 1521, 4, 5, 108, 108, 1549, 1327, 4, 5, 1505,
2655 1506, 93, 93, 93, 12, 93, 1337, 141, 109, 109,
2656 80, 8, 146, 1344, 108, 149, 150, 151, 88, 27,
2657 109, 1327, 108, 31, 1327, 108, 111, 763, 764, 983,
2658 766, 1337, 56, 57, 1337, 48, 108, 44, 1344, 47,
2659 108, 1344, 176, 56, 57, 1437, 108, 54, 182, 56,
2660 57, 59, 60, 108, 62, 111, 64, 108, 108, 193,
2661 194, 195, 1172, 1173, 1174, 33, 108, 80, 54, 108,
2662 7, 8, 9, 108, 62, 209, 1030, 14, 111, 108,
2663 3, 4, 5, 217, 218, 93, 94, 47, 62, 108,
2664 108, 1201, 1202, 1203, 31, 96, 1481, 62, 60, 36,
2665 108, 1486, 1487, 1488, 60, 9, 1491, 1486, 45, 60,
2666 16, 64, 1491, 108, 1481, 3, 4, 5, 108, 1486,
2667 1487, 1488, 1507, 60, 1491, 259, 108, 108, 108, 1526,
2668 777, 54, 108, 56, 57, 58, 1521, 108, 1505, 1506,
2669 787, 788, 108, 1528, 93, 93, 60, 4, 5, 1528,
2670 1481, 60, 1537, 54, 1521, 1486, 1487, 1488, 1537, 47,
2671 1491, 1528, 1554, 93, 111, 1526, 54, 814, 56, 57,
2672 1537, 93, 819, 1336, 17, 60, 1561, 54, 107, 97,
2673 1486, 1487, 108, 1486, 1487, 1491, 60, 108, 1491, 108,
2674 1521, 48, 1438, 108, 1561, 329, 11, 1528, 1583, 56,
2675 57, 60, 60, 93, 1583, 93, 1537, 11, 60, 59,
2676 1203, 80, 81, 82, 83, 84, 1583, 64, 60, 1173,
2677 1174, 108, 1528, 80, 1217, 1528, 1077, 108, 108, 47,
2678 1561, 1537, 60, 11, 1537, 88, 1621, 90, 60, 92,
2679 0, 0, 1621, 0, 2, 170, 982, 35, 1202, 1203,
2680 1425, 690, 1583, 977, 1621, 4, 5, 169, 442, 1505,
2681 1506, 1507, 165, 519, 1257, 1258, 1259, 1260, 86, 87,
2682 1185, 405, 406, 91, 92, 93, 94, 1583, 1548, 238,
2683 1583, 94, 4, 5, 137, 419, 139, 9, 422, 1410,
2684 1621, 139, 1621, 1271, 428, 429, 430, 299, 963, 740,
2685 434, 3, 4, 5, 6, 54, 958, 56, 57, 243,
2686 519, 4, 5, 1359, 1222, 1621, 9, 1074, 1621, 815,
2687 956, 70, 673, 4, 5, 47, 621, 1320, 1438, 200,
2688 346, 80, 54, 124, 56, 57, 470, 1337, 472, 41,
2689 474, 475, 476, 1197, 1569, 479, 48, 1590, 70, 1542,
2690 80, 485, 486, 487, 56, 57, 490, -1, 80, 1600,
2691 494, 54, 1525, 56, 57, 1602, 47, 1038, 90, 1353,
2692 -1, 93, 94, 54, 104, 56, 57, 70, 80, 3,
2693 4, 5, 6, -1, -1, 519, 88, 80, -1, 70,
2694 -1, -1, 526, -1, 1387, 1505, 1506, 1507, 772, 80,
2695 -1, -1, -1, 133, -1, -1, -1, -1, -1, 90,
2696 -1, -1, 93, 94, 144, -1, -1, 41, -1, 553,
2697 1067, 1068, 556, 1070, 1071, -1, 1073, 1420, 3, 4,
2698 5, -1, 56, 57, 1170, 1171, -1, 571, 572, 573,
2699 -1, 461, 1178, -1, -1, -1, -1, 821, 468, -1,
2700 -1, -1, 586, 827, -1, -1, 1, -1, 3, 4,
2701 5, 6, 7, 8, 9, -1, -1, 320, -1, 14,
2702 3, 4, 5, 203, 3, 4, 5, -1, 7, 8,
2703 9, 56, 57, 28, 1438, 30, 31, 32, 1481, -1,
2704 -1, 36, -1, -1, 1487, 1488, 41, 30, -1, -1,
2705 45, 46, 31, 48, -1, 358, -1, 36, 238, 54,
2706 -1, 56, 57, 647, 1507, 60, -1, 62, -1, -1,
2707 -1, 54, 461, 56, 57, 70, -1, 56, 57, 468,
2708 -1, 551, 262, 667, -1, 80, 14, -1, -1, -1,
2709 -1, -1, -1, 88, 22, -1, -1, -1, 93, 3,
2710 4, 5, 1506, 1507, -1, -1, 930, -1, 932, 1295,
2711 1296, -1, 1298, -1, 348, 349, 350, -1, 1561, -1,
2712 -1, -1, 706, -1, 708, 709, -1, -1, -1, -1,
2713 -1, -1, 1229, 1230, 1577, -1, -1, 65, 3, 4,
2714 5, 611, 7, 8, 9, -1, -1, 617, 3, 4,
2715 5, 6, 56, 57, 9, -1, 1599, 460, 461, 3,
2716 4, 5, 551, 1606, -1, 468, -1, -1, 752, -1,
2717 3, 4, 5, 6, 354, -1, 31, -1, -1, 763,
2718 764, -1, 766, -1, 654, -1, 41, -1, -1, -1,
2719 774, 56, 57, 777, -1, 498, 124, -1, -1, 54,
2720 -1, 56, 57, 787, 788, 38, 39, 510, 41, -1,
2721 107, 108, 56, 57, -1, 70, 3, 4, 5, -1,
2722 148, 54, 611, 56, 57, 80, -1, -1, 617, -1,
2723 814, -1, 412, 88, 1058, 819, -1, -1, 93, 1063,
2724 -1, -1, -1, -1, -1, -1, -1, 550, 551, -1,
2725 -1, -1, -1, -1, -1, -1, -1, 841, 647, -1,
2726 -1, -1, 1086, -1, 1088, 654, -1, 54, -1, 56,
2727 57, -1, -1, 1370, 1371, 1372, -1, -1, -1, -1,
2728 583, -1, 585, -1, -1, 588, 589, -1, 591, 592,
2729 593, 594, 595, 596, 597, 598, 599, 600, 601, 602,
2730 603, 604, 605, 606, 607, 608, 609, -1, 611, -1,
2731 238, 239, -1, -1, 617, -1, -1, -1, -1, 1143,
2732 -1, -1, 502, 251, 3, 4, 5, 6, 7, 8,
2733 9, 3, 4, 5, 6, 14, -1, -1, -1, -1,
2734 -1, 3, 4, 5, 647, -1, -1, -1, -1, -1,
2735 -1, 654, 31, 937, 938, 939, -1, 36, 1455, 1456,
2736 -1, -1, 41, -1, -1, -1, 45, 547, 47, 41,
2737 3, 4, 5, 676, 677, 54, 48, 56, 57, -1,
2738 -1, 7, 8, 9, 56, 57, 48, -1, 14, 692,
2739 -1, 70, 976, 321, 56, 57, -1, 981, 982, 983,
2740 -1, 80, -1, 637, 638, 31, -1, -1, 80, 88,
2741 36, 90, -1, -1, 93, 94, 88, -1, -1, 45,
2742 -1, 54, -1, 56, 57, 895, 896, 7, 8, 9,
2743 -1, 901, 329, -1, 14, 363, -1, 740, -1, -1,
2744 -1, -1, -1, -1, 372, 915, 1030, 917, -1, 919,
2745 -1, 31, 841, -1, 634, -1, 36, 385, 4, 5,
2746 -1, 1285, 8, 9, -1, 45, -1, -1, 14, -1,
2747 650, 705, -1, 707, 708, -1, 710, 1574, 3, 4,
2748 5, 6, -1, 1067, 1068, -1, 1070, 1071, -1, 1073,
2749 36, -1, -1, -1, 797, 965, -1, -1, -1, 45,
2750 -1, 47, -1, -1, -1, 402, 895, 896, 54, -1,
2751 56, 57, 901, -1, -1, -1, 41, -1, 752, -1,
2752 823, 824, 47, 826, 70, -1, 915, -1, 917, 54,
2753 919, 56, 57, -1, 80, -1, -1, -1, 841, 1363,
2754 1364, 1011, -1, -1, 90, 70, -1, 93, 94, -1,
2755 -1, -1, -1, 1377, 1378, 80, -1, 3, 4, 5,
2756 863, 7, -1, 88, -1, 90, -1, -1, 93, 94,
2757 1394, 468, -1, -1, 502, -1, 965, -1, -1, -1,
2758 -1, -1, -1, -1, 30, -1, 1170, 1171, 1172, 1173,
2759 1174, 37, 895, 896, 1178, -1, -1, 900, 901, 76,
2760 77, 78, 79, 80, 81, 82, 83, 84, 54, -1,
2761 56, 57, 915, 847, 917, -1, 919, 1201, 1202, 1203,
2762 -1, -1, 1011, -1, -1, -1, 806, 71, 72, 73,
2763 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2764 84, 1030, 1466, 1467, -1, 1229, 1230, -1, -1, -1,
2765 -1, -1, 955, -1, -1, -1, 553, 585, -1, 556,
2766 -1, -1, 965, 560, 561, 562, 563, 564, -1, 3,
2767 4, 5, 6, -1, -1, 9, 573, 980, -1, -1,
2768 3, 4, 5, 6, -1, -1, 920, -1, 922, 586,
2769 993, -1, -1, -1, -1, -1, -1, 31, -1, 933,
2770 -1, 629, -1, 937, 938, -1, -1, 41, 1011, -1,
2771 -1, 1295, 1296, 47, 1298, -1, -1, 1187, 41, 1189,
2772 54, 1191, 56, 57, -1, 48, -1, 1030, -1, 3,
2773 4, 5, 6, 56, 57, 9, 70, 1, -1, 3,
2774 4, 5, 6, 640, 8, -1, 80, 981, 982, -1,
2775 647, 1335, 1336, -1, 88, -1, 90, 31, -1, 93,
2776 94, -1, 1065, 1066, 944, 88, 946, 41, -1, -1,
2777 698, -1, -1, 47, -1, -1, -1, 41, -1, -1,
2778 54, 709, 56, 57, 48, -1, 1370, 1371, 1372, -1,
2779 54, -1, 56, 57, -1, -1, 70, -1, 1187, -1,
2780 1189, -1, 1191, 1106, 1107, -1, 80, 1110, 988, -1,
2781 -1, -1, 740, -1, 88, 4, 90, -1, -1, 93,
2782 94, -1, 1292, -1, 88, 14, -1, 1130, -1, -1,
2783 -1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
2784 -1, 30, 31, -1, 33, -1, 35, -1, -1, -1,
2785 -1, -1, -1, 42, 1438, -1, -1, -1, -1, 756,
2786 -1, -1, -1, -1, -1, -1, 55, -1, 57, -1,
2787 -1, 1455, 1456, -1, -1, -1, 65, -1, -1, -1,
2788 -1, -1, -1, 72, 1187, 782, 1189, -1, 1191, -1,
2789 -1, -1, 1072, -1, 83, 84, 1199, 794, -1, -1,
2790 -1, -1, -1, 1292, -1, 1208, 1209, -1, -1, -1,
2791 1213, -1, -1, -1, -1, -1, -1, 106, -1, -1,
2792 -1, 1505, 1506, 1507, -1, 822, -1, -1, -1, -1,
2793 -1, 828, 1235, -1, -1, -1, 1170, 1171, 1172, 1173,
2794 3, 4, 5, 6, 1178, 134, -1, 136, -1, -1,
2795 -1, 140, 141, -1, -1, -1, 145, 146, 1261, -1,
2796 149, 150, 151, -1, -1, -1, -1, 1201, 1202, 1149,
2797 3, 4, 5, 6, -1, -1, 165, -1, 41, -1,
2798 169, -1, -1, -1, -1, 48, 175, 176, -1, 1292,
2799 1574, -1, -1, 56, 57, -1, 1176, -1, 31, 896,
2800 -1, -1, -1, -1, 193, 194, 195, -1, 41, -1,
2801 -1, -1, -1, 1316, -1, -1, -1, 80, -1, -1,
2802 -1, 54, -1, 56, 57, 88, 4, 5, -1, -1,
2803 8, 9, 929, 222, -1, 963, 14, 70, 935, -1,
2804 -1, -1, 939, -1, -1, -1, -1, 80, 976, 1438,
2805 239, -1, -1, 1356, -1, 88, 245, -1, 36, 248,
2806 93, 1295, 1296, -1, 1298, 1368, 1369, 45, -1, 47,
2807 259, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2808 977, -1, 979, 1386, -1, -1, 983, -1, 82, -1,
2809 -1, -1, 70, -1, -1, -1, -1, -1, 4, 5,
2810 -1, -1, 80, 9, -1, -1, -1, -1, 297, 298,
2811 -1, -1, 90, -1, -1, 93, 94, -1, 193, 194,
2812 195, -1, -1, -1, 3, 4, 5, 6, -1, -1,
2813 9, -1, -1, 1030, -1, 1438, -1, -1, -1, -1,
2814 -1, 47, -1, -1, -1, -1, 1043, -1, 54, -1,
2815 56, 57, 31, 342, -1, -1, -1, 346, 1461, 348,
2816 349, 350, 41, -1, 70, 159, -1, -1, -1, -1,
2817 359, -1, -1, -1, 80, 54, -1, 56, 57, 1107,
2818 -1, -1, -1, -1, 90, -1, 1489, 93, 94, -1,
2819 1087, 70, 1089, -1, -1, -1, -1, 191, -1, -1,
2820 -1, 80, -1, -1, 393, 3, 4, 5, 6, 88,
2821 204, -1, -1, 402, 93, 404, 405, -1, -1, -1,
2822 1117, -1, -1, -1, -1, -1, 4, 5, -1, -1,
2823 419, 9, -1, 422, -1, -1, -1, -1, -1, -1,
2824 -1, -1, -1, 41, -1, 434, -1, -1, -1, -1,
2825 -1, -1, -1, 442, -1, -1, 54, -1, 56, 57,
2826 3, 4, 5, 6, 62, 1193, 9, -1, -1, 47,
2827 -1, 1199, 70, -1, -1, -1, 54, 1174, 56, 57,
2828 -1, 470, 80, 472, -1, 474, 475, 476, 31, -1,
2829 88, 480, 70, -1, -1, 93, 485, -1, 41, 488,
2830 -1, -1, 80, -1, 47, -1, 1203, -1, 1611, -1,
2831 -1, 54, 90, 56, 57, 93, 94, -1, -1, 508,
2832 1217, -1, 511, -1, 513, -1, -1, 70, -1, 518,
2833 519, -1, 521, -1, -1, -1, 1, 80, 3, 4,
2834 5, 6, 7, 8, 9, 88, -1, 90, -1, 14,
2835 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
2836 -1, -1, -1, 28, -1, 30, 31, 32, -1, -1,
2837 -1, 36, 561, 562, 563, 564, 41, -1, -1, -1,
2838 45, -1, -1, 48, -1, -1, -1, -1, -1, 54,
2839 -1, 56, 57, 1321, 1322, 470, -1, 472, -1, 474,
2840 475, 476, -1, -1, -1, 70, -1, -1, -1, -1,
2841 485, -1, -1, -1, -1, 80, -1, -1, -1, -1,
2842 -1, -1, -1, 88, -1, -1, -1, -1, 93, -1,
2843 -1, -1, 621, 98, 623, -1, -1, -1, -1, -1,
2844 -1, -1, -1, 518, -1, -1, 635, -1, 637, 638,
2845 -1, 640, -1, -1, -1, -1, 1353, -1, 647, 4,
2846 5, -1, 651, 8, 9, -1, -1, -1, -1, 14,
2847 -1, -1, -1, -1, 1402, -1, -1, 666, -1, -1,
2848 -1, -1, -1, 28, 478, 30, -1, -1, -1, 483,
2849 -1, 36, -1, -1, -1, -1, 1424, 1425, -1, -1,
2850 45, 690, 47, -1, -1, -1, -1, -1, 697, 54,
2851 -1, 56, 57, -1, -1, -1, 705, 706, 707, 708,
2852 709, 710, -1, -1, -1, 70, -1, -1, -1, -1,
2853 -1, -1, -1, 527, -1, 80, -1, -1, -1, 533,
2854 -1, -1, -1, -1, -1, 90, -1, -1, 93, 94,
2855 -1, 545, 546, -1, 548, -1, -1, -1, -1, 3,
2856 4, 5, 6, 752, -1, -1, -1, 756, -1, -1,
2857 -1, 1499, -1, -1, 763, 764, -1, 766, 3, 4,
2858 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2859 -1, -1, -1, 782, -1, -1, 785, 41, -1, -1,
2860 -1, -1, -1, -1, 48, 794, 31, -1, -1, -1,
2861 1507, 36, 56, 57, -1, -1, 41, -1, 807, -1,
2862 45, -1, 47, -1, 1521, -1, 815, -1, -1, 54,
2863 -1, 56, 57, 822, -1, -1, -1, -1, -1, 828,
2864 -1, -1, -1, -1, 88, 70, 835, 836, 837, 643,
2865 644, -1, -1, -1, 648, 80, -1, -1, 847, -1,
2866 -1, -1, -1, 88, -1, 90, -1, -1, 93, 94,
2867 -1, -1, -1, -1, -1, 4, 5, -1, 7, 8,
2868 9, -1, -1, 12, -1, 14, 4, -1, 763, 764,
2869 -1, 766, -1, -1, -1, -1, 14, -1, -1, 28,
2870 -1, 30, 31, -1, -1, 23, 24, 36, -1, -1,
2871 785, -1, 30, 31, -1, 33, 45, 35, 47, -1,
2872 -1, -1, -1, -1, 42, 54, -1, 56, 57, -1,
2873 -1, 920, -1, 922, -1, -1, -1, 55, -1, 57,
2874 929, 70, -1, -1, 933, -1, 935, 65, 937, 938,
2875 939, 80, -1, -1, 72, -1, 945, 3, 4, 5,
2876 6, 90, -1, -1, 93, 94, 84, -1, -1, -1,
2877 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
2878 -1, -1, 9, -1, -1, -1, -1, 781, 977, -1,
2879 979, -1, 981, 982, 983, 41, -1, -1, -1, 793,
2880 -1, -1, 48, -1, 31, -1, -1, -1, -1, -1,
2881 56, 57, -1, -1, 41, -1, -1, -1, 136, -1,
2882 -1, -1, 140, 141, -1, -1, -1, 54, 146, 56,
2883 57, 149, 150, 151, -1, 829, -1, 831, -1, -1,
2884 -1, 1030, 88, 70, -1, -1, -1, 165, -1, -1,
2885 -1, 169, -1, 80, 1043, -1, -1, 175, 176, -1,
2886 -1, 88, -1, -1, -1, -1, 93, -1, -1, -1,
2887 -1, -1, -1, -1, -1, 193, 194, 195, -1, -1,
2888 1069, -1, -1, -1, -1, 1074, -1, -1, 1077, -1,
2889 -1, -1, -1, -1, -1, -1, -1, -1, 1087, -1,
2890 1089, -1, -1, -1, 222, -1, 981, 982, 983, 903,
2891 904, -1, 906, 4, 5, -1, -1, 8, 9, -1,
2892 4, 5, -1, 14, 8, 9, -1, 245, 1117, -1,
2893 14, -1, -1, 1122, 1123, -1, 1125, 28, -1, 30,
2894 934, 259, -1, -1, 28, 36, 30, -1, -1, -1,
2895 -1, -1, 36, -1, 45, 1030, -1, -1, -1, -1,
2896 -1, 45, -1, 54, -1, 56, 57, 58, -1, -1,
2897 54, -1, 56, 57, -1, -1, -1, -1, -1, 297,
2898 298, 1170, 1171, 1172, 1173, 1174, -1, -1, -1, 1178,
2899 -1, 985, -1, -1, 1069, -1, 348, 349, 350, -1,
2900 -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
2901 -1, -1, 1201, 1202, 1203, 3, 4, 5, 6, 7,
2902 8, 9, -1, -1, 342, -1, 14, -1, 346, -1,
2903 348, 349, 350, -1, -1, -1, -1, 355, -1, -1,
2904 28, 359, 30, 31, 32, -1, -1, -1, 36, -1,
2905 -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
2906 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2907 -1, -1, -1, -1, -1, 393, -1, -1, -1, -1,
2908 -1, -1, 70, -1, 402, -1, 404, 405, -1, -1,
2909 -1, -1, 80, -1, -1, 1170, 1171, 1172, 1173, 1174,
2910 88, 419, -1, 1178, 422, 93, 1295, 1296, -1, 1298,
2911 98, -1, 3, 4, 5, 6, 434, -1, 9, -1,
2912 -1, -1, -1, -1, 442, -1, 1201, 1202, 1203, -1,
2913 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2914 31, -1, -1, -1, 1138, 1334, 1335, 1336, -1, -1,
2915 41, -1, 470, -1, 472, -1, 474, 475, 476, -1,
2916 -1, -1, 480, 54, 1353, 56, 57, 485, -1, 1,
2917 488, 3, 4, 5, 6, 7, 8, 9, -1, 70,
2918 -1, -1, 14, 1177, -1, -1, -1, -1, -1, 80,
2919 508, -1, -1, 511, -1, 513, 28, 88, 30, 31,
2920 518, 519, 93, 521, 36, -1, -1, -1, -1, 41,
2921 -1, -1, -1, 45, -1, -1, 48, -1, -1, -1,
2922 1295, 1296, 54, 1298, 56, 57, -1, -1, 60, -1,
2923 1224, -1, -1, -1, 1228, -1, -1, -1, 70, -1,
2924 -1, -1, -1, 561, 562, 563, 564, -1, 80, 1438,
2925 -1, -1, -1, -1, 1248, -1, 88, -1, 1252, -1,
2926 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
2927 -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
2928 -1, -1, -1, -1, -1, 637, 638, -1, 640, -1,
2929 -1, -1, -1, 1287, -1, 647, -1, -1, -1, -1,
2930 31, -1, -1, 621, -1, 623, -1, -1, -1, -1,
2931 41, -1, -1, -1, -1, -1, 1505, 1506, 1507, 637,
2932 638, -1, 640, 54, -1, 56, 57, -1, -1, 647,
2933 -1, -1, 1521, -1, -1, -1, -1, 1526, -1, 70,
2934 -1, -1, 660, 3, 4, 5, 6, -1, 666, 80,
2935 -1, -1, -1, 705, -1, 707, 708, 88, 710, -1,
2936 -1, -1, 93, 1438, -1, -1, -1, -1, -1, -1,
2937 -1, 31, 690, -1, -1, -1, -1, -1, -1, -1,
2938 698, 41, -1, -1, -1, 1379, 1380, 705, 706, 707,
2939 708, 709, 710, -1, 54, -1, 56, 57, -1, -1,
2940 752, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2941 70, -1, -1, -1, -1, 733, -1, -1, -1, -1,
2942 80, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2943 1505, 1506, 1507, 93, 752, -1, -1, -1, 756, -1,
2944 -1, -1, -1, -1, -1, 763, 764, -1, 766, -1,
2945 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
2946 9, -1, 780, 12, 782, 14, -1, 785, -1, -1,
2947 -1, -1, -1, -1, -1, -1, 794, -1, -1, 28,
2948 -1, 30, 31, -1, -1, -1, -1, 36, -1, -1,
2949 -1, -1, 41, -1, -1, 847, 45, 815, 47, -1,
2950 -1, -1, -1, -1, 822, 54, -1, 56, 57, -1,
2951 828, -1, -1, -1, -1, -1, -1, 835, 836, 837,
2952 -1, 70, 3, 4, 5, 6, 7, 8, 9, 847,
2953 -1, 80, -1, 14, -1, -1, -1, -1, -1, 88,
2954 -1, 90, -1, -1, 93, 94, -1, 28, -1, 30,
2955 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
2956 41, -1, -1, -1, 45, -1, 47, -1, 920, -1,
2957 922, -1, -1, 54, -1, 56, 57, -1, -1, -1,
2958 -1, 933, -1, -1, -1, 937, 938, 939, -1, 70,
2959 3, 4, 5, 6, 7, 8, 9, -1, -1, 80,
2960 -1, 14, 920, -1, 922, -1, -1, 88, -1, 90,
2961 -1, 929, 93, 94, -1, 933, -1, 935, 31, 937,
2962 938, 939, -1, 36, -1, -1, -1, 945, 41, 981,
2963 982, 983, 45, -1, 47, -1, -1, -1, -1, -1,
2964 -1, 54, -1, 56, 57, 4, -1, -1, -1, -1,
2965 -1, -1, -1, -1, -1, -1, -1, 70, -1, 977,
2966 -1, 979, -1, 981, 982, 983, -1, 80, -1, -1,
2967 -1, 30, 31, -1, 33, 88, 35, -1, 1030, -1,
2968 93, -1, -1, 42, 73, 74, 75, 76, 77, 78,
2969 79, 80, 81, 82, 83, 84, 55, -1, 57, 3,
2970 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
2971 14, -1, 1030, -1, -1, -1, -1, -1, -1, -1,
2972 -1, 80, -1, -1, 28, 1043, 30, 31, -1, -1,
2973 -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
2974 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
2975 54, 1069, 56, 57, -1, -1, 1074, -1, 62, 1077,
2976 -1, -1, -1, -1, -1, -1, 70, -1, -1, 1087,
2977 -1, 1089, -1, -1, 133, 134, 80, 136, -1, -1,
2978 -1, 140, 141, -1, 88, 144, -1, 146, -1, 93,
2979 149, 150, 151, -1, -1, -1, -1, 156, -1, 1117,
2980 -1, -1, -1, -1, 1122, 1123, 165, 1125, -1, -1,
2981 169, -1, -1, -1, -1, -1, 175, 176, 1170, 1171,
2982 1172, 1173, 1174, -1, -1, -1, 1178, -1, -1, -1,
2983 -1, -1, -1, -1, 193, 194, 195, -1, -1, -1,
2984 -1, -1, -1, -1, 203, -1, -1, -1, -1, 1201,
2985 1202, 1203, 1170, 1171, 1172, 1173, 1174, -1, -1, -1,
2986 1178, -1, -1, 222, -1, -1, 1, 1185, 3, 4,
2987 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2988 -1, -1, -1, 1201, 1202, 1203, 245, -1, -1, -1,
2989 -1, -1, -1, 28, -1, 30, 31, 32, -1, -1,
2990 259, 36, 37, -1, 1222, -1, 41, -1, -1, -1,
2991 45, 46, -1, 48, 3, 4, 5, 6, -1, 54,
2992 9, 56, 57, -1, -1, 60, -1, 62, -1, -1,
2993 -1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
2994 -1, -1, 31, 1295, 1296, 80, 1298, -1, -1, -1,
2995 -1, -1, 41, 88, -1, -1, -1, -1, 93, -1,
2996 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
2997 329, -1, -1, -1, 109, -1, -1, 1295, 1296, -1,
2998 1298, 70, -1, -1, -1, -1, -1, 346, -1, -1,
2999 -1, 80, -1, -1, -1, 354, -1, -1, -1, 88,
3000 359, -1, -1, -1, 93, 1323, -1, -1, -1, -1,
3001 -1, -1, -1, -1, -1, -1, 1334, 1335, 1336, 70,
3002 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3003 81, 82, 83, 84, 393, 1353, -1, -1, -1, -1,
3004 -1, 1359, -1, -1, -1, 404, -1, -1, -1, 1,
3005 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3006 419, -1, 14, 422, -1, -1, -1, -1, -1, 428,
3007 429, 430, -1, -1, -1, 434, 28, -1, 30, 31,
3008 32, -1, -1, 442, 36, 37, -1, -1, -1, 41,
3009 -1, -1, -1, 45, 46, -1, 48, -1, -1, -1,
3010 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3011 62, 470, -1, 472, -1, 474, 475, 476, 70, -1,
3012 1438, 480, -1, -1, -1, -1, 485, -1, 80, 488,
3013 -1, -1, 3, 4, 5, 6, 88, -1, -1, -1,
3014 -1, 93, -1, 4, 5, -1, -1, 8, 9, -1,
3015 -1, -1, 511, 14, 513, -1, -1, 109, -1, 518,
3016 519, -1, 521, -1, -1, -1, -1, 28, -1, 30,
3017 41, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3018 -1, -1, -1, 54, 45, 56, 57, 1505, 1506, 1507,
3019 -1, 62, -1, 54, 553, 56, 57, 556, -1, 70,
3020 -1, -1, -1, 1521, -1, -1, -1, -1, 1526, 80,
3021 -1, -1, 571, 572, 573, -1, -1, 88, -1, 4,
3022 -1, -1, 93, -1, -1, -1, -1, 586, -1, -1,
3023 -1, 3, 4, 5, 6, -1, 1, 9, 3, 4,
3024 5, 6, 7, 8, 9, 30, 31, -1, 33, 14,
3025 35, -1, -1, -1, -1, -1, -1, 42, -1, 31,
3026 -1, -1, 27, 28, -1, 30, 31, 32, -1, 41,
3027 55, 36, 57, -1, -1, 634, 41, -1, -1, 44,
3028 45, 46, 54, 48, 56, 57, -1, -1, 647, 54,
3029 -1, 56, 57, -1, -1, 60, -1, -1, 70, -1,
3030 -1, -1, -1, -1, -1, 70, -1, 666, 80, -1,
3031 -1, -1, -1, -1, -1, 80, 88, -1, -1, -1,
3032 -1, 93, -1, 88, -1, -1, -1, -1, 93, -1,
3033 -1, 690, -1, 98, -1, -1, -1, 33, 697, -1,
3034 -1, -1, -1, -1, -1, -1, 705, 706, 707, 708,
3035 -1, 136, -1, -1, -1, 140, 141, -1, -1, 55,
3036 -1, 146, -1, -1, 149, 150, 151, -1, -1, -1,
3037 -1, -1, -1, -1, 3, 4, 5, 6, -1, -1,
3038 165, -1, -1, -1, 169, 3, 4, 5, 6, -1,
3039 175, 176, -1, 752, -1, -1, -1, 756, -1, -1,
3040 -1, -1, -1, -1, 763, 764, -1, 766, 193, 194,
3041 195, -1, 41, -1, -1, -1, -1, -1, -1, -1,
3042 -1, -1, -1, 41, -1, 54, 785, 56, 57, -1,
3043 -1, 60, -1, 62, -1, -1, 54, 222, 56, 57,
3044 -1, 70, 60, -1, -1, -1, -1, 806, -1, -1,
3045 -1, 80, 70, 149, 150, 151, 815, -1, -1, 88,
3046 245, -1, 80, -1, 93, -1, -1, -1, -1, -1,
3047 88, -1, -1, -1, 259, 93, -1, -1, -1, 175,
3048 -1, 1, 841, 3, 4, 5, 6, 7, 8, 9,
3049 10, 11, 12, 13, 14, -1, -1, 193, 194, 195,
3050 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3051 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3052 40, 41, 42, 43, -1, 45, 222, -1, -1, 49,
3053 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3054 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3055 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3056 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3057 355, -1, -1, 93, 359, -1, -1, -1, 937, 938,
3058 939, -1, -1, -1, 943, 944, -1, -1, 108, -1,
3059 110, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3060 -1, -1, 298, -1, 14, 72, 73, 74, 75, 76,
3061 77, 78, 79, 80, 81, 82, 83, 84, 28, 404,
3062 30, 31, 981, 982, 983, -1, 36, -1, -1, 988,
3063 -1, 41, -1, -1, 419, 45, -1, 422, -1, -1,
3064 -1, -1, -1, -1, 54, -1, 56, 57, -1, 434,
3065 60, -1, 348, 349, 350, -1, -1, 442, -1, -1,
3066 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3067 80, 1030, -1, -1, -1, -1, -1, -1, 88, -1,
3068 -1, -1, -1, 93, -1, 470, -1, 472, -1, 474,
3069 475, 476, -1, -1, -1, 480, -1, -1, -1, -1,
3070 485, -1, -1, 488, -1, -1, -1, -1, 404, -1,
3071 1069, -1, -1, -1, -1, 1074, -1, -1, 1077, 3,
3072 4, 5, 6, 7, 8, 9, 511, -1, 513, -1,
3073 14, -1, -1, 518, 519, -1, 521, -1, -1, -1,
3074 -1, -1, -1, -1, 28, -1, 30, 31, -1, -1,
3075 -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
3076 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
3077 54, -1, 56, 57, 470, -1, 472, -1, 474, 475,
3078 476, -1, -1, -1, 480, -1, 70, -1, -1, 485,
3079 1149, -1, 488, -1, -1, -1, 80, -1, -1, -1,
3080 -1, -1, -1, -1, 88, -1, -1, -1, -1, 93,
3081 -1, 1170, 1171, 1172, 1173, 1174, -1, 1176, -1, 1178,
3082 -1, -1, 518, -1, 1, -1, 3, 4, 5, 6,
3083 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3084 -1, -1, 1201, 1202, 1203, -1, -1, -1, -1, -1,
3085 635, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3086 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3087 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3088 57, 666, -1, -1, 61, 62, -1, -1, -1, -1,
3089 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3090 -1, 78, 79, 80, -1, -1, 55, -1, -1, 86,
3091 87, 88, -1, -1, -1, -1, 93, -1, -1, -1,
3092 705, 706, 707, 708, -1, -1, -1, 623, -1, -1,
3093 -1, 80, -1, 110, 83, -1, 1295, 1296, -1, 1298,
3094 -1, 637, 638, -1, 640, -1, -1, -1, -1, -1,
3095 -1, 647, -1, -1, -1, 104, -1, 106, -1, -1,
3096 -1, -1, -1, -1, -1, -1, -1, 752, -1, -1,
3097 666, 756, -1, -1, -1, 1334, 1335, 1336, 763, 764,
3098 -1, 766, 67, 68, 69, 70, 71, 72, 73, 74,
3099 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3100 785, -1, -1, -1, -1, -1, -1, -1, -1, 705,
3101 -1, 707, 708, -1, 710, -1, -1, -1, -1, -1,
3102 -1, 3, 4, 5, 6, -1, 175, 9, -1, -1,
3103 815, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3104 -1, -1, -1, -1, 193, 194, 195, -1, -1, 31,
3105 -1, -1, -1, -1, 203, -1, 752, -1, -1, 41,
3106 -1, -1, -1, -1, -1, -1, -1, 763, 764, -1,
3107 766, -1, 54, 222, 56, 57, -1, -1, -1, 1438,
3108 -1, -1, -1, -1, -1, -1, -1, -1, 70, 785,
3109 -1, 3, 4, 5, 6, 7, 8, 9, 80, 248,
3110 12, -1, 14, -1, -1, -1, 88, -1, -1, -1,
3111 -1, 93, -1, 262, -1, -1, 28, -1, 30, 31,
3112 -1, -1, -1, -1, 36, -1, -1, -1, -1, 41,
3113 -1, -1, -1, 45, -1, -1, -1, -1, -1, 835,
3114 836, 837, 54, -1, 56, 57, 1505, 1506, 1507, -1,
3115 -1, 847, -1, -1, -1, -1, -1, -1, 70, -1,
3116 945, -1, -1, -1, -1, -1, -1, 1526, 80, -1,
3117 -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
3118 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
3119 -1, -1, -1, -1, -1, -1, 981, 982, 983, -1,
3120 -1, -1, -1, -1, -1, 354, 355, -1, -1, -1,
3121 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3122 -1, -1, 14, -1, 920, -1, 922, -1, -1, -1,
3123 -1, -1, -1, -1, -1, -1, 28, 933, 30, 31,
3124 -1, 937, 938, 939, 36, 1030, -1, -1, -1, 41,
3125 -1, -1, -1, 45, -1, 404, -1, -1, -1, -1,
3126 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3127 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
3128 -1, -1, -1, -1, 1069, 981, 982, 983, 80, 1074,
3129 -1, -1, 1077, -1, -1, -1, 88, -1, -1, -1,
3130 -1, 93, -1, -1, -1, 3, 4, 5, 6, 7,
3131 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
3132 -1, 470, -1, 472, -1, 474, 475, 476, -1, -1,
3133 28, 480, 30, 31, 1030, -1, 485, -1, 36, 488,
3134 -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
3135 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3136 -1, 14, -1, -1, -1, -1, -1, -1, -1, 518,
3137 23, 24, 70, 1069, -1, -1, -1, 30, 31, -1,
3138 33, 12, 80, -1, -1, 1170, 1171, 1172, 1173, 1174,
3139 88, -1, -1, 1178, -1, 93, 69, 70, 71, 72,
3140 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3141 83, 84, 65, -1, -1, -1, 1201, 1202, 1203, -1,
3142 -1, -1, -1, -1, -1, -1, 1122, 1123, -1, 1125,
3143 -1, 62, 63, 64, 65, 66, 67, 68, 69, 70,
3144 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3145 81, 82, 83, 84, 68, 69, 70, 71, 72, 73,
3146 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3147 84, 124, -1, 126, 1170, 1171, 1172, 1173, 1174, -1,
3148 133, 134, 1178, -1, -1, -1, -1, 140, 141, -1,
3149 -1, 144, 145, 146, -1, 148, 149, 150, 151, -1,
3150 -1, 650, 651, -1, -1, 1201, 1202, 1203, -1, -1,
3151 1295, 1296, -1, 1298, -1, -1, -1, 666, -1, -1,
3152 -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
3153 5, 6, -1, -1, -1, -1, -1, -1, -1, -1,
3154 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1334,
3155 1335, 1336, -1, -1, -1, -1, 705, -1, 707, 708,
3156 -1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
3157 -1, -1, -1, -1, -1, -1, -1, -1, -1, 54,
3158 -1, 56, 57, -1, -1, 238, 239, 62, -1, -1,
3159 -1, -1, -1, -1, -1, 70, -1, -1, -1, 1295,
3160 1296, -1, 1298, 752, -1, 80, 259, -1, -1, -1,
3161 -1, -1, -1, 88, 763, 764, -1, 766, 93, -1,
3162 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3163 10, 11, 12, 13, 14, -1, 785, -1, 1334, -1,
3164 1336, -1, -1, -1, -1, 298, -1, -1, 28, 29,
3165 30, 31, 32, 1438, 34, 35, 36, 806, 38, 39,
3166 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3167 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3168 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3169 70, -1, -1, 346, -1, 348, 349, -1, 78, 79,
3170 80, 3, 4, 5, 6, -1, 86, 87, 88, -1,
3171 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
3172 1505, 1506, 1507, 3, 4, 5, 6, -1, -1, 31,
3173 110, -1, -1, -1, -1, -1, -1, -1, -1, 41,
3174 393, 1526, 1438, -1, -1, -1, -1, -1, -1, -1,
3175 -1, -1, 54, -1, 56, 57, -1, -1, -1, 412,
3176 -1, 41, -1, -1, -1, -1, 419, -1, 70, 422,
3177 -1, -1, -1, -1, 54, -1, 56, 57, 80, -1,
3178 60, 434, -1, -1, -1, -1, 88, -1, -1, -1,
3179 70, 93, -1, -1, -1, 944, 945, 946, -1, -1,
3180 80, -1, -1, -1, -1, -1, -1, -1, 88, 1505,
3181 1506, 1507, -1, 93, -1, -1, -1, -1, 4, 5,
3182 -1, 7, 8, 9, 3, 4, 5, 6, 14, -1,
3183 1526, -1, 981, 982, 983, -1, -1, -1, -1, 988,
3184 -1, -1, 28, -1, 30, 31, -1, -1, -1, 502,
3185 36, -1, -1, -1, -1, 508, -1, -1, -1, 45,
3186 -1, -1, 41, -1, -1, -1, -1, -1, 54, 1018,
3187 56, 57, -1, -1, -1, 54, -1, 56, 57, -1,
3188 -1, 1030, 1, -1, 3, 4, 5, 6, 7, 8,
3189 9, 70, -1, 12, 547, 14, -1, -1, -1, -1,
3190 -1, 80, -1, -1, -1, -1, 25, -1, 27, 88,
3191 -1, -1, 31, -1, 93, -1, -1, 36, -1, -1,
3192 1069, -1, 41, -1, -1, -1, 45, -1, 47, -1,
3193 -1, -1, -1, -1, -1, 54, -1, 56, 57, 58,
3194 59, 60, -1, 62, 63, 64, 65, 66, 67, 68,
3195 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3196 79, 80, 81, 82, 83, 84, -1, 86, 87, 88,
3197 623, 90, 91, 92, 93, 94, 95, -1, 97, -1,
3198 -1, 634, 635, 102, 637, 638, -1, -1, 107, 108,
3199 109, -1, 111, -1, -1, -1, -1, -1, -1, -1,
3200 1149, -1, -1, -1, -1, -1, -1, 4, 5, -1,
3201 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
3202 -1, 1170, 1171, 1172, 1173, 1174, -1, 1176, -1, 1178,
3203 -1, 28, -1, 30, 31, -1, -1, 690, -1, 36,
3204 -1, -1, -1, -1, 697, 698, -1, -1, 45, -1,
3205 -1, 48, 1201, 1202, 1203, -1, 709, 54, -1, 56,
3206 57, -1, -1, -1, -1, 1, -1, 3, 4, 5,
3207 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3208 733, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3209 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3210 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3211 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3212 56, 57, 58, -1, 60, 61, -1, 780, -1, -1,
3213 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3214 -1, -1, 78, 79, 80, -1, 1295, 1296, -1, 1298,
3215 86, 87, 88, -1, 807, -1, -1, 93, -1, 95,
3216 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3217 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3218 -1, -1, 835, 836, 837, 1334, -1, 1336, -1, -1,
3219 -1, -1, -1, -1, 847, -1, 1, -1, 3, 4,
3220 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3221 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3222 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3223 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
3224 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
3225 -1, 56, 57, 58, -1, 60, 61, -1, -1, -1,
3226 -1, -1, 67, -1, -1, 70, -1, 920, -1, 922,
3227 -1, -1, -1, 78, 79, 80, 31, -1, -1, -1,
3228 933, 86, 87, 88, -1, -1, -1, -1, 93, 1438,
3229 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3230 -1, -1, -1, -1, -1, 110, -1, -1, 63, 64,
3231 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3232 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3233 -1, -1, -1, -1, -1, 4, 5, -1, 7, 8,
3234 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
3235 -1, -1, -1, -1, -1, -1, 1505, 1506, 1507, 28,
3236 -1, 30, 31, -1, -1, 1018, -1, 36, -1, -1,
3237 -1, -1, -1, -1, -1, -1, 45, 1526, -1, -1,
3238 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3239 -1, -1, -1, -1, -1, -1, 1, -1, 3, 4,
3240 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3241 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1072,
3242 -1, 1074, -1, 28, 29, 30, 31, 32, -1, 34,
3243 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3244 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3245 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3246 -1, -1, 67, -1, -1, 70, -1, -1, -1, 1122,
3247 1123, -1, 1125, 78, 79, 80, -1, -1, -1, -1,
3248 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3250 -1, -1, -1, -1, -1, 110, 1, -1, 3, 4,
3251 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3252 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3253 -1, -1, 1185, 28, 29, 30, 31, 32, -1, 34,
3254 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3255 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3256 -1, 56, 57, 58, -1, 60, 61, -1, -1, 1222,
3257 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3258 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3259 -1, 86, 87, 88, -1, -1, -1, -1, 93, 1,
3260 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3261 -1, 13, 14, -1, -1, 110, -1, -1, -1, -1,
3262 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3263 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3264 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3265 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3266 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3267 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3268 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3269 -1, 93, 94, -1, -1, -1, -1, -1, -1, -1,
3270 -1, -1, -1, -1, -1, -1, 1359, 109, 110, 1,
3271 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3272 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3273 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3274 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3275 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3276 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3277 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3278 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3279 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3280 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3281 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3282 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3283 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3284 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3285 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3286 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3287 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3288 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3289 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3290 -1, 8, 9, 10, 11, -1, 13, 14, -1, 110,
3291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3292 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3293 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3294 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3295 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3296 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3297 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3298 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3299 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3300 -1, -1, 109, 110, -1, -1, -1, -1, -1, -1,
3301 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3302 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3303 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3304 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3305 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3306 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3307 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3308 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3309 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3310 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3311 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3312 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3313 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3314 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3315 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3316 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3317 1, -1, 3, 4, 5, 6, 101, 8, 9, 10,
3318 11, -1, 13, 14, -1, 110, -1, -1, -1, -1,
3319 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3320 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3321 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3322 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3323 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3324 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3325 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3326 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3327 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3328 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3329 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3330 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3331 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3332 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3333 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3334 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3335 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3336 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3337 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3338 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3339 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3340 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3341 -1, 60, 61, -1, -1, -1, -1, -1, 67, -1,
3342 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3343 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3344 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3345 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3346 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3347 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3348 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3349 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3350 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3351 1, -1, 70, 4, 5, -1, -1, 8, 9, -1,
3352 78, 79, 80, 14, -1, -1, -1, -1, 86, 87,
3353 88, -1, -1, -1, -1, 93, -1, 28, -1, 30,
3354 -1, -1, -1, -1, -1, 36, -1, 38, 39, -1,
3355 108, -1, 110, -1, 45, -1, 47, -1, -1, -1,
3356 -1, -1, -1, 54, -1, 56, 57, -1, 59, -1,
3357 -1, -1, 63, 64, 65, 66, 67, 68, 69, 70,
3358 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3359 81, 82, 83, -1, -1, 86, 87, 88, -1, -1,
3360 91, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3361 9, 10, 11, -1, 13, 14, -1, -1, -1, 110,
3362 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3363 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3364 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3365 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3366 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3367 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3368 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3369 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3370 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3371 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3372 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3373 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3374 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3375 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3376 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3377 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3378 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3379 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3380 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3381 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3382 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3383 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3384 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3385 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3386 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3387 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3388 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3389 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3390 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3391 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3392 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3393 61, -1, -1, -1, -1, -1, 67, -1, 1, 70,
3394 3, 4, 5, 6, 7, 8, 9, 78, 79, 80,
3395 -1, 14, -1, -1, -1, 86, 87, 88, -1, -1,
3396 -1, -1, 93, -1, -1, 28, -1, 30, 31, 32,
3397 -1, -1, -1, 36, 37, -1, -1, -1, 41, 110,
3398 111, -1, 45, 46, -1, 48, -1, -1, -1, -1,
3399 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
3400 -1, -1, -1, -1, -1, -1, -1, 70, 1, -1,
3401 3, 4, 5, 6, 7, 8, 9, 80, -1, -1,
3402 -1, 14, -1, -1, -1, 88, -1, -1, -1, -1,
3403 93, -1, -1, -1, -1, 28, -1, 30, 31, 32,
3404 -1, -1, -1, 36, 37, -1, 109, -1, 41, -1,
3405 -1, -1, 45, 46, -1, 48, -1, -1, -1, -1,
3406 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
3407 -1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
3408 -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3409 -1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
3410 93, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3411 10, 11, -1, 13, 14, 15, 109, 17, 18, 19,
3412 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3413 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3414 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3415 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3416 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3417 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3418 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3419 -1, -1, -1, 93, -1, 95, -1, -1, -1, -1,
3420 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
3421 110, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3422 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3423 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3424 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3425 42, 43, 44, 45, 46, -1, -1, 49, 50, 51,
3426 52, 53, 54, -1, 56, 57, 58, -1, 60, 61,
3427 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3428 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3429 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3430 -1, 93, -1, 95, -1, 3, 4, 5, 6, 7,
3431 8, 9, 10, 11, -1, 13, 14, 15, 110, 17,
3432 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3433 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3434 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
3435 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3436 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3437 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3438 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3439 88, -1, -1, -1, -1, 93, -1, 95, -1, 3,
3440 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3441 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
3442 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3443 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3444 44, 45, 46, -1, -1, 49, 50, 51, 52, 53,
3445 54, -1, 56, 57, -1, -1, 60, 61, -1, -1,
3446 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3447 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3448 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3449 -1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
3450 11, 12, 13, 14, -1, -1, 110, -1, -1, -1,
3451 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3452 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3453 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
3454 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3455 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3456 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3457 -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
3458 -1, -1, 93, 94, 3, 4, 5, 6, 7, 8,
3459 9, 10, 11, 12, 13, 14, -1, -1, -1, 110,
3460 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3461 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3462 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
3463 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3464 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3465 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3466 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3467 -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
3468 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3469 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3470 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3471 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3472 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3473 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3474 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3475 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3476 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3477 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3478 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3479 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3480 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3481 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3482 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3483 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3484 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3485 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3486 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3487 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3488 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3489 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3490 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3491 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3492 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3493 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3494 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3495 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3496 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3497 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3498 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3499 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3500 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
3501 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3502 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3503 87, 88, -1, -1, -1, -1, 93, 3, 4, 5,
3504 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3505 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3506 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3507 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3508 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3509 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3510 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3511 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3512 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3513 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3514 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3515 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3516 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3517 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3518 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3519 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3520 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3521 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3522 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3523 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3524 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3525 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3526 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3527 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3528 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3529 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3530 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3531 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3532 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3533 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3534 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3535 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3536 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3537 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3538 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3539 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3540 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3541 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3542 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3543 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3544 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3545 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3546 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3547 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3548 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3549 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3550 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3551 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3552 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3553 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3554 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3555 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3556 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3557 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3558 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3559 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3560 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3561 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3562 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3563 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3564 -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3565 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3566 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3567 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3568 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3569 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3570 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3571 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3572 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3573 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3574 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3575 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3576 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3577 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3578 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3579 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3580 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3581 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3582 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3583 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3584 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3585 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3586 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3587 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3588 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3589 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3590 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3591 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3592 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3593 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3594 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3595 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3596 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3597 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3598 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3599 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3600 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3601 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3602 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3603 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3604 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3605 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3606 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3607 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3608 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3609 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3610 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3611 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3612 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3613 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3614 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3615 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3616 88, -1, -1, 4, 5, 93, 7, 8, 9, -1,
3617 -1, 12, -1, 14, -1, -1, -1, -1, -1, -1,
3618 -1, -1, 110, -1, -1, -1, -1, 28, -1, 30,
3619 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3620 -1, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3621 -1, -1, -1, 54, -1, 56, 57, 63, 64, 65,
3622 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3623 76, 77, 78, 79, 80, 81, 82, 83, 84, 63,
3624 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3625 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3626 84, -1, -1, -1, -1, 111, -1, -1, -1, -1,
3627 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3628 59, -1, -1, 107, 63, 64, 65, 66, 67, 68,
3629 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3630 79, 80, 81, 82, 83, 84, 62, 63, 64, 65,
3631 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3632 76, 77, 78, 79, 80, 81, 82, 83, 84, 63,
3633 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3634 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3635 84, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3636 72, 73, 74, -1, 76, 77, 78, 79, 80, 81,
3639 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3640 #line 3 "/usr/local/gnu/share/bison.simple"
3642 /* Skeleton output parser for bison,
3643 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3645 This program is free software; you can redistribute it and/or modify
3646 it under the terms of the GNU General Public License as published by
3647 the Free Software Foundation; either version 2, or (at your option)
3650 This program is distributed in the hope that it will be useful,
3651 but WITHOUT ANY WARRANTY; without even the implied warranty of
3652 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3653 GNU General Public License for more details.
3655 You should have received a copy of the GNU General Public License
3656 along with this program; if not, write to the Free Software
3657 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3659 /* As a special exception, when this file is copied by Bison into a
3660 Bison output file, you may use that output file without restriction.
3661 This special exception was added by the Free Software Foundation
3662 in version 1.24 of Bison. */
3666 #define alloca __builtin_alloca
3667 #else /* not GNU C. */
3668 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3670 #else /* not sparc */
3671 #if defined (MSDOS) && !defined (__TURBOC__)
3673 #else /* not MSDOS, or __TURBOC__ */
3677 #else /* not MSDOS, __TURBOC__, or _AIX */
3681 void *alloca (unsigned int);
3683 #else /* not __cplusplus */
3685 #endif /* not __cplusplus */
3687 #endif /* not _AIX */
3688 #endif /* not MSDOS, or __TURBOC__ */
3689 #endif /* not sparc. */
3690 #endif /* not GNU C. */
3691 #endif /* alloca not defined. */
3693 /* This is the parser code that is written into each bison parser
3694 when the %semantic_parser declaration is not specified in the grammar.
3695 It was written by Richard Stallman by simplifying the hairy parser
3696 used when %semantic_parser is specified. */
3698 /* Note: there must be only one dollar sign in this file.
3699 It is replaced by the list of actions, each action
3700 as one case of the switch. */
3702 #define yyerrok (yyerrstatus = 0)
3703 #define yyclearin (yychar = YYEMPTY)
3706 #define YYACCEPT return(0)
3707 #define YYABORT return(1)
3708 #define YYERROR goto yyerrlab1
3709 /* Like YYERROR except do call yyerror.
3710 This remains here temporarily to ease the
3711 transition to the new meaning of YYERROR, for GCC.
3712 Once GCC version 2 has supplanted version 1, this can go. */
3713 #define YYFAIL goto yyerrlab
3714 #define YYRECOVERING() (!!yyerrstatus)
3715 #define YYBACKUP(token, value) \
3717 if (yychar == YYEMPTY && yylen == 1) \
3718 { yychar = (token), yylval = (value); \
3719 yychar1 = YYTRANSLATE (yychar); \
3724 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3728 #define YYERRCODE 256
3731 #define YYLEX yylex()
3737 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3739 #define YYLEX yylex(&yylval, &yylloc)
3741 #else /* not YYLSP_NEEDED */
3743 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3745 #define YYLEX yylex(&yylval)
3747 #endif /* not YYLSP_NEEDED */
3750 /* If nonreentrant, generate the variables here */
3754 int yychar
; /* the lookahead symbol */
3755 YYSTYPE yylval
; /* the semantic value of the */
3756 /* lookahead symbol */
3759 YYLTYPE yylloc
; /* location data for the lookahead */
3763 int yynerrs
; /* number of parse errors so far */
3764 #endif /* not YYPURE */
3767 int yydebug
; /* nonzero means print parse trace */
3768 /* Since this is uninitialized, it does not stop multiple parsers
3772 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3775 #define YYINITDEPTH 200
3778 /* YYMAXDEPTH is the maximum size the stacks can grow to
3779 (effective only if the built-in stack extension method is used). */
3786 #define YYMAXDEPTH 10000
3789 /* Prevent warning if -Wstrict-prototypes. */
3794 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3795 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3796 #else /* not GNU C or C++ */
3799 /* This is the most reliable way to avoid incompatibilities
3800 in available built-in functions on various systems. */
3802 __yy_memcpy (to
, from
, count
)
3807 register char *f
= from
;
3808 register char *t
= to
;
3809 register int i
= count
;
3815 #else /* __cplusplus */
3817 /* This is the most reliable way to avoid incompatibilities
3818 in available built-in functions on various systems. */
3820 __yy_memcpy (char *to
, char *from
, int count
)
3822 register char *f
= from
;
3823 register char *t
= to
;
3824 register int i
= count
;
3833 #line 196 "/usr/local/gnu/share/bison.simple"
3835 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3836 into yyparse. The argument should have type void *.
3837 It should actually point to an object.
3838 Grammar actions can access the variable by casting it
3839 to the proper pointer type. */
3841 #ifdef YYPARSE_PARAM
3843 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3844 #define YYPARSE_PARAM_DECL
3845 #else /* not __cplusplus */
3846 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3847 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3848 #endif /* not __cplusplus */
3849 #else /* not YYPARSE_PARAM */
3850 #define YYPARSE_PARAM_ARG
3851 #define YYPARSE_PARAM_DECL
3852 #endif /* not YYPARSE_PARAM */
3855 yyparse(YYPARSE_PARAM_ARG
)
3858 register int yystate
;
3860 register short *yyssp
;
3861 register YYSTYPE
*yyvsp
;
3862 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3863 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3865 short yyssa
[YYINITDEPTH
]; /* the state stack */
3866 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3868 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3869 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3872 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3873 YYLTYPE
*yyls
= yylsa
;
3876 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3878 #define YYPOPSTACK (yyvsp--, yyssp--)
3881 int yystacksize
= YYINITDEPTH
;
3892 YYSTYPE yyval
; /* the variable used to return */
3893 /* semantic values from the action */
3900 fprintf(stderr
, "Starting parse\n");
3906 yychar
= YYEMPTY
; /* Cause a token to be read. */
3908 /* Initialize stack pointers.
3909 Waste one element of value and location stack
3910 so that they stay on the same level as the state stack.
3911 The wasted elements are never initialized. */
3919 /* Push a new state, which is found in yystate . */
3920 /* In all cases, when you get here, the value and location stacks
3921 have just been pushed. so pushing a state here evens the stacks. */
3926 if (yyssp
>= yyss
+ yystacksize
- 1)
3928 /* Give user a chance to reallocate the stack */
3929 /* Use copies of these so that the &'s don't force the real ones into memory. */
3930 YYSTYPE
*yyvs1
= yyvs
;
3931 short *yyss1
= yyss
;
3933 YYLTYPE
*yyls1
= yyls
;
3936 /* Get the current used size of the three stacks, in elements. */
3937 int size
= yyssp
- yyss
+ 1;
3940 /* Each stack pointer address is followed by the size of
3941 the data in use in that stack, in bytes. */
3943 /* This used to be a conditional around just the two extra args,
3944 but that might be undefined if yyoverflow is a macro. */
3945 yyoverflow("parser stack overflow",
3946 &yyss1
, size
* sizeof (*yyssp
),
3947 &yyvs1
, size
* sizeof (*yyvsp
),
3948 &yyls1
, size
* sizeof (*yylsp
),
3951 yyoverflow("parser stack overflow",
3952 &yyss1
, size
* sizeof (*yyssp
),
3953 &yyvs1
, size
* sizeof (*yyvsp
),
3957 yyss
= yyss1
; yyvs
= yyvs1
;
3961 #else /* no yyoverflow */
3962 /* Extend the stack our own way. */
3963 if (yystacksize
>= YYMAXDEPTH
)
3965 yyerror("parser stack overflow");
3969 if (yystacksize
> YYMAXDEPTH
)
3970 yystacksize
= YYMAXDEPTH
;
3971 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3972 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3973 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3974 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3976 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3977 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3979 #endif /* no yyoverflow */
3981 yyssp
= yyss
+ size
- 1;
3982 yyvsp
= yyvs
+ size
- 1;
3984 yylsp
= yyls
+ size
- 1;
3989 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3992 if (yyssp
>= yyss
+ yystacksize
- 1)
3998 fprintf(stderr
, "Entering state %d\n", yystate
);
4004 /* Do appropriate processing given the current state. */
4005 /* Read a lookahead token if we need one and don't already have one. */
4008 /* First try to decide what to do without reference to lookahead token. */
4010 yyn
= yypact
[yystate
];
4014 /* Not known => get a lookahead token if don't already have one. */
4016 /* yychar is either YYEMPTY or YYEOF
4017 or a valid token in external form. */
4019 if (yychar
== YYEMPTY
)
4023 fprintf(stderr
, "Reading a token: ");
4028 /* Convert token to internal form (in yychar1) for indexing tables with */
4030 if (yychar
<= 0) /* This means end of input. */
4033 yychar
= YYEOF
; /* Don't call YYLEX any more */
4037 fprintf(stderr
, "Now at end of input.\n");
4042 yychar1
= YYTRANSLATE(yychar
);
4047 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
4048 /* Give the individual parser a way to print the precise meaning
4049 of a token, for further debugging info. */
4051 YYPRINT (stderr
, yychar
, yylval
);
4053 fprintf (stderr
, ")\n");
4059 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
4064 /* yyn is what to do for this token type in this state.
4065 Negative => reduce, -yyn is rule number.
4066 Positive => shift, yyn is new state.
4067 New state is final state => don't bother to shift,
4068 just return success.
4069 0, or most negative number => error. */
4084 /* Shift the lookahead token. */
4088 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
4091 /* Discard the token being shifted unless it is eof. */
4092 if (yychar
!= YYEOF
)
4100 /* count tokens shifted since error; after three, turn off error status. */
4101 if (yyerrstatus
) yyerrstatus
--;
4106 /* Do the default action for the current state. */
4109 yyn
= yydefact
[yystate
];
4113 /* Do a reduction. yyn is the number of a rule to reduce with. */
4117 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
4124 fprintf (stderr
, "Reducing via rule %d (line %d), ",
4127 /* Print the symbols being reduced, and their result. */
4128 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
4129 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
4130 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4139 { finish_translation_unit (); ;
4143 { yyval
.ttype
= NULL_TREE
; ;
4147 { yyval
.ttype
= NULL_TREE
; ;
4151 { yyval
.ttype
= NULL_TREE
; ;
4155 { have_extern_spec
= 1;
4156 used_extern_spec
= 0;
4157 yyval
.ttype
= NULL_TREE
; ;
4161 { have_extern_spec
= 0; ;
4165 { yyval
.itype
= pedantic
;
4170 { if (pending_lang_change
) do_pending_lang_change(); ;
4174 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4175 pop_everything (); ;
4179 { if (pending_inlines
) do_pending_inlines (); ;
4183 { if (pending_inlines
) do_pending_inlines (); ;
4187 { if (pending_inlines
) do_pending_inlines (); ;
4191 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4192 assemble_asm (yyvsp
[-2].ttype
); ;
4196 { pop_lang_context (); ;
4200 { if (pending_inlines
) do_pending_inlines ();
4201 pop_lang_context (); ;
4205 { if (pending_inlines
) do_pending_inlines ();
4206 pop_lang_context (); ;
4210 { push_namespace (yyvsp
[-1].ttype
); ;
4214 { pop_namespace (); ;
4218 { push_namespace (NULL_TREE
); ;
4222 { pop_namespace (); ;
4226 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4230 { pedantic
= yyvsp
[-1].itype
; ;
4234 { begin_only_namespace_names (); ;
4239 end_only_namespace_names ();
4241 yyvsp
[-1].ttype
= lastiddecl
;
4242 do_namespace_alias (yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
4247 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4251 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4255 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4259 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4263 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
); ;
4267 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4271 { begin_only_namespace_names (); ;
4276 end_only_namespace_names ();
4277 /* If no declaration was found, the using-directive is
4278 invalid. Since that was not reported, we need the
4279 identifier for the error message. */
4280 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4281 yyvsp
[-1].ttype
= lastiddecl
;
4282 do_using_directive (yyvsp
[-1].ttype
);
4288 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4289 yyval
.ttype
= lastiddecl
;
4290 got_scope
= yyval
.ttype
;
4296 yyval
.ttype
= yyvsp
[-1].ttype
;
4297 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4298 yyval
.ttype
= lastiddecl
;
4299 got_scope
= yyval
.ttype
;
4304 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4308 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4312 { push_lang_context (yyvsp
[0].ttype
); ;
4316 { if (current_lang_name
!= yyvsp
[0].ttype
)
4317 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4318 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4322 { begin_template_parm_list (); ;
4326 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4330 { begin_specialization();
4331 yyval
.ttype
= NULL_TREE
; ;
4335 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4339 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4343 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4347 { yyval
.ttype
= NULL_TREE
; ;
4351 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4355 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4359 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4363 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4367 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4371 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4375 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4379 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4384 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4385 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4386 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4388 error ("invalid default template argument");
4389 yyvsp
[0].ttype
= error_mark_node
;
4391 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4396 { finish_template_decl (yyvsp
[-1].ttype
); ;
4400 { finish_template_decl (yyvsp
[-1].ttype
); ;
4404 { if (pending_inlines
) do_pending_inlines (); ;
4408 { if (pending_inlines
) do_pending_inlines (); ;
4412 { if (pending_inlines
) do_pending_inlines (); ;
4416 { if (pending_inlines
) do_pending_inlines ();
4417 pop_lang_context (); ;
4421 { if (pending_inlines
) do_pending_inlines ();
4422 pop_lang_context (); ;
4426 { pedantic
= yyvsp
[-1].itype
; ;
4434 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4438 { maybe_process_partial_specialization (yyvsp
[-1].ftype
.t
);
4439 note_got_semicolon (yyvsp
[-1].ftype
.t
); ;
4447 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4451 { pedwarn ("empty declaration"); ;
4457 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4459 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4464 { yyval
.itype
= 0; ;
4468 { yyval
.itype
= 1; ;
4472 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4477 int nested
= (hack_decl_function_context
4478 (current_function_decl
) != NULL_TREE
);
4479 finish_function (lineno
, (int)yyvsp
[0].itype
, nested
);
4488 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4492 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4496 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4497 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4502 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4506 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4510 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4511 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4516 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4520 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4524 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4525 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
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 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4549 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4554 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4559 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4564 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4569 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4573 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4577 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4581 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4585 { tree specs
, attrs
;
4586 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4587 attrs
= build_tree_list (attrs
, NULL_TREE
);
4588 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
);
4592 if (yychar
== YYEMPTY
)
4594 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4598 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
4599 goto rest_of_mdef
; ;
4603 { tree specs
, attrs
;
4604 split_specs_attrs (yyvsp
[-1].ftype
.t
, &specs
, &attrs
);
4605 attrs
= build_tree_list (attrs
, NULL_TREE
);
4606 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4610 { tree specs
, attrs
;
4611 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4612 attrs
= build_tree_list (attrs
, NULL_TREE
);
4613 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4617 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4618 goto rest_of_mdef
; ;
4622 { tree specs
, attrs
;
4623 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4624 attrs
= build_tree_list (attrs
, NULL_TREE
);
4625 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4629 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4630 goto rest_of_mdef
; ;
4635 if (! current_function_parms_stored
)
4636 store_parm_decls ();
4637 yyval
.ttype
= yyvsp
[0].ttype
;
4642 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4646 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4650 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4655 if (yyvsp
[0].itype
== 0)
4656 error ("no base initializers given following ':'");
4658 /* Always keep the BLOCK node associated with the outermost
4659 pair of curley braces of a function. These are needed
4660 for correct operation of dwarfout.c. */
4667 if (! current_function_parms_stored
)
4668 store_parm_decls ();
4670 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4672 /* Make a contour for the initializer list. */
4675 expand_start_bindings (0);
4677 else if (current_class_type
== NULL_TREE
)
4678 error ("base initializers not allowed for non-member functions");
4679 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4680 error ("only constructors take base initializers");
4685 { yyval
.itype
= 0; ;
4689 { yyval
.itype
= 1; ;
4694 if (current_class_name
)
4695 pedwarn ("anachronistic old style base class initializer");
4696 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4702 if (current_class_name
)
4703 pedwarn ("anachronistic old style base class initializer");
4704 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4709 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4713 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4717 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4721 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4725 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4730 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4735 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4736 yyungetc (';', 1); ;
4740 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4741 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4745 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4749 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4753 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4754 yyungetc (';', 1); ;
4758 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4759 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4763 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4767 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4771 { begin_explicit_instantiation(); ;
4775 { end_explicit_instantiation(); ;
4779 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4783 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4787 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4791 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4796 if (yychar
== YYEMPTY
)
4799 yyval
.ttype
= finish_template_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
4806 /* Handle `Class<Class<Type>>' without space in the `>>' */
4807 pedwarn ("`>>' should be `> >' in template class name");
4813 { yyval
.ttype
= NULL_TREE
; ;
4817 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4821 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4825 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4829 { yyval
.ttype
= lastiddecl
; ;
4833 { yyval
.code
= NEGATE_EXPR
; ;
4837 { yyval
.code
= CONVERT_EXPR
; ;
4841 { yyval
.code
= PREINCREMENT_EXPR
; ;
4845 { yyval
.code
= PREDECREMENT_EXPR
; ;
4849 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4853 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4857 { error ("ANSI C++ forbids an empty condition for `%s'",
4859 yyval
.ttype
= integer_zero_node
; ;
4863 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4867 { error ("ANSI C++ forbids an empty condition for `%s'",
4869 yyval
.ttype
= integer_zero_node
; ;
4872 #line 1003 "parse.y"
4873 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4876 #line 1008 "parse.y"
4877 { yyval
.ttype
= NULL_TREE
; ;
4880 #line 1011 "parse.y"
4881 { yyval
.ttype
= NULL_TREE
; ;
4884 #line 1016 "parse.y"
4887 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4888 if (TREE_CODE (d
) == TYPE_DECL
) {
4889 tree s
= TREE_TYPE (d
);
4890 if (TREE_CODE (s
) == RECORD_TYPE
)
4891 cp_error ("definition of class `%T' in condition", s
);
4892 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4893 cp_error ("definition of enum `%T' in condition", s
);
4896 current_declspecs
= yyvsp
[-4].ftype
.t
;
4897 yyvsp
[0].itype
= suspend_momentary ();
4898 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
4899 yyvsp
[-1].ttype
, /*prefix_attributes*/ NULL_TREE
);
4903 #line 1033 "parse.y"
4905 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4906 resume_momentary (yyvsp
[-2].itype
);
4907 yyval
.ttype
= convert_from_reference (yyvsp
[-1].ttype
);
4908 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4909 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4913 #line 1052 "parse.y"
4914 { yyval
.ttype
= begin_compound_stmt (1); ;
4917 #line 1054 "parse.y"
4918 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
4921 #line 1061 "parse.y"
4922 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4923 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4926 #line 1064 "parse.y"
4927 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4928 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4931 #line 1067 "parse.y"
4932 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4935 #line 1069 "parse.y"
4936 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4939 #line 1074 "parse.y"
4940 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4943 #line 1080 "parse.y"
4944 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4947 #line 1083 "parse.y"
4948 { yyval
.ttype
= yyvsp
[0].ttype
;
4949 pedantic
= yyvsp
[-1].itype
; ;
4952 #line 1086 "parse.y"
4953 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4956 #line 1088 "parse.y"
4957 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4960 #line 1090 "parse.y"
4961 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4964 #line 1092 "parse.y"
4965 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
4968 #line 1095 "parse.y"
4970 pedwarn ("ANSI C++ forbids `&&'");
4971 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
4974 #line 1099 "parse.y"
4975 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4978 #line 1101 "parse.y"
4979 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
));
4980 check_for_new_type ("sizeof", yyvsp
[-1].ftype
); ;
4983 #line 1104 "parse.y"
4984 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4987 #line 1106 "parse.y"
4988 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4989 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4992 #line 1112 "parse.y"
4993 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4994 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4997 #line 1115 "parse.y"
4998 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4999 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5002 #line 1118 "parse.y"
5003 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
5004 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5007 #line 1121 "parse.y"
5008 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
5009 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5012 #line 1134 "parse.y"
5013 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
5014 NULL_TREE
, yyvsp
[-4].itype
);
5015 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5018 #line 1139 "parse.y"
5019 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
5020 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5023 #line 1143 "parse.y"
5024 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-5].itype
);
5025 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5028 #line 1147 "parse.y"
5029 { yyval
.ttype
= build_new (yyvsp
[-5].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-6].itype
);
5030 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5033 #line 1151 "parse.y"
5034 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
5037 #line 1153 "parse.y"
5038 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
5039 if (yychar
== YYEMPTY
)
5043 #line 1157 "parse.y"
5044 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
5045 if (yychar
== YYEMPTY
)
5049 #line 1161 "parse.y"
5050 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
5053 #line 1163 "parse.y"
5054 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
5057 #line 1173 "parse.y"
5058 { finish_new_placement (NULL_TREE
, yyvsp
[-2].itype
); ;
5061 #line 1176 "parse.y"
5062 { yyval
.itype
= begin_new_placement (); ;
5065 #line 1180 "parse.y"
5066 { yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5069 #line 1182 "parse.y"
5070 { cp_pedwarn ("old style placement syntax, use () instead");
5071 yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5074 #line 1188 "parse.y"
5075 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5078 #line 1190 "parse.y"
5079 { yyval
.ttype
= NULL_TREE
; ;
5082 #line 1192 "parse.y"
5084 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
5085 yyval
.ttype
= error_mark_node
;
5089 #line 1200 "parse.y"
5092 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5093 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
5094 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
5095 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
5097 yyval
.ttype
= yyvsp
[0].ttype
;
5101 #line 1214 "parse.y"
5102 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5103 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5104 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5107 #line 1218 "parse.y"
5108 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5109 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5110 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5113 #line 1226 "parse.y"
5114 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5117 #line 1228 "parse.y"
5119 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5120 nreverse (yyvsp
[-2].ttype
));
5122 pedwarn ("ANSI C++ forbids constructor-expressions");
5123 /* Indicate that this was a GNU C constructor expression. */
5124 TREE_HAS_CONSTRUCTOR (init
) = 1;
5126 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5130 #line 1244 "parse.y"
5131 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5134 #line 1246 "parse.y"
5135 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5138 #line 1248 "parse.y"
5139 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5142 #line 1250 "parse.y"
5143 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5146 #line 1252 "parse.y"
5147 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5150 #line 1254 "parse.y"
5151 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5154 #line 1256 "parse.y"
5155 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5158 #line 1258 "parse.y"
5159 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5162 #line 1260 "parse.y"
5163 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5166 #line 1262 "parse.y"
5167 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5170 #line 1264 "parse.y"
5171 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5174 #line 1266 "parse.y"
5175 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5178 #line 1268 "parse.y"
5179 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5182 #line 1270 "parse.y"
5183 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5186 #line 1272 "parse.y"
5187 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5190 #line 1274 "parse.y"
5191 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5194 #line 1276 "parse.y"
5195 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5198 #line 1278 "parse.y"
5199 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5202 #line 1280 "parse.y"
5203 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5206 #line 1282 "parse.y"
5207 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5210 #line 1284 "parse.y"
5211 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5212 if (yyval
.ttype
!= error_mark_node
)
5213 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5216 #line 1288 "parse.y"
5217 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5220 #line 1290 "parse.y"
5221 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5224 #line 1292 "parse.y"
5225 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5228 #line 1310 "parse.y"
5229 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5232 #line 1312 "parse.y"
5233 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5236 #line 1321 "parse.y"
5238 /* If lastiddecl is a TREE_LIST, it's a baselink, which
5239 means that we're in an expression like S::f<int>, so
5240 don't do_identifier; we only do that for unqualified
5242 if (lastiddecl
&& TREE_CODE (lastiddecl
) != TREE_LIST
)
5243 yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1, NULL_TREE
);
5245 yyval
.ttype
= yyvsp
[-1].ttype
;
5249 #line 1334 "parse.y"
5250 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5253 #line 1336 "parse.y"
5254 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5257 #line 1341 "parse.y"
5258 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5261 #line 1343 "parse.y"
5262 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5265 #line 1346 "parse.y"
5266 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5269 #line 1358 "parse.y"
5271 /* Provide support for '(' attributes '*' declarator ')'
5273 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
5277 #line 1368 "parse.y"
5278 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5281 #line 1370 "parse.y"
5282 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5285 #line 1372 "parse.y"
5286 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5289 #line 1377 "parse.y"
5290 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5293 #line 1379 "parse.y"
5294 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5297 #line 1389 "parse.y"
5298 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5301 #line 1394 "parse.y"
5303 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
5304 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
5306 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
5310 #line 1403 "parse.y"
5312 if (processing_template_decl
)
5313 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5314 yyval
.ttype
= combine_strings (yyval
.ttype
);
5315 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5316 a const array the way we want, so fix it. */
5317 if (flag_const_strings
)
5318 TREE_TYPE (yyval
.ttype
) = build_cplus_array_type
5319 (TREE_TYPE (TREE_TYPE (yyval
.ttype
)),
5320 TYPE_DOMAIN (TREE_TYPE (yyval
.ttype
)));
5321 if (processing_template_decl
)
5326 #line 1417 "parse.y"
5327 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5330 #line 1419 "parse.y"
5331 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5332 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5335 #line 1422 "parse.y"
5336 { yyval
.ttype
= error_mark_node
; ;
5339 #line 1424 "parse.y"
5340 { tree scope
= current_scope ();
5341 if (!scope
|| TREE_CODE (scope
) != FUNCTION_DECL
)
5343 error ("braced-group within expression allowed only inside a function");
5347 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5348 yyval
.ttype
= begin_stmt_expr ();
5352 #line 1435 "parse.y"
5353 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5356 #line 1440 "parse.y"
5357 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
5360 #line 1442 "parse.y"
5361 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 1); ;
5364 #line 1444 "parse.y"
5365 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 0); ;
5368 #line 1446 "parse.y"
5369 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 0); ;
5372 #line 1448 "parse.y"
5373 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5376 #line 1450 "parse.y"
5377 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5380 #line 1452 "parse.y"
5381 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5384 #line 1455 "parse.y"
5385 { yyval
.ttype
= finish_this_expr (); ;
5388 #line 1457 "parse.y"
5390 /* This is a C cast in C++'s `functional' notation
5391 using the "implicit int" extension so that:
5392 `const (3)' is equivalent to `const int (3)'. */
5395 if (yyvsp
[-1].ttype
== error_mark_node
)
5397 yyval
.ttype
= error_mark_node
;
5401 type
= cp_build_qualified_type (integer_type_node
,
5402 cp_type_qual_from_rid (yyvsp
[-3].ttype
));
5403 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5407 #line 1475 "parse.y"
5408 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5409 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5410 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5413 #line 1479 "parse.y"
5414 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5415 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5416 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5419 #line 1483 "parse.y"
5420 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5421 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5422 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5425 #line 1487 "parse.y"
5426 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5427 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5428 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5431 #line 1491 "parse.y"
5432 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5435 #line 1493 "parse.y"
5436 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5437 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5438 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5441 #line 1497 "parse.y"
5442 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5445 #line 1499 "parse.y"
5446 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5449 #line 1501 "parse.y"
5451 got_scope
= NULL_TREE
;
5452 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5453 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5455 yyval
.ttype
= yyvsp
[0].ttype
;
5459 #line 1509 "parse.y"
5460 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5463 #line 1511 "parse.y"
5464 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5467 #line 1513 "parse.y"
5468 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5471 #line 1515 "parse.y"
5473 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5477 #line 1519 "parse.y"
5478 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5481 #line 1521 "parse.y"
5482 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5485 #line 1523 "parse.y"
5486 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5489 #line 1525 "parse.y"
5490 { if (processing_template_decl
)
5491 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5493 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5496 #line 1530 "parse.y"
5497 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5500 #line 1532 "parse.y"
5501 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5504 #line 1534 "parse.y"
5505 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5508 #line 1536 "parse.y"
5509 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5512 #line 1539 "parse.y"
5513 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5516 #line 1541 "parse.y"
5517 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5520 #line 1543 "parse.y"
5522 yyval
.ttype
= error_mark_node
;
5526 #line 1588 "parse.y"
5527 { yyval
.itype
= 0; ;
5530 #line 1590 "parse.y"
5531 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5534 #line 1595 "parse.y"
5535 { yyval
.itype
= 0; ;
5538 #line 1597 "parse.y"
5539 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5542 #line 1602 "parse.y"
5543 { yyval
.ttype
= boolean_true_node
; ;
5546 #line 1604 "parse.y"
5547 { yyval
.ttype
= boolean_false_node
; ;
5550 #line 1611 "parse.y"
5551 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5554 #line 1616 "parse.y"
5556 if (! current_function_parms_stored
)
5557 store_parm_decls ();
5559 /* Always keep the BLOCK node associated with the outermost
5560 pair of curley braces of a function. These are needed
5561 for correct operation of dwarfout.c. */
5566 #line 1629 "parse.y"
5567 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5570 #line 1631 "parse.y"
5572 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5573 got_object
= TREE_TYPE (yyval
.ttype
);
5577 #line 1639 "parse.y"
5579 resume_momentary (yyvsp
[-1].itype
);
5580 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5581 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5585 #line 1645 "parse.y"
5587 resume_momentary (yyvsp
[-1].itype
);
5588 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5592 #line 1650 "parse.y"
5593 { resume_momentary (yyvsp
[-1].itype
); ;
5596 #line 1652 "parse.y"
5598 shadow_tag (yyvsp
[-1].ftype
.t
);
5599 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5603 #line 1657 "parse.y"
5604 { warning ("empty declaration"); ;
5607 #line 1659 "parse.y"
5608 { pedantic
= yyvsp
[-1].itype
; ;
5611 #line 1673 "parse.y"
5612 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5613 NULL_TREE
, NULL_TREE
); ;
5616 #line 1676 "parse.y"
5617 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5621 #line 1683 "parse.y"
5622 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5623 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5626 #line 1686 "parse.y"
5627 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5628 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5631 #line 1689 "parse.y"
5632 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5633 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5636 #line 1692 "parse.y"
5637 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5638 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5641 #line 1695 "parse.y"
5642 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5643 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5646 #line 1711 "parse.y"
5647 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5648 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5651 #line 1714 "parse.y"
5652 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5653 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5656 #line 1717 "parse.y"
5657 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5658 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5661 #line 1720 "parse.y"
5662 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5663 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5666 #line 1723 "parse.y"
5667 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5668 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5671 #line 1726 "parse.y"
5672 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5673 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5674 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5677 #line 1733 "parse.y"
5678 { if (extra_warnings
)
5679 warning ("`%s' is not at beginning of declaration",
5680 IDENTIFIER_POINTER (yyval
.ttype
));
5681 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5684 #line 1738 "parse.y"
5685 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5688 #line 1740 "parse.y"
5689 { if (extra_warnings
)
5690 warning ("`%s' is not at beginning of declaration",
5691 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5692 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5695 #line 1745 "parse.y"
5696 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5699 #line 1747 "parse.y"
5700 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5703 #line 1757 "parse.y"
5704 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5707 #line 1759 "parse.y"
5708 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5711 #line 1761 "parse.y"
5712 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5713 TREE_STATIC (yyval
.ttype
) = 1; ;
5716 #line 1764 "parse.y"
5717 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5718 warning ("`%s' is not at beginning of declaration",
5719 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5720 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5721 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5724 #line 1770 "parse.y"
5725 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5728 #line 1772 "parse.y"
5729 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5732 #line 1783 "parse.y"
5733 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5734 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5737 #line 1786 "parse.y"
5738 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5739 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5742 #line 1789 "parse.y"
5743 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5744 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5747 #line 1792 "parse.y"
5748 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5749 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5752 #line 1798 "parse.y"
5753 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5756 #line 1800 "parse.y"
5757 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5760 #line 1810 "parse.y"
5761 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5764 #line 1812 "parse.y"
5765 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5768 #line 1814 "parse.y"
5769 { yyval
.ftype
.t
= finish_typeof (yyvsp
[-1].ttype
);
5770 yyval
.ftype
.new_type_flag
= 0; ;
5773 #line 1817 "parse.y"
5774 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5775 yyval
.ftype
.new_type_flag
= 0; ;
5778 #line 1820 "parse.y"
5779 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5781 yyval
.ftype
.new_type_flag
= 0;
5782 if (IS_AGGR_TYPE (type
))
5784 sorry ("sigof type specifier");
5785 yyval
.ftype
.t
= type
;
5789 error ("`sigof' applied to non-aggregate expression");
5790 yyval
.ftype
.t
= error_mark_node
;
5795 #line 1835 "parse.y"
5796 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5798 yyval
.ftype
.new_type_flag
= 0;
5799 if (IS_AGGR_TYPE (type
))
5801 sorry ("sigof type specifier");
5802 yyval
.ftype
.t
= type
;
5806 error("`sigof' applied to non-aggregate type");
5807 yyval
.ftype
.t
= error_mark_node
;
5812 #line 1855 "parse.y"
5813 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5816 #line 1857 "parse.y"
5817 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5820 #line 1864 "parse.y"
5821 { check_multiple_declarators (); ;
5824 #line 1870 "parse.y"
5825 { check_multiple_declarators (); ;
5828 #line 1876 "parse.y"
5829 { check_multiple_declarators (); ;
5832 #line 1881 "parse.y"
5833 { yyval
.ttype
= NULL_TREE
; ;
5836 #line 1883 "parse.y"
5837 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5840 #line 1888 "parse.y"
5841 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
5842 yyvsp
[-1].ttype
, prefix_attributes
); ;
5845 #line 1892 "parse.y"
5846 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5849 #line 1894 "parse.y"
5850 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
5851 yyvsp
[0].ttype
, prefix_attributes
);
5852 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5855 #line 1907 "parse.y"
5856 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
5857 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
5860 #line 1912 "parse.y"
5861 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1,
5862 LOOKUP_ONLYCONVERTING
);
5863 yyval
.itype
= yyvsp
[-2].itype
; ;
5866 #line 1916 "parse.y"
5868 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
5869 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5872 #line 1923 "parse.y"
5873 { yyval
.itype
= yyvsp
[0].itype
; ;
5876 #line 1927 "parse.y"
5877 { yyval
.itype
= yyvsp
[0].itype
; ;
5880 #line 1932 "parse.y"
5881 { /* Set things up as initdcl0_innards expects. */
5882 yyvsp
[0].ttype
= yyvsp
[-1].ttype
;
5883 yyvsp
[-1].ttype
= NULL_TREE
; ;
5886 #line 1936 "parse.y"
5890 #line 1938 "parse.y"
5892 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
5893 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5896 #line 1947 "parse.y"
5897 { yyval
.ttype
= NULL_TREE
; ;
5900 #line 1949 "parse.y"
5901 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5904 #line 1954 "parse.y"
5905 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5908 #line 1956 "parse.y"
5909 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5912 #line 1961 "parse.y"
5913 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5916 #line 1966 "parse.y"
5917 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5920 #line 1968 "parse.y"
5921 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5924 #line 1973 "parse.y"
5925 { yyval
.ttype
= NULL_TREE
; ;
5928 #line 1975 "parse.y"
5929 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5932 #line 1977 "parse.y"
5933 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5936 #line 1979 "parse.y"
5937 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5940 #line 1981 "parse.y"
5941 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5944 #line 1997 "parse.y"
5945 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5948 #line 1999 "parse.y"
5949 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5952 #line 2004 "parse.y"
5953 { yyval
.ttype
= NULL_TREE
; ;
5956 #line 2006 "parse.y"
5957 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5960 #line 2014 "parse.y"
5961 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5962 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5965 #line 2017 "parse.y"
5966 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
5967 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5970 #line 2020 "parse.y"
5971 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
5972 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5975 #line 2023 "parse.y"
5976 { yyval
.ttype
= NULL_TREE
; ;
5979 #line 2030 "parse.y"
5980 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5983 #line 2032 "parse.y"
5984 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5987 #line 2035 "parse.y"
5988 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5991 #line 2037 "parse.y"
5992 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
5995 #line 2039 "parse.y"
5996 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5999 #line 2044 "parse.y"
6000 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
6002 reinit_parse_for_function (); ;
6005 #line 2050 "parse.y"
6007 int nested
= (hack_decl_function_context
6008 (current_function_decl
) != NULL_TREE
);
6009 finish_function (lineno
, (int)yyvsp
[-1].itype
| 2, nested
);
6010 process_next_inline (yyvsp
[-3].ttype
);
6014 #line 2057 "parse.y"
6016 int nested
= (hack_decl_function_context
6017 (current_function_decl
) != NULL_TREE
);
6018 finish_function (lineno
, (int)yyvsp
[0].itype
| 2, nested
);
6019 process_next_inline (yyvsp
[-2].ttype
);
6023 #line 2064 "parse.y"
6024 { process_next_inline (yyvsp
[-2].ttype
); ;
6027 #line 2076 "parse.y"
6028 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6031 #line 2078 "parse.y"
6032 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6035 #line 2083 "parse.y"
6036 { do_pending_defargs (); ;
6039 #line 2085 "parse.y"
6040 { do_pending_defargs (); ;
6043 #line 2090 "parse.y"
6044 { yyvsp
[0].itype
= suspend_momentary ();
6045 yyval
.ttype
= current_enum_type
;
6046 current_enum_type
= start_enum (yyvsp
[-1].ttype
); ;
6049 #line 2094 "parse.y"
6050 { TYPE_VALUES (current_enum_type
) = yyvsp
[-2].ttype
;
6051 yyval
.ftype
.t
= finish_enum (current_enum_type
);
6052 yyval
.ftype
.new_type_flag
= 1;
6053 current_enum_type
= yyvsp
[-3].ttype
;
6054 resume_momentary ((int) yyvsp
[-4].itype
);
6055 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6058 #line 2101 "parse.y"
6059 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
));
6060 yyval
.ftype
.new_type_flag
= 1;
6061 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6064 #line 2105 "parse.y"
6065 { yyvsp
[0].itype
= suspend_momentary ();
6066 yyval
.ttype
= current_enum_type
;
6067 current_enum_type
= start_enum (make_anon_name ()); ;
6070 #line 2109 "parse.y"
6071 { TYPE_VALUES (current_enum_type
) = yyvsp
[-2].ttype
;
6072 yyval
.ftype
.t
= finish_enum (current_enum_type
);
6073 yyval
.ftype
.new_type_flag
= 1;
6074 current_enum_type
= yyvsp
[-3].ttype
;
6075 resume_momentary ((int) yyvsp
[-5].itype
);
6076 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6079 #line 2116 "parse.y"
6080 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()));
6081 yyval
.ftype
.new_type_flag
= 1;
6082 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6085 #line 2120 "parse.y"
6086 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6087 yyval
.ftype
.new_type_flag
= 0; ;
6090 #line 2123 "parse.y"
6091 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6092 yyval
.ftype
.new_type_flag
= 0; ;
6095 #line 2126 "parse.y"
6096 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6097 yyval
.ftype
.new_type_flag
= 0;
6098 if (!processing_template_decl
)
6099 cp_pedwarn ("using `typename' outside of template"); ;
6102 #line 2133 "parse.y"
6106 if (yychar
== YYEMPTY
)
6108 semi
= yychar
== ';';
6110 yyval
.ttype
= finish_class_definition (yyvsp
[-4].ttype
, yyvsp
[0].ttype
, semi
);
6114 #line 2143 "parse.y"
6115 { finish_default_args (); ;
6118 #line 2145 "parse.y"
6119 { yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6120 yyval
.ftype
.new_type_flag
= 1;
6121 begin_inline_definitions (); ;
6124 #line 2149 "parse.y"
6126 yyval
.ftype
.new_type_flag
= 0;
6127 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
6129 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
6130 yyval
.ftype
.t
= error_mark_node
;
6134 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6135 /* struct B: public A; is not accepted by the WP grammar. */
6136 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6137 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6138 cp_error ("base clause without member specification for `%#T'",
6144 #line 2176 "parse.y"
6145 { if (pedantic
&& !in_system_header
)
6146 pedwarn ("comma at end of enumerator list"); ;
6149 #line 2183 "parse.y"
6150 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6153 #line 2185 "parse.y"
6154 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6157 #line 2187 "parse.y"
6158 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6161 #line 2189 "parse.y"
6162 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6165 #line 2191 "parse.y"
6166 { yyval
.ttype
= build_decl_list (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6169 #line 2196 "parse.y"
6171 current_aggr
= yyvsp
[-1].ttype
;
6172 yyval
.ttype
= yyvsp
[0].ttype
;
6176 #line 2204 "parse.y"
6177 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6180 #line 2206 "parse.y"
6181 { yyungetc ('{', 1); ;
6184 #line 2208 "parse.y"
6185 { yyungetc (':', 1); ;
6188 #line 2213 "parse.y"
6190 current_aggr
= yyvsp
[-2].ttype
;
6191 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6195 #line 2218 "parse.y"
6197 current_aggr
= yyvsp
[-3].ttype
;
6198 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6202 #line 2223 "parse.y"
6204 current_aggr
= yyvsp
[-2].ttype
;
6205 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6209 #line 2228 "parse.y"
6210 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6213 #line 2230 "parse.y"
6214 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6217 #line 2235 "parse.y"
6218 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 1); ;
6221 #line 2237 "parse.y"
6222 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 0); ;
6225 #line 2241 "parse.y"
6227 yyval
.ttype
= yyvsp
[-1].ttype
;
6229 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6233 #line 2247 "parse.y"
6235 if (yyvsp
[0].ttype
!= error_mark_node
)
6236 push_scope (CP_DECL_CONTEXT (yyvsp
[0].ttype
));
6240 #line 2252 "parse.y"
6242 if (yyvsp
[-2].ttype
!= error_mark_node
)
6244 pop_scope (CP_DECL_CONTEXT (yyvsp
[-2].ttype
));
6245 yyval
.ttype
= TREE_TYPE (yyvsp
[-2].ttype
);
6246 if (current_aggr
== union_type_node
6247 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
6248 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
6249 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
6250 && current_aggr
!= union_type_node
)
6251 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
6252 else if (TREE_CODE (yyval
.ttype
) == RECORD_TYPE
)
6253 /* We might be specializing a template with a different
6255 CLASSTYPE_DECLARED_CLASS (yyval
.ttype
) = (current_aggr
6256 == class_type_node
);
6259 maybe_process_partial_specialization (yyval
.ttype
);
6260 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6266 #line 2279 "parse.y"
6267 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), 0);
6268 yyungetc ('{', 1); ;
6271 #line 2290 "parse.y"
6272 { yyval
.ttype
= NULL_TREE
; ;
6275 #line 2292 "parse.y"
6276 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6279 #line 2294 "parse.y"
6280 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6283 #line 2300 "parse.y"
6284 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6287 #line 2305 "parse.y"
6288 { yyval
.ttype
= finish_base_specifier (access_default_node
, yyvsp
[0].ttype
,
6290 == signature_type_node
); ;
6293 #line 2309 "parse.y"
6294 { yyval
.ttype
= finish_base_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
,
6296 == signature_type_node
); ;
6299 #line 2316 "parse.y"
6300 { if (yyval
.ttype
!= error_mark_node
) yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6303 #line 2319 "parse.y"
6305 if (current_aggr
== signature_type_node
)
6307 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6309 sorry ("`sigof' as base signature specifier");
6310 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6314 error ("`sigof' applied to non-aggregate expression");
6315 yyval
.ttype
= error_mark_node
;
6320 error ("`sigof' in struct or class declaration");
6321 yyval
.ttype
= error_mark_node
;
6326 #line 2340 "parse.y"
6328 if (current_aggr
== signature_type_node
)
6330 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6332 sorry ("`sigof' as base signature specifier");
6333 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6337 error ("`sigof' applied to non-aggregate expression");
6338 yyval
.ttype
= error_mark_node
;
6343 error ("`sigof' in struct or class declaration");
6344 yyval
.ttype
= error_mark_node
;
6349 #line 2365 "parse.y"
6350 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6351 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6352 yyval
.ttype
= access_default_virtual_node
; ;
6355 #line 2369 "parse.y"
6357 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6358 error ("multiple access specifiers");
6359 else if (yyvsp
[-1].ttype
== access_public_node
)
6360 yyval
.ttype
= access_public_virtual_node
;
6361 else if (yyvsp
[-1].ttype
== access_protected_node
)
6362 yyval
.ttype
= access_protected_virtual_node
;
6363 else /* $2 == access_private_node */
6364 yyval
.ttype
= access_private_virtual_node
;
6368 #line 2380 "parse.y"
6369 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6370 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6371 else if (yyval
.ttype
== access_public_node
)
6372 yyval
.ttype
= access_public_virtual_node
;
6373 else if (yyval
.ttype
== access_protected_node
)
6374 yyval
.ttype
= access_protected_virtual_node
;
6375 else if (yyval
.ttype
== access_private_node
)
6376 yyval
.ttype
= access_private_virtual_node
;
6378 error ("multiple `virtual' specifiers");
6382 #line 2395 "parse.y"
6383 { yyvsp
[-1].ttype
= begin_class_definition (yyvsp
[-1].ttype
); ;
6386 #line 2406 "parse.y"
6388 if (current_aggr
== signature_type_node
)
6390 error ("access specifier not allowed in signature");
6391 yyvsp
[-1].ttype
= access_public_node
;
6394 current_access_specifier
= yyvsp
[-1].ttype
;
6398 #line 2421 "parse.y"
6400 finish_member_declaration (yyvsp
[0].ttype
);
6404 #line 2425 "parse.y"
6406 finish_member_declaration (yyvsp
[0].ttype
);
6410 #line 2433 "parse.y"
6411 { error ("missing ';' before right brace");
6412 yyungetc ('}', 0); ;
6415 #line 2438 "parse.y"
6416 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6419 #line 2440 "parse.y"
6420 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6423 #line 2442 "parse.y"
6424 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6427 #line 2444 "parse.y"
6428 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6431 #line 2446 "parse.y"
6432 { yyval
.ttype
= NULL_TREE
; ;
6435 #line 2448 "parse.y"
6436 { yyval
.ttype
= yyvsp
[0].ttype
;
6437 pedantic
= yyvsp
[-1].itype
; ;
6440 #line 2451 "parse.y"
6443 yyval
.ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6445 /* The component was already processed. */
6446 yyval
.ttype
= NULL_TREE
;
6448 finish_template_decl (yyvsp
[-1].ttype
);
6452 #line 2461 "parse.y"
6454 yyval
.ttype
= finish_member_class_template (yyvsp
[-1].ftype
.t
);
6455 finish_template_decl (yyvsp
[-2].ttype
);
6459 #line 2472 "parse.y"
6461 /* Most of the productions for component_decl only
6462 allow the creation of one new member, so we call
6463 finish_member_declaration in component_decl_list.
6464 For this rule and the next, however, there can be
6465 more than one member, e.g.:
6469 and we need the first member to be fully
6470 registered before the second is processed.
6471 Therefore, the rules for components take care of
6472 this processing. To avoid registering the
6473 components more than once, we send NULL_TREE up
6474 here; that lets finish_member_declaration now
6475 that there is nothing to do. */
6476 if (!yyvsp
[0].itype
)
6477 grok_x_components (yyvsp
[-1].ftype
.t
);
6478 yyval
.ttype
= NULL_TREE
;
6482 #line 2493 "parse.y"
6484 if (!yyvsp
[0].itype
)
6485 grok_x_components (yyvsp
[-1].ttype
);
6486 yyval
.ttype
= NULL_TREE
;
6490 #line 2499 "parse.y"
6491 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6492 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6495 #line 2502 "parse.y"
6496 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6497 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6500 #line 2505 "parse.y"
6501 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6504 #line 2507 "parse.y"
6505 { yyval
.ttype
= NULL_TREE
; ;
6508 #line 2518 "parse.y"
6509 { tree specs
, attrs
;
6510 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6511 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6512 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6515 #line 2523 "parse.y"
6516 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6517 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6520 #line 2526 "parse.y"
6521 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6524 #line 2532 "parse.y"
6525 { yyval
.itype
= 0; ;
6528 #line 2534 "parse.y"
6530 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6531 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6532 finish_member_declaration (yyvsp
[0].ttype
);
6537 #line 2541 "parse.y"
6539 check_multiple_declarators ();
6540 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6541 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6542 finish_member_declaration (yyvsp
[0].ttype
);
6547 #line 2552 "parse.y"
6548 { yyval
.itype
= 0; ;
6551 #line 2554 "parse.y"
6553 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6554 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6555 finish_member_declaration (yyvsp
[0].ttype
);
6560 #line 2561 "parse.y"
6562 check_multiple_declarators ();
6563 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6564 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6565 finish_member_declaration (yyvsp
[0].ttype
);
6570 #line 2582 "parse.y"
6571 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6572 &prefix_attributes
);
6573 yyvsp
[-4].ttype
= current_declspecs
;
6574 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6575 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6578 #line 2588 "parse.y"
6579 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6580 &prefix_attributes
);
6581 yyvsp
[-4].ttype
= current_declspecs
;
6582 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6583 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6586 #line 2597 "parse.y"
6587 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6588 &prefix_attributes
);
6589 yyvsp
[-4].ttype
= current_declspecs
;
6590 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6591 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6594 #line 2603 "parse.y"
6595 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6596 &prefix_attributes
);
6597 yyvsp
[-4].ttype
= current_declspecs
;
6598 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6599 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6602 #line 2609 "parse.y"
6603 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6604 &prefix_attributes
);
6605 yyvsp
[-4].ttype
= current_declspecs
;
6606 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6607 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6610 #line 2615 "parse.y"
6611 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6612 &prefix_attributes
);
6613 yyvsp
[-3].ttype
= current_declspecs
;
6614 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6615 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6618 #line 2624 "parse.y"
6619 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6620 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6623 #line 2627 "parse.y"
6624 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6625 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6628 #line 2633 "parse.y"
6629 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6630 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6633 #line 2636 "parse.y"
6634 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6635 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6638 #line 2639 "parse.y"
6639 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6640 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6643 #line 2650 "parse.y"
6644 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6647 #line 2655 "parse.y"
6648 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
, current_enum_type
); ;
6651 #line 2657 "parse.y"
6652 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
, current_enum_type
); ;
6655 #line 2663 "parse.y"
6656 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6657 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6660 #line 2666 "parse.y"
6661 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6662 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6665 #line 2673 "parse.y"
6668 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6669 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6670 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6671 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6675 #line 2684 "parse.y"
6676 { yyval
.ttype
= NULL_TREE
; ;
6679 #line 2686 "parse.y"
6680 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6683 #line 2691 "parse.y"
6684 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6685 yyval
.ftype
.new_type_flag
= 0; ;
6688 #line 2694 "parse.y"
6689 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6690 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6693 #line 2703 "parse.y"
6694 { yyval
.itype
= suspend_momentary (); ;
6697 #line 2708 "parse.y"
6698 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6701 #line 2714 "parse.y"
6702 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6705 #line 2716 "parse.y"
6706 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6709 #line 2718 "parse.y"
6710 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6713 #line 2720 "parse.y"
6714 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6717 #line 2727 "parse.y"
6718 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6721 #line 2729 "parse.y"
6722 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6725 #line 2731 "parse.y"
6726 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6729 #line 2733 "parse.y"
6730 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6733 #line 2735 "parse.y"
6734 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6735 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6739 #line 2743 "parse.y"
6741 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6743 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6744 if (current_class_type
6745 && TYPE_BEING_DEFINED (current_class_type
)
6746 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6748 /* Remember that this name has been used in the class
6749 definition, as per [class.scope0] */
6750 pushdecl_class_level (yyval
.ttype
);
6754 yyval
.ttype
= yyvsp
[0].ttype
;
6758 #line 2760 "parse.y"
6760 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6761 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6763 yyval
.ttype
= yyvsp
[0].ttype
;
6764 got_scope
= NULL_TREE
;
6768 #line 2773 "parse.y"
6769 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6772 #line 2778 "parse.y"
6773 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6776 #line 2783 "parse.y"
6777 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6780 #line 2785 "parse.y"
6781 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6784 #line 2787 "parse.y"
6785 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6788 #line 2789 "parse.y"
6789 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6792 #line 2791 "parse.y"
6793 { push_nested_class (yyvsp
[-1].ttype
, 3);
6794 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6795 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6798 #line 2803 "parse.y"
6800 /* Provide support for '(' attributes '*' declarator ')'
6802 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
6806 #line 2812 "parse.y"
6807 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6810 #line 2814 "parse.y"
6811 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6814 #line 2816 "parse.y"
6815 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6818 #line 2818 "parse.y"
6819 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6822 #line 2820 "parse.y"
6823 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6824 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6828 #line 2828 "parse.y"
6829 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6832 #line 2830 "parse.y"
6833 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6836 #line 2832 "parse.y"
6837 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6840 #line 2834 "parse.y"
6841 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6844 #line 2836 "parse.y"
6845 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6846 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6850 #line 2844 "parse.y"
6851 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6854 #line 2846 "parse.y"
6855 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6858 #line 2848 "parse.y"
6859 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6862 #line 2850 "parse.y"
6863 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6866 #line 2852 "parse.y"
6867 { enter_scope_of (yyvsp
[0].ttype
); ;
6870 #line 2854 "parse.y"
6871 { got_scope
= NULL_TREE
;
6872 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6873 enter_scope_of (yyval
.ttype
);
6877 #line 2862 "parse.y"
6878 { got_scope
= NULL_TREE
;
6879 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6882 #line 2865 "parse.y"
6883 { got_scope
= NULL_TREE
;
6884 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6887 #line 2871 "parse.y"
6888 { got_scope
= NULL_TREE
;
6889 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6892 #line 2874 "parse.y"
6893 { got_scope
= NULL_TREE
;
6894 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6897 #line 2881 "parse.y"
6898 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6901 #line 2886 "parse.y"
6902 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6905 #line 2888 "parse.y"
6906 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6909 #line 2890 "parse.y"
6910 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6913 #line 2901 "parse.y"
6914 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6917 #line 2903 "parse.y"
6918 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6921 #line 2910 "parse.y"
6923 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6925 yyval
.ttype
= lastiddecl
;
6926 /* Remember that this name has been used in the class
6927 definition, as per [class.scope0] */
6928 if (current_class_type
6929 && TYPE_BEING_DEFINED (current_class_type
)
6930 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
6931 pushdecl_class_level (yyval
.ttype
);
6933 got_scope
= yyval
.ttype
= TYPE_MAIN_VARIANT (TREE_TYPE (yyval
.ttype
));
6937 #line 2924 "parse.y"
6939 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6940 yyval
.ttype
= lastiddecl
;
6941 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6945 #line 2930 "parse.y"
6947 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6948 yyval
.ttype
= lastiddecl
;
6949 got_scope
= yyval
.ttype
;
6953 #line 2936 "parse.y"
6954 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
6957 #line 2952 "parse.y"
6958 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6961 #line 2957 "parse.y"
6963 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6964 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6965 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6966 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6969 yyval
.ttype
= yyvsp
[0].ttype
;
6970 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6971 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6976 #line 2970 "parse.y"
6977 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
6980 #line 2972 "parse.y"
6981 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6984 #line 2974 "parse.y"
6985 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6988 #line 2979 "parse.y"
6990 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6991 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6995 #line 2984 "parse.y"
6997 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6998 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6999 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7000 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7003 yyval
.ttype
= yyvsp
[0].ttype
;
7004 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7005 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7010 #line 2997 "parse.y"
7011 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
7014 #line 2999 "parse.y"
7015 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7018 #line 3004 "parse.y"
7020 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7021 yyvsp
[-1].ttype
= lastiddecl
;
7023 /* Retrieve the type for the identifier, which might involve
7024 some computation. */
7025 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
7027 if (yyval
.ttype
== error_mark_node
)
7028 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
7032 #line 3016 "parse.y"
7034 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7035 yyval
.ttype
= lastiddecl
;
7036 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7040 #line 3022 "parse.y"
7041 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7044 #line 3026 "parse.y"
7046 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7047 yyval
.ttype
= lastiddecl
;
7048 got_scope
= yyval
.ttype
;
7052 #line 3035 "parse.y"
7053 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7056 #line 3040 "parse.y"
7058 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7059 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7061 yyval
.ttype
= yyvsp
[0].ttype
;
7062 got_scope
= NULL_TREE
;
7066 #line 3049 "parse.y"
7067 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7070 #line 3054 "parse.y"
7071 { got_scope
= NULL_TREE
; ;
7074 #line 3056 "parse.y"
7075 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7078 #line 3063 "parse.y"
7079 { got_scope
= void_type_node
; ;
7082 #line 3069 "parse.y"
7083 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7086 #line 3071 "parse.y"
7087 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7090 #line 3073 "parse.y"
7091 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7094 #line 3075 "parse.y"
7095 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7098 #line 3077 "parse.y"
7099 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7100 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7104 #line 3081 "parse.y"
7105 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7106 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7110 #line 3090 "parse.y"
7111 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7114 #line 3092 "parse.y"
7115 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7118 #line 3098 "parse.y"
7119 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7122 #line 3100 "parse.y"
7123 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7126 #line 3102 "parse.y"
7127 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7130 #line 3104 "parse.y"
7131 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7134 #line 3106 "parse.y"
7135 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7138 #line 3108 "parse.y"
7139 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7142 #line 3110 "parse.y"
7143 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7146 #line 3112 "parse.y"
7147 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7150 #line 3114 "parse.y"
7151 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7152 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7156 #line 3118 "parse.y"
7157 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7158 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7162 #line 3127 "parse.y"
7163 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7166 #line 3131 "parse.y"
7167 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7170 #line 3133 "parse.y"
7171 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7174 #line 3135 "parse.y"
7175 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7178 #line 3137 "parse.y"
7179 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7182 #line 3139 "parse.y"
7183 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7186 #line 3141 "parse.y"
7187 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7190 #line 3143 "parse.y"
7191 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7194 #line 3145 "parse.y"
7195 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7198 #line 3147 "parse.y"
7199 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7202 #line 3170 "parse.y"
7204 pedwarn ("ANSI C++ forbids label declarations"); ;
7207 #line 3181 "parse.y"
7209 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7211 tree label
= shadow_label (TREE_VALUE (link
));
7212 C_DECLARED_LABEL_FLAG (label
) = 1;
7213 declare_nonlocal_label (label
);
7218 #line 3195 "parse.y"
7222 #line 3201 "parse.y"
7223 { yyval
.ttype
= begin_compound_stmt (0); ;
7226 #line 3203 "parse.y"
7227 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7230 #line 3208 "parse.y"
7232 yyval
.ttype
= begin_if_stmt ();
7233 cond_stmt_keyword
= "if";
7237 #line 3213 "parse.y"
7238 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7241 #line 3215 "parse.y"
7242 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7245 #line 3220 "parse.y"
7246 { yyval
.ttype
= begin_compound_stmt (0); ;
7249 #line 3222 "parse.y"
7250 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7253 #line 3227 "parse.y"
7257 #line 3233 "parse.y"
7261 #line 3235 "parse.y"
7262 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7265 #line 3237 "parse.y"
7266 { begin_else_clause (); ;
7269 #line 3239 "parse.y"
7271 finish_else_clause (yyvsp
[-3].ttype
);
7276 #line 3244 "parse.y"
7277 { finish_if_stmt (); ;
7280 #line 3246 "parse.y"
7282 yyval
.ttype
= begin_while_stmt ();
7283 cond_stmt_keyword
= "while";
7287 #line 3251 "parse.y"
7288 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7291 #line 3253 "parse.y"
7292 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7295 #line 3255 "parse.y"
7296 { yyval
.ttype
= begin_do_stmt (); ;
7299 #line 3257 "parse.y"
7301 finish_do_body (yyvsp
[-2].ttype
);
7302 cond_stmt_keyword
= "do";
7306 #line 3262 "parse.y"
7307 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7310 #line 3264 "parse.y"
7311 { yyval
.ttype
= begin_for_stmt (); ;
7314 #line 3266 "parse.y"
7315 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7318 #line 3268 "parse.y"
7319 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7322 #line 3270 "parse.y"
7323 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7326 #line 3272 "parse.y"
7327 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7330 #line 3274 "parse.y"
7331 { begin_switch_stmt (); ;
7334 #line 3276 "parse.y"
7335 { yyval
.ttype
= finish_switch_cond (yyvsp
[-1].ttype
); ;
7338 #line 3278 "parse.y"
7339 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7342 #line 3280 "parse.y"
7343 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7346 #line 3283 "parse.y"
7347 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7350 #line 3286 "parse.y"
7351 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7354 #line 3289 "parse.y"
7355 { finish_break_stmt (); ;
7358 #line 3291 "parse.y"
7359 { finish_continue_stmt (); ;
7362 #line 3293 "parse.y"
7363 { finish_return_stmt (NULL_TREE
); ;
7366 #line 3295 "parse.y"
7367 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7370 #line 3297 "parse.y"
7372 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7377 #line 3303 "parse.y"
7379 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7384 #line 3309 "parse.y"
7385 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7388 #line 3313 "parse.y"
7389 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7392 #line 3315 "parse.y"
7395 pedwarn ("ANSI C++ forbids computed gotos");
7396 finish_goto_stmt (yyvsp
[-1].ttype
);
7400 #line 3321 "parse.y"
7401 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7404 #line 3323 "parse.y"
7408 #line 3325 "parse.y"
7409 { error ("label must be followed by statement");
7414 #line 3329 "parse.y"
7418 #line 3333 "parse.y"
7419 { do_local_using_decl (yyvsp
[0].ttype
); ;
7422 #line 3339 "parse.y"
7424 if (! current_function_parms_stored
)
7425 store_parm_decls ();
7426 expand_start_early_try_stmts ();
7430 #line 3345 "parse.y"
7432 expand_start_all_catch ();
7436 #line 3349 "parse.y"
7438 expand_end_all_catch ();
7439 yyval
.itype
= yyvsp
[-3].itype
;
7443 #line 3357 "parse.y"
7444 { yyval
.ttype
= begin_try_block (); ;
7447 #line 3359 "parse.y"
7448 { finish_try_block (yyvsp
[-1].ttype
); ;
7451 #line 3361 "parse.y"
7452 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7455 #line 3371 "parse.y"
7456 { yyval
.ttype
= begin_handler(); ;
7459 #line 3373 "parse.y"
7460 { finish_handler_parms (yyvsp
[-1].ttype
); ;
7463 #line 3375 "parse.y"
7464 { finish_handler (yyvsp
[-3].ttype
); ;
7467 #line 3385 "parse.y"
7468 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7471 #line 3401 "parse.y"
7472 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7473 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7474 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7477 #line 3408 "parse.y"
7480 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7481 if (label
&& ! minimal_parse_mode
)
7482 expand_label (label
);
7486 #line 3415 "parse.y"
7490 #line 3417 "parse.y"
7494 #line 3419 "parse.y"
7498 #line 3424 "parse.y"
7499 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7502 #line 3427 "parse.y"
7504 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7508 #line 3436 "parse.y"
7509 { emit_line_note (input_filename
, lineno
);
7510 yyval
.ttype
= NULL_TREE
; ;
7513 #line 3439 "parse.y"
7514 { emit_line_note (input_filename
, lineno
); ;
7517 #line 3444 "parse.y"
7518 { yyval
.ttype
= NULL_TREE
; ;
7521 #line 3447 "parse.y"
7522 { yyval
.ttype
= NULL_TREE
; ;
7525 #line 3454 "parse.y"
7526 { yyval
.ttype
= NULL_TREE
; ;
7529 #line 3461 "parse.y"
7530 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7533 #line 3466 "parse.y"
7534 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7537 #line 3471 "parse.y"
7538 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7541 #line 3473 "parse.y"
7542 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7545 #line 3484 "parse.y"
7547 yyval
.ttype
= empty_parms();
7551 #line 3489 "parse.y"
7552 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
7553 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7556 #line 3497 "parse.y"
7557 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7560 #line 3499 "parse.y"
7561 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7564 #line 3502 "parse.y"
7565 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7568 #line 3504 "parse.y"
7569 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7570 yyvsp
[-1].ftype
.t
), 1); ;
7573 #line 3507 "parse.y"
7574 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7577 #line 3509 "parse.y"
7579 /* This helps us recover from really nasty
7580 parse errors, for example, a missing right
7582 yyerror ("possibly missing ')'");
7583 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7589 #line 3519 "parse.y"
7591 /* This helps us recover from really nasty
7592 parse errors, for example, a missing right
7594 yyerror ("possibly missing ')'");
7595 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7596 yyvsp
[-1].ftype
.t
), 0);
7602 #line 3534 "parse.y"
7603 { maybe_snarf_defarg (); ;
7606 #line 3536 "parse.y"
7607 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7610 #line 3547 "parse.y"
7611 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7612 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7615 #line 3550 "parse.y"
7616 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7617 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7620 #line 3553 "parse.y"
7621 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7622 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7625 #line 3556 "parse.y"
7626 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7629 #line 3558 "parse.y"
7630 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7633 #line 3564 "parse.y"
7634 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7635 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7638 #line 3574 "parse.y"
7639 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7640 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7641 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7644 #line 3578 "parse.y"
7645 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7646 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7649 #line 3581 "parse.y"
7650 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
7651 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7654 #line 3584 "parse.y"
7655 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7656 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7657 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7660 #line 3588 "parse.y"
7661 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7662 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7663 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7666 #line 3592 "parse.y"
7667 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7668 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7669 yyval
.ftype
.new_type_flag
= 0; ;
7672 #line 3599 "parse.y"
7673 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7674 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7677 #line 3602 "parse.y"
7678 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7679 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7682 #line 3613 "parse.y"
7683 { see_typename (); ;
7686 #line 3618 "parse.y"
7688 error ("type specifier omitted for parameter");
7689 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7693 #line 3623 "parse.y"
7695 error ("type specifier omitted for parameter");
7696 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7697 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7698 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7699 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7700 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7704 #line 3635 "parse.y"
7705 { yyval
.ttype
= NULL_TREE
; ;
7708 #line 3637 "parse.y"
7709 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7712 #line 3639 "parse.y"
7713 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
7716 #line 3644 "parse.y"
7717 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
7720 #line 3650 "parse.y"
7722 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
7723 yyval
.ttype
= yyvsp
[0].ttype
;
7727 #line 3658 "parse.y"
7728 { yyval
.ttype
= NULL_TREE
; ;
7731 #line 3660 "parse.y"
7732 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7735 #line 3662 "parse.y"
7736 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7739 #line 3664 "parse.y"
7740 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7741 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7745 #line 3671 "parse.y"
7746 { got_scope
= NULL_TREE
; ;
7749 #line 3676 "parse.y"
7750 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
7753 #line 3678 "parse.y"
7754 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
7757 #line 3680 "parse.y"
7758 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
7761 #line 3682 "parse.y"
7762 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
7765 #line 3684 "parse.y"
7766 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
7769 #line 3686 "parse.y"
7770 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
7773 #line 3688 "parse.y"
7774 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
7777 #line 3690 "parse.y"
7778 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
7781 #line 3692 "parse.y"
7782 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
7785 #line 3694 "parse.y"
7786 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
7789 #line 3696 "parse.y"
7790 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7793 #line 3698 "parse.y"
7794 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
7797 #line 3700 "parse.y"
7798 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
7801 #line 3702 "parse.y"
7802 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7805 #line 3704 "parse.y"
7806 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
7809 #line 3706 "parse.y"
7810 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
7813 #line 3708 "parse.y"
7814 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7817 #line 3710 "parse.y"
7818 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7821 #line 3712 "parse.y"
7822 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
7825 #line 3714 "parse.y"
7826 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
7829 #line 3716 "parse.y"
7830 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
7833 #line 3718 "parse.y"
7834 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
7837 #line 3720 "parse.y"
7838 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
7841 #line 3722 "parse.y"
7842 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
7845 #line 3724 "parse.y"
7846 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7849 #line 3726 "parse.y"
7850 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
7853 #line 3728 "parse.y"
7854 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
7857 #line 3730 "parse.y"
7858 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
7861 #line 3732 "parse.y"
7862 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
7865 #line 3734 "parse.y"
7866 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
7869 #line 3736 "parse.y"
7870 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
7873 #line 3738 "parse.y"
7874 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
7877 #line 3740 "parse.y"
7878 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
7881 #line 3743 "parse.y"
7882 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7885 #line 3745 "parse.y"
7886 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
7889 /* the action file gets copied in in place of this dollarsign */
7890 #line 498 "/usr/local/gnu/share/bison.simple"
7901 short *ssp1
= yyss
- 1;
7902 fprintf (stderr
, "state stack now");
7903 while (ssp1
!= yyssp
)
7904 fprintf (stderr
, " %d", *++ssp1
);
7905 fprintf (stderr
, "\n");
7915 yylsp
->first_line
= yylloc
.first_line
;
7916 yylsp
->first_column
= yylloc
.first_column
;
7917 yylsp
->last_line
= (yylsp
-1)->last_line
;
7918 yylsp
->last_column
= (yylsp
-1)->last_column
;
7923 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
7924 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
7928 /* Now "shift" the result of the reduction.
7929 Determine what state that goes to,
7930 based on the state we popped back to
7931 and the rule number reduced by. */
7935 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
7936 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
7937 yystate
= yytable
[yystate
];
7939 yystate
= yydefgoto
[yyn
- YYNTBASE
];
7943 yyerrlab
: /* here on detecting error */
7946 /* If not already recovering from an error, report this error. */
7950 #ifdef YYERROR_VERBOSE
7951 yyn
= yypact
[yystate
];
7953 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
7960 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7961 for (x
= (yyn
< 0 ? -yyn
: 0);
7962 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7963 if (yycheck
[x
+ yyn
] == x
)
7964 size
+= strlen(yytname
[x
]) + 15, count
++;
7965 msg
= (char *) malloc(size
+ 15);
7968 strcpy(msg
, "parse error");
7973 for (x
= (yyn
< 0 ? -yyn
: 0);
7974 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7975 if (yycheck
[x
+ yyn
] == x
)
7977 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
7978 strcat(msg
, yytname
[x
]);
7987 yyerror ("parse error; also virtual memory exceeded");
7990 #endif /* YYERROR_VERBOSE */
7991 yyerror("parse error");
7995 yyerrlab1
: /* here on error raised explicitly by an action */
7997 if (yyerrstatus
== 3)
7999 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8001 /* return failure if at end of input */
8002 if (yychar
== YYEOF
)
8007 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8013 /* Else will try to reuse lookahead token
8014 after shifting the error token. */
8016 yyerrstatus
= 3; /* Each real token shifted decrements this */
8020 yyerrdefault
: /* current state does not do anything special for the error token. */
8023 /* This is wrong; only states that explicitly want error tokens
8024 should shift them. */
8025 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8026 if (yyn
) goto yydefault
;
8029 yyerrpop
: /* pop the current state because it cannot handle the error token */
8031 if (yyssp
== yyss
) YYABORT
;
8041 short *ssp1
= yyss
- 1;
8042 fprintf (stderr
, "Error: state stack now");
8043 while (ssp1
!= yyssp
)
8044 fprintf (stderr
, " %d", *++ssp1
);
8045 fprintf (stderr
, "\n");
8051 yyn
= yypact
[yystate
];
8056 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8075 fprintf(stderr
, "Shifting error token, ");
8086 #line 3748 "parse.y"
8091 debug_yytranslate (value
)
8094 return yytname
[YYTRANSLATE (value
)];