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
33 #define GCC_ASM_KEYWORD 283
51 #define TYPENAME_KEYWORD 301
53 #define LEFT_RIGHT 303
56 #define DYNAMIC_CAST 306
57 #define STATIC_CAST 307
58 #define REINTERPRET_CAST 308
59 #define CONST_CAST 309
70 #define ARITHCOMPARE 320
73 #define POINTSAT_STAR 323
77 #define MINUSMINUS 327
78 #define HYPERUNARY 328
79 #define PAREN_STAR_PAREN 329
83 #define TYPENAME_ELLIPSIS 333
84 #define PRE_PARSED_FUNCTION_DECL 334
85 #define EXTERN_LANG_STRING 335
87 #define PRE_PARSED_CLASS_DECL 337
89 #define DEFARG_MARKER 339
90 #define TYPENAME_DEFN 340
91 #define IDENTIFIER_DEFN 341
92 #define PTYPENAME_DEFN 342
93 #define END_OF_LINE 343
94 #define END_OF_SAVED_INPUT 344
98 /* Cause the `yydebug' variable to be defined. */
113 /* Since parsers are distinct for each language, put the language string
114 definition here. (fnf) */
115 char *language_string
= "GNU C++";
117 extern tree void_list_node
;
118 extern struct obstack permanent_obstack
;
120 extern int end_of_file
;
122 /* Like YYERROR but do call yyerror. */
123 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
125 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
126 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
128 /* Contains the statement keyword (if/while/do) to include in an
129 error message if the user supplies an empty conditional expression. */
130 static char *cond_stmt_keyword
;
132 static tree empty_parms
PROTO((void));
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
= NULL_TREE
;
162 /* List of prefix attributes in effect.
163 Prefix attributes are parsed by the reserved_declspecs and declmods
164 rules. They create a list that contains *both* declspecs and attrs. */
165 /* ??? It is not clear yet that all cases where an attribute can now appear in
166 a declspec list have been updated. */
167 static tree prefix_attributes
= NULL_TREE
;
169 /* When defining an aggregate, this is the most recent one being defined. */
170 static tree current_aggr
;
172 /* Tell yyparse how to print a token's value, if yydebug is set. */
174 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
175 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
176 extern tree combine_strings
PROTO((tree
));
179 parse_decl(declarator
, specs_attrs
, attributes
, initialized
, decl
)
188 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
189 if (current_declspecs
190 && TREE_CODE (current_declspecs
) != TREE_LIST
)
191 current_declspecs
= get_decl_list (current_declspecs
);
192 if (have_extern_spec
&& !used_extern_spec
)
194 current_declspecs
= decl_tree_cons (NULL_TREE
,
195 get_identifier ("extern"),
197 used_extern_spec
= 1;
199 sm
= suspend_momentary ();
200 *decl
= start_decl (declarator
, current_declspecs
, initialized
);
201 cplus_decl_attributes (*decl
, attributes
, prefix_attributes
);
215 #define YYFLAG -32768
218 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 386)
220 static const char yytranslate
[] = { 0,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
225 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
227 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
230 95, 2, 113, 70, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 59, 69, 111, 89, 2, 2, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
247 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
248 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
249 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
250 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
251 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
252 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
253 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
254 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
259 static const short yyprhs
[] = { 0,
260 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
261 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
262 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
263 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
264 119, 123, 125, 129, 131, 132, 135, 138, 142, 144,
265 148, 150, 154, 156, 160, 163, 166, 169, 173, 177,
266 180, 183, 186, 189, 192, 194, 196, 198, 199, 201,
267 204, 205, 207, 212, 216, 220, 221, 230, 236, 237,
268 247, 254, 255, 264, 270, 271, 281, 288, 291, 294,
269 296, 299, 301, 308, 313, 320, 325, 328, 330, 333,
270 336, 338, 341, 343, 346, 349, 354, 357, 361, 362,
271 363, 365, 369, 372, 376, 378, 383, 386, 391, 394,
272 399, 402, 404, 406, 408, 410, 412, 414, 416, 418,
273 420, 422, 424, 425, 432, 433, 440, 441, 447, 448,
274 454, 455, 463, 464, 472, 473, 480, 481, 488, 489,
275 490, 495, 500, 502, 507, 509, 511, 512, 514, 516,
276 520, 522, 524, 526, 528, 530, 532, 534, 536, 538,
277 540, 544, 546, 550, 551, 553, 555, 556, 564, 566,
278 568, 572, 577, 581, 582, 586, 588, 592, 596, 600,
279 604, 606, 608, 610, 613, 616, 619, 622, 625, 628,
280 631, 636, 639, 644, 647, 651, 655, 660, 665, 671,
281 677, 684, 687, 692, 698, 701, 704, 708, 712, 716,
282 718, 722, 725, 729, 734, 736, 739, 745, 747, 751,
283 755, 759, 763, 767, 771, 775, 779, 783, 787, 791,
284 795, 799, 803, 807, 811, 815, 819, 823, 829, 833,
285 837, 839, 842, 846, 848, 850, 852, 854, 856, 857,
286 863, 869, 875, 881, 887, 889, 891, 893, 895, 898,
287 901, 905, 910, 915, 917, 919, 921, 925, 927, 929,
288 931, 933, 937, 941, 945, 946, 951, 956, 959, 964,
289 967, 970, 972, 977, 979, 987, 995, 1003, 1011, 1016,
290 1021, 1024, 1027, 1029, 1034, 1037, 1040, 1046, 1050, 1053,
291 1056, 1062, 1066, 1072, 1076, 1081, 1088, 1091, 1093, 1096,
292 1098, 1101, 1103, 1105, 1107, 1110, 1111, 1114, 1117, 1121,
293 1125, 1129, 1132, 1135, 1138, 1140, 1142, 1144, 1147, 1150,
294 1153, 1156, 1158, 1160, 1162, 1164, 1167, 1170, 1174, 1178,
295 1182, 1187, 1189, 1192, 1195, 1198, 1200, 1202, 1204, 1207,
296 1210, 1213, 1215, 1217, 1220, 1223, 1227, 1229, 1232, 1234,
297 1236, 1238, 1243, 1248, 1253, 1258, 1260, 1262, 1264, 1266,
298 1270, 1272, 1276, 1278, 1282, 1283, 1288, 1289, 1296, 1300,
299 1301, 1306, 1308, 1312, 1316, 1317, 1322, 1326, 1327, 1329,
300 1331, 1334, 1341, 1343, 1347, 1348, 1350, 1355, 1362, 1367,
301 1369, 1371, 1373, 1375, 1377, 1381, 1382, 1385, 1387, 1390,
302 1394, 1399, 1401, 1403, 1407, 1412, 1416, 1422, 1424, 1429,
303 1433, 1437, 1438, 1442, 1446, 1450, 1451, 1454, 1457, 1458,
304 1466, 1471, 1472, 1479, 1483, 1486, 1489, 1492, 1493, 1494,
305 1504, 1506, 1507, 1509, 1510, 1512, 1514, 1517, 1520, 1523,
306 1526, 1529, 1532, 1536, 1541, 1545, 1548, 1552, 1553, 1555,
307 1559, 1562, 1565, 1567, 1569, 1570, 1573, 1577, 1579, 1584,
308 1586, 1590, 1592, 1594, 1599, 1604, 1607, 1610, 1614, 1618,
309 1620, 1621, 1623, 1626, 1631, 1635, 1637, 1640, 1643, 1646,
310 1649, 1652, 1655, 1658, 1660, 1663, 1666, 1670, 1673, 1676,
311 1681, 1686, 1689, 1691, 1697, 1702, 1704, 1705, 1707, 1711,
312 1712, 1714, 1718, 1720, 1722, 1724, 1726, 1731, 1736, 1741,
313 1746, 1751, 1755, 1760, 1765, 1770, 1775, 1779, 1781, 1785,
314 1787, 1791, 1794, 1796, 1803, 1804, 1807, 1809, 1812, 1813,
315 1816, 1821, 1826, 1829, 1834, 1838, 1842, 1845, 1848, 1852,
316 1854, 1856, 1859, 1861, 1863, 1866, 1869, 1874, 1879, 1883,
317 1887, 1890, 1892, 1896, 1900, 1903, 1906, 1910, 1912, 1916,
318 1920, 1923, 1926, 1930, 1932, 1937, 1941, 1946, 1950, 1952,
319 1955, 1958, 1961, 1964, 1967, 1969, 1972, 1977, 1982, 1985,
320 1987, 1989, 1991, 1993, 1996, 2001, 2004, 2007, 2010, 2013,
321 2015, 2018, 2021, 2024, 2027, 2031, 2033, 2036, 2040, 2045,
322 2048, 2051, 2054, 2057, 2060, 2063, 2068, 2071, 2073, 2076,
323 2079, 2083, 2085, 2089, 2092, 2096, 2099, 2102, 2106, 2108,
324 2112, 2117, 2121, 2124, 2127, 2129, 2133, 2136, 2139, 2141,
325 2144, 2148, 2150, 2154, 2156, 2163, 2168, 2173, 2177, 2183,
326 2187, 2191, 2195, 2198, 2200, 2202, 2205, 2208, 2211, 2212,
327 2214, 2216, 2219, 2223, 2225, 2228, 2229, 2233, 2234, 2235,
328 2241, 2243, 2244, 2247, 2249, 2251, 2253, 2256, 2257, 2262,
329 2264, 2265, 2266, 2272, 2273, 2274, 2282, 2283, 2284, 2285,
330 2286, 2299, 2300, 2301, 2309, 2310, 2316, 2317, 2325, 2326,
331 2331, 2334, 2337, 2340, 2344, 2351, 2360, 2371, 2384, 2389,
332 2393, 2396, 2399, 2401, 2403, 2404, 2405, 2412, 2413, 2414,
333 2420, 2422, 2425, 2426, 2427, 2433, 2435, 2437, 2441, 2445,
334 2448, 2451, 2454, 2457, 2460, 2462, 2465, 2466, 2468, 2469,
335 2471, 2473, 2474, 2476, 2478, 2482, 2487, 2489, 2493, 2494,
336 2496, 2498, 2500, 2503, 2506, 2509, 2511, 2513, 2516, 2519,
337 2522, 2525, 2526, 2530, 2532, 2534, 2536, 2539, 2542, 2545,
338 2550, 2553, 2556, 2559, 2562, 2565, 2568, 2570, 2573, 2575,
339 2578, 2580, 2582, 2583, 2584, 2586, 2587, 2592, 2595, 2597,
340 2599, 2603, 2604, 2608, 2612, 2616, 2618, 2621, 2624, 2627,
341 2630, 2633, 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657,
342 2660, 2663, 2666, 2669, 2672, 2675, 2678, 2681, 2684, 2687,
343 2691, 2694, 2697, 2700, 2703, 2707, 2710, 2713, 2718, 2723,
347 static const short yyrhs
[] = { -1,
348 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
349 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
350 0, 123, 124, 0, 142, 141, 0, 138, 0, 137,
351 0, 121, 94, 208, 110, 61, 0, 129, 59, 117,
352 111, 0, 129, 118, 142, 119, 141, 0, 129, 118,
353 138, 119, 0, 0, 45, 157, 59, 125, 117, 111,
354 0, 0, 45, 59, 126, 117, 111, 0, 45, 157,
355 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
356 61, 0, 120, 124, 0, 47, 300, 0, 47, 314,
357 300, 0, 47, 314, 199, 0, 199, 0, 300, 0,
358 314, 300, 0, 314, 199, 0, 100, 0, 129, 100,
359 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
360 76, 0, 136, 0, 132, 60, 136, 0, 157, 0,
361 0, 257, 133, 0, 46, 133, 0, 130, 257, 133,
362 0, 134, 0, 134, 65, 214, 0, 377, 0, 377,
363 65, 194, 0, 135, 0, 135, 65, 176, 0, 130,
364 124, 0, 130, 1, 0, 225, 61, 0, 218, 224,
365 61, 0, 215, 223, 61, 0, 218, 61, 0, 160,
366 61, 0, 215, 61, 0, 1, 61, 0, 1, 111,
367 0, 61, 0, 209, 0, 153, 0, 0, 152, 0,
368 152, 61, 0, 0, 109, 0, 148, 140, 139, 324,
369 0, 148, 140, 348, 0, 148, 140, 1, 0, 0,
370 305, 5, 94, 144, 368, 110, 287, 380, 0, 305,
371 5, 48, 287, 380, 0, 0, 314, 305, 5, 94,
372 145, 368, 110, 287, 380, 0, 314, 305, 5, 48,
373 287, 380, 0, 0, 305, 172, 94, 146, 368, 110,
374 287, 380, 0, 305, 172, 48, 287, 380, 0, 0,
375 314, 305, 172, 94, 147, 368, 110, 287, 380, 0,
376 314, 305, 172, 48, 287, 380, 0, 215, 212, 0,
377 218, 297, 0, 297, 0, 218, 143, 0, 143, 0,
378 5, 94, 368, 110, 287, 380, 0, 5, 48, 287,
379 380, 0, 172, 94, 368, 110, 287, 380, 0, 172,
380 48, 287, 380, 0, 218, 149, 0, 149, 0, 215,
381 212, 0, 218, 297, 0, 297, 0, 218, 143, 0,
382 143, 0, 25, 3, 0, 151, 242, 0, 151, 94,
383 188, 110, 0, 151, 48, 0, 63, 154, 155, 0,
384 0, 0, 156, 0, 155, 60, 156, 0, 155, 1,
385 0, 94, 188, 110, 0, 48, 0, 158, 94, 188,
386 110, 0, 158, 48, 0, 293, 94, 188, 110, 0,
387 293, 48, 0, 307, 94, 188, 110, 0, 307, 48,
388 0, 3, 0, 4, 0, 5, 0, 57, 0, 58,
389 0, 3, 0, 57, 0, 58, 0, 106, 0, 105,
390 0, 107, 0, 0, 49, 169, 221, 61, 161, 170,
391 0, 0, 49, 169, 215, 212, 162, 170, 0, 0,
392 49, 169, 297, 163, 170, 0, 0, 49, 169, 143,
393 164, 170, 0, 0, 7, 49, 169, 221, 61, 165,
394 170, 0, 0, 7, 49, 169, 215, 212, 166, 170,
395 0, 0, 7, 49, 169, 297, 167, 170, 0, 0,
396 7, 49, 169, 143, 168, 170, 0, 0, 0, 57,
397 75, 174, 173, 0, 4, 75, 174, 173, 0, 172,
398 0, 5, 75, 174, 173, 0, 76, 0, 78, 0,
399 0, 175, 0, 176, 0, 175, 60, 176, 0, 214,
400 0, 194, 0, 80, 0, 79, 0, 87, 0, 88,
401 0, 112, 0, 187, 0, 194, 0, 48, 0, 94,
402 178, 110, 0, 48, 0, 94, 182, 110, 0, 0,
403 182, 0, 1, 0, 0, 358, 212, 226, 235, 65,
404 183, 243, 0, 178, 0, 111, 0, 321, 319, 111,
405 0, 321, 319, 1, 111, 0, 321, 1, 111, 0,
406 0, 59, 186, 184, 0, 333, 0, 194, 60, 194,
407 0, 194, 60, 1, 0, 187, 60, 194, 0, 187,
408 60, 1, 0, 194, 0, 187, 0, 203, 0, 120,
409 193, 0, 81, 193, 0, 71, 193, 0, 89, 193,
410 0, 177, 193, 0, 68, 157, 0, 13, 189, 0,
411 13, 94, 214, 110, 0, 30, 189, 0, 30, 94,
412 214, 110, 0, 205, 286, 0, 205, 286, 191, 0,
413 205, 190, 286, 0, 205, 190, 286, 191, 0, 205,
414 94, 214, 110, 0, 205, 94, 214, 110, 191, 0,
415 205, 190, 94, 214, 110, 0, 205, 190, 94, 214,
416 110, 191, 0, 206, 193, 0, 206, 95, 113, 193,
417 0, 206, 95, 178, 113, 193, 0, 35, 193, 0,
418 36, 193, 0, 94, 188, 110, 0, 59, 188, 111,
419 0, 94, 188, 110, 0, 48, 0, 94, 221, 110,
420 0, 65, 243, 0, 94, 214, 110, 0, 192, 94,
421 214, 110, 0, 189, 0, 192, 189, 0, 192, 59,
422 244, 255, 111, 0, 193, 0, 194, 84, 194, 0,
423 194, 85, 194, 0, 194, 79, 194, 0, 194, 80,
424 194, 0, 194, 81, 194, 0, 194, 82, 194, 0,
425 194, 83, 194, 0, 194, 77, 194, 0, 194, 78,
426 194, 0, 194, 74, 194, 0, 194, 75, 194, 0,
427 194, 76, 194, 0, 194, 73, 194, 0, 194, 72,
428 194, 0, 194, 71, 194, 0, 194, 69, 194, 0,
429 194, 70, 194, 0, 194, 68, 194, 0, 194, 67,
430 194, 0, 194, 66, 363, 63, 194, 0, 194, 65,
431 194, 0, 194, 64, 194, 0, 62, 0, 62, 194,
432 0, 89, 378, 157, 0, 197, 0, 385, 0, 3,
433 0, 57, 0, 58, 0, 0, 6, 75, 196, 174,
434 173, 0, 385, 75, 196, 174, 173, 0, 49, 157,
435 75, 174, 173, 0, 49, 6, 75, 174, 173, 0,
436 49, 385, 75, 174, 173, 0, 195, 0, 4, 0,
437 5, 0, 195, 0, 81, 200, 0, 71, 200, 0,
438 94, 200, 110, 0, 3, 75, 174, 173, 0, 58,
439 75, 175, 173, 0, 299, 0, 195, 0, 201, 0,
440 94, 200, 110, 0, 195, 0, 10, 0, 207, 0,
441 208, 0, 94, 178, 110, 0, 94, 200, 110, 0,
442 94, 1, 110, 0, 0, 94, 204, 325, 110, 0,
443 203, 94, 188, 110, 0, 203, 48, 0, 203, 95,
444 178, 113, 0, 203, 87, 0, 203, 88, 0, 41,
445 0, 9, 94, 188, 110, 0, 303, 0, 51, 75,
446 214, 76, 94, 178, 110, 0, 52, 75, 214, 76,
447 94, 178, 110, 0, 53, 75, 214, 76, 94, 178,
448 110, 0, 54, 75, 214, 76, 94, 178, 110, 0,
449 50, 94, 178, 110, 0, 50, 94, 214, 110, 0,
450 314, 3, 0, 314, 385, 0, 302, 0, 302, 94,
451 188, 110, 0, 302, 48, 0, 210, 198, 0, 210,
452 198, 94, 188, 110, 0, 210, 198, 48, 0, 210,
453 199, 0, 210, 302, 0, 210, 199, 94, 188, 110,
454 0, 210, 199, 48, 0, 210, 302, 94, 188, 110,
455 0, 210, 302, 48, 0, 210, 89, 8, 48, 0,
456 210, 8, 55, 89, 8, 48, 0, 210, 1, 0,
457 40, 0, 314, 40, 0, 39, 0, 314, 206, 0,
458 43, 0, 44, 0, 11, 0, 208, 11, 0, 0,
459 203, 93, 0, 203, 92, 0, 221, 223, 61, 0,
460 215, 223, 61, 0, 218, 224, 61, 0, 215, 61,
461 0, 218, 61, 0, 120, 211, 0, 292, 0, 297,
462 0, 48, 0, 213, 48, 0, 219, 317, 0, 288,
463 317, 0, 221, 317, 0, 219, 0, 288, 0, 219,
464 0, 216, 0, 218, 221, 0, 221, 217, 0, 221,
465 220, 217, 0, 218, 221, 217, 0, 218, 221, 220,
466 0, 218, 221, 220, 217, 0, 7, 0, 217, 222,
467 0, 217, 7, 0, 217, 236, 0, 236, 0, 288,
468 0, 7, 0, 218, 9, 0, 218, 7, 0, 218,
469 236, 0, 236, 0, 221, 0, 288, 221, 0, 221,
470 220, 0, 288, 221, 220, 0, 222, 0, 220, 222,
471 0, 250, 0, 8, 0, 294, 0, 29, 94, 178,
472 110, 0, 29, 94, 214, 110, 0, 31, 94, 178,
473 110, 0, 31, 94, 214, 110, 0, 8, 0, 9,
474 0, 250, 0, 231, 0, 223, 60, 227, 0, 232,
475 0, 224, 60, 227, 0, 233, 0, 225, 60, 227,
476 0, 0, 121, 94, 208, 110, 0, 0, 212, 226,
477 235, 65, 228, 243, 0, 212, 226, 235, 0, 0,
478 235, 65, 230, 243, 0, 235, 0, 212, 226, 229,
479 0, 297, 226, 229, 0, 0, 297, 226, 234, 229,
480 0, 143, 226, 235, 0, 0, 236, 0, 237, 0,
481 236, 237, 0, 32, 94, 94, 238, 110, 110, 0,
482 239, 0, 238, 60, 239, 0, 0, 240, 0, 240,
483 94, 3, 110, 0, 240, 94, 3, 60, 188, 110,
484 0, 240, 94, 188, 110, 0, 157, 0, 7, 0,
485 8, 0, 9, 0, 157, 0, 241, 60, 157, 0,
486 0, 65, 243, 0, 194, 0, 59, 111, 0, 59,
487 244, 111, 0, 59, 244, 60, 111, 0, 1, 0,
488 243, 0, 244, 60, 243, 0, 95, 194, 113, 243,
489 0, 157, 63, 243, 0, 244, 60, 157, 63, 243,
490 0, 99, 0, 245, 140, 139, 324, 0, 245, 140,
491 348, 0, 245, 140, 1, 0, 0, 247, 246, 141,
492 0, 104, 194, 109, 0, 104, 1, 109, 0, 0,
493 249, 248, 0, 249, 1, 0, 0, 14, 157, 59,
494 251, 284, 256, 111, 0, 14, 157, 59, 111, 0,
495 0, 14, 59, 252, 284, 256, 111, 0, 14, 59,
496 111, 0, 14, 157, 0, 14, 312, 0, 46, 307,
497 0, 0, 0, 264, 270, 272, 111, 235, 253, 249,
498 254, 247, 0, 264, 0, 0, 60, 0, 0, 60,
499 0, 37, 0, 257, 7, 0, 257, 8, 0, 257,
500 9, 0, 257, 37, 0, 257, 157, 0, 257, 159,
501 0, 257, 305, 157, 0, 257, 314, 305, 157, 0,
502 257, 314, 157, 0, 257, 171, 0, 257, 305, 171,
503 0, 0, 258, 0, 259, 261, 265, 0, 260, 265,
504 0, 257, 59, 0, 263, 0, 262, 0, 0, 63,
505 378, 0, 63, 378, 266, 0, 267, 0, 266, 60,
506 378, 267, 0, 268, 0, 269, 378, 268, 0, 307,
507 0, 293, 0, 31, 94, 178, 110, 0, 31, 94,
508 214, 110, 0, 38, 378, 0, 7, 378, 0, 269,
509 38, 378, 0, 269, 7, 378, 0, 59, 0, 0,
510 271, 0, 271, 273, 0, 272, 38, 63, 273, 0,
511 272, 38, 63, 0, 274, 0, 273, 274, 0, 275,
512 61, 0, 275, 111, 0, 150, 63, 0, 150, 96,
513 0, 150, 25, 0, 150, 59, 0, 61, 0, 120,
514 274, 0, 130, 274, 0, 130, 215, 61, 0, 215,
515 276, 0, 218, 277, 0, 297, 226, 235, 242, 0,
516 143, 226, 235, 242, 0, 63, 194, 0, 1, 0,
517 218, 149, 226, 235, 242, 0, 149, 226, 235, 242,
518 0, 127, 0, 0, 278, 0, 276, 60, 279, 0,
519 0, 281, 0, 277, 60, 283, 0, 280, 0, 281,
520 0, 282, 0, 283, 0, 292, 226, 235, 242, 0,
521 4, 63, 194, 235, 0, 297, 226, 235, 242, 0,
522 143, 226, 235, 242, 0, 3, 63, 194, 235, 0,
523 63, 194, 235, 0, 292, 226, 235, 242, 0, 4,
524 63, 194, 235, 0, 297, 226, 235, 242, 0, 3,
525 63, 194, 235, 0, 63, 194, 235, 0, 285, 0,
526 284, 60, 285, 0, 157, 0, 157, 65, 194, 0,
527 358, 315, 0, 358, 0, 94, 214, 110, 95, 178,
528 113, 0, 0, 287, 9, 0, 9, 0, 288, 9,
529 0, 0, 289, 178, 0, 289, 94, 188, 110, 0,
530 289, 94, 368, 110, 0, 289, 48, 0, 289, 94,
531 1, 110, 0, 81, 288, 292, 0, 71, 288, 292,
532 0, 81, 292, 0, 71, 292, 0, 313, 287, 292,
533 0, 296, 0, 304, 0, 314, 304, 0, 293, 0,
534 295, 0, 314, 295, 0, 305, 304, 0, 296, 291,
535 287, 380, 0, 296, 95, 290, 113, 0, 296, 95,
536 113, 0, 94, 292, 110, 0, 305, 304, 0, 304,
537 0, 81, 288, 297, 0, 71, 288, 297, 0, 81,
538 297, 0, 71, 297, 0, 313, 287, 297, 0, 202,
539 0, 81, 288, 297, 0, 71, 288, 297, 0, 81,
540 298, 0, 71, 298, 0, 313, 287, 297, 0, 299,
541 0, 202, 291, 287, 380, 0, 94, 298, 110, 0,
542 202, 95, 290, 113, 0, 202, 95, 113, 0, 301,
543 0, 305, 201, 0, 305, 199, 0, 305, 198, 0,
544 305, 195, 0, 305, 198, 0, 301, 0, 314, 301,
545 0, 221, 94, 188, 110, 0, 221, 94, 200, 110,
546 0, 221, 213, 0, 4, 0, 5, 0, 171, 0,
547 306, 0, 305, 306, 0, 305, 49, 311, 55, 0,
548 4, 55, 0, 5, 55, 0, 58, 55, 0, 171,
549 55, 0, 308, 0, 314, 308, 0, 309, 157, 0,
550 309, 171, 0, 309, 311, 0, 309, 49, 311, 0,
551 310, 0, 309, 310, 0, 309, 311, 55, 0, 309,
552 49, 311, 55, 0, 4, 55, 0, 5, 55, 0,
553 171, 55, 0, 57, 55, 0, 3, 55, 0, 58,
554 55, 0, 157, 75, 174, 173, 0, 314, 304, 0,
555 295, 0, 314, 295, 0, 305, 81, 0, 314, 305,
556 81, 0, 55, 0, 81, 287, 315, 0, 81, 287,
557 0, 71, 287, 315, 0, 71, 287, 0, 313, 287,
558 0, 313, 287, 315, 0, 316, 0, 95, 178, 113,
559 0, 316, 95, 290, 113, 0, 81, 288, 317, 0,
560 81, 317, 0, 81, 288, 0, 81, 0, 71, 288,
561 317, 0, 71, 317, 0, 71, 288, 0, 71, 0,
562 313, 287, 0, 313, 287, 317, 0, 318, 0, 94,
563 317, 110, 0, 91, 0, 318, 94, 368, 110, 287,
564 380, 0, 318, 48, 287, 380, 0, 318, 95, 290,
565 113, 0, 318, 95, 113, 0, 94, 369, 110, 287,
566 380, 0, 192, 287, 380, 0, 213, 287, 380, 0,
567 95, 290, 113, 0, 95, 113, 0, 332, 0, 320,
568 0, 319, 332, 0, 319, 320, 0, 1, 61, 0,
569 0, 322, 0, 323, 0, 322, 323, 0, 34, 241,
570 61, 0, 325, 0, 1, 325, 0, 0, 59, 326,
571 184, 0, 0, 0, 15, 328, 180, 329, 330, 0,
572 325, 0, 0, 331, 333, 0, 325, 0, 333, 0,
573 211, 0, 178, 61, 0, 0, 327, 16, 334, 330,
574 0, 327, 0, 0, 0, 17, 335, 180, 336, 185,
575 0, 0, 0, 18, 337, 330, 17, 338, 179, 61,
576 0, 0, 0, 0, 0, 19, 339, 94, 361, 340,
577 181, 61, 341, 363, 110, 342, 185, 0, 0, 0,
578 20, 343, 94, 182, 110, 344, 330, 0, 0, 21,
579 194, 63, 345, 332, 0, 0, 21, 194, 12, 194,
580 63, 346, 332, 0, 0, 22, 63, 347, 332, 0,
581 23, 61, 0, 24, 61, 0, 25, 61, 0, 25,
582 178, 61, 0, 121, 362, 94, 208, 110, 61, 0,
583 121, 362, 94, 208, 63, 364, 110, 61, 0, 121,
584 362, 94, 208, 63, 364, 63, 364, 110, 61, 0,
585 121, 362, 94, 208, 63, 364, 63, 364, 63, 367,
586 110, 61, 0, 26, 81, 178, 61, 0, 26, 157,
587 61, 0, 360, 332, 0, 360, 111, 0, 61, 0,
588 351, 0, 0, 0, 96, 349, 139, 325, 350, 354,
589 0, 0, 0, 96, 352, 325, 353, 354, 0, 355,
590 0, 354, 355, 0, 0, 0, 97, 356, 359, 357,
591 325, 0, 219, 0, 288, 0, 94, 12, 110, 0,
592 94, 377, 110, 0, 3, 63, 0, 57, 63, 0,
593 4, 63, 0, 5, 63, 0, 363, 61, 0, 211,
594 0, 59, 184, 0, 0, 9, 0, 0, 178, 0,
595 1, 0, 0, 365, 0, 366, 0, 365, 60, 366,
596 0, 11, 94, 178, 110, 0, 11, 0, 367, 60,
597 11, 0, 0, 369, 0, 214, 0, 373, 0, 374,
598 12, 0, 373, 12, 0, 214, 12, 0, 12, 0,
599 98, 0, 373, 98, 0, 214, 98, 0, 373, 63,
600 0, 214, 63, 0, 0, 65, 371, 372, 0, 103,
601 0, 243, 0, 375, 0, 377, 370, 0, 374, 376,
602 0, 374, 379, 0, 374, 379, 65, 243, 0, 373,
603 60, 0, 214, 60, 0, 216, 212, 0, 219, 212,
604 0, 221, 212, 0, 216, 317, 0, 216, 0, 218,
605 297, 0, 377, 0, 377, 370, 0, 375, 0, 214,
606 0, 0, 0, 297, 0, 0, 62, 94, 382, 110,
607 0, 62, 48, 0, 214, 0, 381, 0, 382, 60,
608 381, 0, 0, 81, 287, 383, 0, 71, 287, 383,
609 0, 313, 287, 383, 0, 42, 0, 384, 81, 0,
610 384, 82, 0, 384, 83, 0, 384, 79, 0, 384,
611 80, 0, 384, 71, 0, 384, 69, 0, 384, 70,
612 0, 384, 89, 0, 384, 60, 0, 384, 74, 0,
613 384, 75, 0, 384, 76, 0, 384, 73, 0, 384,
614 64, 0, 384, 65, 0, 384, 77, 0, 384, 78,
615 0, 384, 87, 0, 384, 88, 0, 384, 68, 0,
616 384, 67, 0, 384, 112, 0, 384, 66, 63, 0,
617 384, 72, 0, 384, 92, 0, 384, 84, 0, 384,
618 48, 0, 384, 95, 113, 0, 384, 40, 0, 384,
619 39, 0, 384, 40, 95, 113, 0, 384, 39, 95,
620 113, 0, 384, 358, 383, 0, 384, 1, 0
626 static const short yyrline
[] = { 0,
627 332, 334, 348, 351, 352, 356, 358, 361, 366, 370,
628 376, 378, 381, 384, 388, 391, 393, 395, 398, 400,
629 403, 406, 408, 410, 412, 414, 416, 418, 424, 428,
630 431, 433, 437, 439, 440, 442, 446, 449, 455, 458,
631 460, 465, 468, 472, 475, 478, 481, 485, 490, 500,
632 502, 504, 506, 508, 521, 530, 540, 542, 544, 548,
633 550, 551, 558, 559, 560, 563, 566, 570, 572, 573,
634 576, 578, 581, 584, 586, 590, 593, 595, 599, 601,
635 603, 607, 609, 611, 615, 617, 619, 625, 629, 632,
636 635, 638, 643, 646, 648, 650, 656, 666, 668, 671,
637 674, 676, 679, 683, 692, 695, 697, 701, 714, 734,
638 737, 739, 740, 743, 750, 756, 758, 760, 762, 764,
639 767, 772, 774, 775, 776, 777, 780, 782, 783, 786,
640 788, 789, 792, 797, 797, 801, 801, 804, 804, 807,
641 807, 811, 811, 816, 816, 819, 819, 822, 824, 827,
642 834, 841, 847, 850, 859, 861, 869, 872, 875, 878,
643 882, 885, 888, 891, 893, 895, 897, 901, 904, 907,
644 912, 916, 921, 925, 928, 930, 934, 954, 961, 964,
645 966, 967, 968, 971, 975, 976, 980, 984, 987, 989,
646 993, 996, 999, 1003, 1006, 1008, 1010, 1012, 1019, 1023,
647 1025, 1027, 1029, 1035, 1038, 1041, 1044, 1047, 1051, 1054,
648 1057, 1061, 1063, 1067, 1071, 1073, 1077, 1080, 1087, 1090,
649 1092, 1100, 1113, 1119, 1126, 1128, 1130, 1143, 1146, 1148,
650 1150, 1152, 1154, 1156, 1158, 1160, 1162, 1164, 1166, 1168,
651 1170, 1172, 1174, 1176, 1178, 1180, 1182, 1184, 1186, 1190,
652 1192, 1194, 1211, 1214, 1215, 1216, 1217, 1218, 1221, 1224,
653 1227, 1231, 1234, 1236, 1241, 1243, 1244, 1247, 1249, 1251,
654 1253, 1257, 1260, 1264, 1266, 1267, 1268, 1272, 1280, 1281,
655 1282, 1290, 1292, 1295, 1297, 1307, 1309, 1311, 1313, 1315,
656 1317, 1320, 1322, 1366, 1367, 1371, 1375, 1379, 1383, 1385,
657 1389, 1391, 1399, 1401, 1403, 1405, 1409, 1411, 1413, 1415,
658 1420, 1422, 1424, 1426, 1429, 1431, 1433, 1477, 1480, 1484,
659 1487, 1491, 1494, 1499, 1501, 1505, 1518, 1521, 1528, 1535,
660 1540, 1542, 1547, 1549, 1556, 1558, 1562, 1566, 1572, 1576,
661 1579, 1582, 1585, 1595, 1597, 1600, 1604, 1607, 1610, 1613,
662 1616, 1622, 1628, 1630, 1635, 1637, 1646, 1649, 1651, 1654,
663 1660, 1662, 1672, 1676, 1679, 1682, 1687, 1690, 1698, 1700,
664 1702, 1704, 1707, 1710, 1725, 1744, 1747, 1749, 1752, 1754,
665 1757, 1759, 1762, 1764, 1767, 1770, 1774, 1780, 1781, 1793,
666 1800, 1803, 1809, 1813, 1818, 1824, 1825, 1833, 1836, 1840,
667 1843, 1847, 1852, 1855, 1859, 1862, 1864, 1866, 1868, 1875,
668 1877, 1878, 1879, 1883, 1886, 1890, 1893, 1899, 1901, 1904,
669 1907, 1910, 1916, 1919, 1922, 1924, 1926, 1930, 1936, 1944,
670 1946, 1950, 1952, 1957, 1960, 1963, 1965, 1967, 1971, 1975,
671 1980, 1984, 1987, 1992, 1996, 1999, 2002, 2006, 2041, 2047,
672 2056, 2076, 2078, 2081, 2083, 2088, 2090, 2092, 2094, 2096,
673 2100, 2105, 2110, 2116, 2121, 2126, 2128, 2132, 2137, 2140,
674 2147, 2175, 2181, 2183, 2186, 2189, 2191, 2195, 2197, 2201,
675 2227, 2256, 2259, 2260, 2281, 2304, 2306, 2310, 2321, 2335,
676 2424, 2431, 2434, 2442, 2453, 2462, 2466, 2481, 2484, 2489,
677 2491, 2493, 2495, 2497, 2499, 2502, 2504, 2512, 2518, 2520,
678 2523, 2526, 2528, 2539, 2544, 2547, 2552, 2555, 2556, 2567,
679 2570, 2571, 2582, 2584, 2587, 2589, 2592, 2599, 2607, 2614,
680 2620, 2626, 2634, 2638, 2643, 2647, 2650, 2659, 2661, 2665,
681 2668, 2673, 2677, 2682, 2692, 2695, 2699, 2703, 2711, 2716,
682 2722, 2725, 2727, 2729, 2735, 2738, 2740, 2742, 2744, 2748,
683 2751, 2769, 2779, 2781, 2782, 2786, 2791, 2794, 2796, 2798,
684 2800, 2804, 2810, 2813, 2815, 2817, 2819, 2823, 2826, 2829,
685 2831, 2833, 2835, 2839, 2842, 2845, 2847, 2849, 2851, 2858,
686 2869, 2873, 2878, 2882, 2887, 2889, 2893, 2896, 2898, 2902,
687 2904, 2905, 2908, 2910, 2912, 2918, 2933, 2939, 2945, 2959,
688 2961, 2965, 2979, 2981, 2983, 2987, 2993, 3006, 3008, 3012,
689 3023, 3029, 3031, 3032, 3033, 3041, 3046, 3055, 3056, 3060,
690 3063, 3069, 3075, 3078, 3080, 3082, 3084, 3088, 3092, 3096,
691 3099, 3104, 3107, 3109, 3111, 3113, 3115, 3117, 3119, 3121,
692 3125, 3129, 3133, 3137, 3138, 3140, 3142, 3144, 3146, 3148,
693 3150, 3152, 3154, 3162, 3164, 3165, 3166, 3169, 3175, 3177,
694 3182, 3184, 3187, 3201, 3204, 3207, 3211, 3214, 3221, 3223,
695 3226, 3228, 3230, 3233, 3236, 3239, 3242, 3244, 3247, 3251,
696 3253, 3259, 3261, 3262, 3264, 3269, 3271, 3273, 3275, 3277,
697 3280, 3281, 3283, 3286, 3287, 3290, 3290, 3293, 3293, 3296,
698 3296, 3298, 3300, 3302, 3304, 3310, 3316, 3319, 3322, 3328,
699 3330, 3332, 3336, 3338, 3341, 3348, 3351, 3359, 3363, 3365,
700 3368, 3370, 3373, 3377, 3379, 3382, 3384, 3387, 3404, 3410,
701 3418, 3420, 3422, 3426, 3429, 3430, 3438, 3442, 3446, 3449,
702 3450, 3456, 3459, 3462, 3464, 3468, 3473, 3476, 3486, 3491,
703 3492, 3500, 3506, 3511, 3515, 3520, 3524, 3528, 3532, 3537,
704 3548, 3562, 3566, 3569, 3571, 3575, 3579, 3582, 3585, 3587,
705 3591, 3593, 3600, 3607, 3610, 3613, 3617, 3621, 3627, 3631,
706 3636, 3638, 3641, 3646, 3652, 3663, 3666, 3668, 3672, 3677,
707 3679, 3686, 3689, 3691, 3693, 3699, 3704, 3707, 3709, 3711,
708 3713, 3715, 3717, 3719, 3721, 3723, 3725, 3727, 3729, 3731,
709 3733, 3735, 3737, 3739, 3741, 3743, 3745, 3747, 3749, 3751,
710 3753, 3755, 3757, 3759, 3761, 3763, 3765, 3767, 3769, 3772,
716 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
718 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
719 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
720 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
721 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
722 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
723 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
724 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
725 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
726 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
727 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
728 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
729 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
730 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
731 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
732 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
733 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
734 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
735 "@5","template_parm_list","maybe_identifier","template_type_parm","template_template_parm",
736 "template_parm","template_def","datadef","ctor_initializer_opt","maybe_return_init",
737 "eat_saved_input","fndef","constructor_declarator","@6","@7","@8","@9","fn.def1",
738 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
739 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
740 "identifier_defn","explicit_instantiation","@10","@11","@12","@13","@14","@15",
741 "@16","@17","begin_explicit_instantiation","end_explicit_instantiation","template_type",
742 "self_template_type","template_close_bracket","template_arg_list_opt","template_arg_list",
743 "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond",
744 "condition","@18","compstmtend","already_scoped_stmt","@19","nontrivial_exprlist",
745 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
746 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
747 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
748 "primary","@20","new","delete","boolean.literal","string","nodecls","object",
749 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
750 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
751 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
752 "initdcl","@21","initdcl0_innards","@22","initdcl0","notype_initdcl0","nomods_initdcl0",
753 "@23","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
754 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
755 "pending_inlines","defarg_again","pending_defargs","structsp","@24","@25","@26",
756 "@27","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
757 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
758 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
759 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
760 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
761 "component_decl_1","components","notype_components","component_declarator0",
762 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
763 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
764 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
765 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
766 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
767 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
768 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
769 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
770 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
771 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
772 "label_decls","label_decl","compstmt_or_error","compstmt","@28","simple_if",
773 "@29","@30","implicitly_scoped_stmt","@31","stmt","simple_stmt","@32","@33",
774 "@34","@35","@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","function_try_block",
775 "@46","@47","try_block","@48","@49","handler_seq","handler","@50","@51","type_specifier_seq",
776 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
777 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
778 "complex_parmlist","defarg","@52","defarg1","parms","parms_comma","named_parm",
779 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
780 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
784 static const short yyr1
[] = { 0,
785 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
786 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
787 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
788 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
789 130, 132, 132, 133, 133, 134, 134, 135, 136, 136,
790 136, 136, 136, 136, 137, 137, 138, 138, 138, 138,
791 138, 138, 138, 138, 138, 139, 139, 140, 140, 140,
792 141, 141, 142, 142, 142, 144, 143, 143, 145, 143,
793 143, 146, 143, 143, 147, 143, 143, 148, 148, 148,
794 148, 148, 149, 149, 149, 149, 150, 150, 150, 150,
795 150, 150, 150, 151, 152, 152, 152, 153, 154, 155,
796 155, 155, 155, 156, 156, 156, 156, 156, 156, 156,
797 156, 157, 157, 157, 157, 157, 158, 158, 158, 159,
798 159, 159, 161, 160, 162, 160, 163, 160, 164, 160,
799 165, 160, 166, 160, 167, 160, 168, 160, 169, 170,
800 171, 171, 171, 172, 173, 173, 174, 174, 175, 175,
801 176, 176, 177, 177, 177, 177, 177, 178, 178, 179,
802 179, 180, 180, 181, 181, 181, 183, 182, 182, 184,
803 184, 184, 184, 186, 185, 185, 187, 187, 187, 187,
804 188, 188, 189, 189, 189, 189, 189, 189, 189, 189,
805 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
806 189, 189, 189, 189, 189, 189, 190, 190, 191, 191,
807 191, 191, 192, 192, 193, 193, 193, 194, 194, 194,
808 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
809 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
810 194, 194, 195, 195, 195, 195, 195, 195, 196, 197,
811 197, 198, 198, 198, 199, 199, 199, 200, 200, 200,
812 200, 201, 201, 202, 202, 202, 202, 203, 203, 203,
813 203, 203, 203, 203, 204, 203, 203, 203, 203, 203,
814 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
815 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
816 203, 203, 203, 203, 203, 203, 203, 205, 205, 206,
817 206, 207, 207, 208, 208, 209, 210, 210, 211, 211,
818 211, 211, 211, 211, 212, 212, 213, 213, 214, 214,
819 214, 214, 214, 215, 215, 216, 216, 216, 216, 216,
820 216, 217, 217, 217, 217, 217, 218, 218, 218, 218,
821 218, 218, 219, 219, 219, 219, 220, 220, 221, 221,
822 221, 221, 221, 221, 221, 222, 222, 222, 223, 223,
823 224, 224, 225, 225, 226, 226, 228, 227, 227, 230,
824 229, 229, 231, 232, 234, 233, 233, 235, 235, 236,
825 236, 237, 238, 238, 239, 239, 239, 239, 239, 240,
826 240, 240, 240, 241, 241, 242, 242, 243, 243, 243,
827 243, 243, 244, 244, 244, 244, 244, 245, 246, 246,
828 246, 247, 247, 248, 248, 249, 249, 249, 251, 250,
829 250, 252, 250, 250, 250, 250, 250, 253, 254, 250,
830 250, 255, 255, 256, 256, 257, 257, 257, 257, 257,
831 258, 259, 260, 260, 260, 260, 260, 261, 262, 262,
832 262, 263, 264, 264, 265, 265, 265, 266, 266, 267,
833 267, 268, 268, 268, 268, 269, 269, 269, 269, 270,
834 271, 272, 272, 272, 272, 273, 273, 274, 274, 274,
835 274, 274, 274, 274, 274, 274, 274, 275, 275, 275,
836 275, 275, 275, 275, 275, 275, 276, 276, 276, 277,
837 277, 277, 278, 278, 279, 279, 280, 280, 281, 281,
838 281, 281, 282, 282, 283, 283, 283, 284, 284, 285,
839 285, 286, 286, 286, 287, 287, 288, 288, 289, 290,
840 291, 291, 291, 291, 292, 292, 292, 292, 292, 292,
841 293, 293, 294, 294, 294, 295, 296, 296, 296, 296,
842 296, 296, 297, 297, 297, 297, 297, 297, 298, 298,
843 298, 298, 298, 298, 299, 299, 299, 299, 299, 299,
844 300, 300, 301, 301, 302, 302, 303, 303, 303, 304,
845 304, 304, 305, 305, 305, 306, 306, 306, 306, 307,
846 307, 308, 308, 308, 308, 309, 309, 309, 309, 310,
847 310, 310, 310, 310, 310, 311, 312, 312, 312, 313,
848 313, 314, 315, 315, 315, 315, 315, 315, 315, 316,
849 316, 317, 317, 317, 317, 317, 317, 317, 317, 317,
850 317, 317, 318, 318, 318, 318, 318, 318, 318, 318,
851 318, 318, 318, 319, 319, 319, 319, 320, 321, 321,
852 322, 322, 323, 324, 324, 326, 325, 328, 329, 327,
853 330, 331, 330, 332, 332, 333, 333, 334, 333, 333,
854 335, 336, 333, 337, 338, 333, 339, 340, 341, 342,
855 333, 343, 344, 333, 345, 333, 346, 333, 347, 333,
856 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
857 333, 333, 333, 333, 349, 350, 348, 352, 353, 351,
858 354, 354, 356, 357, 355, 358, 358, 359, 359, 360,
859 360, 360, 360, 361, 361, 361, 362, 362, 363, 363,
860 363, 364, 364, 365, 365, 366, 367, 367, 368, 368,
861 368, 369, 369, 369, 369, 369, 369, 369, 369, 369,
862 369, 371, 370, 372, 372, 373, 373, 373, 373, 373,
863 374, 374, 375, 375, 375, 375, 375, 375, 376, 376,
864 377, 377, 378, 379, 379, 380, 380, 380, 381, 382,
865 382, 383, 383, 383, 383, 384, 385, 385, 385, 385,
866 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
867 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
868 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
872 static const short yyr2
[] = { 0,
873 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
874 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
875 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
876 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
877 3, 1, 3, 1, 0, 2, 2, 3, 1, 3,
878 1, 3, 1, 3, 2, 2, 2, 3, 3, 2,
879 2, 2, 2, 2, 1, 1, 1, 0, 1, 2,
880 0, 1, 4, 3, 3, 0, 8, 5, 0, 9,
881 6, 0, 8, 5, 0, 9, 6, 2, 2, 1,
882 2, 1, 6, 4, 6, 4, 2, 1, 2, 2,
883 1, 2, 1, 2, 2, 4, 2, 3, 0, 0,
884 1, 3, 2, 3, 1, 4, 2, 4, 2, 4,
885 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
886 1, 1, 0, 6, 0, 6, 0, 5, 0, 5,
887 0, 7, 0, 7, 0, 6, 0, 6, 0, 0,
888 4, 4, 1, 4, 1, 1, 0, 1, 1, 3,
889 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
890 3, 1, 3, 0, 1, 1, 0, 7, 1, 1,
891 3, 4, 3, 0, 3, 1, 3, 3, 3, 3,
892 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
893 4, 2, 4, 2, 3, 3, 4, 4, 5, 5,
894 6, 2, 4, 5, 2, 2, 3, 3, 3, 1,
895 3, 2, 3, 4, 1, 2, 5, 1, 3, 3,
896 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
897 3, 3, 3, 3, 3, 3, 3, 5, 3, 3,
898 1, 2, 3, 1, 1, 1, 1, 1, 0, 5,
899 5, 5, 5, 5, 1, 1, 1, 1, 2, 2,
900 3, 4, 4, 1, 1, 1, 3, 1, 1, 1,
901 1, 3, 3, 3, 0, 4, 4, 2, 4, 2,
902 2, 1, 4, 1, 7, 7, 7, 7, 4, 4,
903 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
904 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
905 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
906 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
907 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
908 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
909 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
910 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
911 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
912 4, 1, 3, 3, 0, 4, 3, 0, 1, 1,
913 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
914 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
915 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
916 3, 0, 3, 3, 3, 0, 2, 2, 0, 7,
917 4, 0, 6, 3, 2, 2, 2, 0, 0, 9,
918 1, 0, 1, 0, 1, 1, 2, 2, 2, 2,
919 2, 2, 3, 4, 3, 2, 3, 0, 1, 3,
920 2, 2, 1, 1, 0, 2, 3, 1, 4, 1,
921 3, 1, 1, 4, 4, 2, 2, 3, 3, 1,
922 0, 1, 2, 4, 3, 1, 2, 2, 2, 2,
923 2, 2, 2, 1, 2, 2, 3, 2, 2, 4,
924 4, 2, 1, 5, 4, 1, 0, 1, 3, 0,
925 1, 3, 1, 1, 1, 1, 4, 4, 4, 4,
926 4, 3, 4, 4, 4, 4, 3, 1, 3, 1,
927 3, 2, 1, 6, 0, 2, 1, 2, 0, 2,
928 4, 4, 2, 4, 3, 3, 2, 2, 3, 1,
929 1, 2, 1, 1, 2, 2, 4, 4, 3, 3,
930 2, 1, 3, 3, 2, 2, 3, 1, 3, 3,
931 2, 2, 3, 1, 4, 3, 4, 3, 1, 2,
932 2, 2, 2, 2, 1, 2, 4, 4, 2, 1,
933 1, 1, 1, 2, 4, 2, 2, 2, 2, 1,
934 2, 2, 2, 2, 3, 1, 2, 3, 4, 2,
935 2, 2, 2, 2, 2, 4, 2, 1, 2, 2,
936 3, 1, 3, 2, 3, 2, 2, 3, 1, 3,
937 4, 3, 2, 2, 1, 3, 2, 2, 1, 2,
938 3, 1, 3, 1, 6, 4, 4, 3, 5, 3,
939 3, 3, 2, 1, 1, 2, 2, 2, 0, 1,
940 1, 2, 3, 1, 2, 0, 3, 0, 0, 5,
941 1, 0, 2, 1, 1, 1, 2, 0, 4, 1,
942 0, 0, 5, 0, 0, 7, 0, 0, 0, 0,
943 12, 0, 0, 7, 0, 5, 0, 7, 0, 4,
944 2, 2, 2, 3, 6, 8, 10, 12, 4, 3,
945 2, 2, 1, 1, 0, 0, 6, 0, 0, 5,
946 1, 2, 0, 0, 5, 1, 1, 3, 3, 2,
947 2, 2, 2, 2, 1, 2, 0, 1, 0, 1,
948 1, 0, 1, 1, 3, 4, 1, 3, 0, 1,
949 1, 1, 2, 2, 2, 1, 1, 2, 2, 2,
950 2, 0, 3, 1, 1, 1, 2, 2, 2, 4,
951 2, 2, 2, 2, 2, 2, 1, 2, 1, 2,
952 1, 1, 0, 0, 1, 0, 4, 2, 1, 1,
953 3, 0, 3, 3, 3, 1, 2, 2, 2, 2,
954 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
955 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
956 2, 2, 2, 2, 3, 2, 2, 4, 4, 3,
960 static const short yydefact
[] = { 3,
961 13, 13, 5, 0, 4, 0, 256, 600, 601, 0,
962 358, 370, 547, 0, 11, 12, 0, 0, 0, 10,
963 456, 806, 0, 0, 0, 149, 632, 257, 258, 65,
964 0, 0, 793, 0, 37, 0, 0, 14, 0, 8,
965 0, 17, 16, 71, 92, 68, 0, 602, 153, 275,
966 254, 276, 578, 0, 345, 0, 344, 363, 0, 383,
967 362, 400, 369, 0, 469, 468, 475, 474, 473, 451,
968 357, 563, 371, 564, 90, 274, 589, 561, 0, 603,
969 545, 0, 0, 255, 63, 64, 157, 606, 157, 607,
970 157, 259, 149, 122, 123, 124, 125, 126, 442, 445,
971 0, 628, 0, 446, 0, 0, 0, 0, 123, 124,
972 125, 126, 24, 0, 0, 0, 0, 0, 0, 0,
973 447, 610, 0, 616, 0, 0, 0, 0, 0, 0,
974 30, 0, 0, 39, 0, 157, 608, 0, 0, 576,
975 0, 0, 0, 575, 0, 0, 0, 0, 275, 0,
976 549, 0, 274, 545, 29, 0, 27, 3, 38, 0,
977 56, 55, 72, 15, 0, 398, 0, 0, 416, 69,
978 61, 609, 549, 0, 545, 62, 0, 0, 0, 88,
979 0, 379, 335, 560, 336, 572, 0, 545, 360, 359,
980 60, 91, 346, 0, 381, 361, 89, 352, 376, 377,
981 347, 365, 367, 356, 378, 0, 57, 401, 457, 458,
982 459, 460, 472, 131, 130, 132, 461, 462, 466, 0,
983 0, 475, 793, 471, 490, 491, 548, 364, 0, 395,
984 601, 0, 630, 153, 593, 594, 590, 566, 604, 0,
985 565, 562, 0, 841, 837, 836, 834, 816, 821, 822,
986 0, 828, 827, 813, 814, 812, 831, 820, 817, 818,
987 819, 823, 824, 810, 811, 807, 808, 809, 833, 825,
988 826, 815, 832, 0, 829, 736, 363, 737, 802, 259,
989 256, 547, 279, 324, 0, 0, 0, 0, 320, 318,
990 292, 322, 323, 0, 0, 0, 0, 0, 258, 251,
991 0, 0, 164, 163, 0, 165, 166, 0, 0, 167,
992 0, 0, 158, 159, 0, 225, 0, 228, 162, 278,
993 193, 0, 0, 280, 281, 0, 161, 342, 363, 343,
994 595, 303, 294, 0, 0, 0, 0, 157, 0, 444,
995 0, 439, 0, 629, 627, 0, 168, 169, 0, 0,
996 0, 405, 3, 22, 0, 624, 620, 621, 623, 625,
997 622, 122, 123, 124, 0, 125, 126, 612, 613, 617,
998 614, 611, 266, 267, 0, 265, 33, 34, 0, 592,
999 591, 32, 31, 41, 0, 358, 139, 0, 0, 363,
1000 137, 0, 0, 574, 0, 573, 253, 270, 0, 582,
1001 269, 0, 581, 0, 277, 586, 0, 0, 13, 0,
1002 149, 9, 9, 0, 397, 399, 104, 75, 109, 725,
1003 0, 67, 66, 74, 107, 0, 0, 105, 70, 588,
1004 0, 0, 553, 0, 796, 0, 558, 0, 557, 0,
1005 0, 0, 0, 545, 398, 0, 59, 549, 545, 571,
1006 0, 349, 350, 0, 58, 398, 354, 353, 355, 348,
1007 368, 385, 384, 463, 467, 465, 0, 470, 476, 0,
1008 0, 366, 398, 545, 76, 0, 0, 0, 0, 545,
1009 82, 546, 577, 601, 631, 153, 0, 0, 830, 835,
1010 365, 545, 545, 0, 545, 840, 157, 0, 0, 0,
1011 200, 0, 0, 202, 215, 216, 0, 0, 0, 0,
1012 0, 252, 199, 196, 195, 197, 0, 0, 0, 0,
1013 0, 278, 0, 0, 0, 194, 155, 156, 272, 0,
1014 198, 0, 0, 226, 0, 0, 0, 0, 0, 0,
1015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1016 0, 0, 0, 0, 0, 0, 288, 290, 291, 328,
1017 327, 0, 0, 0, 0, 0, 204, 543, 0, 212,
1018 325, 317, 0, 0, 793, 306, 309, 310, 0, 0,
1019 337, 649, 645, 654, 0, 549, 545, 545, 545, 339,
1020 652, 0, 599, 341, 0, 0, 340, 305, 0, 301,
1021 319, 321, 596, 0, 302, 152, 154, 0, 147, 0,
1022 363, 145, 540, 454, 538, 441, 0, 0, 372, 0,
1023 0, 373, 374, 375, 411, 412, 413, 410, 0, 403,
1024 406, 0, 3, 0, 615, 157, 618, 28, 36, 35,
1025 45, 0, 0, 0, 49, 53, 42, 792, 787, 0,
1026 342, 363, 45, 343, 791, 51, 150, 135, 133, 150,
1027 151, 273, 580, 579, 277, 583, 0, 19, 21, 71,
1028 0, 110, 326, 0, 676, 73, 674, 422, 0, 418,
1029 417, 192, 0, 191, 550, 587, 0, 766, 767, 0,
1030 761, 363, 0, 760, 762, 794, 776, 0, 0, 585,
1031 556, 555, 0, 0, 570, 0, 393, 392, 380, 569,
1032 0, 796, 559, 351, 382, 394, 398, 464, 600, 601,
1033 793, 0, 793, 602, 477, 478, 480, 793, 483, 482,
1034 0, 513, 601, 0, 504, 0, 0, 516, 0, 103,
1035 98, 0, 153, 517, 520, 0, 496, 0, 101, 0,
1036 398, 396, 796, 759, 157, 157, 605, 157, 796, 759,
1037 545, 79, 545, 85, 839, 838, 802, 802, 802, 0,
1038 0, 0, 0, 599, 0, 0, 0, 0, 363, 0,
1039 0, 0, 284, 0, 282, 283, 0, 223, 160, 256,
1040 600, 601, 257, 258, 0, 0, 423, 452, 0, 250,
1041 249, 751, 750, 0, 247, 246, 244, 245, 243, 242,
1042 241, 238, 239, 240, 236, 237, 231, 232, 233, 234,
1043 235, 229, 230, 0, 0, 0, 0, 0, 0, 206,
1044 220, 0, 0, 205, 545, 545, 0, 545, 542, 639,
1045 0, 0, 0, 0, 0, 308, 0, 312, 0, 314,
1046 0, 648, 647, 644, 643, 792, 0, 0, 663, 0,
1047 0, 796, 338, 796, 650, 545, 759, 549, 649, 645,
1048 0, 0, 545, 0, 0, 0, 0, 0, 260, 150,
1049 143, 141, 150, 0, 455, 0, 454, 190, 189, 188,
1050 187, 405, 0, 0, 25, 0, 26, 619, 0, 47,
1051 44, 45, 0, 40, 0, 0, 649, 645, 0, 783,
1052 545, 786, 788, 0, 784, 785, 46, 461, 0, 140,
1053 150, 150, 138, 18, 20, 386, 127, 115, 128, 129,
1054 0, 108, 111, 0, 0, 0, 0, 675, 669, 419,
1055 0, 106, 554, 551, 765, 782, 771, 769, 0, 552,
1056 764, 781, 770, 768, 763, 795, 778, 789, 779, 772,
1057 777, 798, 0, 390, 568, 567, 389, 487, 0, 486,
1058 793, 793, 793, 0, 545, 759, 512, 505, 517, 506,
1059 398, 398, 502, 503, 500, 501, 545, 759, 256, 600,
1060 0, 385, 99, 508, 518, 523, 524, 385, 385, 0,
1061 0, 385, 97, 509, 521, 385, 497, 498, 499, 398,
1062 0, 448, 78, 0, 0, 0, 0, 84, 0, 796,
1063 759, 796, 759, 804, 803, 805, 261, 293, 201, 203,
1064 299, 300, 0, 0, 0, 0, 283, 286, 0, 0,
1065 0, 0, 224, 0, 287, 289, 218, 217, 208, 0,
1066 207, 222, 0, 0, 636, 634, 0, 637, 549, 213,
1067 0, 0, 157, 315, 0, 0, 0, 646, 642, 653,
1068 545, 662, 660, 661, 651, 796, 0, 658, 0, 597,
1069 598, 0, 304, 148, 150, 150, 146, 541, 539, 443,
1070 0, 404, 402, 256, 0, 23, 626, 48, 43, 50,
1071 54, 648, 644, 649, 645, 0, 561, 0, 545, 650,
1072 52, 136, 134, 0, 113, 0, 117, 0, 119, 0,
1073 121, 0, 726, 0, 180, 677, 0, 670, 671, 0,
1074 420, 649, 645, 0, 278, 0, 595, 790, 0, 0,
1075 799, 800, 0, 0, 387, 0, 0, 0, 489, 488,
1076 481, 796, 0, 507, 416, 416, 796, 0, 0, 0,
1077 398, 398, 0, 398, 398, 0, 398, 0, 416, 0,
1078 436, 545, 263, 262, 264, 545, 81, 0, 87, 0,
1079 0, 0, 0, 0, 0, 426, 0, 424, 227, 248,
1080 0, 209, 210, 219, 221, 635, 633, 640, 638, 0,
1081 214, 0, 0, 307, 311, 313, 796, 656, 545, 657,
1082 144, 142, 440, 0, 407, 409, 648, 644, 566, 650,
1083 114, 112, 0, 0, 0, 0, 414, 0, 0, 256,
1084 600, 601, 678, 691, 694, 697, 702, 0, 0, 0,
1085 0, 0, 0, 257, 723, 728, 0, 747, 0, 686,
1086 0, 0, 363, 0, 665, 684, 690, 664, 685, 724,
1087 0, 672, 421, 0, 598, 780, 774, 775, 773, 0,
1088 797, 391, 0, 484, 485, 479, 94, 545, 511, 515,
1089 96, 545, 398, 398, 532, 416, 256, 600, 0, 519,
1090 525, 526, 385, 385, 416, 416, 0, 416, 522, 510,
1091 0, 796, 796, 545, 545, 0, 0, 0, 0, 425,
1092 0, 0, 211, 641, 316, 262, 659, 796, 0, 116,
1093 118, 120, 733, 727, 731, 0, 673, 668, 183, 740,
1094 742, 743, 0, 0, 682, 0, 0, 0, 709, 711,
1095 712, 713, 0, 0, 0, 741, 0, 334, 748, 0,
1096 687, 332, 385, 0, 333, 0, 385, 0, 0, 0,
1097 181, 667, 666, 688, 722, 721, 283, 801, 388, 796,
1098 796, 531, 528, 530, 0, 0, 398, 398, 398, 527,
1099 529, 514, 438, 0, 437, 432, 77, 83, 796, 796,
1100 295, 296, 297, 298, 427, 544, 655, 408, 0, 732,
1101 415, 172, 0, 679, 692, 681, 0, 0, 0, 0,
1102 0, 705, 0, 714, 0, 720, 729, 0, 330, 331,
1103 0, 0, 0, 329, 182, 682, 93, 95, 398, 398,
1104 537, 416, 416, 0, 0, 450, 80, 86, 0, 734,
1105 179, 0, 363, 0, 682, 0, 695, 683, 669, 745,
1106 698, 0, 0, 0, 0, 710, 719, 0, 0, 689,
1107 536, 534, 533, 535, 435, 434, 428, 68, 71, 0,
1108 0, 0, 173, 385, 680, 184, 693, 186, 0, 746,
1109 0, 744, 703, 707, 706, 730, 752, 0, 0, 433,
1110 738, 739, 735, 398, 669, 170, 0, 0, 176, 0,
1111 175, 682, 0, 0, 0, 753, 754, 715, 431, 0,
1112 430, 0, 185, 0, 696, 699, 704, 708, 0, 752,
1113 0, 0, 429, 177, 171, 0, 0, 0, 716, 755,
1114 0, 0, 756, 0, 0, 178, 700, 757, 0, 717,
1115 0, 0, 0, 701, 758, 718, 0, 0, 0
1118 static const short yydefgoto
[] = { 1547,
1119 409, 2, 410, 160, 669, 311, 165, 3, 4, 38,
1120 633, 353, 738, 375, 40, 739, 385, 644, 900, 645,
1121 646, 647, 42, 43, 421, 168, 164, 44, 740, 754,
1122 1021, 760, 1023, 46, 741, 742, 169, 170, 422, 672,
1123 932, 933, 613, 934, 218, 47, 922, 921, 660, 657,
1124 1086, 1085, 883, 880, 135, 920, 48, 49, 529, 312,
1125 313, 314, 315, 1249, 1498, 1404, 1500, 1442, 1531, 1126,
1126 1477, 1495, 347, 872, 316, 566, 834, 317, 318, 348,
1127 320, 338, 51, 236, 377, 398, 52, 53, 321, 524,
1128 322, 323, 324, 325, 423, 326, 1250, 462, 588, 327,
1129 1251, 55, 201, 650, 328, 202, 502, 203, 181, 194,
1130 59, 445, 463, 1273, 707, 1144, 182, 195, 60, 473,
1131 708, 61, 62, 629, 630, 631, 1228, 428, 797, 798,
1132 1468, 1469, 1436, 1385, 1301, 63, 617, 341, 1171, 1386,
1133 1042, 886, 64, 65, 66, 67, 222, 68, 69, 70,
1134 224, 725, 726, 727, 728, 226, 470, 471, 746, 747,
1135 748, 994, 1004, 995, 1290, 996, 997, 1291, 1292, 614,
1136 615, 567, 862, 330, 431, 432, 175, 183, 72, 73,
1137 74, 184, 185, 152, 76, 131, 331, 332, 333, 78,
1138 334, 80, 730, 122, 123, 124, 478, 104, 81, 335,
1139 839, 840, 857, 591, 1254, 1255, 1127, 1128, 1129, 676,
1140 1256, 939, 1257, 1333, 1445, 1407, 1408, 1258, 1259, 1426,
1141 1334, 1446, 1335, 1479, 1336, 1481, 1526, 1541, 1337, 1502,
1142 1455, 1503, 1413, 424, 673, 1226, 1260, 1347, 1458, 1324,
1143 1325, 1399, 1472, 1444, 1440, 1261, 1451, 1350, 804, 1505,
1144 1506, 1507, 1539, 693, 694, 961, 1140, 1269, 695, 696,
1145 697, 957, 698, 145, 959, 700, 1142, 1143, 496, 83,
1149 static const short yypact
[] = { 125,
1150 130,-32768,-32768, 3240,-32768, 195, 72, 188, 284, 151,
1151 102,-32768,-32768, 1117,-32768,-32768, 136, 176, 198,-32768,
1152 -32768,-32768, 1085, 1187, 1489, 256,-32768, 304, 367,-32768,
1153 2407, 2407,-32768, 4859,-32768, 3240, 294,-32768, 352, 91,
1154 5970,-32768,-32768, 208, 1265, 379, 356, 372,-32768,-32768,
1155 -32768,-32768, 330, 2553,-32768, 10199,-32768, 1350, 498,-32768,
1156 423,-32768,-32768, 1046,-32768,-32768, 399,-32768,-32768, 417,
1157 4154,-32768,-32768,-32768, 784,-32768,-32768,-32768, 849,-32768,
1158 -32768, 508, 5609, 408,-32768,-32768, 9052,-32768, 9052,-32768,
1159 9052,-32768,-32768,-32768, 188, 284, 304, 445, 453, 492,
1160 372,-32768, 1409,-32768, 508, 9052, 9052, 480,-32768,-32768,
1161 -32768,-32768,-32768, 64, 528, 368, 383, 478, 538, 553,
1162 -32768,-32768, 564,-32768, 572, 188, 284, 1112, 304, 445,
1163 -32768, 855, 467, 509, 10350, 9052,-32768, 9052, 2926,-32768,
1164 1285, 543, 2926,-32768, 1090, 3033, 3033, 4859, 524, 547,
1165 517, 552, 555,-32768,-32768, 627,-32768, 556,-32768, 10084,
1166 195,-32768,-32768,-32768, 582, 423, 691, 145, 179, 624,
1167 -32768,-32768, 592, 250,-32768,-32768, 3416, 3416, 4989, 784,
1168 591,-32768,-32768, 387,-32768,-32768, 2806,-32768,-32768,-32768,
1169 -32768,-32768, 1350, 641,-32768, 423, 784,-32768,-32768,-32768,
1170 1578, 1350,-32768, 423,-32768, 5186,-32768,-32768,-32768,-32768,
1171 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 372, 988,
1172 1434, 399,-32768,-32768,-32768,-32768,-32768, 682, 508,-32768,
1173 497, 963,-32768, 271,-32768,-32768,-32768,-32768,-32768, 3988,
1174 -32768,-32768, 590,-32768, 617, 620,-32768,-32768,-32768,-32768,
1175 658,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1176 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1177 -32768,-32768,-32768, 616,-32768,-32768, 682, 4154, 1158,-32768,
1178 -32768, 646,-32768,-32768, 9667, 9754, 9841, 9841,-32768,-32768,
1179 -32768,-32768,-32768, 668, 701, 711, 721, 732, 445, 9139,
1180 1090, 9841,-32768,-32768, 9841,-32768,-32768, 9841, 7165,-32768,
1181 9841, 223, 683,-32768, 9841,-32768, 9226,-32768, 10446,-32768,
1182 1514, 1785, 9313,-32768, 799, 2426,-32768, 953, 3686, 4007,
1183 -32768, 307,-32768, 1524, 1858, 223, 223, 9052, 10350,-32768,
1184 1090, 703, 1090,-32768,-32768, 708, 768, 10596, 724, 733,
1185 738, 945, 556,-32768, 1112,-32768,-32768,-32768,-32768,-32768,
1186 -32768, 528, 368, 383, 1090, 478, 538, 793, 553,-32768,
1187 776,-32768, 188, 284, 814,-32768,-32768,-32768, 467,-32768,
1188 -32768,-32768,-32768,-32768, 4967,-32768,-32768, 5186, 5373, 1679,
1189 -32768, 223, 809,-32768, 775,-32768,-32768,-32768, 2926,-32768,
1190 -32768, 2926,-32768, 760,-32768,-32768, 3988, 87, 761, 777,
1191 -32768,-32768,-32768, 627,-32768, 423,-32768,-32768,-32768,-32768,
1192 148,-32768,-32768,-32768,-32768, 7257, 9139,-32768,-32768,-32768,
1193 9139, 779,-32768, 6493, 100, 4306,-32768, 4306,-32768, 4584,
1194 4584, 4989, 790,-32768, 423, 5186,-32768, 783,-32768,-32768,
1195 4619, 1578, 1350, 5186,-32768, 423,-32768,-32768, 423, 1578,
1196 -32768, 811,-32768,-32768, 372,-32768, 988,-32768, 1220, 1675,
1197 57, 682, 423,-32768,-32768, 836, 852, 876, 858,-32768,
1198 -32768,-32768,-32768, 532,-32768, 338, 821, 826,-32768,-32768,
1199 682,-32768,-32768, 822,-32768,-32768, 9052, 9139, 646, 7165,
1200 -32768, 437, 7165,-32768,-32768,-32768, 9052, 5977, 5977, 5977,
1201 5977, 10641,-32768,-32768,-32768,-32768, 832, 9928, 9928, 7165,
1202 851, 524, 863, 887, 867,-32768,-32768,-32768,-32768, 9052,
1203 -32768, 6790, 7165,-32768, 9139, 9139, 7349, 9139, 9139, 9139,
1204 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139,
1205 9139, 9139, 9139, 9139, 9139, 9139,-32768,-32768,-32768,-32768,
1206 -32768, 9139, 9139, 9139, 9052, 2857, 366, 440, 7988,-32768,
1207 -32768,-32768, 880, 963, 972, 444, 523, 530, 2780, 543,
1208 -32768, 1687, 1687,-32768, 4837, 868, 877, 948,-32768,-32768,
1209 502, 8495, 725,-32768, 860, 508,-32768,-32768, 9139,-32768,
1210 -32768,-32768,-32768, 249,-32768,-32768,-32768, 223,-32768, 5186,
1211 1998,-32768, 933, 939,-32768,-32768, 1090, 793,-32768, 7717,
1212 7809,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 79,-32768,
1213 906, 895, 556, 951, 961, 9052,-32768,-32768,-32768,-32768,
1214 1386, 256, 990, 206, 970, 971,-32768,-32768, 2152, 10406,
1215 2152, 4432, 1046, 10143,-32768, 973,-32768,-32768,-32768,-32768,
1216 -32768,-32768,-32768,-32768, 929,-32768, 979,-32768,-32768, 208,
1217 89, 460, 993, 887,-32768,-32768,-32768,-32768, 6695, 10641,
1218 -32768, 768, 947, 10596,-32768,-32768, 952,-32768,-32768, 967,
1219 160, 5318, 969,-32768, 169, 5796, 996, 1015, 561,-32768,
1220 -32768,-32768, 4306, 4306,-32768, 4619,-32768, 1016,-32768,-32768,
1221 995, 100,-32768, 1578,-32768,-32768, 423,-32768, 368, 383,
1222 -32768, 964,-32768, 553, 1022,-32768,-32768, 120,-32768,-32768,
1223 1492,-32768, 589, 669,-32768, 9139, 5517,-32768, 5517, 335,
1224 335, 217, 585, 2595, 10244, 2284,-32768, 225, 335, 1043,
1225 423,-32768, 100, 2575, 9052, 9052,-32768, 9052, 100, 2575,
1226 -32768,-32768,-32768,-32768,-32768,-32768, 649, 649, 649, 223,
1227 975, 1000, 9406, 948, 1004, 1014, 1019, 1059, 4066, 1060,
1228 1074, 1079,-32768, 1058,-32768,-32768, 1068,-32768,-32768, 1118,
1229 787, 900, 65, 431, 9139, 1120,-32768, 1124, 1070, 10641,
1230 10641,-32768,-32768, 1123, 5412, 5667, 3513, 5693, 4244, 3542,
1231 3712, 1983, 1983, 1983, 1691, 1691, 1237, 1237, 756, 756,
1232 756,-32768,-32768, 1084, 1082, 1086, 1095, 1097, 5977, 366,
1233 -32768, 7257, 9139,-32768,-32768,-32768, 9139,-32768,-32768, 1105,
1234 9841, 1099, 1119, 1136, 1166,-32768, 9139,-32768, 9139,-32768,
1235 9139, 2683,-32768, 2683,-32768, 140, 1109, 1110,-32768, 1113,
1236 5977, 100,-32768, 100, 4679,-32768, 2575, 1125, 8687, 8687,
1237 6301, 1121, 9226, 1122, 3050, 1858, 984, 1130,-32768,-32768,
1238 -32768,-32768,-32768, 9139, 1090, 1138, 939,-32768, 10641,-32768,
1239 10641, 945, 1137, 9493,-32768, 1141,-32768,-32768, 223,-32768,
1240 -32768, 1364, 4967,-32768, 5977, 9052, 2037, 2037, 3864,-32768,
1241 -32768,-32768,-32768, 2806,-32768,-32768,-32768, 61, 9139,-32768,
1242 -32768,-32768,-32768,-32768,-32768,-32768, 528,-32768, 478, 538,
1243 9139, 1170,-32768, 587, 601, 622, 887,-32768, 71,-32768,
1244 55,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 8591,-32768,
1245 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1015, 1168,-32768,
1246 -32768,-32768, 5977,-32768,-32768,-32768, 1190,-32768, 9052,-32768,
1247 -32768,-32768,-32768, 1345,-32768, 2575, 10641,-32768, 1904,-32768,
1248 423, 423,-32768,-32768,-32768,-32768,-32768, 2575, 232, 915,
1249 9139, 811,-32768, 1196,-32768,-32768,-32768, 343, 391, 849,
1250 543, 686, 335, 1199,-32768, 901,-32768,-32768,-32768, 423,
1251 4219,-32768,-32768, 1154, 223, 223, 223,-32768, 1157, 100,
1252 2575, 100, 2575,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1253 -32768,-32768, 1175, 1176, 1177, 1179, 929,-32768, 10528, 7257,
1254 6885, 1163,-32768, 9139,-32768,-32768,-32768,-32768, 825, 1172,
1255 -32768,-32768, 1173, 66, 285, 285, 1167, 285,-32768,-32768,
1256 9841, 1268, 9052,-32768, 1185, 1186, 1188,-32768,-32768,-32768,
1257 -32768,-32768,-32768,-32768,-32768, 100, 1191,-32768, 1192,-32768,
1258 -32768, 3120,-32768,-32768,-32768,-32768,-32768, 10641,-32768,-32768,
1259 1189,-32768,-32768, 227, 1197,-32768,-32768,-32768,-32768,-32768,
1260 -32768, 2938, 2938, 3140, 3140, 3864,-32768, 2806,-32768, 3487,
1261 10446,-32768,-32768, 1200,-32768, 460,-32768, 9139,-32768, 9139,
1262 -32768, 9139,-32768, 1090,-32768,-32768, 6207, 1275,-32768, 6977,
1263 -32768, 8780, 8780, 6397, 183, 1205, 254,-32768, 7257, 7069,
1264 -32768,-32768, 240, 7257,-32768, 1214, 1218, 1220,-32768,-32768,
1265 -32768, 100, 1219,-32768, 1266, 1266, 100, 1222, 9139, 9139,
1266 10506, 423, 3309, 423, 423, 1160, 423, 4478, 1266, 5125,
1267 -32768,-32768,-32768, 1278,-32768,-32768,-32768, 1225,-32768, 1226,
1268 9139, 9139, 9139, 9139, 7257,-32768, 1276,-32768,-32768, 10641,
1269 9139,-32768, 825,-32768,-32768,-32768,-32768,-32768,-32768, 1228,
1270 -32768, 1290, 223,-32768,-32768,-32768, 100,-32768,-32768,-32768,
1271 -32768,-32768,-32768, 9139,-32768,-32768, 2938, 2938,-32768, 3487,
1272 -32768,-32768, 1234, 1236, 1244, 1250,-32768, 786, 242, 1297,
1273 1021, 1023,-32768,-32768,-32768,-32768,-32768, 9139, 1300, 1304,
1274 1309, 8873, 257, 415,-32768,-32768, 8965, 1366, 1316,-32768,
1275 4706, 10305, 10451, 6095,-32768,-32768, 1362,-32768,-32768,-32768,
1276 8099,-32768,-32768, 1273, 1916,-32768,-32768,-32768,-32768, 5977,
1277 -32768,-32768, 7257,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1278 -32768,-32768, 10506, 10506,-32768, 1266, 695, 1083, 9139,-32768,
1279 -32768,-32768, 811, 811, 1266, 1266, 532, 1266,-32768,-32768,
1280 5854, 100, 100,-32768,-32768, 1282, 1284, 1298, 1308,-32768,
1281 7257, 1310,-32768,-32768,-32768,-32768,-32768, 100, 1314,-32768,
1282 -32768,-32768,-32768, 1250,-32768, 1090,-32768,-32768,-32768,-32768,
1283 -32768,-32768, 629, 629, 887, 1292, 1294, 10484,-32768,-32768,
1284 -32768,-32768, 1334, 9139, 1369,-32768, 887,-32768,-32768, 1338,
1285 -32768,-32768, 811, 823,-32768, 861, 811, 9580, 864, 266,
1286 -32768,-32768,-32768,-32768,-32768,-32768, 339,-32768,-32768, 100,
1287 100,-32768,-32768,-32768, 9139, 9139, 10506, 423, 423,-32768,
1288 -32768,-32768,-32768, 7901,-32768,-32768,-32768,-32768, 100, 100,
1289 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1339,-32768,
1290 -32768,-32768, 9052,-32768,-32768,-32768, 1435, 8401, 6603, 9052,
1291 9139,-32768, 8209,-32768, 1394,-32768,-32768, 627,-32768,-32768,
1292 10015, 10015, 7441,-32768,-32768, 887,-32768,-32768, 10506, 10506,
1293 -32768, 1266, 1266, 1347, 10550, 1358,-32768,-32768, 5257,-32768,
1294 -32768, 1349, 443, 5186, 887, 8305,-32768,-32768, 71,-32768,
1295 -32768, 1402, 1359, 10619, 8209,-32768,-32768, 1250, 78,-32768,
1296 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 379, 208, 1360,
1297 1361, 887,-32768, 811,-32768,-32768,-32768,-32768, 638,-32768,
1298 7533,-32768,-32768,-32768,-32768, 1250, 1457, 1411, 156,-32768,
1299 -32768,-32768,-32768, 423, 71,-32768, 9139, 1413,-32768, 1414,
1300 -32768, 887, 8209, 1382, 53, 1418,-32768,-32768,-32768, 148,
1301 -32768, 1415,-32768, 1371,-32768,-32768,-32768,-32768, 9139, 1457,
1302 1421, 1457,-32768,-32768,-32768, 7625, 1373, 158,-32768,-32768,
1303 7257, 1377,-32768, 1479, 1439,-32768,-32768,-32768, 301,-32768,
1304 8305, 1490, 1442,-32768,-32768,-32768, 1508, 1509,-32768
1307 static const short yypgoto
[] = {-32768,
1308 1511,-32768, -303,-32768, 1101, 18, -1, 1515,-32768, 192,
1309 -32768,-32768, 519, 1161,-32768, 5,-32768,-32768, -623,-32768,
1310 -32768, 615,-32768, 1363, -668, 83, -664, 1392, 30,-32768,
1311 -32768,-32768,-32768,-32768, 774,-32768,-32768,-32768,-32768,-32768,
1312 -32768, 404, 661,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1313 -32768,-32768,-32768,-32768, 1440, -611, 5315, 32, -317, 44,
1314 1416, -503,-32768, 103,-32768, 222,-32768, -1302,-32768, -756,
1315 17,-32768, 1320, 1586, -262,-32768, -794, 1774, -110, 1098,
1316 3500, 1281,-32768, -87, -55, 1580, -77, 27,-32768,-32768,
1317 -32768, -319,-32768, -155,-32768,-32768, -1156, -47, -316, 2413,
1318 58, -240, -120, 52, 76, -181, -4, -144, -610, 312,
1319 -32768, 68, 73,-32768, -337,-32768,-32768,-32768,-32768,-32768,
1320 374, 1115, 20,-32768, 673,-32768,-32768, -1049, -422, 890,
1321 -32768,-32768,-32768,-32768,-32768, -32,-32768,-32768,-32768,-32768,
1322 -32768, 685, -360,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1323 1348,-32768, 426, 602,-32768,-32768,-32768,-32768, 566, -686,
1324 -32768,-32768,-32768,-32768,-32768,-32768, 833,-32768, 412, 966,
1325 704, 1024, 3968, 7, 51, -431, 1407, 3322, -438,-32768,
1326 19,-32768, 3079, -118, 247, -59, 3948, 1271,-32768, 4653,
1327 1794, 1660, -16, -115,-32768, 1471, -81,-32768, 4369, 2696,
1328 -290,-32768, 2504,-32768,-32768, 344,-32768,-32768, 471, 93,
1329 -353,-32768,-32768,-32768,-32768, -1262,-32768, -1191, -1324,-32768,
1330 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1331 -32768,-32768,-32768, 115,-32768,-32768,-32768,-32768,-32768, 153,
1332 -1232,-32768,-32768, -65,-32768,-32768,-32768,-32768, -1312, 92,
1333 -32768, 94,-32768, -616, -520, 660,-32768,-32768,-32768,-32768,
1334 -371,-32768, -364, -179,-32768, 681, 349,-32768, -394,-32768,
1339 #define YYLAST 10726
1342 static const short yytable
[] = { 58,
1343 408, 237, 37, 681, 937, 925, 180, 121, 41, 372,
1344 71, 453, 593, 655, 479, 602, 711, 279, 606, 607,
1345 656, 36, 501, 504, 653, 205, 789, 400, 403, 917,
1346 729, 58, 102, 45, 37, 1051, 58, 139, 143, 37,
1347 41, 371, 71, 469, 380, 41, 472, 71, 923, 632,
1348 978, 193, 980, 36, 534, 56, 458, 461, 36, 1007,
1349 151, 54, 1363, 237, 858, 45, 228, 677, 378, 1366,
1350 45, 858, 452, 383, 661, 662, 381, 382, 277, 57,
1351 208, 460, 329, 1448, 329, 192, 329, 56, 571, 278,
1352 1348, 1400, 56, 54, 750, 491, 1452, 571, 54, 571,
1353 241, 329, 329, 174, 1124, 1279, 1280, 1453, 482, 237,
1354 234, 57, 166, 581, 1130, 1520, 57, 605, 716, 1300,
1355 -44, 1478, 354, 344, -1, -44, 972, -125, 355, -2,
1356 390, 329, 336, 329, 337, 752, -44, 1014, 892, 136,
1357 1487, 71, 230, 1019, 649, 418, 87, 491, 674, 158,
1358 93, 945, 399, 402, 860, 58, 1509, 973, 276, 773,
1359 205, 699, 1521, 1460, 387, 1131, 71, 751, 205, 205,
1360 787, 945, 151, 151, 151, 1195, 505, 506, 1501, 392,
1361 951, 1125, 1475, 436, 438, 774, 389, 1488, 893, 45,
1362 159, 514, 388, 649, 515, 205, 667, 516, 926, 946,
1363 526, 174, 947, -326, 531, 151, 675, 419, 346, 350,
1364 57, 56, 570, 1532, -326, 208, 1478, 54, 419, 946,
1365 1534, 1456, 947, 208, -792, 92, 425, 155, 952, 106,
1366 -275, 953, 162, 935, 174, 57, 1374, 948, 576, 1517,
1367 420, 983, 88, 426, 205, 1380, 1381, 241, 1382, 788,
1368 1077, 420, 1450, 1400, 1192, 85, 568, 948, 671, 94,
1369 109, 110, 89, 1485, 456, 903, 954, 1535, 1084, 107,
1370 577, 1087, 427, 228, 486, 984, -275, -275, 1098, 985,
1371 153, 904, 902, 635, 602, 1008, 1214, 289, 126, 127,
1372 879, 108, -268, 482, 1159, 378, 205, 433, 527, 1270,
1373 528, -589, 1328, 27, 329, 86, 87, 458, 461, 1112,
1374 1113, 1518, 986, 111, 112, 458, 163, 277, 480, 640,
1375 938, 400, 403, 639, 655, 228, 1328, 461, 278, 896,
1376 134, 958, 714, 329, 611, 1009, 1215, 1344, 90, 27,
1377 658, 129, 130, 434, 649, 71, 461, -589, -589, 1271,
1378 858, 649, 1329, 241, 598, 835, 479, 205, 91, 1153,
1379 1542, 15, 16, -589, 481, 836, -385, -335, 609, 15,
1380 16, 1158, 1024, 1025, 1026, 593, 1425, -549, 136, 837,
1381 652, 608, 1463, 1464, 193, 763, -277, 156, 858, 643,
1382 389, 654, 153, 153, 153, -385, 610, 276, 1313, -385,
1383 599, -335, 1101, 167, 1178, -335, 1180, 514, 515, 1052,
1384 1543, 521, 157, 831, 57, -336, 171, 15, 16, 205,
1385 205, 137, 357, -549, 173, 153, 172, 205, 858, 692,
1386 832, 764, -277, -277, -549, 208, 1079, 358, -335, 205,
1387 654, 138, 89, 126, 127, -385, 703, 704, -271, -336,
1388 199, 200, 1027, -336, 19, 649, 14, 91, 205, 833,
1389 651, 223, 927, 719, 720, 58, 151, 151, 151, 281,
1390 373, 374, 10, 1211, 1212, 225, 71, 1346, 208, 21,
1391 -549, 448, 280, 1007, 581, 137, -336, 737, 24, 136,
1392 581, 846, 329, -126, 27, 329, 129, 130, 329, 137,
1393 568, 743, 329, 779, 779, 779, 779, 928, 22, 651,
1394 835, 8, 9, 649, 27, 329, 929, 930, 709, 649,
1395 836, 745, 39, 28, 299, 329, 715, 744, 329, 717,
1396 773, 655, 359, 685, 837, 729, 773, 847, 656, 415,
1397 770, 968, 653, 970, 474, 57, 126, 127, 974, 866,
1398 342, 90, 136, 931, 39, 33, 602, 206, 207, 39,
1399 329, 277, 881, 340, 129, 130, 362, 363, 364, 458,
1400 848, 91, 278, 352, 115, 116, 117, 850, 205, 761,
1401 652, 1097, 356, 1123, 384, 858, 90, 692, 852, 854,
1402 475, 654, 360, 8, 484, 867, 868, 491, 654, 129,
1403 130, 910, 521, 915, 916, 521, 91, 361, 962, 776,
1404 534, 173, 365, 858, 241, 372, 849, 1186, 1188, 205,
1405 366, 367, 521, 851, 121, 762, 649, 1200, 118, 119,
1406 649, 329, 987, -268, 1117, 521, 975, 284, 343, 803,
1407 1354, 276, 1359, 90, 916, 193, 129, 130, 1119, 228,
1408 446, 447, 126, 127, 963, 936, 405, 482, 605, 205,
1409 651, 406, 649, 91, -584, 825, -7, 651, 649, 1121,
1410 485, 842, 126, 127, 100, 414, 1402, 935, 988, 899,
1411 1118, 205, 976, 114, 429, 1496, 153, 153, 153, 199,
1412 200, 652, 1480, 417, 1120, 14, 993, 1173, 1174, 1175,
1413 454, 455, 654, 27, 430, 129, 130, 1188, 649, 729,
1414 -102, 487, 15, 16, 488, 1122, 1266, 1268, 21, 492,
1415 489, 1272, 1403, 27, 217, 129, 130, 24, 490, 493,
1416 1060, 1497, 58, -545, 58, 649, -545, 774, 1513, 498,
1417 193, 58, 530, 71, -102, 71, 205, 649, -102, 652,
1418 329, 329, 71, 329, 737, 652, 737, 1375, 514, 515,
1419 654, 507, 1310, 737, 1196, 1197, 654, 1199, 743, 87,
1420 743, 651, 863, 992, 1002, 508, 743, 743, 126, 127,
1421 649, -102, 649, 368, -545, 509, -545, -545, 745, -545,
1422 745, 1148, 1149, 1150, 744, 510, 979, 745, 1015, 1016,
1423 -545, 1017, -545, 744, 1490, 397, 511, 981, 982, 571,
1424 15, 16, 57, 616, 57, -385, 1010, 619, -545, -545,
1425 1510, 57, -545, 343, 779, 126, 127, 620, 1054, 651,
1426 637, 129, 130, 622, -545, 651, 237, 15, 16, 555,
1427 556, 88, 623, -385, -385, 1326, 1327, 624, -385, -123,
1428 1369, 7, 8, 231, 10, 485, 779, 281, 373, 374,
1429 10, 89, 652, 8, 9, 649, 692, 636, 530, 665,
1430 343, -6, 831, 654, 638, 852, 854, 654, 129, 130,
1431 464, 466, 446, 1419, 527, 1316, 528, 668, 1395, 832,
1432 22, 686, 477, 649, 241, 710, 22, 232, 652, 705,
1433 779, 329, 233, 232, 652, 28, 29, 643, 343, 654,
1434 755, 28, 299, 1102, 1103, 654, 129, 130, 833, 1191,
1435 454, 1420, 237, 446, 1424, -100, 756, 15, 16, 233,
1436 757, 993, 758, 765, 843, 151, 774, 33, 766, 1057,
1437 233, 783, 651, 33, 692, 675, 651, 94, 109, 110,
1438 1201, 625, 626, 627, 90, 654, 126, 127, 779, -100,
1439 785, 513, -124, -100, 329, 94, 109, 110, 476, 88,
1440 861, 652, 786, 521, 91, 151, 788, 1160, 651, 845,
1441 859, 1406, 654, 652, 651, 400, 403, 8, 9, 89,
1442 94, 95, 96, 1417, 654, 863, -100, 884, 885, 894,
1443 581, 111, 112, 618, 22, 895, 58, 27, 992, 129,
1444 130, 897, 628, 400, 403, 898, 652, 71, 652, 111,
1445 112, 514, 515, 582, 651, 618, 21, 654, 737, 654,
1446 237, 234, 343, 583, 905, 906, 343, 919, -271, 924,
1447 129, 130, 743, 584, 97, 98, 585, 586, 94, 95,
1448 96, 651, 209, 210, 211, 419, 942, 969, 329, 1162,
1449 -791, 943, 745, 651, 485, 1164, 1165, 655, 744, 1162,
1450 1167, 1146, 1406, 1165, 1471, 88, 944, 90, 950, 960,
1451 964, 971, 212, 1331, 1028, 1332, 57, 94, 109, 110,
1452 967, 1406, 94, 109, 110, 89, 651, 91, 651, 936,
1453 27, 652, 97, 98, 213, 1011, 1203, 965, 1536, 1029,
1454 1217, 1218, 654, 1030, 281, 373, 374, 10, 1493, 94,
1455 95, 96, 1253, 1031, 1012, 1248, 774, 718, 1032, 692,
1456 151, 151, 151, 71, 1033, 1034, 526, 88, 1217, 1218,
1457 654, 111, 112, 113, 1247, 1376, 111, 112, 1406, 1035,
1458 214, 215, 216, 22, 1036, 153, 677, 89, 151, 151,
1459 151, 126, 127, 126, 1297, 58, 27, 1037, 28, 299,
1460 196, 27, 204, 97, 98, 99, 71, 1038, 1252, 1043,
1461 -122, 651, 1040, 1041, 319, 1044, 319, 737, 319, 115,
1462 116, 117, 796, 1045, 1046, 153, 1047, 486, 649, 1059,
1463 33, 743, 57, 1353, 1048, 1353, 1049, 1062, 343, 651,
1464 1063, 1061, 27, 1064, 129, 130, 129, 130, 1070, 1071,
1465 205, 745, 115, 719, 720, 1072, 721, 744, 492, 1116,
1466 1080, 1081, 1139, 319, 844, 319, 521, 1078, 493, 1083,
1467 485, 27, 1253, 118, 119, 57, 1093, 193, 1090, 1253,
1468 722, 1096, 1248, 71, 1145, 1163, 1253, 723, 1168, 1248,
1469 71, 491, 1459, 1172, 1247, 779, 1176, 71, 1181, 1182,
1470 1183, 1247, 1184, 1189, 27, 1202, 118, 119, 1247, 1198,
1471 416, 1193, 1194, 1306, 1307, 1308, 1309, 7, 126, 127,
1472 10, 15, 16, 1312, 1204, 1205, -385, 1206, 1252, 1213,
1473 1209, 901, 400, 403, 1210, 1252, 1216, 204, 1124, 1221,
1474 514, 515, 1252, 918, 1265, 459, 204, 552, 553, 554,
1475 555, 556, 57, 1274, -385, -385, 22, 1275, 1278, 57,
1476 426, 1282, -626, 232, 1304, 1305, 57, 1315, 1311, 796,
1477 1314, 28, 29, 1320, 1343, 1321, 1323, 115, 719, 720,
1478 153, 153, 153, 1322, 1155, 1156, 198, 199, 200, 1330,
1479 1378, 1379, 1339, 14, 1340, 233, 94, 109, 110, 1341,
1480 209, 210, 211, 33, 1349, 722, 1351, 1364, 153, 153,
1481 153, 19, 1367, 1169, 151, 1409, 21, 1410, 362, 363,
1482 364, 1391, 966, 1392, 1414, 24, 1474, 512, 1443, 27,
1483 212, 118, 119, 1253, 1253, 1443, 1248, 1393, 1253, 278,
1484 205, 1248, 8, 9, 71, 71, 278, 1394, 329, 71,
1485 111, 112, 1396, 1398, 456, 1247, 1247, 703, 704, 1416,
1486 1247, 1418, 1439, 1013, 652, 319, 94, 95, 96, 1018,
1487 27, 1253, 366, 367, 1248, 654, 1415, 151, 151, 151,
1488 1253, 1447, 71, 1248, 1457, 1465, 1467, 343, 1473, 1252,
1489 1252, 71, 1482, 1247, 1252, 129, 130, 1504, 1483, 1491,
1490 1492, 1508, 1247, 1515, 1516, 1519, 1443, 1522, 276, 1524,
1491 1525, 1529, 1533, 57, 57, 276, 1537, 278, 57, 1538,
1492 97, 98, 126, 127, 115, 719, 720, 1252, 1253, 1540,
1493 1545, 1248, 1546, 196, 204, 1441, 1252, 1548, 1549, 71,
1494 1, 803, 1441, 670, 651, 634, 5, 1099, 1003, 1222,
1495 1247, 57, 412, 680, 684, 521, 281, 8, 9, 10,
1496 57, 684, 339, 128, 1285, 1286, 1253, 1295, 1296, 1248,
1497 1298, 1494, 1073, 27, 1074, 129, 130, 71, 118, 119,
1498 1489, 413, 628, 393, 1252, 1405, 276, 1544, 1247, 416,
1499 497, 557, 901, 1356, 1092, 22, 459, 204, 941, 468,
1500 416, 1091, 232, 1276, 459, 1151, 1170, 1005, 57, 1299,
1501 28, 299, 887, 1441, 457, 199, 200, 416, 1089, 830,
1502 449, 14, 1252, 370, 319, 684, 578, 1362, 1262, 1514,
1503 558, 559, 1523, 1511, 153, 560, 561, 562, 563, 19,
1504 1486, 1528, 33, 150, 21, 1530, 57, 1138, 1368, 0,
1505 0, 1527, 0, 24, 0, 0, 0, 319, 803, 680,
1506 0, 0, 800, 801, 0, 805, 806, 807, 808, 809,
1507 810, 811, 812, 813, 814, 815, 816, 817, 818, 819,
1508 820, 821, 822, 823, 0, 0, 1372, 1373, 0, 684,
1509 0, 684, 684, 0, 0, 0, 0, 153, 153, 153,
1510 0, 0, 0, 0, 0, 732, 0, 7, 8, 733,
1511 10, 386, 12, 13, 0, 198, 199, 200, 14, 684,
1512 126, 127, 14, 0, 0, 13, 684, 0, 0, 0,
1513 1177, 1187, 1179, 17, 0, 18, 19, 20, 0, 0,
1514 19, 21, -492, 0, 0, 21, 22, 889, 891, 0,
1515 24, 734, 0, 642, 24, 204, 401, 404, 0, 27,
1516 0, 28, 29, 319, 581, 735, 0, 736, 239, 659,
1517 0, 27, 0, 129, 130, 31, 682, 0, 0, 0,
1518 1431, 1432, 1433, 682, 0, 32, 1208, 582, 150, 0,
1519 0, 0, 239, 33, 196, 0, 204, 583, 34, 550,
1520 551, 552, 553, 554, 555, 556, 680, 584, 0, 0,
1521 585, 586, 0, 0, 1227, -492, 0, 0, 8, 9,
1522 1187, 239, 12, 13, 0, 0, 0, 79, 14, 0,
1523 239, 0, 1461, 1462, 0, 0, 204, 103, 0, 0,
1524 0, 0, 0, 17, 0, 18, 0, 682, 132, 0,
1525 0, 21, 0, 0, 141, 141, 0, 141, 459, 79,
1526 24, 416, 1277, 977, 79, 0, 0, 1281, 0, 27,
1527 0, 129, 130, 564, 0, 0, 239, 187, 0, 79,
1528 0, 0, 319, 319, 0, 319, 0, 220, 0, 196,
1529 600, 8, 9, 0, 103, 416, 0, 1512, 0, 0,
1530 684, 0, 0, 0, 0, 243, 103, 0, 565, 239,
1531 0, 682, 0, 682, 682, 0, 0, 1317, 523, 0,
1532 0, 0, 1039, 0, 0, 0, 289, 601, 103, 22,
1533 0, 0, 239, 1345, 0, 0, 989, 990, 9, 10,
1534 0, 682, 27, 0, 129, 130, 0, 0, 682, 0,
1535 0, 132, 0, 0, 0, 0, 132, -277, 79, 680,
1536 684, 0, 141, 0, 0, 395, 141, 0, 0, 141,
1537 141, 141, -277, -277, 684, 22, 684, -277, 684, 0,
1538 0, 0, 0, 79, 0, 0, 0, 0, 27, 0,
1539 28, 29, 0, -277, 1154, 0, 991, 0, 0, 0,
1540 187, 187, 187, 0, 177, -277, -277, 0, -277, 0,
1541 -277, 1088, 1387, 1388, 178, 0, 1401, 0, 0, 0,
1542 0, 684, 33, 239, 0, 0, 0, 179, 1397, 187,
1543 0, 0, 0, 319, 198, 199, 200, 0, 0, -277,
1544 -277, 14, 683, -277, 467, 0, 1111, 0, 0, 690,
1545 401, 404, 103, 0, 0, -277, 0, 0, 684, 19,
1546 0, 0, 0, 141, 21, 0, 0, 0, 0, 7,
1547 8, 9, 10, 24, 0, 13, 684, 0, 0, 0,
1548 1427, 1428, 0, 0, 239, 0, 0, 0, 882, 548,
1549 549, 550, 551, 552, 553, 554, 555, 556, 0, 1437,
1550 1438, 103, 494, 0, 0, 0, 0, 0, 22, 523,
1551 0, 0, 523, 771, 581, 0, 0, 0, 1161, 0,
1552 0, 27, 682, 28, 29, 416, 416, 0, 401, 784,
1553 0, 587, 587, 587, 0, 0, 0, 907, 0, 0,
1554 0, 0, 523, 0, 0, 103, 0, 908, 0, 579,
1555 0, 494, 494, 595, 416, 33, 239, 584, 0, 0,
1556 909, 586, 79, 0, 0, 0, 0, 680, 680, 0,
1557 0, 1190, 0, 0, 0, 0, 0, 824, 132, 826,
1558 827, 0, 682, 239, 7, 8, 9, 10, 0, 0,
1559 319, 0, 0, 0, 0, 0, 682, 0, 682, 0,
1560 682, 874, 132, 0, 0, 0, 0, 0, 103, 0,
1561 0, 187, 103, 0, 878, 0, 0, 0, 0, 0,
1562 0, 0, 141, 22, 0, 141, 0, 0, 0, 581,
1563 141, 0, 0, 0, 0, 0, 27, 0, 28, 29,
1564 0, 0, 0, 682, 0, 684, 0, 684, 0, 684,
1565 0, 0, 907, 0, 0, 0, 0, 680, 0, 187,
1566 0, 187, 908, 187, 187, 187, 680, 680, 239, 187,
1567 33, 680, 584, 0, 187, 909, 586, 187, 0, 0,
1568 682, 0, 0, 0, 239, 0, 1283, 1284, 0, 0,
1569 0, 0, 0, 79, 0, 0, 0, 0, 682, 0,
1570 0, 0, 0, 0, 0, 416, 416, 0, 416, 416,
1571 0, 416, 680, 0, 732, 0, 7, 8, 733, 10,
1572 386, 12, 13, 0, 0, 0, 0, 14, 0, 0,
1573 0, 103, 103, 103, 103, 0, 0, 0, 0, 0,
1574 0, 684, 17, 0, 18, 19, 20, 0, 0, 0,
1575 21, -493, 0, 0, 0, 22, 0, 0, 0, 24,
1576 734, 0, 642, 0, 0, 1338, 0, 0, 27, 0,
1577 28, 29, 0, 0, 735, 0, 736, 0, 0, 0,
1578 0, 0, 874, 0, 31, 587, 587, 0, 587, 103,
1579 0, 494, 0, 0, 32, 873, 196, 204, 0, 0,
1580 680, 0, 33, 579, 0, 494, 494, 34, 595, 0,
1581 0, 0, 0, 0, 0, 875, 1377, 0, 0, 877,
1582 0, 0, 0, 0, -493, 0, 0, 416, 416, 0,
1583 0, 0, 0, 187, 0, 0, 0, 0, 680, 7,
1584 126, 127, 10, 0, 0, 13, 0, 0, 1053, 0,
1585 0, 0, 587, 0, 587, 587, 572, 587, 281, 373,
1586 374, 10, 1065, 573, 1066, 0, 1067, 682, 0, 682,
1587 0, 682, 187, 914, 187, 187, 220, 595, 22, 401,
1588 784, 0, 0, 0, 0, 684, 0, 0, 0, 0,
1589 0, 27, 0, 28, 29, 587, 0, 22, 0, 0,
1590 0, 0, 1429, 1430, 574, 0, 0, 31, 0, 1095,
1591 27, 1435, 28, 299, 0, 187, 0, 32, 150, 914,
1592 0, 416, 416, 416, 0, 33, 187, 187, 0, 187,
1593 34, 0, 0, 0, 0, 0, 0, 0, 1454, 0,
1594 0, 0, 0, 0, 575, 0, 1114, 0, 349, 351,
1595 0, 0, 0, 0, 0, 0, 0, 132, 1136, 0,
1596 79, 0, 79, 682, 239, 0, 239, 1000, 79, 79,
1597 0, 0, 0, 416, 416, 0, 0, 103, 0, 0,
1598 0, 0, 587, 103, 0, 7, 8, 9, 10, 0,
1599 494, 494, 494, 0, 0, 0, 0, 0, 0, 0,
1600 0, 0, 494, 239, 0, 0, 0, 0, 8, 9,
1601 0, 386, 12, 13, 0, 0, 688, 0, 14, 0,
1602 0, 0, 0, 0, 22, 0, 0, 989, 990, 9,
1603 10, 0, 0, 17, 0, 18, 19, 27, 416, 28,
1604 29, 21, 0, 176, 0, 0, 0, 0, 0, 0,
1605 24, 0, 103, 177, 0, 587, 0, 587, 680, 27,
1606 0, 129, 130, 178, 0, 0, 22, 0, 587, 0,
1607 0, 33, 873, 873, 873, 494, 179, 494, 0, 27,
1608 0, 28, 29, 0, 103, 0, 0, 991, 494, 239,
1609 103, 0, 875, 875, 875, 177, 0, 0, 0, 1082,
1610 0, 0, 689, 0, 0, 178, 0, 682, 0, 0,
1611 587, 587, 587, 33, 401, 404, 126, 127, 179, 0,
1612 0, 227, 0, 0, 0, 0, 103, 0, 103, 82,
1613 187, 187, 1108, 1223, 0, 1224, 0, 1225, 0, 105,
1614 0, 0, 401, 1264, 0, 0, 0, 0, 0, 125,
1615 133, 525, 873, 0, 0, 0, 142, 142, 0, 142,
1616 581, 82, 0, 0, 0, 0, 82, 27, 0, 129,
1617 130, 239, 1108, 0, 0, 0, 0, 0, 0, 142,
1618 0, 82, 0, 582, 0, 0, 103, 0, 0, 221,
1619 0, 0, 0, 583, 0, 0, 229, 239, 0, 103,
1620 0, 0, 1000, 584, 0, 0, 585, 586, 229, 0,
1621 0, 103, 281, 126, 127, 10, 0, 0, 0, 0,
1622 0, 0, 0, 0, 1166, 0, 0, 648, 0, 1319,
1623 0, 0, 0, 0, 79, 0, 0, 0, 7, 8,
1624 9, 10, 0, 0, 103, 0, 103, 0, 0, 0,
1625 0, 22, 0, 379, 0, 239, 0, 0, 232, 0,
1626 82, 590, 594, 597, 142, 0, 28, 299, 142, 0,
1627 0, 142, 142, 142, 0, 0, 691, 22, 494, 494,
1628 0, 494, 0, 0, 232, 82, 0, 0, 0, 0,
1629 8, 9, 28, 29, 12, 13, 0, 0, 33, 0,
1630 14, 0, 142, 142, 142, 587, 587, 587, 587, 587,
1631 0, 0, 0, 587, 0, 17, 233, 18, 0, 0,
1632 0, 0, 0, 21, 33, 187, 187, 187, 187, 1108,
1633 0, 142, 24, 187, 0, 873, 873, 873, 0, 0,
1634 0, 27, 772, 129, 130, 775, 0, 0, 0, 777,
1635 778, 780, 781, 782, 0, 1108, 1108, 1108, 7, 126,
1636 127, 10, 525, 0, 227, 142, 0, 1136, 0, 0,
1637 7, 8, 9, 10, 0, 799, 227, 0, 0, 0,
1638 829, 0, 0, 0, 0, 0, 187, 0, 0, 0,
1639 0, 141, 0, 79, 0, 0, 0, 22, 0, 0,
1640 0, 0, 0, 229, 142, 0, 0, 828, 0, 22,
1641 27, 0, 28, 29, 0, 581, 0, 0, 0, 0,
1642 587, 587, 27, 587, 28, 29, 31, 856, 0, 0,
1643 0, 401, 1264, 0, 856, 0, 32, 0, 907, 0,
1644 187, 187, 0, 187, 33, 0, 0, 229, 908, 34,
1645 0, 580, 0, 142, 142, 596, 33, 0, 584, 0,
1646 604, 909, 586, 0, 82, 7, 126, 127, 10, 0,
1647 0, 13, 0, 0, 187, 914, 187, 0, 0, 0,
1648 379, 0, 281, 8, 9, 10, 0, 0, 0, 0,
1649 0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
1650 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
1651 229, 0, 75, 142, 229, 853, 855, 27, 0, 28,
1652 29, 22, 0, 0, 142, 0, 0, 142, 232, 0,
1653 0, 0, 142, 146, 0, 0, 28, 299, 648, 140,
1654 144, 0, 0, 147, 75, 0, 0, 0, 0, 75,
1655 0, 33, 281, 8, 9, 10, 148, 0, 0, 0,
1656 233, 142, 0, 142, 197, 142, 142, 142, 33, 0,
1657 0, 142, 7, 8, 9, 10, 142, 0, 13, 142,
1658 0, 1108, 912, 0, 590, 594, 0, 597, 0, 0,
1659 0, 22, 0, 0, 731, 82, 691, 0, 232, 0,
1660 0, 0, 691, 0, 0, 0, 28, 299, 0, 0,
1661 0, 22, 0, 0, 0, 0, 0, 581, 0, 0,
1662 0, 0, 0, 0, 27, 594, 28, 29, 0, 0,
1663 485, 0, 0, 229, 229, 229, 229, 0, 33, 0,
1664 1104, 0, 0, 391, 1108, 1108, 1108, 394, 0, 0,
1665 1105, 396, 0, 0, 0, 0, 0, 0, 33, 0,
1666 584, 0, 103, 1106, 586, 0, 0, 187, 75, 0,
1667 6, 1050, 7, 8, 9, 10, 11, 12, 13, 0,
1668 0, 0, 0, 14, 0, 140, 144, 0, 0, 0,
1669 0, 229, 0, 142, 0, 0, 15, 16, 17, 0,
1670 18, 19, 20, 799, 0, 0, 21, 142, 142, 691,
1671 596, 22, 594, 856, 23, 24, 25, 876, 26, 0,
1672 0, 0, 0, 0, 27, 0, 28, 29, 0, 604,
1673 30, 0, 0, 0, 0, 142, 0, 0, 0, 0,
1674 31, 1287, 1288, 9, 10, 648, 0, 1100, 483, 0,
1675 32, 856, 0, 0, 0, 0, 0, 0, 33, 0,
1676 0, 0, 0, 34, 0, 0, 125, 0, 0, 35,
1677 0, 0, 0, 0, 142, 596, 142, 142, 221, 596,
1678 22, 0, 0, 0, 0, 1068, 0, 1069, 0, 0,
1679 0, 856, 0, 27, 0, 28, 29, 731, 1075, 0,
1680 0, 1289, 853, 855, 0, 1141, 0, 0, 0, 177,
1681 0, 1147, 0, 0, 0, 0, 0, 142, 691, 178,
1682 0, 596, 0, 0, 0, 0, 0, 33, 142, 142,
1683 691, 142, 179, 0, 0, 0, 0, 0, 0, 0,
1684 853, 855, 0, 0, 0, 0, 0, 612, 7, 8,
1685 9, 10, 0, 0, 13, 0, 0, 0, 0, 133,
1686 0, 0, 82, 691, 82, 691, 0, 0, 0, 1001,
1687 82, 82, 0, 0, 0, 0, 0, 0, 0, 229,
1688 0, 0, 0, 0, 0, 229, 0, 22, 0, 0,
1689 0, 0, 142, 142, 142, 0, 0, 0, 0, 0,
1690 27, 0, 28, 29, 142, 0, 0, 663, 0, 0,
1691 664, 0, 0, 0, 0, 666, 177, 0, 0, 7,
1692 8, 9, 10, 0, 0, 482, 178, 0, 437, 439,
1693 443, 0, 0, 50, 33, 0, 0, 0, 0, 179,
1694 0, 0, 0, 0, 394, 0, 396, 0, 856, 0,
1695 0, 0, 0, 0, 229, 0, 0, 0, 22, 483,
1696 50, 50, 0, 149, 581, 50, 0, 0, 0, 0,
1697 50, 27, 0, 28, 29, 0, 856, 142, 749, 142,
1698 0, 0, 0, 50, 0, 50, 229, 907, 0, 0,
1699 142, 0, 229, 0, 876, 876, 876, 908, 0, 0,
1700 0, 604, 0, 0, 0, 33, 0, 584, 235, 0,
1701 909, 586, 541, 542, 543, 544, 545, 546, 547, 548,
1702 549, 550, 551, 552, 553, 554, 555, 556, 229, 0,
1703 229, 0, 142, 142, 596, 1068, 1069, 853, 855, 0,
1704 0, 0, 0, 1075, 544, 545, 546, 547, 548, 549,
1705 550, 551, 552, 553, 554, 555, 556, 376, 0, 0,
1706 0, 376, 376, 0, 50, 853, 855, 0, 50, 0,
1707 235, 0, 50, 0, 876, 149, 149, 149, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 229, 50,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
1710 0, 229, 0, 0, 1001, 0, 50, 50, 149, 0,
1711 0, 0, 1141, 229, 0, 0, 235, 0, 0, 126,
1712 127, 0, 0, 199, 200, 0, 0, 0, 0, 14,
1713 0, 0, 0, 0, 0, 50, 82, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 229, 0, 229, 0,
1715 1068, 1069, 21, 1075, 0, 0, 0, 0, 913, 0,
1716 0, 24, 0, 581, 0, 0, 0, 0, 0, 50,
1717 27, 0, 129, 130, 0, 0, 0, 0, 0, 0,
1718 142, 142, 0, 142, 0, 0, 582, 701, 0, 702,
1719 0, 437, 439, 443, 0, 0, 583, 0, 0, 0,
1720 0, 0, 713, 0, 956, 0, 584, 0, 0, 592,
1721 586, 663, 664, 0, 666, 545, 546, 547, 548, 549,
1722 550, 551, 552, 553, 554, 555, 556, 142, 142, 142,
1723 142, 596, 0, 0, 0, 142, 0, 0, 522, 0,
1724 0, 731, 0, 0, 0, 749, 0, 749, 0, 0,
1725 0, 0, 999, 1006, 749, 376, 0, 876, 876, 876,
1726 0, 0, 0, 235, 0, 525, 0, 0, 50, 0,
1727 0, 0, 0, 731, 0, 0, 0, 0, 0, 0,
1728 0, 648, 0, 0, 376, 0, 0, 0, 142, 0,
1729 0, 0, 0, 142, 0, 82, 7, 8, 9, 10,
1730 386, 12, 13, 0, 0, 688, 0, 14, 376, 0,
1731 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
1732 0, 0, 17, 0, 18, 19, 0, 0, 50, 0,
1733 21, 50, 0, 0, 0, 22, 50, 0, 0, 24,
1734 0, 581, 142, 142, 0, 142, 0, 0, 27, 0,
1735 28, 29, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 1104, 50, 0, 50, 0, 149,
1737 149, 149, 0, 0, 1105, 50, 142, 596, 142, 0,
1738 50, 77, 33, 50, 584, 0, 0, 1106, 586, 0,
1739 0, 689, 0, 0, 0, 229, 0, 0, 0, 50,
1740 0, 0, 0, 0, 0, 0, 0, 0, 77, 77,
1741 0, 77, 0, 77, 0, 140, 144, 0, 77, 0,
1742 7, 126, 127, 10, 0, 0, 482, 0, 0, 522,
1743 0, 77, 522, 77, 0, 0, 0, 0, 0, 0,
1744 8, 9, 0, 0, 12, 227, 0, 522, 522, 522,
1745 14, 0, 0, 0, 701, 702, 0, 713, 0, 22,
1746 0, 0, 522, 0, 0, 17, 0, 18, 0, 0,
1747 0, 0, 27, 21, 28, 29, 0, 0, 240, 0,
1748 0, 0, 24, 876, 581, 0, 0, 999, 31, 0,
1749 0, 27, 0, 129, 130, 998, 0, 0, 32, 126,
1750 127, 0, 0, 199, 200, 0, 33, 582, 235, 14,
1751 0, 34, 77, 0, 0, 0, 77, 583, 0, 749,
1752 77, 522, 0, 77, 77, 77, 0, 584, 0, 0,
1753 585, 586, 21, 0, 0, 0, 0, 77, 0, 50,
1754 0, 24, 0, 581, 0, 0, 876, 876, 876, 0,
1755 27, 407, 129, 130, 77, 77, 77, 0, 0, 0,
1756 0, 0, 0, 0, 229, 0, 582, 0, 0, 142,
1757 0, 0, 435, 0, 0, 0, 583, 0, 50, 50,
1758 50, 50, 0, 77, 0, 451, 584, 8, 9, 585,
1759 586, 12, 227, 0, 0, 0, 0, 14, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 394, 396, 17, 0, 18, 0, 0, 77, 483, 0,
1762 21, 50, 0, 0, 0, 50, 0, 0, 0, 24,
1763 0, 0, 50, 50, 0, 50, 0, 0, 27, 0,
1764 129, 130, 0, 0, 0, 0, 0, 0, 0, 732,
1765 0, 7, 8, 733, 10, 386, 12, 13, 437, 439,
1766 443, 0, 14, 0, 0, 0, 50, 0, 50, 0,
1767 0, 1294, 0, 50, 50, 50, 1294, 17, 749, 18,
1768 19, 20, 0, 0, 0, 21, -495, 0, 0, 0,
1769 22, 0, 0, 0, 24, 734, 0, 642, 0, 0,
1770 443, 0, 522, 27, 0, 28, 29, 0, 0, 735,
1771 0, 736, 603, 0, 0, 0, 77, 0, 0, 31,
1772 0, 0, 0, 0, 0, 663, 664, 0, 666, 32,
1773 998, 0, 0, 0, 0, 0, 0, 33, 7, 8,
1774 9, 10, 34, 0, 227, 543, 544, 545, 546, 547,
1775 548, 549, 550, 551, 552, 553, 554, 555, 556, -495,
1776 1357, 0, 0, 0, 0, 77, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 77, 22, 0, 77,
1778 0, 0, 0, 0, 77, 0, 0, 0, 0, 0,
1779 27, 0, 28, 29, 0, 0, 0, 0, 522, 522,
1780 522, 0, 0, 0, 235, 0, 177, 0, 0, 0,
1781 0, 0, 0, 77, 0, 77, 178, 77, 77, 77,
1782 0, 0, 0, 77, 33, 0, 0, 0, 77, 179,
1783 0, 77, 154, 0, 0, 0, 50, 50, 149, 0,
1784 0, 706, 0, 235, 0, 0, 712, 77, 0, 0,
1785 0, 0, 188, 701, 702, 437, 439, 443, 0, 0,
1786 0, 713, 0, 0, 7, 8, 9, 10, 198, 199,
1787 200, 753, 0, 0, 0, 14, 0, 759, 1135, 0,
1788 0, 0, 0, 437, 439, 443, 0, 0, 0, 767,
1789 768, 0, 769, 19, 0, 0, 0, 0, 21, 0,
1790 0, 0, 0, 22, 0, 0, 0, 24, 50, 581,
1791 1287, 126, 127, 10, 1293, 0, 27, 0, 28, 29,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
1793 0, 0, 907, 0, 0, 0, 0, 0, 0, 0,
1794 50, 0, 908, 0, 154, 154, 154, 0, 0, 22,
1795 33, 0, 584, 0, 0, 909, 586, 603, 0, 0,
1796 0, 0, 27, 0, 28, 29, 0, 0, 701, 702,
1797 1289, 713, 0, 0, 0, 188, 188, 444, 31, 0,
1798 0, 0, 0, 0, 0, 864, 865, 77, 32, 0,
1799 864, 0, 0, 0, 0, 0, 33, 0, 0, 0,
1800 0, 34, 0, 0, 188, 0, 0, 0, 0, 0,
1801 0, 235, 0, 0, 0, 0, 7, 8, 9, 10,
1802 0, 0, 13, 0, 0, 0, 77, 77, 77, 77,
1803 0, 50, 50, 149, 149, 149, 0, 235, 0, 50,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 7, 8, 9, 10, 22, 0, 482, 0, 0,
1806 0, 1135, 1135, 1135, 0, 0, 0, 0, 27, 77,
1807 28, 29, 0, 77, 0, 0, 0, 495, 0, 0,
1808 77, 77, 0, 77, 440, 0, 0, 0, 0, 0,
1809 22, 0, 50, 0, 441, 0, 0, 50, 0, 50,
1810 0, 0, 33, 27, 0, 28, 29, 442, 0, 443,
1811 0, 0, 126, 127, 77, 0, 77, 482, 0, 177,
1812 0, 77, 77, 77, 0, 0, 589, 589, 589, 178,
1813 0, 0, 0, 0, 0, 0, 186, 33, 7, 8,
1814 9, 10, 179, 0, 0, 0, 50, 50, 0, 50,
1815 0, 0, 0, 0, 0, 0, 581, 0, 1020, 0,
1816 1022, 238, 0, 27, 242, 129, 130, 0, 0, 0,
1817 0, 0, 437, 439, 443, 0, 0, 22, 0, 582,
1818 50, 50, 50, 0, 0, 238, 188, 345, 0, 583,
1819 27, 0, 28, 29, 0, 0, 1352, 0, 0, 584,
1820 0, 0, 585, 586, 0, 0, 177, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 178, 0, 0, 0,
1822 0, 0, 0, 0, 33, 0, 0, 0, 0, 179,
1823 0, 0, 1055, 1056, 188, 1058, 188, 0, 444, 444,
1824 444, 0, 0, 0, 188, 0, 0, 0, 0, 188,
1825 0, 0, 188, 603, 0, 0, 0, 0, 0, 186,
1826 186, 186, 0, 1076, 0, 0, 0, 0, 0, 450,
1827 8, 9, 0, 386, 12, 13, 0, 0, 688, 0,
1828 14, 0, 0, 0, 77, 77, 77, 1135, 186, 0,
1829 0, 7, 126, 127, 10, 17, 0, 18, 19, 0,
1830 0, 0, 0, 21, 0, 0, 0, 0, 1110, 0,
1831 0, 242, 24, 0, 581, 0, 0, 0, 0, 0,
1832 0, 27, 0, 129, 130, 238, 1137, 0, 0, 0,
1833 22, 0, 0, 0, 0, 0, 0, 582, 0, 0,
1834 0, 0, 0, 27, 0, 28, 29, 583, 0, 0,
1835 1135, 1135, 1135, 0, 0, 0, 77, 584, 0, 146,
1836 585, 586, 0, 0, 689, 0, 838, 0, 0, 147,
1837 0, 0, 1152, 50, 0, 0, 0, 33, 0, 0,
1838 589, 589, 148, 589, 1157, 0, 0, 0, 77, 0,
1839 589, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 8, 9, 0, 386, 12, 13, 0, 0, 188, 0,
1841 14, 0, 0, 0, 0, 0, 238, 242, 0, 0,
1842 0, 7, 8, 9, 10, 17, 0, 18, 19, 0,
1843 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1844 0, 0, 641, 0, 0, 642, 0, 911, 0, 911,
1845 911, 27, 589, 129, 130, 0, 0, 0, 0, 0,
1846 22, 0, 0, 0, 0, 0, 0, 0, 1207, 0,
1847 186, 0, 0, 27, 0, 28, 29, 0, 0, 77,
1848 77, 77, 77, 77, 0, 0, 0, 77, 0, 440,
1849 911, 0, 0, 0, 0, 0, 0, 0, 0, 441,
1850 0, 188, 188, 0, 188, 0, 1220, 33, 0, 1137,
1851 1137, 1137, 442, 0, 0, 0, 0, 0, 186, 0,
1852 186, 0, 186, 186, 186, 0, 0, 0, 186, 0,
1853 0, 0, 0, 186, 0, 0, 186, 0, 0, 0,
1854 77, 0, 188, 0, 0, 77, 0, 77, 0, 0,
1855 0, 0, 0, 0, 0, 732, 0, 7, 8, 733,
1856 10, 386, 12, 13, 0, 495, 495, 495, 14, 1302,
1857 0, 0, 0, 1303, 0, 0, 0, 589, 0, 0,
1858 0, 0, 0, 17, 0, 18, 19, 20, 0, 0,
1859 0, 21, -494, 0, 77, 77, 22, 77, 0, 0,
1860 24, 734, 0, 642, 0, 0, 1318, 0, 0, 27,
1861 0, 28, 29, 0, 0, 735, 0, 736, 7, 8,
1862 9, 10, 0, 0, 0, 31, 0, 0, 77, 77,
1863 77, 0, 0, 0, 0, 32, 0, 0, 0, 0,
1864 0, 0, 0, 33, 0, 0, 0, 0, 34, 0,
1865 589, 0, 589, 0, 0, 0, 0, 22, 0, 0,
1866 0, 0, 0, 589, 0, -494, 0, 589, 589, 589,
1867 27, 0, 28, 29, 0, 1370, 0, 238, 242, 1371,
1868 0, 0, 0, 0, 0, 0, 177, 0, 0, 0,
1869 8, 9, 186, 386, 12, 13, 178, 0, 1470, 0,
1870 14, 1389, 1390, 0, 33, 911, 911, 1109, 0, 179,
1871 0, 0, 0, 0, 0, 17, 0, 18, 19, 0,
1872 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1873 0, 186, 24, 186, 186, 1137, 0, 0, 0, 0,
1874 0, 27, 0, 129, 130, 0, 0, 1109, 0, 0,
1875 7, 8, 9, 10, 198, 199, 200, 0, 101, 0,
1876 0, 14, 0, 0, 0, 0, 0, 0, 120, 101,
1877 0, 0, 0, 0, 186, 101, 101, 188, 101, 19,
1878 0, 0, 0, 0, 21, 186, 186, 0, 186, 22,
1879 0, 0, 0, 24, 0, 581, 0, 0, 1137, 1137,
1880 1137, 0, 27, 0, 28, 29, 8, 9, 219, 189,
1881 12, 190, 0, 242, 0, 0, 14, 0, 907, 0,
1882 0, 77, 0, 0, 0, 0, 186, 0, 908, 0,
1883 0, 17, 0, 18, 19, 0, 33, 0, 584, 21,
1884 0, 949, 586, 0, 0, 0, 0, 0, 24, 0,
1885 0, 0, 0, 838, 838, 0, 838, 27, 0, 129,
1886 130, 0, 0, 0, 0, 0, 0, 369, 0, 120,
1887 0, 0, 101, 0, 0, 0, 101, 101, 0, 0,
1888 0, 0, 0, 101, 0, 101, 101, 101, 0, 0,
1889 101, 101, 101, 0, 0, 0, 0, 0, 0, 0,
1890 911, 911, 1109, 1109, 1109, 0, 0, 0, 911, 539,
1891 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
1892 550, 551, 552, 553, 554, 555, 556, 0, 0, 0,
1893 1109, 1109, 1109, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 732, 0, 7,
1895 8, 733, 10, 386, 12, 13, 0, 238, 242, 238,
1896 14, 188, 0, 0, 465, 101, 0, 0, 0, 0,
1897 0, 0, 0, 0, 0, 17, 0, 18, 19, 20,
1898 0, 0, 0, 21, 101, 0, 0, 0, 22, 186,
1899 186, 1107, 24, 734, 0, 642, 238, 0, 0, 0,
1900 0, 27, 0, 28, 29, 0, 0, 735, 0, 736,
1901 0, 0, 0, 0, 0, 911, 911, 31, 911, 0,
1902 0, 0, 0, 101, 0, 0, 0, 32, 0, 0,
1903 0, 1107, 0, 0, 0, 33, 0, 0, 0, 244,
1904 34, 0, 8, 9, 0, 0, 12, 13, 0, 188,
1905 0, 188, 14, 0, 0, 0, 0, 0, 0, 0,
1906 0, 186, 0, 0, 0, 0, 0, 17, 0, 18,
1907 101, 0, 101, 101, 0, 21, 0, 245, 246, 0,
1908 0, 0, 450, 0, 24, 0, 247, 0, 0, 0,
1909 0, 0, 0, 27, 0, 129, 130, 0, 248, 101,
1910 0, 0, 249, 250, 251, 252, 253, 254, 255, 256,
1911 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
1912 267, 268, 269, 101, 0, 270, 271, 272, 0, 0,
1913 273, 0, 0, 274, 0, 0, 0, 0, 0, 101,
1914 0, 0, 0, 101, 0, 0, 101, 0, 0, 0,
1915 275, 101, 0, 0, 0, 0, 444, 0, 0, 0,
1916 0, 0, 0, 0, 238, 540, 541, 542, 543, 544,
1917 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1918 555, 556, 0, 0, 186, 186, 186, 186, 1107, 0,
1919 1219, 0, 186, 542, 543, 544, 545, 546, 547, 548,
1920 549, 550, 551, 552, 553, 554, 555, 556, 0, 0,
1921 0, 101, 0, 724, 1107, 1107, 1107, 0, 0, 444,
1922 444, 444, 0, 0, 0, 0, 0, 0, 7, 8,
1923 9, 10, 386, 12, 13, 0, 0, 955, 101, 14,
1924 0, 0, 188, 0, 0, 186, 0, 0, 0, 0,
1925 0, 0, 0, 0, 17, 0, 18, 19, 0, 0,
1926 0, 0, 21, 0, 0, 0, 0, 22, 0, 0,
1927 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1928 27, 0, 28, 29, 1383, 0, -449, -449, -449, -449,
1929 -449, -449, -449, 0, 0, -449, 31, -449, 0, 186,
1930 186, 0, 186, 0, 0, 0, 32, 0, -449, 0,
1931 -449, -449, 101, 0, 33, -449, 0, 0, 0, 34,
1932 -449, 0, 0, 101, 101, -449, 101, 101, 0, -449,
1933 0, -449, 0, 186, 0, 186, 0, 0, -449, 0,
1934 -449, -449, -449, -449, -449, 0, -449, -449, -449, -449,
1935 -449, -449, -449, -449, -449, -449, -449, -449, -449, -449,
1936 -449, -449, -449, -449, -449, -449, -449, -449, -449, 0,
1937 -449, -449, -449, 0, -449, -449, -449, -449, -449, -449,
1938 0, -449, -449, 0, 0, 120, 0, 1384, 0, 0,
1939 0, 0, -449, -449, -449, 0, -449, 219, 0, 0,
1940 161, 0, 7, 8, 9, 10, 11, 12, 13, 0,
1941 8, 9, 0, 14, 12, 13, 724, 0, 0, 0,
1942 14, 0, 0, 0, 0, 0, 15, 16, 17, 0,
1943 18, 19, 20, 0, 0, 17, 21, 18, 0, 0,
1944 1107, 22, 0, 21, 23, 24, 25, 0, 26, 0,
1945 0, 0, 24, 0, 27, 0, 28, 29, 0, 0,
1946 30, 27, 0, 129, 130, 0, 0, 0, 0, 0,
1947 31, 0, 0, 0, 0, 724, 0, 0, 101, 0,
1948 32, 0, 0, 0, 0, 0, 0, 0, 33, 0,
1949 0, 0, 0, 34, 0, 0, 0, 0, 0, 35,
1950 0, 0, 0, 1107, 1107, 1107, 0, 0, 0, 0,
1951 0, 101, 101, 101, 0, 0, 0, 0, 0, 0,
1952 0, 0, 0, 101, 0, 1360, 186, 1230, 1231, 1232,
1953 10, 386, 12, 282, 283, 284, 0, 285, 14, 1233,
1954 0, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
1955 1243, 15, 16, 17, 286, 18, 19, 20, 0, 287,
1956 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
1957 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
1958 0, 1244, 299, 675, 0, 1245, 300, 0, 0, 0,
1959 0, 0, 301, 0, 0, 302, 101, 0, 101, 0,
1960 0, 0, 0, 303, 304, 305, 0, 0, 0, 101,
1961 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
1962 1246, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 1361, 310, 1229, 0, 1230,
1964 1231, 1232, 10, 386, 12, 282, 283, 284, 0, 285,
1965 14, 1233, 0, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
1966 1241, 1242, 1243, 15, 16, 17, 286, 18, 19, 20,
1967 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
1968 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
1969 298, 27, 0, 1244, 299, 675, 0, 1245, 300, 0,
1970 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
1971 0, 0, 0, 0, 0, 303, 304, 305, 724, 0,
1972 0, 0, 0, 306, 307, 308, 0, 0, 0, 0,
1973 309, 517, 1246, 281, 8, 9, 10, 386, 12, 282,
1974 283, 284, 688, 285, 14, 101, 0, 0, 310, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
1976 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
1977 290, 291, 22, 292, 293, 0, 24, 0, 581, 0,
1978 294, 295, 296, 297, 298, 27, 0, 28, 299, -285,
1979 0, 0, 300, 0, 0, 0, 0, 0, 301, 101,
1980 101, 869, 101, 0, 0, 0, 0, 0, 0, 303,
1981 304, 870, 0, 0, 0, 0, 0, 306, 307, 308,
1982 0, 584, 0, 0, 871, 586, 0, 517, 689, 7,
1983 8, 9, 10, 386, 12, 282, 283, 284, 688, 285,
1984 14, 0, 310, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 17, 286, 18, 19, 20,
1986 724, 287, 288, 21, 0, 289, 290, 291, 22, 292,
1987 293, 0, 24, 0, 581, 0, 294, 295, 296, 297,
1988 298, 27, 0, 28, 29, -285, 0, 0, 300, 0,
1989 0, 0, 724, 0, 301, 0, 0, 1132, 0, 0,
1990 0, 0, 0, 0, 0, 303, 304, 1133, 0, 0,
1991 101, 0, 101, 306, 307, 308, 0, 584, 0, 0,
1992 1134, 586, 0, 687, 689, 281, 8, 9, 10, 386,
1993 12, 282, 283, 284, 688, 285, 14, 0, 310, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 17, 286, 18, 19, 20, 0, 287, 288, 21,
1996 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
1997 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
1998 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
1999 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2000 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2001 307, 308, 0, 0, 0, 0, 309, 0, 0, 0,
2002 689, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, -759, 802, 310, 281, 8, 9, 10, 386,
2004 12, 282, 283, 284, 0, 285, 14, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 17, 286, 18, 19, 20, 0, 287, 288, 21,
2007 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2008 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2009 299, 1449, 0, -749, 300, 0, 0, 0, 0, 0,
2010 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2011 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2012 307, 308, 0, 0, 0, 678, 309, 790, 791, 792,
2013 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2014 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2015 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2016 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2017 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2018 0, 793, 794, 679, 0, 0, 300, 0, 0, 0,
2019 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2020 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2021 0, 306, 307, 308, 0, 0, 0, 0, 309, 795,
2022 678, 0, 790, 791, 792, 10, 0, 12, 499, 283,
2023 284, 0, 285, 14, 0, 940, 310, 0, 0, 0,
2024 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2025 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2026 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2027 295, 296, 297, 298, 27, 0, 793, 794, 679, 0,
2028 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2029 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2030 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2031 0, 0, 0, 309, 795, 678, 0, 790, 791, 792,
2032 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2033 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2035 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2036 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2037 0, 793, 794, 679, 0, 0, 300, 0, 0, 0,
2038 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2039 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2040 0, 306, 307, 308, 0, 0, 0, 678, 309, 790,
2041 791, 792, 10, 0, 12, 499, 283, 284, 0, 285,
2042 14, 0, 0, 0, 0, -453, 310, 0, 0, 0,
2043 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2044 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2045 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2046 298, 27, 0, 793, 794, 679, 0, 0, 300, 0,
2047 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2048 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2049 0, 0, 0, 306, 307, 308, 0, 0, 0, 678,
2050 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2051 0, 285, 14, 0, 0, 0, 0, 1263, 310, 0,
2052 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2053 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2054 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2055 296, 297, 298, 27, 0, 28, 299, 679, 0, 0,
2056 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2057 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2058 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2059 0, 0, 309, 0, 0, 517, 0, 281, 8, 9,
2060 10, 1267, 12, 282, 283, 284, 0, 285, 14, 0,
2061 310, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2062 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2063 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2064 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2065 0, 28, 299, -285, 0, 0, 300, 0, 0, 0,
2066 0, 0, 301, 0, 0, 518, 0, 0, 0, 0,
2067 0, 0, 0, 303, 304, 519, 0, 0, 0, 0,
2068 0, 306, 307, 308, 0, 0, 0, 678, 520, 281,
2069 8, 9, 10, 0, 12, 499, 283, 284, 0, 285,
2070 14, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2071 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2072 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2073 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2074 298, 27, 0, 28, 299, 679, 0, 0, 300, 0,
2075 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2076 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2077 0, 0, 0, 306, 307, 308, 0, 0, 0, 802,
2078 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2079 0, 285, 14, 0, 0, 0, 0, 0, 310, 0,
2080 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2081 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2082 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2083 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2084 300, -749, 0, 0, 0, 0, 301, 0, 0, 302,
2085 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2086 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2087 0, 517, 309, 7, 8, 9, 10, 0, 12, 282,
2088 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2089 310, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2090 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2091 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2092 294, 295, 296, 297, 298, 27, 0, 28, 29, -285,
2093 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2094 0, 1421, 0, 0, 0, 0, 0, 0, 0, 303,
2095 304, 1422, 0, 0, 0, 0, 0, 306, 307, 308,
2096 0, 0, 0, 1499, 1423, 281, 8, 9, 10, 0,
2097 12, 282, 283, 284, 0, 285, 14, 0, 0, 0,
2098 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2099 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2100 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2101 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2102 299, 0, 0, -174, 300, 0, 0, 0, 0, 0,
2103 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2104 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2105 307, 308, 0, 0, 0, 802, 309, 281, 8, 9,
2106 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2107 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2108 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2109 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2110 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2111 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2112 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2113 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2114 0, 306, 307, 308, 0, 0, 0, 888, 309, 281,
2115 8, 9, 10, 0, 12, 499, 283, 284, 0, 285,
2116 14, 0, 0, 0, -749, 0, 310, 0, 0, 0,
2117 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2118 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2119 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2120 298, 27, 0, 28, 299, 0, 0, 0, 300, 0,
2121 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2122 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2123 0, 0, 0, 306, 307, 308, 0, 0, 0, 890,
2124 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2125 0, 285, 14, 0, 0, 0, 0, 0, 310, 0,
2126 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2127 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2128 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2129 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2130 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2131 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2132 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2133 0, 1434, 309, 281, 8, 9, 10, 0, 12, 499,
2134 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2135 310, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2136 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2137 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2138 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2139 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2140 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2141 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2142 281, 8, 9, 10, 309, 12, 499, 283, 284, 0,
2143 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2144 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2145 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2146 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2147 297, 298, 27, 0, 28, 299, 0, 0, 0, 300,
2148 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2149 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2150 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2151 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2152 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2153 841, 1230, 1231, 1232, 10, 386, 12, 282, 283, 284,
2154 0, 285, 14, 1233, 0, 1234, 1235, 1236, 1237, 1238,
2155 1239, 1240, 1241, 1242, 1243, 15, 16, 17, 286, 18,
2156 19, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2157 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2158 296, 297, 298, 27, 0, 1244, 299, 675, 0, 1245,
2159 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2160 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2161 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2162 0, 0, 309, 0, 1246, 0, 0, 0, 0, 0,
2163 0, 0, 0, 0, 0, 0, 0, 0, 0, 1365,
2164 310, 1230, 1231, 1232, 10, 386, 12, 282, 283, 284,
2165 0, 285, 14, 1233, 0, 1234, 1235, 1236, 1237, 1238,
2166 1239, 1240, 1241, 1242, 1243, 15, 16, 17, 286, 18,
2167 19, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2168 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2169 296, 297, 298, 27, 0, 1244, 299, 675, 0, 1245,
2170 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2171 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2172 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2173 0, 0, 309, 0, 1246, 0, 0, 1230, 1231, 1232,
2174 10, 386, 12, 282, 283, 284, 0, 285, 14, 1233,
2175 310, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
2176 1243, 15, 16, 17, 286, 18, 19, 20, 0, 287,
2177 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2178 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2179 0, 1244, 299, 1476, 0, 1245, 300, 0, 0, 0,
2180 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2181 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2182 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
2183 1246, 0, 0, 1230, 1231, 1232, 10, 386, 12, 282,
2184 283, 284, 0, 285, 14, 1233, 310, 1234, 1235, 1236,
2185 1237, 1238, 1239, 1240, 1241, 1242, 1243, 15, 16, 17,
2186 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
2187 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2188 294, 295, 296, 297, 298, 27, 0, 1244, 299, 0,
2189 0, 1245, 300, 0, 0, 0, 0, 0, 301, 0,
2190 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2191 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2192 0, 0, 0, 0, 309, 0, 1246, 281, 8, 9,
2193 10, 386, 12, 282, 283, 284, 688, 285, 14, 0,
2194 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2195 0, 0, 0, 17, 286, 18, 19, 20, 0, 287,
2196 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2197 24, 0, 581, 0, 294, 295, 296, 297, 298, 27,
2198 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2199 0, 0, 301, 0, 0, 869, 0, 0, 0, 0,
2200 0, 0, 0, 303, 304, 870, 0, 0, 0, 0,
2201 0, 306, 307, 308, 0, 584, 0, 0, 871, 586,
2202 0, 0, 689, 7, 8, 9, 10, 386, 12, 282,
2203 283, 284, 688, 285, 14, 0, 310, 0, 0, 0,
2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2205 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
2206 290, 291, 22, 292, 293, 0, 24, 0, 581, 0,
2207 294, 295, 296, 297, 298, 27, 0, 28, 29, 0,
2208 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2209 0, 1132, 0, 0, 0, 0, 0, 0, 0, 303,
2210 304, 1133, 0, 0, 0, 0, 0, 306, 307, 308,
2211 0, 584, 0, 0, 1134, 586, 0, 0, 689, 281,
2212 8, 9, 10, 0, 12, 282, 283, 284, 0, 285,
2213 14, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2214 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2215 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2216 293, 0, 24, 0, 581, 0, 294, 295, 296, 297,
2217 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2218 0, 0, 0, 0, 301, 0, 0, 869, 0, 0,
2219 0, 0, 0, 0, 0, 303, 304, 870, 0, 0,
2220 0, 0, 0, 306, 307, 308, 0, 584, 0, 0,
2221 871, 586, 7, 8, 9, 10, 0, 12, 282, 283,
2222 284, 0, 285, 14, 0, 0, 0, 0, 310, 0,
2223 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2224 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2225 291, 22, 292, 293, 0, 24, 0, 581, 0, 294,
2226 295, 296, 297, 298, 27, 0, 28, 29, 0, 0,
2227 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2228 1132, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2229 1133, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2230 584, 0, 0, 1134, 586, 281, 8, 9, 10, 0,
2231 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2232 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2233 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2234 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2235 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2236 299, 0, 0, 1342, 300, 0, 0, 0, 0, 0,
2237 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2238 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2239 307, 308, 0, 0, 0, 0, 309, 281, 8, 9,
2240 10, 386, 12, 282, 283, 284, 0, 285, 14, 0,
2241 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2242 0, 0, 0, 17, 286, 18, 19, 20, 0, 287,
2243 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2244 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2245 0, 28, 299, 0, 0, 0, 0, 0, 0, 0,
2246 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2247 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2248 0, 306, 307, 308, 281, 8, 9, 10, 309, 12,
2249 282, 283, 284, 0, 285, 14, 0, 0, 0, 0,
2250 0, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2251 17, 286, 18, 0, 20, 0, 287, 288, 21, 0,
2252 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2253 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
2254 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2255 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2256 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2257 308, 281, 8, 9, 10, 309, 12, 499, 283, 284,
2258 0, 285, 14, 0, 0, 0, 0, 0, 0, 0,
2259 0, 0, 0, 310, 0, 0, 0, 17, 286, 18,
2260 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2261 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2262 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2263 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2264 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2265 0, 0, 0, 0, 0, 306, 307, 308, 281, 8,
2266 9, 10, 309, 12, 499, 283, 284, 0, 285, 14,
2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2268 310, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2269 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2270 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2271 27, 0, 28, 299, 532, 0, 0, 0, 0, 0,
2272 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2273 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2274 0, 0, 306, 307, 308, 281, 8, 9, 10, 533,
2275 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2276 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2277 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2278 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2279 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2280 299, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2281 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2282 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2283 307, 308, 0, 0, 0, 0, 309, 569, 281, 8,
2284 9, 10, 0, 12, 499, 283, 284, 0, 285, 14,
2285 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2286 0, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2287 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2288 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2289 27, 0, 28, 299, 0, 0, 0, 300, 0, 0,
2290 0, 0, 0, 301, 0, 0, 518, 0, 0, 0,
2291 0, 0, 0, 0, 303, 304, 519, 0, 0, 0,
2292 0, 0, 306, 307, 308, 1094, 8, 9, 10, 520,
2293 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2294 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2295 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2296 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2297 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2298 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2299 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2300 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2301 307, 308, 7, 8, 9, 10, 309, 12, 499, 283,
2302 284, 0, 285, 14, 0, 0, 0, 0, 0, 0,
2303 0, 0, 0, 0, 310, 0, 0, 0, 17, 286,
2304 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2305 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2306 295, 296, 297, 298, 27, 0, 28, 29, 0, 0,
2307 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2308 1421, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2309 1422, 0, 0, 0, 0, 0, 306, 307, 308, 281,
2310 8, 9, 10, 1423, 12, 499, 283, 284, 0, 285,
2311 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2312 0, 310, 0, 0, 0, 17, 286, 18, 0, 20,
2313 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2314 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2315 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2316 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2317 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2318 0, 0, 0, 306, 307, 308, 281, 8, 9, 10,
2319 500, 12, 499, 283, 284, 0, 285, 14, 0, 0,
2320 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2321 0, 0, 17, 286, 18, 0, 20, 0, 287, 288,
2322 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2323 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2324 28, 299, 0, 0, 0, 0, 0, 0, 0, 0,
2325 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2326 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2327 306, 307, 308, 281, 8, 9, 10, 503, 12, 499,
2328 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2329 0, 0, 0, 0, 0, 310, 0, 0, 0, 17,
2330 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2331 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2332 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2333 0, 0, 0, 0, 0, 0, 0, 0, 301, 0,
2334 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2335 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2336 281, 8, 9, 10, 309, 12, 499, 283, 284, 0,
2337 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2338 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2339 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2340 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2341 297, 298, 27, 0, 28, 299, 0, 0, 0, 0,
2342 0, 0, 0, 0, 0, 301, 0, 0, 518, 0,
2343 0, 0, 0, 0, 0, 0, 303, 304, 519, 0,
2344 0, 0, 0, 0, 306, 307, 308, 7, 8, 9,
2345 10, 520, 12, 282, 283, 284, 0, 285, 14, 0,
2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2347 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2348 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2349 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2350 0, 28, 29, 0, 0, 0, 0, 0, 0, 0,
2351 0, 0, 301, 0, 6, 1421, 7, 8, 9, 10,
2352 11, 12, 13, 303, 304, 1422, 0, 14, 0, 0,
2353 0, 306, 307, 308, 0, 0, 0, 0, 1423, 0,
2354 0, 0, 17, 0, 18, 19, 0, 0, 0, 0,
2355 21, 0, 0, 0, 0, 22, 310, 0, 0, 24,
2356 0, 0, 411, 0, 0, 0, 0, 0, 27, 0,
2357 28, 29, 0, 0, 30, -357, 8, 9, -357, -357,
2358 12, 227, 0, 0, 31, 0, 14, 0, 0, 0,
2359 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2360 0, 17, 33, 18, -357, 0, 0, 34, 0, 21,
2361 0, 0, 0, 0, -357, 0, 0, 0, 24, 0,
2362 581, 0, 0, 0, 0, 0, 0, 27, 0, 129,
2363 130, 7, 8, 9, 10, 189, 12, 190, 0, 0,
2364 0, 0, 14, 582, 0, 0, 0, 0, 0, 0,
2365 0, 0, 0, 583, 0, 0, 0, 17, 0, 18,
2366 19, -357, 0, 584, 0, 21, 585, 586, 0, 0,
2367 22, 0, 0, 0, 24, 0, 989, 8, 733, 10,
2368 189, 12, 190, 27, 0, 28, 29, 14, 0, 191,
2369 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2370 0, 0, 17, 0, 18, 19, 0, 0, 0, 32,
2371 21, 0, 0, 0, 0, 22, 0, 33, 0, 24,
2372 0, 0, 34, 0, 0, 0, 0, 0, 27, 0,
2373 28, 29, 0, 0, 0, 0, 991, 7, 8, 9,
2374 10, 189, 12, 190, 31, 0, 0, 0, 14, 0,
2375 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2376 0, 0, 33, 17, 0, 18, 19, 34, 0, 0,
2377 0, 21, 0, 0, 0, 0, 22, 0, 0, 0,
2378 24, 0, 7, 8, 9, 10, 386, 12, 13, 27,
2379 0, 28, 29, 14, 0, 1355, 0, 0, 0, 0,
2380 0, 0, 0, 0, 0, 31, 0, 0, 17, 0,
2381 18, 19, 0, 0, 0, 32, 21, 0, 0, 0,
2382 0, 22, 0, 33, 0, 24, 0, 0, 34, 0,
2383 0, 0, 0, 0, 27, 0, 28, 29, 7, 8,
2384 9, 10, 189, 12, 190, 0, 0, 0, 0, 14,
2385 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2386 32, 0, 0, 0, 17, 0, 18, 19, 33, 0,
2387 0, 0, 21, 34, 0, 0, 0, 22, 0, 0,
2388 0, 24, 0, 7, 8, 9, 10, 198, 199, 200,
2389 27, 0, 28, 29, 14, 0, 0, 0, 0, 0,
2390 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2391 0, 0, 19, 0, 0, 0, 32, 21, 0, 0,
2392 0, 0, 22, 0, 33, 1411, 24, 0, 581, 34,
2393 0, 0, 0, 0, 0, 27, 0, 28, 29, 535,
2394 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2395 546, 177, 548, 549, 550, 551, 552, 553, 554, 555,
2396 556, 178, 0, 0, 0, 0, 0, 19, 0, 33,
2397 0, 0, 0, 0, 1358, 0, 1412, 535, 536, 537,
2398 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2399 548, 549, 550, 551, 552, 553, 554, 555, 556, 535,
2400 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2401 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2402 556, 535, 536, 537, 538, 539, 540, 541, 542, 543,
2403 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
2404 554, 555, 556, 535, 536, 537, 538, 539, 540, 541,
2405 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2406 552, 553, 554, 555, 556, 0, 0, 0, 0, 0,
2407 1185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2408 0, 0, 0, 0, 0, 621, 0, 0, 1466, 535,
2409 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2410 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2411 556, 1484, 535, 536, 537, 538, 539, 540, 541, 542,
2412 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2413 553, 554, 555, 556, 535, 536, 537, 538, 539, 540,
2414 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2415 551, 552, 553, 554, 555, 556
2418 static const short yycheck
[] = { 4,
2419 156, 79, 4, 426, 673, 670, 54, 24, 4, 125,
2420 4, 193, 329, 385, 232, 335, 448, 83, 336, 337,
2421 385, 4, 285, 286, 385, 58, 530, 146, 147, 653,
2422 469, 36, 14, 4, 36, 830, 41, 31, 32, 41,
2423 36, 123, 36, 223, 132, 41, 228, 41, 660, 353,
2424 737, 56, 739, 36, 317, 4, 201, 202, 41, 746,
2425 34, 4, 1254, 141, 585, 36, 71, 421, 128, 1261,
2426 41, 592, 193, 133, 392, 393, 132, 133, 83, 4,
2427 61, 202, 87, 1408, 89, 56, 91, 36, 11, 83,
2428 1247, 1324, 41, 36, 38, 277, 1409, 11, 41, 11,
2429 82, 106, 107, 53, 34, 1155, 1156, 1410, 9, 187,
2430 79, 36, 45, 48, 60, 63, 41, 335, 456, 1169,
2431 60, 1446, 59, 105, 0, 65, 7, 63, 65, 0,
2432 135, 136, 89, 138, 91, 473, 76, 754, 60, 75,
2433 63, 135, 75, 760, 385, 1, 75, 329, 1, 59,
2434 49, 12, 146, 147, 586, 160, 1, 38, 83, 94,
2435 193, 62, 110, 1426, 135, 111, 160, 111, 201, 202,
2436 524, 12, 146, 147, 148, 110, 287, 288, 1481, 136,
2437 12, 111, 1445, 177, 178, 502, 135, 110, 110, 160,
2438 100, 302, 135, 434, 305, 228, 110, 308, 110, 60,
2439 311, 151, 63, 59, 315, 179, 59, 63, 106, 107,
2440 135, 160, 323, 1526, 59, 196, 1541, 160, 63, 60,
2441 63, 1413, 63, 204, 65, 75, 48, 36, 60, 94,
2442 48, 63, 41, 672, 184, 160, 1286, 98, 326, 1502,
2443 96, 25, 55, 65, 277, 1295, 1296, 229, 1298, 110,
2444 867, 96, 1409, 1486, 1049, 61, 322, 98, 414, 3,
2445 4, 5, 75, 1455, 197, 60, 98, 110, 880, 94,
2446 326, 883, 94, 278, 243, 59, 94, 95, 902, 63,
2447 34, 76, 643, 365, 604, 61, 60, 39, 4, 5,
2448 608, 94, 110, 9, 63, 355, 329, 48, 76, 60,
2449 78, 48, 61, 55, 309, 111, 75, 452, 453, 921,
2450 922, 1503, 96, 57, 58, 460, 109, 322, 48, 379,
2451 674, 440, 441, 379, 696, 330, 61, 472, 322, 633,
2452 75, 696, 453, 338, 339, 111, 110, 81, 55, 55,
2453 388, 57, 58, 94, 585, 339, 491, 94, 95, 110,
2454 871, 592, 111, 335, 48, 71, 574, 390, 75, 976,
2455 60, 27, 28, 110, 94, 81, 32, 25, 339, 27,
2456 28, 988, 767, 768, 769, 692, 111, 48, 75, 95,
2457 385, 338, 1432, 1433, 389, 48, 48, 94, 909, 385,
2458 339, 385, 146, 147, 148, 61, 339, 322, 1193, 65,
2459 94, 59, 906, 25, 1021, 63, 1023, 518, 519, 832,
2460 110, 309, 61, 48, 339, 25, 61, 27, 28, 452,
2461 453, 55, 55, 94, 95, 179, 55, 460, 949, 434,
2462 65, 94, 94, 95, 48, 416, 868, 55, 96, 472,
2463 434, 75, 75, 4, 5, 111, 440, 441, 110, 59,
2464 8, 9, 770, 63, 32, 696, 14, 75, 491, 94,
2465 385, 63, 3, 4, 5, 470, 440, 441, 442, 3,
2466 4, 5, 6, 1085, 1086, 59, 470, 63, 459, 37,
2467 94, 95, 75, 1170, 48, 55, 96, 470, 46, 75,
2468 48, 48, 497, 63, 55, 500, 57, 58, 503, 55,
2469 566, 470, 507, 508, 509, 510, 511, 48, 42, 434,
2470 71, 4, 5, 754, 55, 520, 57, 58, 446, 760,
2471 81, 470, 4, 57, 58, 530, 454, 470, 533, 462,
2472 94, 903, 55, 431, 95, 974, 94, 94, 903, 166,
2473 497, 721, 903, 723, 48, 470, 4, 5, 728, 48,
2474 59, 55, 75, 94, 36, 89, 876, 60, 61, 41,
2475 565, 566, 610, 111, 57, 58, 3, 4, 5, 714,
2476 48, 75, 566, 94, 3, 4, 5, 48, 611, 48,
2477 585, 899, 55, 937, 76, 1106, 55, 592, 582, 583,
2478 94, 585, 55, 4, 5, 94, 95, 779, 592, 57,
2479 58, 649, 500, 651, 652, 503, 75, 55, 48, 507,
2480 873, 95, 49, 1134, 596, 731, 94, 1040, 1041, 652,
2481 57, 58, 520, 94, 641, 94, 867, 1059, 57, 58,
2482 871, 636, 48, 110, 48, 533, 48, 11, 49, 537,
2483 1251, 566, 1253, 55, 692, 650, 57, 58, 48, 654,
2484 60, 61, 4, 5, 94, 672, 110, 9, 876, 692,
2485 585, 110, 903, 75, 110, 563, 111, 592, 909, 48,
2486 81, 569, 4, 5, 14, 94, 48, 1116, 94, 636,
2487 94, 714, 94, 23, 61, 48, 440, 441, 442, 8,
2488 9, 696, 1449, 3, 94, 14, 744, 1015, 1016, 1017,
2489 60, 61, 696, 55, 113, 57, 58, 1130, 949, 1148,
2490 25, 95, 27, 28, 95, 94, 1139, 1140, 37, 71,
2491 63, 1144, 94, 55, 64, 57, 58, 46, 113, 81,
2492 841, 94, 737, 9, 739, 976, 12, 1054, 1495, 94,
2493 745, 746, 60, 737, 59, 739, 779, 988, 63, 754,
2494 755, 756, 746, 758, 737, 760, 739, 63, 869, 870,
2495 754, 94, 1185, 746, 1055, 1056, 760, 1058, 737, 75,
2496 739, 696, 48, 744, 745, 75, 745, 746, 4, 5,
2497 1021, 96, 1023, 123, 60, 75, 62, 63, 737, 65,
2498 739, 971, 972, 973, 737, 75, 739, 746, 755, 756,
2499 76, 758, 78, 746, 1469, 145, 75, 740, 741, 11,
2500 27, 28, 737, 111, 739, 32, 749, 110, 94, 95,
2501 1489, 746, 98, 49, 829, 4, 5, 60, 833, 754,
2502 55, 57, 58, 110, 110, 760, 914, 27, 28, 84,
2503 85, 55, 110, 60, 61, 60, 61, 110, 65, 63,
2504 1273, 3, 4, 5, 6, 81, 861, 3, 4, 5,
2505 6, 75, 867, 4, 5, 1106, 871, 75, 60, 110,
2506 49, 111, 48, 867, 61, 869, 870, 871, 57, 58,
2507 220, 221, 60, 61, 76, 1203, 78, 111, 1311, 65,
2508 42, 113, 232, 1134, 876, 113, 42, 49, 903, 110,
2509 905, 906, 81, 49, 909, 57, 58, 903, 49, 903,
2510 75, 57, 58, 907, 908, 909, 57, 58, 94, 95,
2511 60, 61, 1000, 60, 61, 25, 75, 27, 28, 81,
2512 55, 979, 75, 113, 55, 909, 1253, 89, 113, 837,
2513 81, 110, 867, 89, 949, 59, 871, 3, 4, 5,
2514 1061, 7, 8, 9, 55, 949, 4, 5, 963, 59,
2515 110, 301, 63, 63, 969, 3, 4, 5, 6, 55,
2516 94, 976, 110, 871, 75, 949, 110, 63, 903, 8,
2517 113, 1335, 976, 988, 909, 1104, 1105, 4, 5, 75,
2518 3, 4, 5, 1347, 988, 48, 96, 65, 60, 94,
2519 48, 57, 58, 343, 42, 111, 1011, 55, 979, 57,
2520 58, 61, 352, 1132, 1133, 55, 1021, 1011, 1023, 57,
2521 58, 1132, 1133, 71, 949, 365, 37, 1021, 1011, 1023,
2522 1108, 1000, 49, 81, 65, 65, 49, 65, 110, 61,
2523 57, 58, 1011, 91, 57, 58, 94, 95, 3, 4,
2524 5, 976, 7, 8, 9, 63, 110, 94, 1063, 992,
2525 65, 110, 1011, 988, 81, 998, 999, 1439, 1011, 1002,
2526 1003, 969, 1426, 1006, 1439, 55, 110, 55, 110, 65,
2527 65, 60, 37, 63, 110, 63, 1011, 3, 4, 5,
2528 717, 1445, 3, 4, 5, 75, 1021, 75, 1023, 1116,
2529 55, 1106, 57, 58, 59, 63, 1063, 113, 1531, 110,
2530 1104, 1105, 1106, 110, 3, 4, 5, 6, 1472, 3,
2531 4, 5, 1127, 110, 751, 1127, 1443, 467, 110, 1134,
2532 1104, 1105, 1106, 1127, 76, 76, 1247, 55, 1132, 1133,
2533 1134, 57, 58, 59, 1127, 63, 57, 58, 1502, 76,
2534 105, 106, 107, 42, 76, 909, 1510, 75, 1132, 1133,
2535 1134, 4, 5, 4, 5, 1170, 55, 110, 57, 58,
2536 56, 55, 58, 57, 58, 59, 1170, 110, 1127, 110,
2537 63, 1106, 63, 60, 87, 63, 89, 1170, 91, 3,
2538 4, 5, 532, 110, 113, 949, 111, 1166, 1439, 95,
2539 89, 1170, 1127, 1251, 110, 1253, 110, 89, 49, 1134,
2540 75, 113, 55, 48, 57, 58, 57, 58, 110, 110,
2541 1253, 1170, 3, 4, 5, 113, 7, 1170, 71, 60,
2542 110, 110, 65, 136, 574, 138, 1134, 113, 81, 110,
2543 81, 55, 1247, 57, 58, 1170, 110, 1252, 111, 1254,
2544 31, 111, 1254, 1247, 65, 60, 1261, 38, 60, 1261,
2545 1254, 1443, 1418, 110, 1247, 1270, 110, 1261, 94, 94,
2546 94, 1254, 94, 111, 55, 8, 57, 58, 1261, 113,
2547 166, 110, 110, 1181, 1182, 1183, 1184, 3, 4, 5,
2548 6, 27, 28, 1191, 110, 110, 32, 110, 1247, 111,
2549 110, 641, 1421, 1422, 113, 1254, 110, 193, 34, 110,
2550 1421, 1422, 1261, 653, 110, 201, 202, 81, 82, 83,
2551 84, 85, 1247, 110, 60, 61, 42, 110, 110, 1254,
2552 65, 110, 55, 49, 110, 110, 1261, 48, 63, 679,
2553 113, 57, 58, 110, 1242, 110, 97, 3, 4, 5,
2554 1104, 1105, 1106, 110, 981, 982, 7, 8, 9, 63,
2555 1293, 1294, 63, 14, 61, 81, 3, 4, 5, 61,
2556 7, 8, 9, 89, 9, 31, 61, 16, 1132, 1133,
2557 1134, 32, 110, 1010, 1358, 94, 37, 94, 3, 4,
2558 5, 110, 712, 110, 61, 46, 1444, 300, 1403, 55,
2559 37, 57, 58, 1408, 1409, 1410, 1408, 110, 1413, 1403,
2560 1443, 1413, 4, 5, 1408, 1409, 1410, 110, 1423, 1413,
2561 57, 58, 113, 110, 1357, 1408, 1409, 1421, 1422, 61,
2562 1413, 94, 94, 753, 1439, 338, 3, 4, 5, 759,
2563 55, 1446, 57, 58, 1446, 1439, 1344, 1421, 1422, 1423,
2564 1455, 17, 1446, 1455, 61, 109, 99, 49, 110, 1408,
2565 1409, 1455, 61, 1446, 1413, 57, 58, 11, 110, 110,
2566 110, 61, 1455, 61, 61, 94, 1481, 60, 1403, 65,
2567 110, 61, 110, 1408, 1409, 1410, 110, 1481, 1413, 11,
2568 57, 58, 4, 5, 3, 4, 5, 1446, 1503, 61,
2569 11, 1503, 61, 389, 390, 1403, 1455, 0, 0, 1503,
2570 0, 1409, 1410, 413, 1439, 355, 2, 903, 745, 1116,
2571 1503, 1446, 160, 426, 427, 1423, 3, 4, 5, 6,
2572 1455, 434, 93, 45, 1161, 1162, 1541, 1164, 1165, 1541,
2573 1167, 1474, 862, 55, 864, 57, 58, 1541, 57, 58,
2574 1468, 160, 892, 138, 1503, 1334, 1481, 1541, 1541, 445,
2575 280, 48, 902, 1252, 892, 42, 452, 453, 679, 222,
2576 456, 887, 49, 1148, 460, 974, 1011, 745, 1503, 1168,
2577 57, 58, 617, 1481, 7, 8, 9, 473, 885, 566,
2578 184, 14, 1541, 123, 497, 498, 326, 1254, 1128, 1497,
2579 87, 88, 1510, 1489, 1358, 92, 93, 94, 95, 32,
2580 1458, 1520, 89, 34, 37, 1522, 1541, 958, 1270, -1,
2581 -1, 1519, -1, 46, -1, -1, -1, 530, 1526, 532,
2582 -1, -1, 535, 536, -1, 538, 539, 540, 541, 542,
2583 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2584 553, 554, 555, 556, -1, -1, 1283, 1284, -1, 562,
2585 -1, 564, 565, -1, -1, -1, -1, 1421, 1422, 1423,
2586 -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
2587 6, 7, 8, 9, -1, 7, 8, 9, 14, 592,
2588 4, 5, 14, -1, -1, 9, 599, -1, -1, -1,
2589 1020, 1041, 1022, 29, -1, 31, 32, 33, -1, -1,
2590 32, 37, 38, -1, -1, 37, 42, 620, 621, -1,
2591 46, 47, -1, 49, 46, 611, 147, 148, -1, 55,
2592 -1, 57, 58, 636, 48, 61, -1, 63, 79, 61,
2593 -1, 55, -1, 57, 58, 71, 427, -1, -1, -1,
2594 1377, 1378, 1379, 434, -1, 81, 1076, 71, 179, -1,
2595 -1, -1, 103, 89, 650, -1, 652, 81, 94, 79,
2596 80, 81, 82, 83, 84, 85, 679, 91, -1, -1,
2597 94, 95, -1, -1, 1124, 111, -1, -1, 4, 5,
2598 1130, 132, 8, 9, -1, -1, -1, 4, 14, -1,
2599 141, -1, 1429, 1430, -1, -1, 692, 14, -1, -1,
2600 -1, -1, -1, 29, -1, 31, -1, 498, 25, -1,
2601 -1, 37, -1, -1, 31, 32, -1, 34, 714, 36,
2602 46, 717, 1152, 736, 41, -1, -1, 1157, -1, 55,
2603 -1, 57, 58, 59, -1, -1, 187, 54, -1, 56,
2604 -1, -1, 755, 756, -1, 758, -1, 64, -1, 745,
2605 3, 4, 5, -1, 71, 751, -1, 1494, -1, -1,
2606 773, -1, -1, -1, -1, 82, 83, -1, 94, 220,
2607 -1, 562, -1, 564, 565, -1, -1, 1207, 309, -1,
2608 -1, -1, 795, -1, -1, -1, 39, 40, 105, 42,
2609 -1, -1, 243, 1243, -1, -1, 3, 4, 5, 6,
2610 -1, 592, 55, -1, 57, 58, -1, -1, 599, -1,
2611 -1, 128, -1, -1, -1, -1, 133, 12, 135, 832,
2612 833, -1, 139, -1, -1, 142, 143, -1, -1, 146,
2613 147, 148, 27, 28, 847, 42, 849, 32, 851, -1,
2614 -1, -1, -1, 160, -1, -1, -1, -1, 55, -1,
2615 57, 58, -1, 48, 61, -1, 63, -1, -1, -1,
2616 177, 178, 179, -1, 71, 60, 61, -1, 63, -1,
2617 65, 884, 1302, 1303, 81, -1, 1326, -1, -1, -1,
2618 -1, 894, 89, 334, -1, -1, -1, 94, 1318, 206,
2619 -1, -1, -1, 906, 7, 8, 9, -1, -1, 94,
2620 95, 14, 427, 98, 221, -1, 919, -1, -1, 434,
2621 441, 442, 229, -1, -1, 110, -1, -1, 931, 32,
2622 -1, -1, -1, 240, 37, -1, -1, -1, -1, 3,
2623 4, 5, 6, 46, -1, 9, 949, -1, -1, -1,
2624 1370, 1371, -1, -1, 395, -1, -1, -1, 61, 77,
2625 78, 79, 80, 81, 82, 83, 84, 85, -1, 1389,
2626 1390, 278, 279, -1, -1, -1, -1, -1, 42, 500,
2627 -1, -1, 503, 498, 48, -1, -1, -1, 991, -1,
2628 -1, 55, 773, 57, 58, 981, 982, -1, 519, 520,
2629 -1, 328, 329, 330, -1, -1, -1, 71, -1, -1,
2630 -1, -1, 533, -1, -1, 322, -1, 81, -1, 326,
2631 -1, 328, 329, 330, 1010, 89, 467, 91, -1, -1,
2632 94, 95, 339, -1, -1, -1, -1, 1040, 1041, -1,
2633 -1, 1044, -1, -1, -1, -1, -1, 562, 355, 564,
2634 565, -1, 833, 494, 3, 4, 5, 6, -1, -1,
2635 1063, -1, -1, -1, -1, -1, 847, -1, 849, -1,
2636 851, 592, 379, -1, -1, -1, -1, -1, 385, -1,
2637 -1, 388, 389, -1, 599, -1, -1, -1, -1, -1,
2638 -1, -1, 399, 42, -1, 402, -1, -1, -1, 48,
2639 407, -1, -1, -1, -1, -1, 55, -1, 57, 58,
2640 -1, -1, -1, 894, -1, 1118, -1, 1120, -1, 1122,
2641 -1, -1, 71, -1, -1, -1, -1, 1130, -1, 436,
2642 -1, 438, 81, 440, 441, 442, 1139, 1140, 579, 446,
2643 89, 1144, 91, -1, 451, 94, 95, 454, -1, -1,
2644 931, -1, -1, -1, 595, -1, 1159, 1160, -1, -1,
2645 -1, -1, -1, 470, -1, -1, -1, -1, 949, -1,
2646 -1, -1, -1, -1, -1, 1161, 1162, -1, 1164, 1165,
2647 -1, 1167, 1185, -1, 1, -1, 3, 4, 5, 6,
2648 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2649 -1, 508, 509, 510, 511, -1, -1, -1, -1, -1,
2650 -1, 1214, 29, -1, 31, 32, 33, -1, -1, -1,
2651 37, 38, -1, -1, -1, 42, -1, -1, -1, 46,
2652 47, -1, 49, -1, -1, 1238, -1, -1, 55, -1,
2653 57, 58, -1, -1, 61, -1, 63, -1, -1, -1,
2654 -1, -1, 773, -1, 71, 582, 583, -1, 585, 566,
2655 -1, 568, -1, -1, 81, 592, 1252, 1253, -1, -1,
2656 1273, -1, 89, 580, -1, 582, 583, 94, 585, -1,
2657 -1, -1, -1, -1, -1, 592, 1289, -1, -1, 596,
2658 -1, -1, -1, -1, 111, -1, -1, 1283, 1284, -1,
2659 -1, -1, -1, 610, -1, -1, -1, -1, 1311, 3,
2660 4, 5, 6, -1, -1, 9, -1, -1, 833, -1,
2661 -1, -1, 649, -1, 651, 652, 1, 654, 3, 4,
2662 5, 6, 847, 8, 849, -1, 851, 1118, -1, 1120,
2663 -1, 1122, 649, 650, 651, 652, 653, 654, 42, 870,
2664 871, -1, -1, -1, -1, 1358, -1, -1, -1, -1,
2665 -1, 55, -1, 57, 58, 692, -1, 42, -1, -1,
2666 -1, -1, 1375, 1376, 49, -1, -1, 71, -1, 894,
2667 55, 1384, 57, 58, -1, 692, -1, 81, 909, 696,
2668 -1, 1377, 1378, 1379, -1, 89, 703, 704, -1, 706,
2669 94, -1, -1, -1, -1, -1, -1, -1, 1411, -1,
2670 -1, -1, -1, -1, 89, -1, 931, -1, 106, 107,
2671 -1, -1, -1, -1, -1, -1, -1, 734, 949, -1,
2672 737, -1, 739, 1214, 875, -1, 877, 744, 745, 746,
2673 -1, -1, -1, 1429, 1430, -1, -1, 754, -1, -1,
2674 -1, -1, 779, 760, -1, 3, 4, 5, 6, -1,
2675 767, 768, 769, -1, -1, -1, -1, -1, -1, -1,
2676 -1, -1, 779, 914, -1, -1, -1, -1, 4, 5,
2677 -1, 7, 8, 9, -1, -1, 12, -1, 14, -1,
2678 -1, -1, -1, -1, 42, -1, -1, 3, 4, 5,
2679 6, -1, -1, 29, -1, 31, 32, 55, 1494, 57,
2680 58, 37, -1, 61, -1, -1, -1, -1, -1, -1,
2681 46, -1, 829, 71, -1, 852, -1, 854, 1531, 55,
2682 -1, 57, 58, 81, -1, -1, 42, -1, 865, -1,
2683 -1, 89, 869, 870, 871, 852, 94, 854, -1, 55,
2684 -1, 57, 58, -1, 861, -1, -1, 63, 865, 1000,
2685 867, -1, 869, 870, 871, 71, -1, -1, -1, 876,
2686 -1, -1, 98, -1, -1, 81, -1, 1358, -1, -1,
2687 907, 908, 909, 89, 1105, 1106, 4, 5, 94, -1,
2688 -1, 9, -1, -1, -1, -1, 903, -1, 905, 4,
2689 907, 908, 909, 1118, -1, 1120, -1, 1122, -1, 14,
2690 -1, -1, 1133, 1134, -1, -1, -1, -1, -1, 24,
2691 25, 309, 949, -1, -1, -1, 31, 32, -1, 34,
2692 48, 36, -1, -1, -1, -1, 41, 55, -1, 57,
2693 58, 1082, 949, -1, -1, -1, -1, -1, -1, 54,
2694 -1, 56, -1, 71, -1, -1, 963, -1, -1, 64,
2695 -1, -1, -1, 81, -1, -1, 71, 1108, -1, 976,
2696 -1, -1, 979, 91, -1, -1, 94, 95, 83, -1,
2697 -1, 988, 3, 4, 5, 6, -1, -1, -1, -1,
2698 -1, -1, -1, -1, 1001, -1, -1, 385, -1, 1214,
2699 -1, -1, -1, -1, 1011, -1, -1, -1, 3, 4,
2700 5, 6, -1, -1, 1021, -1, 1023, -1, -1, -1,
2701 -1, 42, -1, 128, -1, 1166, -1, -1, 49, -1,
2702 135, 328, 329, 330, 139, -1, 57, 58, 143, -1,
2703 -1, 146, 147, 148, -1, -1, 434, 42, 1055, 1056,
2704 -1, 1058, -1, -1, 49, 160, -1, -1, -1, -1,
2705 4, 5, 57, 58, 8, 9, -1, -1, 89, -1,
2706 14, -1, 177, 178, 179, 1102, 1103, 1104, 1105, 1106,
2707 -1, -1, -1, 1110, -1, 29, 81, 31, -1, -1,
2708 -1, -1, -1, 37, 89, 1102, 1103, 1104, 1105, 1106,
2709 -1, 206, 46, 1110, -1, 1132, 1133, 1134, -1, -1,
2710 -1, 55, 500, 57, 58, 503, -1, -1, -1, 507,
2711 508, 509, 510, 511, -1, 1132, 1133, 1134, 3, 4,
2712 5, 6, 520, -1, 9, 240, -1, 1358, -1, -1,
2713 3, 4, 5, 6, -1, 533, 9, -1, -1, -1,
2714 94, -1, -1, -1, -1, -1, 1163, -1, -1, -1,
2715 -1, 1168, -1, 1170, -1, -1, -1, 42, -1, -1,
2716 -1, -1, -1, 278, 279, -1, -1, 565, -1, 42,
2717 55, -1, 57, 58, -1, 48, -1, -1, -1, -1,
2718 1217, 1218, 55, 1220, 57, 58, 71, 585, -1, -1,
2719 -1, 1422, 1423, -1, 592, -1, 81, -1, 71, -1,
2720 1217, 1218, -1, 1220, 89, -1, -1, 322, 81, 94,
2721 -1, 326, -1, 328, 329, 330, 89, -1, 91, -1,
2722 335, 94, 95, -1, 339, 3, 4, 5, 6, -1,
2723 -1, 9, -1, -1, 1251, 1252, 1253, -1, -1, -1,
2724 355, -1, 3, 4, 5, 6, -1, -1, -1, -1,
2725 -1, -1, -1, 1270, -1, -1, -1, -1, -1, -1,
2726 -1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
2727 385, -1, 4, 388, 389, 582, 583, 55, -1, 57,
2728 58, 42, -1, -1, 399, -1, -1, 402, 49, -1,
2729 -1, -1, 407, 71, -1, -1, 57, 58, 696, 31,
2730 32, -1, -1, 81, 36, -1, -1, -1, -1, 41,
2731 -1, 89, 3, 4, 5, 6, 94, -1, -1, -1,
2732 81, 436, -1, 438, 56, 440, 441, 442, 89, -1,
2733 -1, 446, 3, 4, 5, 6, 451, -1, 9, 454,
2734 -1, 1358, 649, -1, 651, 652, -1, 654, -1, -1,
2735 -1, 42, -1, -1, 469, 470, 754, -1, 49, -1,
2736 -1, -1, 760, -1, -1, -1, 57, 58, -1, -1,
2737 -1, 42, -1, -1, -1, -1, -1, 48, -1, -1,
2738 -1, -1, -1, -1, 55, 692, 57, 58, -1, -1,
2739 81, -1, -1, 508, 509, 510, 511, -1, 89, -1,
2740 71, -1, -1, 135, 1421, 1422, 1423, 139, -1, -1,
2741 81, 143, -1, -1, -1, -1, -1, -1, 89, -1,
2742 91, -1, 1439, 94, 95, -1, -1, 1444, 160, -1,
2743 1, 829, 3, 4, 5, 6, 7, 8, 9, -1,
2744 -1, -1, -1, 14, -1, 177, 178, -1, -1, -1,
2745 -1, 566, -1, 568, -1, -1, 27, 28, 29, -1,
2746 31, 32, 33, 861, -1, -1, 37, 582, 583, 867,
2747 585, 42, 779, 871, 45, 46, 47, 592, 49, -1,
2748 -1, -1, -1, -1, 55, -1, 57, 58, -1, 604,
2749 61, -1, -1, -1, -1, 610, -1, -1, -1, -1,
2750 71, 3, 4, 5, 6, 903, -1, 905, 240, -1,
2751 81, 909, -1, -1, -1, -1, -1, -1, 89, -1,
2752 -1, -1, -1, 94, -1, -1, 641, -1, -1, 100,
2753 -1, -1, -1, -1, 649, 650, 651, 652, 653, 654,
2754 42, -1, -1, -1, -1, 852, -1, 854, -1, -1,
2755 -1, 949, -1, 55, -1, 57, 58, 672, 865, -1,
2756 -1, 63, 869, 870, -1, 963, -1, -1, -1, 71,
2757 -1, 969, -1, -1, -1, -1, -1, 692, 976, 81,
2758 -1, 696, -1, -1, -1, -1, -1, 89, 703, 704,
2759 988, 706, 94, -1, -1, -1, -1, -1, -1, -1,
2760 907, 908, -1, -1, -1, -1, -1, 339, 3, 4,
2761 5, 6, -1, -1, 9, -1, -1, -1, -1, 734,
2762 -1, -1, 737, 1021, 739, 1023, -1, -1, -1, 744,
2763 745, 746, -1, -1, -1, -1, -1, -1, -1, 754,
2764 -1, -1, -1, -1, -1, 760, -1, 42, -1, -1,
2765 -1, -1, 767, 768, 769, -1, -1, -1, -1, -1,
2766 55, -1, 57, 58, 779, -1, -1, 399, -1, -1,
2767 402, -1, -1, -1, -1, 407, 71, -1, -1, 3,
2768 4, 5, 6, -1, -1, 9, 81, -1, 177, 178,
2769 179, -1, -1, 4, 89, -1, -1, -1, -1, 94,
2770 -1, -1, -1, -1, 436, -1, 438, -1, 1106, -1,
2771 -1, -1, -1, -1, 829, -1, -1, -1, 42, 451,
2772 31, 32, -1, 34, 48, 36, -1, -1, -1, -1,
2773 41, 55, -1, 57, 58, -1, 1134, 852, 470, 854,
2774 -1, -1, -1, 54, -1, 56, 861, 71, -1, -1,
2775 865, -1, 867, -1, 869, 870, 871, 81, -1, -1,
2776 -1, 876, -1, -1, -1, 89, -1, 91, 79, -1,
2777 94, 95, 70, 71, 72, 73, 74, 75, 76, 77,
2778 78, 79, 80, 81, 82, 83, 84, 85, 903, -1,
2779 905, -1, 907, 908, 909, 1102, 1103, 1104, 1105, -1,
2780 -1, -1, -1, 1110, 73, 74, 75, 76, 77, 78,
2781 79, 80, 81, 82, 83, 84, 85, 128, -1, -1,
2782 -1, 132, 133, -1, 135, 1132, 1133, -1, 139, -1,
2783 141, -1, 143, -1, 949, 146, 147, 148, -1, -1,
2784 -1, -1, -1, -1, -1, -1, -1, -1, 963, 160,
2785 -1, -1, -1, -1, -1, -1, -1, -1, -1, 974,
2786 -1, 976, -1, -1, 979, -1, 177, 178, 179, -1,
2787 -1, -1, 1270, 988, -1, -1, 187, -1, -1, 4,
2788 5, -1, -1, 8, 9, -1, -1, -1, -1, 14,
2789 -1, -1, -1, -1, -1, 206, 1011, -1, -1, -1,
2790 -1, -1, -1, -1, -1, -1, 1021, -1, 1023, -1,
2791 1217, 1218, 37, 1220, -1, -1, -1, -1, 650, -1,
2792 -1, 46, -1, 48, -1, -1, -1, -1, -1, 240,
2793 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
2794 1055, 1056, -1, 1058, -1, -1, 71, 436, -1, 438,
2795 -1, 440, 441, 442, -1, -1, 81, -1, -1, -1,
2796 -1, -1, 451, -1, 696, -1, 91, -1, -1, 94,
2797 95, 703, 704, -1, 706, 74, 75, 76, 77, 78,
2798 79, 80, 81, 82, 83, 84, 85, 1102, 1103, 1104,
2799 1105, 1106, -1, -1, -1, 1110, -1, -1, 309, -1,
2800 -1, 1116, -1, -1, -1, 737, -1, 739, -1, -1,
2801 -1, -1, 744, 745, 746, 326, -1, 1132, 1133, 1134,
2802 -1, -1, -1, 334, -1, 1423, -1, -1, 339, -1,
2803 -1, -1, -1, 1148, -1, -1, -1, -1, -1, -1,
2804 -1, 1439, -1, -1, 355, -1, -1, -1, 1163, -1,
2805 -1, -1, -1, 1168, -1, 1170, 3, 4, 5, 6,
2806 7, 8, 9, -1, -1, 12, -1, 14, 379, -1,
2807 -1, -1, -1, -1, -1, -1, -1, 388, -1, -1,
2808 -1, -1, 29, -1, 31, 32, -1, -1, 399, -1,
2809 37, 402, -1, -1, -1, 42, 407, -1, -1, 46,
2810 -1, 48, 1217, 1218, -1, 1220, -1, -1, 55, -1,
2811 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
2812 -1, -1, -1, -1, 71, 436, -1, 438, -1, 440,
2813 441, 442, -1, -1, 81, 446, 1251, 1252, 1253, -1,
2814 451, 4, 89, 454, 91, -1, -1, 94, 95, -1,
2815 -1, 98, -1, -1, -1, 1270, -1, -1, -1, 470,
2816 -1, -1, -1, -1, -1, -1, -1, -1, 31, 32,
2817 -1, 34, -1, 36, -1, 907, 908, -1, 41, -1,
2818 3, 4, 5, 6, -1, -1, 9, -1, -1, 500,
2819 -1, 54, 503, 56, -1, -1, -1, -1, -1, -1,
2820 4, 5, -1, -1, 8, 9, -1, 518, 519, 520,
2821 14, -1, -1, -1, 703, 704, -1, 706, -1, 42,
2822 -1, -1, 533, -1, -1, 29, -1, 31, -1, -1,
2823 -1, -1, 55, 37, 57, 58, -1, -1, 81, -1,
2824 -1, -1, 46, 1358, 48, -1, -1, 979, 71, -1,
2825 -1, 55, -1, 57, 58, 744, -1, -1, 81, 4,
2826 5, -1, -1, 8, 9, -1, 89, 71, 579, 14,
2827 -1, 94, 135, -1, -1, -1, 139, 81, -1, 1011,
2828 143, 592, -1, 146, 147, 148, -1, 91, -1, -1,
2829 94, 95, 37, -1, -1, -1, -1, 160, -1, 610,
2830 -1, 46, -1, 48, -1, -1, 1421, 1422, 1423, -1,
2831 55, 154, 57, 58, 177, 178, 179, -1, -1, -1,
2832 -1, -1, -1, -1, 1439, -1, 71, -1, -1, 1444,
2833 -1, -1, 175, -1, -1, -1, 81, -1, 649, 650,
2834 651, 652, -1, 206, -1, 188, 91, 4, 5, 94,
2835 95, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2837 1102, 1103, 29, -1, 31, -1, -1, 240, 1110, -1,
2838 37, 692, -1, -1, -1, 696, -1, -1, -1, 46,
2839 -1, -1, 703, 704, -1, 706, -1, -1, 55, -1,
2840 57, 58, -1, -1, -1, -1, -1, -1, -1, 1,
2841 -1, 3, 4, 5, 6, 7, 8, 9, 907, 908,
2842 909, -1, 14, -1, -1, -1, 737, -1, 739, -1,
2843 -1, 1163, -1, 744, 745, 746, 1168, 29, 1170, 31,
2844 32, 33, -1, -1, -1, 37, 38, -1, -1, -1,
2845 42, -1, -1, -1, 46, 47, -1, 49, -1, -1,
2846 949, -1, 773, 55, -1, 57, 58, -1, -1, 61,
2847 -1, 63, 335, -1, -1, -1, 339, -1, -1, 71,
2848 -1, -1, -1, -1, -1, 1217, 1218, -1, 1220, 81,
2849 979, -1, -1, -1, -1, -1, -1, 89, 3, 4,
2850 5, 6, 94, -1, 9, 72, 73, 74, 75, 76,
2851 77, 78, 79, 80, 81, 82, 83, 84, 85, 111,
2852 1252, -1, -1, -1, -1, 388, -1, -1, -1, -1,
2853 -1, -1, -1, -1, -1, -1, 399, 42, -1, 402,
2854 -1, -1, -1, -1, 407, -1, -1, -1, -1, -1,
2855 55, -1, 57, 58, -1, -1, -1, -1, 869, 870,
2856 871, -1, -1, -1, 875, -1, 71, -1, -1, -1,
2857 -1, -1, -1, 436, -1, 438, 81, 440, 441, 442,
2858 -1, -1, -1, 446, 89, -1, -1, -1, 451, 94,
2859 -1, 454, 34, -1, -1, -1, 907, 908, 909, -1,
2860 -1, 444, -1, 914, -1, -1, 449, 470, -1, -1,
2861 -1, -1, 54, 1102, 1103, 1104, 1105, 1106, -1, -1,
2862 -1, 1110, -1, -1, 3, 4, 5, 6, 7, 8,
2863 9, 474, -1, -1, -1, 14, -1, 480, 949, -1,
2864 -1, -1, -1, 1132, 1133, 1134, -1, -1, -1, 492,
2865 493, -1, 495, 32, -1, -1, -1, -1, 37, -1,
2866 -1, -1, -1, 42, -1, -1, -1, 46, 979, 48,
2867 3, 4, 5, 6, 1163, -1, 55, -1, 57, 58,
2868 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1000,
2869 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
2870 1011, -1, 81, -1, 146, 147, 148, -1, -1, 42,
2871 89, -1, 91, -1, -1, 94, 95, 580, -1, -1,
2872 -1, -1, 55, -1, 57, 58, -1, -1, 1217, 1218,
2873 63, 1220, -1, -1, -1, 177, 178, 179, 71, -1,
2874 -1, -1, -1, -1, -1, 588, 589, 610, 81, -1,
2875 593, -1, -1, -1, -1, -1, 89, -1, -1, -1,
2876 -1, 94, -1, -1, 206, -1, -1, -1, -1, -1,
2877 -1, 1082, -1, -1, -1, -1, 3, 4, 5, 6,
2878 -1, -1, 9, -1, -1, -1, 649, 650, 651, 652,
2879 -1, 1102, 1103, 1104, 1105, 1106, -1, 1108, -1, 1110,
2880 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2881 -1, 3, 4, 5, 6, 42, -1, 9, -1, -1,
2882 -1, 1132, 1133, 1134, -1, -1, -1, -1, 55, 692,
2883 57, 58, -1, 696, -1, -1, -1, 279, -1, -1,
2884 703, 704, -1, 706, 71, -1, -1, -1, -1, -1,
2885 42, -1, 1163, -1, 81, -1, -1, 1168, -1, 1170,
2886 -1, -1, 89, 55, -1, 57, 58, 94, -1, 1358,
2887 -1, -1, 4, 5, 737, -1, 739, 9, -1, 71,
2888 -1, 744, 745, 746, -1, -1, 328, 329, 330, 81,
2889 -1, -1, -1, -1, -1, -1, 54, 89, 3, 4,
2890 5, 6, 94, -1, -1, -1, 1217, 1218, -1, 1220,
2891 -1, -1, -1, -1, -1, -1, 48, -1, 761, -1,
2892 763, 79, -1, 55, 82, 57, 58, -1, -1, -1,
2893 -1, -1, 1421, 1422, 1423, -1, -1, 42, -1, 71,
2894 1251, 1252, 1253, -1, -1, 103, 388, 105, -1, 81,
2895 55, -1, 57, 58, -1, -1, 61, -1, -1, 91,
2896 -1, -1, 94, 95, -1, -1, 71, -1, -1, -1,
2897 -1, -1, -1, -1, -1, -1, 81, -1, -1, -1,
2898 -1, -1, -1, -1, 89, -1, -1, -1, -1, 94,
2899 -1, -1, 835, 836, 436, 838, 438, -1, 440, 441,
2900 442, -1, -1, -1, 446, -1, -1, -1, -1, 451,
2901 -1, -1, 454, 876, -1, -1, -1, -1, -1, 177,
2902 178, 179, -1, 866, -1, -1, -1, -1, -1, 187,
2903 4, 5, -1, 7, 8, 9, -1, -1, 12, -1,
2904 14, -1, -1, -1, 907, 908, 909, 1358, 206, -1,
2905 -1, 3, 4, 5, 6, 29, -1, 31, 32, -1,
2906 -1, -1, -1, 37, -1, -1, -1, -1, 911, -1,
2907 -1, 229, 46, -1, 48, -1, -1, -1, -1, -1,
2908 -1, 55, -1, 57, 58, 243, 949, -1, -1, -1,
2909 42, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2910 -1, -1, -1, 55, -1, 57, 58, 81, -1, -1,
2911 1421, 1422, 1423, -1, -1, -1, 979, 91, -1, 71,
2912 94, 95, -1, -1, 98, -1, 568, -1, -1, 81,
2913 -1, -1, 975, 1444, -1, -1, -1, 89, -1, -1,
2914 582, 583, 94, 585, 987, -1, -1, -1, 1011, -1,
2915 592, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2916 4, 5, -1, 7, 8, 9, -1, -1, 610, -1,
2917 14, -1, -1, -1, -1, -1, 334, 335, -1, -1,
2918 -1, 3, 4, 5, 6, 29, -1, 31, 32, -1,
2919 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2920 -1, -1, 46, -1, -1, 49, -1, 649, -1, 651,
2921 652, 55, 654, 57, 58, -1, -1, -1, -1, -1,
2922 42, -1, -1, -1, -1, -1, -1, -1, 1071, -1,
2923 388, -1, -1, 55, -1, 57, 58, -1, -1, 1102,
2924 1103, 1104, 1105, 1106, -1, -1, -1, 1110, -1, 71,
2925 692, -1, -1, -1, -1, -1, -1, -1, -1, 81,
2926 -1, 703, 704, -1, 706, -1, 1109, 89, -1, 1132,
2927 1133, 1134, 94, -1, -1, -1, -1, -1, 436, -1,
2928 438, -1, 440, 441, 442, -1, -1, -1, 446, -1,
2929 -1, -1, -1, 451, -1, -1, 454, -1, -1, -1,
2930 1163, -1, 744, -1, -1, 1168, -1, 1170, -1, -1,
2931 -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
2932 6, 7, 8, 9, -1, 767, 768, 769, 14, 1172,
2933 -1, -1, -1, 1176, -1, -1, -1, 779, -1, -1,
2934 -1, -1, -1, 29, -1, 31, 32, 33, -1, -1,
2935 -1, 37, 38, -1, 1217, 1218, 42, 1220, -1, -1,
2936 46, 47, -1, 49, -1, -1, 1209, -1, -1, 55,
2937 -1, 57, 58, -1, -1, 61, -1, 63, 3, 4,
2938 5, 6, -1, -1, -1, 71, -1, -1, 1251, 1252,
2939 1253, -1, -1, -1, -1, 81, -1, -1, -1, -1,
2940 -1, -1, -1, 89, -1, -1, -1, -1, 94, -1,
2941 852, -1, 854, -1, -1, -1, -1, 42, -1, -1,
2942 -1, -1, -1, 865, -1, 111, -1, 869, 870, 871,
2943 55, -1, 57, 58, -1, 1278, -1, 595, 596, 1282,
2944 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2945 4, 5, 610, 7, 8, 9, 81, -1, 12, -1,
2946 14, 1304, 1305, -1, 89, 907, 908, 909, -1, 94,
2947 -1, -1, -1, -1, -1, 29, -1, 31, 32, -1,
2948 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2949 -1, 649, 46, 651, 652, 1358, -1, -1, -1, -1,
2950 -1, 55, -1, 57, 58, -1, -1, 949, -1, -1,
2951 3, 4, 5, 6, 7, 8, 9, -1, 14, -1,
2952 -1, 14, -1, -1, -1, -1, -1, -1, 24, 25,
2953 -1, -1, -1, -1, 692, 31, 32, 979, 34, 32,
2954 -1, -1, -1, -1, 37, 703, 704, -1, 706, 42,
2955 -1, -1, -1, 46, -1, 48, -1, -1, 1421, 1422,
2956 1423, -1, 55, -1, 57, 58, 4, 5, 64, 7,
2957 8, 9, -1, 731, -1, -1, 14, -1, 71, -1,
2958 -1, 1444, -1, -1, -1, -1, 744, -1, 81, -1,
2959 -1, 29, -1, 31, 32, -1, 89, -1, 91, 37,
2960 -1, 94, 95, -1, -1, -1, -1, -1, 46, -1,
2961 -1, -1, -1, 1055, 1056, -1, 1058, 55, -1, 57,
2962 58, -1, -1, -1, -1, -1, -1, 123, -1, 125,
2963 -1, -1, 128, -1, -1, -1, 132, 133, -1, -1,
2964 -1, -1, -1, 139, -1, 141, 142, 143, -1, -1,
2965 146, 147, 148, -1, -1, -1, -1, -1, -1, -1,
2966 1102, 1103, 1104, 1105, 1106, -1, -1, -1, 1110, 68,
2967 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2968 79, 80, 81, 82, 83, 84, 85, -1, -1, -1,
2969 1132, 1133, 1134, -1, -1, -1, -1, -1, -1, -1,
2970 -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
2971 4, 5, 6, 7, 8, 9, -1, 875, 876, 877,
2972 14, 1163, -1, -1, 220, 221, -1, -1, -1, -1,
2973 -1, -1, -1, -1, -1, 29, -1, 31, 32, 33,
2974 -1, -1, -1, 37, 240, -1, -1, -1, 42, 907,
2975 908, 909, 46, 47, -1, 49, 914, -1, -1, -1,
2976 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
2977 -1, -1, -1, -1, -1, 1217, 1218, 71, 1220, -1,
2978 -1, -1, -1, 279, -1, -1, -1, 81, -1, -1,
2979 -1, 949, -1, -1, -1, 89, -1, -1, -1, 1,
2980 94, -1, 4, 5, -1, -1, 8, 9, -1, 1251,
2981 -1, 1253, 14, -1, -1, -1, -1, -1, -1, -1,
2982 -1, 979, -1, -1, -1, -1, -1, 29, -1, 31,
2983 326, -1, 328, 329, -1, 37, -1, 39, 40, -1,
2984 -1, -1, 1000, -1, 46, -1, 48, -1, -1, -1,
2985 -1, -1, -1, 55, -1, 57, 58, -1, 60, 355,
2986 -1, -1, 64, 65, 66, 67, 68, 69, 70, 71,
2987 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2988 82, 83, 84, 379, -1, 87, 88, 89, -1, -1,
2989 92, -1, -1, 95, -1, -1, -1, -1, -1, 395,
2990 -1, -1, -1, 399, -1, -1, 402, -1, -1, -1,
2991 112, 407, -1, -1, -1, -1, 1358, -1, -1, -1,
2992 -1, -1, -1, -1, 1082, 69, 70, 71, 72, 73,
2993 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2994 84, 85, -1, -1, 1102, 1103, 1104, 1105, 1106, -1,
2995 1108, -1, 1110, 71, 72, 73, 74, 75, 76, 77,
2996 78, 79, 80, 81, 82, 83, 84, 85, -1, -1,
2997 -1, 467, -1, 469, 1132, 1133, 1134, -1, -1, 1421,
2998 1422, 1423, -1, -1, -1, -1, -1, -1, 3, 4,
2999 5, 6, 7, 8, 9, -1, -1, 12, 494, 14,
3000 -1, -1, 1444, -1, -1, 1163, -1, -1, -1, -1,
3001 -1, -1, -1, -1, 29, -1, 31, 32, -1, -1,
3002 -1, -1, 37, -1, -1, -1, -1, 42, -1, -1,
3003 -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
3004 55, -1, 57, 58, 1, -1, 3, 4, 5, 6,
3005 7, 8, 9, -1, -1, 12, 71, 14, -1, 1217,
3006 1218, -1, 1220, -1, -1, -1, 81, -1, 25, -1,
3007 27, 28, 568, -1, 89, 32, -1, -1, -1, 94,
3008 37, -1, -1, 579, 580, 42, 582, 583, -1, 46,
3009 -1, 48, -1, 1251, -1, 1253, -1, -1, 55, -1,
3010 57, 58, 59, 60, 61, -1, 63, 64, 65, 66,
3011 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3012 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3013 87, 88, 89, -1, 91, 92, 93, 94, 95, 96,
3014 -1, 98, 99, -1, -1, 641, -1, 104, -1, -1,
3015 -1, -1, 109, 110, 111, -1, 113, 653, -1, -1,
3016 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3017 4, 5, -1, 14, 8, 9, 672, -1, -1, -1,
3018 14, -1, -1, -1, -1, -1, 27, 28, 29, -1,
3019 31, 32, 33, -1, -1, 29, 37, 31, -1, -1,
3020 1358, 42, -1, 37, 45, 46, 47, -1, 49, -1,
3021 -1, -1, 46, -1, 55, -1, 57, 58, -1, -1,
3022 61, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3023 71, -1, -1, -1, -1, 731, -1, -1, 734, -1,
3024 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3025 -1, -1, -1, 94, -1, -1, -1, -1, -1, 100,
3026 -1, -1, -1, 1421, 1422, 1423, -1, -1, -1, -1,
3027 -1, 767, 768, 769, -1, -1, -1, -1, -1, -1,
3028 -1, -1, -1, 779, -1, 1, 1444, 3, 4, 5,
3029 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3030 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3031 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3032 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3033 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3034 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3035 -1, -1, 68, -1, -1, 71, 852, -1, 854, -1,
3036 -1, -1, -1, 79, 80, 81, -1, -1, -1, 865,
3037 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3038 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3039 -1, -1, -1, -1, -1, 111, 112, 1, -1, 3,
3040 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3041 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3042 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3043 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3044 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3045 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3046 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3047 -1, -1, -1, -1, -1, 79, 80, 81, 974, -1,
3048 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3049 94, 1, 96, 3, 4, 5, 6, 7, 8, 9,
3050 10, 11, 12, 13, 14, 1001, -1, -1, 112, -1,
3051 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3052 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3053 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3054 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3055 -1, -1, 62, -1, -1, -1, -1, -1, 68, 1055,
3056 1056, 71, 1058, -1, -1, -1, -1, -1, -1, 79,
3057 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3058 -1, 91, -1, -1, 94, 95, -1, 1, 98, 3,
3059 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3060 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3061 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
3062 1116, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3063 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3064 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3065 -1, -1, 1148, -1, 68, -1, -1, 71, -1, -1,
3066 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3067 1166, -1, 1168, 87, 88, 89, -1, 91, -1, -1,
3068 94, 95, -1, 1, 98, 3, 4, 5, 6, 7,
3069 8, 9, 10, 11, 12, 13, 14, -1, 112, -1,
3070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3071 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3072 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3073 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3074 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3075 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3076 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3077 88, 89, -1, -1, -1, -1, 94, -1, -1, -1,
3078 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3079 -1, -1, 110, 1, 112, 3, 4, 5, 6, 7,
3080 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3082 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3083 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3084 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3085 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3086 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3087 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3088 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3089 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3090 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3091 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3092 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3093 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3094 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3095 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3096 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3097 -1, 87, 88, 89, -1, -1, -1, -1, 94, 95,
3098 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3099 11, -1, 13, 14, -1, 111, 112, -1, -1, -1,
3100 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3101 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3102 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3103 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3104 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3105 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3106 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3107 -1, -1, -1, 94, 95, 1, -1, 3, 4, 5,
3108 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3109 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3110 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3111 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3112 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3113 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3114 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3115 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3116 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3117 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3118 14, -1, -1, -1, -1, 111, 112, -1, -1, -1,
3119 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3120 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3121 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3122 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3123 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3124 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3125 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3126 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3127 -1, 13, 14, -1, -1, -1, -1, 111, 112, -1,
3128 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3129 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3130 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3131 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3132 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3133 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3134 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3135 -1, -1, 94, -1, -1, 1, -1, 3, 4, 5,
3136 6, 103, 8, 9, 10, 11, -1, 13, 14, -1,
3137 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3138 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3139 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3140 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3141 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3142 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3143 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3144 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3145 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3146 14, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3147 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3148 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3149 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3150 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3151 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3152 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3153 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3154 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3155 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3156 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3157 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3158 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3159 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3160 62, 63, -1, -1, -1, -1, 68, -1, -1, 71,
3161 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3162 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3163 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3164 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3165 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3166 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3167 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3168 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3169 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3170 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3171 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3172 -1, -1, -1, 1, 94, 3, 4, 5, 6, -1,
3173 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3174 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3175 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3176 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3177 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3178 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3179 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3180 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3181 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3182 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3183 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3184 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3185 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3186 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3187 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3188 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3189 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3190 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3191 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3192 14, -1, -1, -1, 110, -1, 112, -1, -1, -1,
3193 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3194 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3195 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3196 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3197 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3198 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3199 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3200 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3201 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3202 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3203 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3204 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3205 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3206 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3207 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3208 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3209 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3210 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3211 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3212 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3213 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3214 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3215 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3216 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3217 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3218 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3219 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3220 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3221 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3222 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3223 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3224 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3225 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3226 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3227 -1, 94, -1, -1, -1, -1, -1, -1, -1, -1,
3228 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3229 113, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3230 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3231 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3232 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3233 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3234 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3235 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3236 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3237 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3238 -1, -1, 94, -1, 96, -1, -1, -1, -1, -1,
3239 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3240 112, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3241 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3242 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3243 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3244 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3245 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3246 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3247 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3248 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3249 -1, -1, 94, -1, 96, -1, -1, 3, 4, 5,
3250 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3251 112, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3252 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3253 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3254 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3255 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3256 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3257 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3258 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3259 96, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3260 10, 11, -1, 13, 14, 15, 112, 17, 18, 19,
3261 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3262 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3263 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3264 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3265 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3266 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3267 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3268 -1, -1, -1, -1, 94, -1, 96, 3, 4, 5,
3269 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3270 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3271 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3272 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3273 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
3274 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3275 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3276 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3277 -1, 87, 88, 89, -1, 91, -1, -1, 94, 95,
3278 -1, -1, 98, 3, 4, 5, 6, 7, 8, 9,
3279 10, 11, 12, 13, 14, -1, 112, -1, -1, -1,
3280 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3281 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3282 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3283 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3284 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3285 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3286 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3287 -1, 91, -1, -1, 94, 95, -1, -1, 98, 3,
3288 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3289 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3290 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3291 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3292 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3293 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3294 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3295 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3296 -1, -1, -1, 87, 88, 89, -1, 91, -1, -1,
3297 94, 95, 3, 4, 5, 6, -1, 8, 9, 10,
3298 11, -1, 13, 14, -1, -1, -1, -1, 112, -1,
3299 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3300 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3301 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3302 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3303 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3304 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3305 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3306 91, -1, -1, 94, 95, 3, 4, 5, 6, -1,
3307 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3308 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3309 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3310 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3311 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3312 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3313 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3314 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3315 88, 89, -1, -1, -1, -1, 94, 3, 4, 5,
3316 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3317 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3318 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3319 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3320 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3321 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3322 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3323 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3324 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3325 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3326 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3327 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3328 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3329 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3330 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3331 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3332 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3333 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3334 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3335 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3336 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3337 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3338 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3339 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3340 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3341 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3342 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3343 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3344 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3345 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3346 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3347 55, -1, 57, 58, 59, -1, -1, -1, -1, -1,
3348 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3349 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3350 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3351 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3352 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3353 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3354 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3355 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3356 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3357 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3358 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3359 88, 89, -1, -1, -1, -1, 94, 95, 3, 4,
3360 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3361 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3362 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3363 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3364 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3365 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3366 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3367 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3368 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3369 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3370 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3371 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3372 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3373 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3374 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3375 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3376 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3377 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3378 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3379 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3380 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3381 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3382 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3383 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3384 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3385 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3386 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3387 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3388 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3389 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3390 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3391 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3392 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3393 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3394 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3395 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3396 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3397 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3398 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3399 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3400 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3401 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3402 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3403 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3404 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3405 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3406 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3407 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3408 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3409 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3410 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3411 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3412 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3413 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3414 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3415 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3416 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3417 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3418 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3419 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3420 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3421 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3422 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3423 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3424 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3425 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3426 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3427 -1, -1, 68, -1, 1, 71, 3, 4, 5, 6,
3428 7, 8, 9, 79, 80, 81, -1, 14, -1, -1,
3429 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3430 -1, -1, 29, -1, 31, 32, -1, -1, -1, -1,
3431 37, -1, -1, -1, -1, 42, 112, -1, -1, 46,
3432 -1, -1, 49, -1, -1, -1, -1, -1, 55, -1,
3433 57, 58, -1, -1, 61, 3, 4, 5, 6, 7,
3434 8, 9, -1, -1, 71, -1, 14, -1, -1, -1,
3435 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3436 -1, 29, 89, 31, 32, -1, -1, 94, -1, 37,
3437 -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
3438 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3439 58, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3440 -1, -1, 14, 71, -1, -1, -1, -1, -1, -1,
3441 -1, -1, -1, 81, -1, -1, -1, 29, -1, 31,
3442 32, 89, -1, 91, -1, 37, 94, 95, -1, -1,
3443 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3444 7, 8, 9, 55, -1, 57, 58, 14, -1, 61,
3445 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3446 -1, -1, 29, -1, 31, 32, -1, -1, -1, 81,
3447 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3448 -1, -1, 94, -1, -1, -1, -1, -1, 55, -1,
3449 57, 58, -1, -1, -1, -1, 63, 3, 4, 5,
3450 6, 7, 8, 9, 71, -1, -1, -1, 14, -1,
3451 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3452 -1, -1, 89, 29, -1, 31, 32, 94, -1, -1,
3453 -1, 37, -1, -1, -1, -1, 42, -1, -1, -1,
3454 46, -1, 3, 4, 5, 6, 7, 8, 9, 55,
3455 -1, 57, 58, 14, -1, 61, -1, -1, -1, -1,
3456 -1, -1, -1, -1, -1, 71, -1, -1, 29, -1,
3457 31, 32, -1, -1, -1, 81, 37, -1, -1, -1,
3458 -1, 42, -1, 89, -1, 46, -1, -1, 94, -1,
3459 -1, -1, -1, -1, 55, -1, 57, 58, 3, 4,
3460 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3461 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3462 81, -1, -1, -1, 29, -1, 31, 32, 89, -1,
3463 -1, -1, 37, 94, -1, -1, -1, 42, -1, -1,
3464 -1, 46, -1, 3, 4, 5, 6, 7, 8, 9,
3465 55, -1, 57, 58, 14, -1, -1, -1, -1, -1,
3466 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3467 -1, -1, 32, -1, -1, -1, 81, 37, -1, -1,
3468 -1, -1, 42, -1, 89, 12, 46, -1, 48, 94,
3469 -1, -1, -1, -1, -1, 55, -1, 57, 58, 64,
3470 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3471 75, 71, 77, 78, 79, 80, 81, 82, 83, 84,
3472 85, 81, -1, -1, -1, -1, -1, 32, -1, 89,
3473 -1, -1, -1, -1, 94, -1, 63, 64, 65, 66,
3474 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3475 77, 78, 79, 80, 81, 82, 83, 84, 85, 64,
3476 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3477 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3478 85, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3479 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3480 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
3481 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3482 81, 82, 83, 84, 85, -1, -1, -1, -1, -1,
3483 113, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3484 -1, -1, -1, -1, -1, 60, -1, -1, 109, 64,
3485 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3486 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3487 85, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3488 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3489 82, 83, 84, 85, 64, 65, 66, 67, 68, 69,
3490 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3491 80, 81, 82, 83, 84, 85
3493 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3494 #line 3 "/usr/cygnus/progressive-97r2/share/bison.simple"
3496 /* Skeleton output parser for bison,
3497 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3499 This program is free software; you can redistribute it and/or modify
3500 it under the terms of the GNU General Public License as published by
3501 the Free Software Foundation; either version 2, or (at your option)
3504 This program is distributed in the hope that it will be useful,
3505 but WITHOUT ANY WARRANTY; without even the implied warranty of
3506 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3507 GNU General Public License for more details.
3509 You should have received a copy of the GNU General Public License
3510 along with this program; if not, write to the Free Software
3511 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3513 /* As a special exception, when this file is copied by Bison into a
3514 Bison output file, you may use that output file without restriction.
3515 This special exception was added by the Free Software Foundation
3516 in version 1.24 of Bison. */
3520 #define alloca __builtin_alloca
3521 #else /* not GNU C. */
3522 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3524 #else /* not sparc */
3525 #if defined (MSDOS) && !defined (__TURBOC__)
3527 #else /* not MSDOS, or __TURBOC__ */
3531 #else /* not MSDOS, __TURBOC__, or _AIX */
3535 void *alloca (unsigned int);
3537 #else /* not __cplusplus */
3539 #endif /* not __cplusplus */
3541 #endif /* not _AIX */
3542 #endif /* not MSDOS, or __TURBOC__ */
3543 #endif /* not sparc. */
3544 #endif /* not GNU C. */
3545 #endif /* alloca not defined. */
3547 /* This is the parser code that is written into each bison parser
3548 when the %semantic_parser declaration is not specified in the grammar.
3549 It was written by Richard Stallman by simplifying the hairy parser
3550 used when %semantic_parser is specified. */
3552 /* Note: there must be only one dollar sign in this file.
3553 It is replaced by the list of actions, each action
3554 as one case of the switch. */
3556 #define yyerrok (yyerrstatus = 0)
3557 #define yyclearin (yychar = YYEMPTY)
3560 #define YYACCEPT return(0)
3561 #define YYABORT return(1)
3562 #define YYERROR goto yyerrlab1
3563 /* Like YYERROR except do call yyerror.
3564 This remains here temporarily to ease the
3565 transition to the new meaning of YYERROR, for GCC.
3566 Once GCC version 2 has supplanted version 1, this can go. */
3567 #define YYFAIL goto yyerrlab
3568 #define YYRECOVERING() (!!yyerrstatus)
3569 #define YYBACKUP(token, value) \
3571 if (yychar == YYEMPTY && yylen == 1) \
3572 { yychar = (token), yylval = (value); \
3573 yychar1 = YYTRANSLATE (yychar); \
3578 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3582 #define YYERRCODE 256
3585 #define YYLEX yylex()
3591 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3593 #define YYLEX yylex(&yylval, &yylloc)
3595 #else /* not YYLSP_NEEDED */
3597 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3599 #define YYLEX yylex(&yylval)
3601 #endif /* not YYLSP_NEEDED */
3604 /* If nonreentrant, generate the variables here */
3608 int yychar
; /* the lookahead symbol */
3609 YYSTYPE yylval
; /* the semantic value of the */
3610 /* lookahead symbol */
3613 YYLTYPE yylloc
; /* location data for the lookahead */
3617 int yynerrs
; /* number of parse errors so far */
3618 #endif /* not YYPURE */
3621 int yydebug
; /* nonzero means print parse trace */
3622 /* Since this is uninitialized, it does not stop multiple parsers
3626 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3629 #define YYINITDEPTH 200
3632 /* YYMAXDEPTH is the maximum size the stacks can grow to
3633 (effective only if the built-in stack extension method is used). */
3640 #define YYMAXDEPTH 10000
3643 /* Prevent warning if -Wstrict-prototypes. */
3648 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3649 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3650 #else /* not GNU C or C++ */
3653 /* This is the most reliable way to avoid incompatibilities
3654 in available built-in functions on various systems. */
3656 __yy_memcpy (to
, from
, count
)
3661 register char *f
= from
;
3662 register char *t
= to
;
3663 register int i
= count
;
3669 #else /* __cplusplus */
3671 /* This is the most reliable way to avoid incompatibilities
3672 in available built-in functions on various systems. */
3674 __yy_memcpy (char *to
, char *from
, int count
)
3676 register char *f
= from
;
3677 register char *t
= to
;
3678 register int i
= count
;
3687 #line 196 "/usr/cygnus/progressive-97r2/share/bison.simple"
3689 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3690 into yyparse. The argument should have type void *.
3691 It should actually point to an object.
3692 Grammar actions can access the variable by casting it
3693 to the proper pointer type. */
3695 #ifdef YYPARSE_PARAM
3697 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3698 #define YYPARSE_PARAM_DECL
3699 #else /* not __cplusplus */
3700 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3701 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3702 #endif /* not __cplusplus */
3703 #else /* not YYPARSE_PARAM */
3704 #define YYPARSE_PARAM_ARG
3705 #define YYPARSE_PARAM_DECL
3706 #endif /* not YYPARSE_PARAM */
3709 yyparse(YYPARSE_PARAM_ARG
)
3712 register int yystate
;
3714 register short *yyssp
;
3715 register YYSTYPE
*yyvsp
;
3716 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3717 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3719 short yyssa
[YYINITDEPTH
]; /* the state stack */
3720 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3722 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3723 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3726 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3727 YYLTYPE
*yyls
= yylsa
;
3730 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3732 #define YYPOPSTACK (yyvsp--, yyssp--)
3735 int yystacksize
= YYINITDEPTH
;
3746 YYSTYPE yyval
; /* the variable used to return */
3747 /* semantic values from the action */
3754 fprintf(stderr
, "Starting parse\n");
3760 yychar
= YYEMPTY
; /* Cause a token to be read. */
3762 /* Initialize stack pointers.
3763 Waste one element of value and location stack
3764 so that they stay on the same level as the state stack.
3765 The wasted elements are never initialized. */
3773 /* Push a new state, which is found in yystate . */
3774 /* In all cases, when you get here, the value and location stacks
3775 have just been pushed. so pushing a state here evens the stacks. */
3780 if (yyssp
>= yyss
+ yystacksize
- 1)
3782 /* Give user a chance to reallocate the stack */
3783 /* Use copies of these so that the &'s don't force the real ones into memory. */
3784 YYSTYPE
*yyvs1
= yyvs
;
3785 short *yyss1
= yyss
;
3787 YYLTYPE
*yyls1
= yyls
;
3790 /* Get the current used size of the three stacks, in elements. */
3791 int size
= yyssp
- yyss
+ 1;
3794 /* Each stack pointer address is followed by the size of
3795 the data in use in that stack, in bytes. */
3797 /* This used to be a conditional around just the two extra args,
3798 but that might be undefined if yyoverflow is a macro. */
3799 yyoverflow("parser stack overflow",
3800 &yyss1
, size
* sizeof (*yyssp
),
3801 &yyvs1
, size
* sizeof (*yyvsp
),
3802 &yyls1
, size
* sizeof (*yylsp
),
3805 yyoverflow("parser stack overflow",
3806 &yyss1
, size
* sizeof (*yyssp
),
3807 &yyvs1
, size
* sizeof (*yyvsp
),
3811 yyss
= yyss1
; yyvs
= yyvs1
;
3815 #else /* no yyoverflow */
3816 /* Extend the stack our own way. */
3817 if (yystacksize
>= YYMAXDEPTH
)
3819 yyerror("parser stack overflow");
3823 if (yystacksize
> YYMAXDEPTH
)
3824 yystacksize
= YYMAXDEPTH
;
3825 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3826 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3827 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3828 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3830 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3831 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3833 #endif /* no yyoverflow */
3835 yyssp
= yyss
+ size
- 1;
3836 yyvsp
= yyvs
+ size
- 1;
3838 yylsp
= yyls
+ size
- 1;
3843 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3846 if (yyssp
>= yyss
+ yystacksize
- 1)
3852 fprintf(stderr
, "Entering state %d\n", yystate
);
3858 /* Do appropriate processing given the current state. */
3859 /* Read a lookahead token if we need one and don't already have one. */
3862 /* First try to decide what to do without reference to lookahead token. */
3864 yyn
= yypact
[yystate
];
3868 /* Not known => get a lookahead token if don't already have one. */
3870 /* yychar is either YYEMPTY or YYEOF
3871 or a valid token in external form. */
3873 if (yychar
== YYEMPTY
)
3877 fprintf(stderr
, "Reading a token: ");
3882 /* Convert token to internal form (in yychar1) for indexing tables with */
3884 if (yychar
<= 0) /* This means end of input. */
3887 yychar
= YYEOF
; /* Don't call YYLEX any more */
3891 fprintf(stderr
, "Now at end of input.\n");
3896 yychar1
= YYTRANSLATE(yychar
);
3901 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
3902 /* Give the individual parser a way to print the precise meaning
3903 of a token, for further debugging info. */
3905 YYPRINT (stderr
, yychar
, yylval
);
3907 fprintf (stderr
, ")\n");
3913 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
3918 /* yyn is what to do for this token type in this state.
3919 Negative => reduce, -yyn is rule number.
3920 Positive => shift, yyn is new state.
3921 New state is final state => don't bother to shift,
3922 just return success.
3923 0, or most negative number => error. */
3938 /* Shift the lookahead token. */
3942 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
3945 /* Discard the token being shifted unless it is eof. */
3946 if (yychar
!= YYEOF
)
3954 /* count tokens shifted since error; after three, turn off error status. */
3955 if (yyerrstatus
) yyerrstatus
--;
3960 /* Do the default action for the current state. */
3963 yyn
= yydefact
[yystate
];
3967 /* Do a reduction. yyn is the number of a rule to reduce with. */
3971 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
3978 fprintf (stderr
, "Reducing via rule %d (line %d), ",
3981 /* Print the symbols being reduced, and their result. */
3982 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
3983 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
3984 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
3994 /* In case there were missing closebraces,
3995 get us back to the global binding level. */
3996 while (! global_bindings_p ())
4003 { yyval
.ttype
= NULL_TREE
; ;
4007 { yyval
.ttype
= NULL_TREE
; ;
4011 { yyval
.ttype
= NULL_TREE
; ;
4015 { have_extern_spec
= 1;
4016 used_extern_spec
= 0;
4017 yyval
.ttype
= NULL_TREE
; ;
4021 { have_extern_spec
= 0; ;
4025 { yyval
.itype
= pedantic
;
4030 { if (pending_lang_change
) do_pending_lang_change(); ;
4034 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4035 pop_everything (); ;
4039 { if (pending_inlines
) do_pending_inlines (); ;
4043 { if (pending_inlines
) do_pending_inlines (); ;
4047 { if (pending_inlines
) do_pending_inlines (); ;
4051 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4052 assemble_asm (yyvsp
[-2].ttype
); ;
4056 { pop_lang_context (); ;
4060 { if (pending_inlines
) do_pending_inlines ();
4061 pop_lang_context (); ;
4065 { if (pending_inlines
) do_pending_inlines ();
4066 pop_lang_context (); ;
4070 { push_namespace (yyvsp
[-1].ttype
); ;
4074 { pop_namespace (); ;
4078 { push_namespace (NULL_TREE
); ;
4082 { pop_namespace (); ;
4086 { do_namespace_alias (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4090 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4095 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
4096 yyvsp
[-1].ttype
= lastiddecl
;
4097 do_using_directive (yyvsp
[-1].ttype
);
4102 { pedantic
= yyvsp
[-1].itype
; ;
4106 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4110 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4114 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4118 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4122 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4126 { push_lang_context (yyvsp
[0].ttype
); ;
4130 { if (current_lang_name
!= yyvsp
[0].ttype
)
4131 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4132 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4136 { begin_template_parm_list (); ;
4140 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4144 { begin_specialization();
4145 yyval
.ttype
= NULL_TREE
; ;
4149 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4153 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4157 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4161 { yyval
.ttype
= NULL_TREE
; ;
4165 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4169 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4173 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4177 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4181 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4185 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4189 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4193 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4198 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4199 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4200 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4202 error ("invalid default template argument");
4203 yyvsp
[0].ttype
= error_mark_node
;
4205 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4211 if (yyvsp
[-1].ttype
)
4212 end_template_decl ();
4214 end_specialization ();
4220 if (yyvsp
[-1].ttype
)
4221 end_template_decl ();
4223 end_specialization ();
4233 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
4238 { pedwarn ("empty declaration"); ;
4244 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4246 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4251 { yyval
.itype
= 0; ;
4255 { yyval
.itype
= 1; ;
4259 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4271 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4275 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4279 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4280 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4285 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4289 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4293 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4294 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4299 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4303 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4307 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4308 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4313 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4317 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4321 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4322 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4327 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4332 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4337 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4342 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4347 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4352 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4356 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4360 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4364 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4368 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4369 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4373 if (yychar
== YYEMPTY
)
4375 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4379 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4383 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4384 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4388 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4389 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4393 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4397 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4398 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4402 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4407 if (! current_function_parms_stored
)
4408 store_parm_decls ();
4409 yyval
.ttype
= yyvsp
[0].ttype
;
4414 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4418 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4422 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4427 if (yyvsp
[0].itype
== 0)
4428 error ("no base initializers given following ':'");
4430 /* Always keep the BLOCK node associated with the outermost
4431 pair of curley braces of a function. These are needed
4432 for correct operation of dwarfout.c. */
4439 if (! current_function_parms_stored
)
4440 store_parm_decls ();
4442 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4444 /* Make a contour for the initializer list. */
4447 expand_start_bindings (0);
4449 else if (current_class_type
== NULL_TREE
)
4450 error ("base initializers not allowed for non-member functions");
4451 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4452 error ("only constructors take base initializers");
4457 { yyval
.itype
= 0; ;
4461 { yyval
.itype
= 1; ;
4466 if (current_class_name
)
4467 pedwarn ("anachronistic old style base class initializer");
4468 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4474 if (current_class_name
)
4475 pedwarn ("anachronistic old style base class initializer");
4476 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4481 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4485 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4489 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4493 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4497 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4502 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4507 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4508 yyungetc (';', 1); ;
4512 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4513 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4517 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4521 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4525 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4526 yyungetc (';', 1); ;
4530 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4531 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4535 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4539 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4543 { begin_explicit_instantiation(); ;
4547 { end_explicit_instantiation(); ;
4552 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4553 if (yyval
.ttype
!= error_mark_node
)
4554 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4560 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4561 if (yyval
.ttype
!= error_mark_node
)
4562 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4568 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4569 if (yyval
.ttype
!= error_mark_node
)
4570 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4576 /* Handle `Class<Class<Type>>' without space in the `>>' */
4577 pedwarn ("`>>' should be `> >' in template class name");
4583 { yyval
.ttype
= NULL_TREE
; ;
4587 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4591 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4595 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4599 { yyval
.code
= NEGATE_EXPR
; ;
4603 { yyval
.code
= CONVERT_EXPR
; ;
4607 { yyval
.code
= PREINCREMENT_EXPR
; ;
4611 { yyval
.code
= PREDECREMENT_EXPR
; ;
4615 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4619 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4623 { error ("ANSI C++ forbids an empty condition for `%s'",
4625 yyval
.ttype
= integer_zero_node
; ;
4629 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4633 { error ("ANSI C++ forbids an empty condition for `%s'",
4635 yyval
.ttype
= integer_zero_node
; ;
4639 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4643 { yyval
.ttype
= NULL_TREE
; ;
4647 { yyval
.ttype
= condition_conversion (yyval
.ttype
); ;
4651 { yyval
.ttype
= NULL_TREE
; ;
4657 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4658 if (TREE_CODE (d
) == TYPE_DECL
) {
4659 tree s
= TREE_TYPE (d
);
4660 if (TREE_CODE (s
) == RECORD_TYPE
)
4661 cp_error ("definition of class `%T' in condition", s
);
4662 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4663 cp_error ("definition of enum `%T' in condition", s
);
4666 current_declspecs
= yyvsp
[-4].ftype
.t
;
4667 yyvsp
[0].itype
= suspend_momentary ();
4668 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
4669 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
,
4670 /*prefix_attributes*/ NULL_TREE
);
4676 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4677 resume_momentary (yyvsp
[-2].itype
);
4678 yyval
.ttype
= yyvsp
[-1].ttype
;
4679 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4680 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4685 { yyval
.ttype
= begin_compound_stmt (1); ;
4689 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
4693 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4694 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4698 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4699 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4703 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4707 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4711 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4714 #line 1001 "parse.y"
4715 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4718 #line 1004 "parse.y"
4719 { yyval
.ttype
= yyvsp
[0].ttype
;
4720 pedantic
= yyvsp
[-1].itype
; ;
4723 #line 1007 "parse.y"
4724 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4727 #line 1009 "parse.y"
4728 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4731 #line 1011 "parse.y"
4732 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4735 #line 1013 "parse.y"
4736 { yyval
.ttype
= build_x_unary_op (yyvsp
[-1].code
, yyvsp
[0].ttype
);
4737 if (yyvsp
[-1].code
== NEGATE_EXPR
&& TREE_CODE (yyvsp
[0].ttype
) == INTEGER_CST
)
4738 TREE_NEGATED_INT (yyval
.ttype
) = 1;
4739 overflow_warning (yyval
.ttype
);
4743 #line 1020 "parse.y"
4745 pedwarn ("ANSI C++ forbids `&&'");
4746 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
4749 #line 1024 "parse.y"
4750 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4753 #line 1026 "parse.y"
4754 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4757 #line 1028 "parse.y"
4758 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4761 #line 1030 "parse.y"
4762 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4763 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4766 #line 1036 "parse.y"
4767 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4768 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4771 #line 1039 "parse.y"
4772 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4773 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4776 #line 1042 "parse.y"
4777 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4778 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4781 #line 1045 "parse.y"
4782 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4783 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4786 #line 1048 "parse.y"
4787 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4788 NULL_TREE
, yyvsp
[-3].itype
);
4789 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4792 #line 1052 "parse.y"
4793 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-4].itype
);
4794 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4797 #line 1055 "parse.y"
4798 { yyval
.ttype
= build_new (yyvsp
[-3].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-4].itype
);
4799 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4802 #line 1058 "parse.y"
4803 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4804 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4807 #line 1062 "parse.y"
4808 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4811 #line 1064 "parse.y"
4812 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4813 if (yychar
== YYEMPTY
)
4817 #line 1068 "parse.y"
4818 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4819 if (yychar
== YYEMPTY
)
4823 #line 1072 "parse.y"
4824 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4827 #line 1074 "parse.y"
4828 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4831 #line 1079 "parse.y"
4832 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4835 #line 1081 "parse.y"
4837 yyval
.ttype
= yyvsp
[-1].ttype
;
4838 pedwarn ("old style placement syntax, use () instead");
4842 #line 1089 "parse.y"
4843 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4846 #line 1091 "parse.y"
4847 { yyval
.ttype
= NULL_TREE
; ;
4850 #line 1093 "parse.y"
4852 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
4853 yyval
.ttype
= error_mark_node
;
4857 #line 1101 "parse.y"
4860 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4861 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
4862 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
4863 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
4865 yyval
.ttype
= yyvsp
[0].ttype
;
4869 #line 1115 "parse.y"
4870 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
4871 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
4872 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4873 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4876 #line 1120 "parse.y"
4877 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
4878 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
4879 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4880 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4883 #line 1129 "parse.y"
4884 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
4887 #line 1131 "parse.y"
4889 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
4890 nreverse (yyvsp
[-2].ttype
));
4892 pedwarn ("ANSI C++ forbids constructor-expressions");
4893 /* Indicate that this was a GNU C constructor expression. */
4894 TREE_HAS_CONSTRUCTOR (init
) = 1;
4896 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
4900 #line 1147 "parse.y"
4901 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4904 #line 1149 "parse.y"
4905 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
4908 #line 1151 "parse.y"
4909 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4912 #line 1153 "parse.y"
4913 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4916 #line 1155 "parse.y"
4917 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4920 #line 1157 "parse.y"
4921 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4924 #line 1159 "parse.y"
4925 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4928 #line 1161 "parse.y"
4929 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4932 #line 1163 "parse.y"
4933 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4936 #line 1165 "parse.y"
4937 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4940 #line 1167 "parse.y"
4941 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4944 #line 1169 "parse.y"
4945 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4948 #line 1171 "parse.y"
4949 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4952 #line 1173 "parse.y"
4953 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4956 #line 1175 "parse.y"
4957 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4960 #line 1177 "parse.y"
4961 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4964 #line 1179 "parse.y"
4965 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4968 #line 1181 "parse.y"
4969 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4972 #line 1183 "parse.y"
4973 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4976 #line 1185 "parse.y"
4977 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4980 #line 1187 "parse.y"
4981 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
4982 if (yyval
.ttype
!= error_mark_node
)
4983 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
4986 #line 1191 "parse.y"
4987 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
4990 #line 1193 "parse.y"
4991 { yyval
.ttype
= build_throw (NULL_TREE
); ;
4994 #line 1195 "parse.y"
4995 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
4998 #line 1213 "parse.y"
4999 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5002 #line 1222 "parse.y"
5003 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1); ;
5006 #line 1226 "parse.y"
5007 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5010 #line 1228 "parse.y"
5011 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5014 #line 1233 "parse.y"
5015 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5018 #line 1235 "parse.y"
5019 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5022 #line 1238 "parse.y"
5023 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5026 #line 1250 "parse.y"
5027 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5030 #line 1252 "parse.y"
5031 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5034 #line 1254 "parse.y"
5035 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5038 #line 1259 "parse.y"
5039 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5042 #line 1261 "parse.y"
5043 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5046 #line 1269 "parse.y"
5047 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5050 #line 1274 "parse.y"
5052 if (TREE_CODE (yyval
.ttype
) == BIT_NOT_EXPR
)
5053 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyval
.ttype
, 0));
5054 else if (TREE_CODE (yyval
.ttype
) != TEMPLATE_ID_EXPR
)
5055 yyval
.ttype
= do_identifier (yyval
.ttype
, 1);
5059 #line 1283 "parse.y"
5061 if (processing_template_decl
)
5062 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5063 yyval
.ttype
= combine_strings (yyval
.ttype
);
5064 if (processing_template_decl
)
5069 #line 1291 "parse.y"
5070 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5073 #line 1293 "parse.y"
5074 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5075 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5078 #line 1296 "parse.y"
5079 { yyval
.ttype
= error_mark_node
; ;
5082 #line 1298 "parse.y"
5083 { if (current_function_decl
== 0)
5085 error ("braced-group within expression allowed only inside a function");
5089 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5090 yyval
.ttype
= begin_stmt_expr ();
5094 #line 1308 "parse.y"
5095 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5098 #line 1310 "parse.y"
5099 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5102 #line 1312 "parse.y"
5103 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5106 #line 1314 "parse.y"
5107 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5110 #line 1316 "parse.y"
5111 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5114 #line 1318 "parse.y"
5115 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5118 #line 1321 "parse.y"
5119 { yyval
.ttype
= finish_this_expr (); ;
5122 #line 1323 "parse.y"
5124 tree type
= NULL_TREE
;
5125 tree id
= yyval
.ttype
;
5127 /* This is a C cast in C++'s `functional' notation. */
5128 if (yyvsp
[-1].ttype
== error_mark_node
)
5130 yyval
.ttype
= error_mark_node
;
5134 if (yyvsp
[-1].ttype
== NULL_TREE
)
5136 error ("cannot cast null list to type `%s'",
5137 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5138 yyval
.ttype
= error_mark_node
;
5143 /* type is not set! (mrs) */
5144 if (type
== error_mark_node
)
5145 yyval
.ttype
= error_mark_node
;
5149 if (id
== ridpointers
[(int) RID_CONST
])
5150 type
= build_type_variant (integer_type_node
, 1, 0);
5151 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5152 type
= build_type_variant (integer_type_node
, 0, 1);
5154 /* should not be able to get here (mrs) */
5155 else if (id
== ridpointers
[(int) RID_FRIEND
])
5157 error ("cannot cast expression to `friend' type");
5158 yyval
.ttype
= error_mark_node
;
5162 else my_friendly_abort (79);
5163 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5168 #line 1368 "parse.y"
5169 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5170 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5171 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5174 #line 1372 "parse.y"
5175 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5176 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5177 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5180 #line 1376 "parse.y"
5181 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5182 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5183 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5186 #line 1380 "parse.y"
5187 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5188 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5189 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5192 #line 1384 "parse.y"
5193 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5196 #line 1386 "parse.y"
5197 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5198 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5199 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5202 #line 1390 "parse.y"
5203 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5206 #line 1392 "parse.y"
5208 got_scope
= NULL_TREE
;
5209 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5210 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5212 yyval
.ttype
= yyvsp
[0].ttype
;
5216 #line 1400 "parse.y"
5217 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5220 #line 1402 "parse.y"
5221 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5224 #line 1404 "parse.y"
5225 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5228 #line 1406 "parse.y"
5230 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5234 #line 1410 "parse.y"
5235 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5238 #line 1412 "parse.y"
5239 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5242 #line 1414 "parse.y"
5243 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5246 #line 1416 "parse.y"
5247 { if (processing_template_decl
)
5248 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5250 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5253 #line 1421 "parse.y"
5254 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5257 #line 1423 "parse.y"
5258 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5261 #line 1425 "parse.y"
5262 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5265 #line 1427 "parse.y"
5266 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5269 #line 1430 "parse.y"
5270 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5273 #line 1432 "parse.y"
5274 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5277 #line 1434 "parse.y"
5279 yyval
.ttype
= error_mark_node
;
5283 #line 1479 "parse.y"
5284 { yyval
.itype
= 0; ;
5287 #line 1481 "parse.y"
5288 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5291 #line 1486 "parse.y"
5292 { yyval
.itype
= 0; ;
5295 #line 1488 "parse.y"
5296 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5299 #line 1493 "parse.y"
5300 { yyval
.ttype
= boolean_true_node
; ;
5303 #line 1495 "parse.y"
5304 { yyval
.ttype
= boolean_false_node
; ;
5307 #line 1502 "parse.y"
5308 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5311 #line 1507 "parse.y"
5313 if (! current_function_parms_stored
)
5314 store_parm_decls ();
5316 /* Always keep the BLOCK node associated with the outermost
5317 pair of curley braces of a function. These are needed
5318 for correct operation of dwarfout.c. */
5323 #line 1520 "parse.y"
5324 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5327 #line 1522 "parse.y"
5329 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5330 got_object
= TREE_TYPE (yyval
.ttype
);
5334 #line 1530 "parse.y"
5336 resume_momentary (yyvsp
[-1].itype
);
5337 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5338 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5342 #line 1536 "parse.y"
5344 resume_momentary (yyvsp
[-1].itype
);
5345 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5349 #line 1541 "parse.y"
5350 { resume_momentary (yyvsp
[-1].itype
); ;
5353 #line 1543 "parse.y"
5355 shadow_tag (yyvsp
[-1].ftype
.t
);
5356 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5360 #line 1548 "parse.y"
5361 { warning ("empty declaration"); ;
5364 #line 1550 "parse.y"
5365 { pedantic
= yyvsp
[-1].itype
; ;
5368 #line 1564 "parse.y"
5369 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5370 NULL_TREE
, NULL_TREE
); ;
5373 #line 1567 "parse.y"
5374 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5378 #line 1574 "parse.y"
5379 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5380 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5383 #line 1577 "parse.y"
5384 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5385 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5388 #line 1580 "parse.y"
5389 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5390 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5393 #line 1583 "parse.y"
5394 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5395 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5398 #line 1586 "parse.y"
5399 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5400 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5403 #line 1602 "parse.y"
5404 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5405 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5408 #line 1605 "parse.y"
5409 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5410 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5413 #line 1608 "parse.y"
5414 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5415 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5418 #line 1611 "parse.y"
5419 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5420 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5423 #line 1614 "parse.y"
5424 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5425 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5428 #line 1617 "parse.y"
5429 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5430 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5431 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5434 #line 1624 "parse.y"
5435 { if (extra_warnings
)
5436 warning ("`%s' is not at beginning of declaration",
5437 IDENTIFIER_POINTER (yyval
.ttype
));
5438 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5441 #line 1629 "parse.y"
5442 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5445 #line 1631 "parse.y"
5446 { if (extra_warnings
)
5447 warning ("`%s' is not at beginning of declaration",
5448 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5449 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5452 #line 1636 "parse.y"
5453 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5456 #line 1638 "parse.y"
5457 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5460 #line 1648 "parse.y"
5461 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5464 #line 1650 "parse.y"
5465 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5468 #line 1652 "parse.y"
5469 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5470 TREE_STATIC (yyval
.ttype
) = 1; ;
5473 #line 1655 "parse.y"
5474 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5475 warning ("`%s' is not at beginning of declaration",
5476 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5477 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5478 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5481 #line 1661 "parse.y"
5482 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5485 #line 1663 "parse.y"
5486 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5489 #line 1674 "parse.y"
5490 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5491 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5494 #line 1677 "parse.y"
5495 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5496 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5499 #line 1680 "parse.y"
5500 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5501 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5504 #line 1683 "parse.y"
5505 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5506 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5509 #line 1689 "parse.y"
5510 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5513 #line 1691 "parse.y"
5514 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5517 #line 1701 "parse.y"
5518 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5521 #line 1703 "parse.y"
5522 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5525 #line 1705 "parse.y"
5526 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5527 yyval
.ftype
.new_type_flag
= 0; ;
5530 #line 1708 "parse.y"
5531 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5532 yyval
.ftype
.new_type_flag
= 0; ;
5535 #line 1711 "parse.y"
5536 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5538 yyval
.ftype
.new_type_flag
= 0;
5539 if (IS_AGGR_TYPE (type
))
5541 sorry ("sigof type specifier");
5542 yyval
.ftype
.t
= type
;
5546 error ("`sigof' applied to non-aggregate expression");
5547 yyval
.ftype
.t
= error_mark_node
;
5552 #line 1726 "parse.y"
5553 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5555 yyval
.ftype
.new_type_flag
= 0;
5556 if (IS_AGGR_TYPE (type
))
5558 sorry ("sigof type specifier");
5559 yyval
.ftype
.t
= type
;
5563 error("`sigof' applied to non-aggregate type");
5564 yyval
.ftype
.t
= error_mark_node
;
5569 #line 1746 "parse.y"
5570 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5573 #line 1748 "parse.y"
5574 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5577 #line 1769 "parse.y"
5578 { yyval
.ttype
= NULL_TREE
; ;
5581 #line 1771 "parse.y"
5582 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5585 #line 1776 "parse.y"
5586 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5587 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5590 #line 1780 "parse.y"
5591 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5594 #line 1782 "parse.y"
5595 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5596 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
);
5597 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5600 #line 1795 "parse.y"
5601 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
5602 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
5605 #line 1800 "parse.y"
5606 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1,
5607 LOOKUP_ONLYCONVERTING
);
5608 yyval
.itype
= yyvsp
[-2].itype
; ;
5611 #line 1804 "parse.y"
5613 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
5614 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5617 #line 1811 "parse.y"
5618 { yyval
.itype
= yyvsp
[0].itype
; ;
5621 #line 1815 "parse.y"
5622 { yyval
.itype
= yyvsp
[0].itype
; ;
5625 #line 1820 "parse.y"
5626 { /* Set things up as initdcl0_innards expects. */
5627 yyval
.ttype
= yyvsp
[-1].ttype
;
5628 yyvsp
[-1].ttype
= NULL_TREE
; ;
5631 #line 1824 "parse.y"
5635 #line 1826 "parse.y"
5637 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
5638 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5641 #line 1835 "parse.y"
5642 { yyval
.ttype
= NULL_TREE
; ;
5645 #line 1837 "parse.y"
5646 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5649 #line 1842 "parse.y"
5650 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5653 #line 1844 "parse.y"
5654 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5657 #line 1849 "parse.y"
5658 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5661 #line 1854 "parse.y"
5662 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5665 #line 1856 "parse.y"
5666 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5669 #line 1861 "parse.y"
5670 { yyval
.ttype
= NULL_TREE
; ;
5673 #line 1863 "parse.y"
5674 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5677 #line 1865 "parse.y"
5678 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5681 #line 1867 "parse.y"
5682 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5685 #line 1869 "parse.y"
5686 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5689 #line 1885 "parse.y"
5690 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5693 #line 1887 "parse.y"
5694 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5697 #line 1892 "parse.y"
5698 { yyval
.ttype
= NULL_TREE
; ;
5701 #line 1894 "parse.y"
5702 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5705 #line 1902 "parse.y"
5706 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5707 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5710 #line 1905 "parse.y"
5711 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
5712 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5715 #line 1908 "parse.y"
5716 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
5717 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5720 #line 1911 "parse.y"
5721 { yyval
.ttype
= NULL_TREE
; ;
5724 #line 1918 "parse.y"
5725 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5728 #line 1920 "parse.y"
5729 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5732 #line 1923 "parse.y"
5733 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5736 #line 1925 "parse.y"
5737 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
5740 #line 1927 "parse.y"
5741 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5744 #line 1932 "parse.y"
5745 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
5747 reinit_parse_for_function (); ;
5750 #line 1938 "parse.y"
5752 int nested
= (hack_decl_function_context
5753 (current_function_decl
) != NULL_TREE
);
5754 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
5755 process_next_inline (yyvsp
[-3].ttype
);
5759 #line 1945 "parse.y"
5760 { process_next_inline (yyvsp
[-2].ttype
); ;
5763 #line 1947 "parse.y"
5764 { process_next_inline (yyvsp
[-2].ttype
); ;
5767 #line 1959 "parse.y"
5768 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5771 #line 1961 "parse.y"
5772 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
5775 #line 1966 "parse.y"
5776 { do_pending_defargs (); ;
5779 #line 1968 "parse.y"
5780 { do_pending_defargs (); ;
5783 #line 1973 "parse.y"
5784 { yyvsp
[0].itype
= suspend_momentary ();
5785 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
5788 #line 1976 "parse.y"
5789 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5790 yyval
.ftype
.new_type_flag
= 1;
5791 resume_momentary ((int) yyvsp
[-4].itype
);
5792 check_for_missing_semicolon (yyvsp
[-3].ttype
); ;
5795 #line 1981 "parse.y"
5796 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
), NULL_TREE
);
5797 yyval
.ftype
.new_type_flag
= 1;
5798 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5801 #line 1985 "parse.y"
5802 { yyvsp
[0].itype
= suspend_momentary ();
5803 yyval
.ttype
= start_enum (make_anon_name ()); ;
5806 #line 1988 "parse.y"
5807 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5808 resume_momentary ((int) yyvsp
[-5].itype
);
5809 check_for_missing_semicolon (yyvsp
[-3].ttype
);
5810 yyval
.ftype
.new_type_flag
= 1; ;
5813 #line 1993 "parse.y"
5814 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()), NULL_TREE
);
5815 yyval
.ftype
.new_type_flag
= 1;
5816 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5819 #line 1997 "parse.y"
5820 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5821 yyval
.ftype
.new_type_flag
= 0; ;
5824 #line 2000 "parse.y"
5825 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5826 yyval
.ftype
.new_type_flag
= 0; ;
5829 #line 2003 "parse.y"
5830 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
5831 yyval
.ftype
.new_type_flag
= 0; ;
5834 #line 2008 "parse.y"
5838 yyval
.ttype
= yyvsp
[-4].ttype
;
5840 /* Need to rework class nesting in the
5841 presence of nested classes, etc. */
5842 shadow_tag (CLASSTYPE_AS_LIST (yyvsp
[-4].ttype
)); */
5844 if (yychar
== YYEMPTY
)
5846 semi
= yychar
== ';';
5847 /* finish_struct nukes this anyway; if
5848 finish_exception does too, then it can go. */
5850 note_got_semicolon (yyvsp
[-4].ttype
);
5852 if (TREE_CODE (yyvsp
[-4].ttype
) == ENUMERAL_TYPE
)
5856 yyval
.ttype
= finish_struct (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
5857 if (semi
) note_got_semicolon (yyval
.ttype
);
5863 check_for_missing_semicolon (yyvsp
[-4].ttype
);
5864 if (current_scope () == current_function_decl
)
5865 do_pending_defargs ();
5869 #line 2041 "parse.y"
5872 && current_scope () == current_function_decl
)
5873 do_pending_inlines ();
5877 #line 2047 "parse.y"
5879 yyval
.ftype
.t
= yyvsp
[-3].ttype
;
5880 yyval
.ftype
.new_type_flag
= 1;
5881 if (current_class_type
== NULL_TREE
)
5882 clear_inline_text_obstack ();
5884 /* Undo the begin_tree in left_curly. */
5889 #line 2057 "parse.y"
5891 yyval
.ftype
.new_type_flag
= 0;
5892 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
5894 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
5895 yyval
.ftype
.t
= error_mark_node
;
5899 yyval
.ftype
.t
= yyvsp
[0].ttype
;
5900 /* struct B: public A; is not accepted by the WP grammar. */
5901 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
5902 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
5903 cp_error ("base clause without member specification for `%#T'",
5909 #line 2084 "parse.y"
5910 { if (pedantic
&& !in_system_header
)
5911 pedwarn ("comma at end of enumerator list"); ;
5914 #line 2091 "parse.y"
5915 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5918 #line 2093 "parse.y"
5919 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5922 #line 2095 "parse.y"
5923 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5926 #line 2097 "parse.y"
5927 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5930 #line 2102 "parse.y"
5931 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5934 #line 2107 "parse.y"
5935 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5938 #line 2112 "parse.y"
5940 current_aggr
= yyvsp
[-2].ttype
;
5941 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5945 #line 2117 "parse.y"
5947 current_aggr
= yyvsp
[-3].ttype
;
5948 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5952 #line 2122 "parse.y"
5954 current_aggr
= yyvsp
[-2].ttype
;
5955 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
5959 #line 2127 "parse.y"
5960 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5963 #line 2129 "parse.y"
5964 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5967 #line 2134 "parse.y"
5968 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 0); ;
5971 #line 2139 "parse.y"
5972 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5975 #line 2142 "parse.y"
5977 yyval
.ttype
= yyvsp
[-1].ttype
;
5979 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5983 #line 2148 "parse.y"
5985 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
5986 if (TREE_INT_CST_LOW (current_aggr
) == union_type
5987 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
5988 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
5989 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
5990 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
5991 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
5994 if (IS_AGGR_TYPE (yyval
.ttype
) && CLASSTYPE_USE_TEMPLATE (yyval
.ttype
))
5996 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval
.ttype
)
5997 && TYPE_SIZE (yyval
.ttype
) == NULL_TREE
)
5999 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval
.ttype
);
6000 if (processing_template_decl
)
6001 push_template_decl (TYPE_MAIN_DECL (yyval
.ttype
));
6003 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval
.ttype
))
6004 cp_error ("specialization after instantiation of `%T'", yyval
.ttype
);
6006 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6011 #line 2177 "parse.y"
6012 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), NULL_TREE
, 0);
6013 yyungetc ('{', 1); ;
6016 #line 2188 "parse.y"
6017 { yyval
.ttype
= NULL_TREE
; ;
6020 #line 2190 "parse.y"
6021 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6024 #line 2192 "parse.y"
6025 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6028 #line 2198 "parse.y"
6029 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6032 #line 2203 "parse.y"
6034 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6035 if (! is_aggr_type (type
, 1))
6036 yyval
.ttype
= NULL_TREE
;
6037 else if (current_aggr
== signature_type_node
6038 && (! type
) && (! IS_SIGNATURE (type
)))
6040 error ("class name not allowed as base signature");
6041 yyval
.ttype
= NULL_TREE
;
6043 else if (current_aggr
== signature_type_node
)
6045 sorry ("signature inheritance, base type `%s' ignored",
6046 IDENTIFIER_POINTER (yyval
.ttype
));
6047 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6049 else if (type
&& IS_SIGNATURE (type
))
6051 error ("signature name not allowed as base class");
6052 yyval
.ttype
= NULL_TREE
;
6055 yyval
.ttype
= build_tree_list (access_default_node
, type
);
6059 #line 2228 "parse.y"
6061 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6062 if (current_aggr
== signature_type_node
)
6063 error ("access and source specifiers not allowed in signature");
6064 if (! IS_AGGR_TYPE (type
))
6065 yyval
.ttype
= NULL_TREE
;
6066 else if (current_aggr
== signature_type_node
6067 && (! type
) && (! IS_SIGNATURE (type
)))
6069 error ("class name not allowed as base signature");
6070 yyval
.ttype
= NULL_TREE
;
6072 else if (current_aggr
== signature_type_node
)
6074 sorry ("signature inheritance, base type `%s' ignored",
6075 IDENTIFIER_POINTER (yyval
.ttype
));
6076 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6078 else if (type
&& IS_SIGNATURE (type
))
6080 error ("signature name not allowed as base class");
6081 yyval
.ttype
= NULL_TREE
;
6084 yyval
.ttype
= build_tree_list (yyval
.ttype
, type
);
6088 #line 2258 "parse.y"
6089 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6092 #line 2261 "parse.y"
6094 if (current_aggr
== signature_type_node
)
6096 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6098 sorry ("`sigof' as base signature specifier");
6099 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6103 error ("`sigof' applied to non-aggregate expression");
6104 yyval
.ttype
= error_mark_node
;
6109 error ("`sigof' in struct or class declaration");
6110 yyval
.ttype
= error_mark_node
;
6115 #line 2282 "parse.y"
6117 if (current_aggr
== signature_type_node
)
6119 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6121 sorry ("`sigof' as base signature specifier");
6122 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6126 error ("`sigof' applied to non-aggregate expression");
6127 yyval
.ttype
= error_mark_node
;
6132 error ("`sigof' in struct or class declaration");
6133 yyval
.ttype
= error_mark_node
;
6138 #line 2307 "parse.y"
6139 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6140 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6141 yyval
.ttype
= access_default_virtual_node
; ;
6144 #line 2311 "parse.y"
6146 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6147 error ("multiple access specifiers");
6148 else if (yyvsp
[-1].ttype
== access_public_node
)
6149 yyval
.ttype
= access_public_virtual_node
;
6150 else if (yyvsp
[-1].ttype
== access_protected_node
)
6151 yyval
.ttype
= access_protected_virtual_node
;
6152 else /* $2 == access_private_node */
6153 yyval
.ttype
= access_private_virtual_node
;
6157 #line 2322 "parse.y"
6158 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6159 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6160 else if (yyval
.ttype
== access_public_node
)
6161 yyval
.ttype
= access_public_virtual_node
;
6162 else if (yyval
.ttype
== access_protected_node
)
6163 yyval
.ttype
= access_protected_virtual_node
;
6164 else if (yyval
.ttype
== access_private_node
)
6165 yyval
.ttype
= access_private_virtual_node
;
6167 error ("multiple `virtual' specifiers");
6171 #line 2337 "parse.y"
6172 { tree t
= yyvsp
[-1].ttype
;
6173 push_obstacks_nochange ();
6174 end_temporary_allocation ();
6176 if (t
== error_mark_node
6177 || ! IS_AGGR_TYPE (t
))
6179 t
= yyvsp
[-1].ttype
= make_lang_type (RECORD_TYPE
);
6180 pushtag (make_anon_name (), t
, 0);
6183 duplicate_tag_error (t
);
6184 if (TYPE_SIZE (t
) || TYPE_BEING_DEFINED (t
))
6186 t
= make_lang_type (TREE_CODE (t
));
6187 pushtag (TYPE_IDENTIFIER (yyvsp
[-1].ttype
), t
, 0);
6188 yyvsp
[-1].ttype
= t
;
6190 if (processing_template_decl
&& TYPE_CONTEXT (t
)
6191 && ! current_class_type
)
6192 push_template_decl (TYPE_STUB_DECL (t
));
6194 TYPE_BEING_DEFINED (t
) = 1;
6195 if (IS_AGGR_TYPE (t
) && CLASSTYPE_USE_TEMPLATE (t
))
6197 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t
)
6198 && TYPE_SIZE (t
) == NULL_TREE
)
6200 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t
);
6201 if (processing_template_decl
)
6202 push_template_decl (TYPE_MAIN_DECL (t
));
6204 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t
))
6205 cp_error ("specialization after instantiation of `%T'", t
);
6207 /* Reset the interface data, at the earliest possible
6208 moment, as it might have been set via a class foo;
6210 /* Don't change signatures. */
6211 if (! IS_SIGNATURE (t
))
6213 extern tree pending_vtables
;
6215 tree name
= TYPE_IDENTIFIER (t
);
6217 if (! ANON_AGGRNAME_P (name
))
6219 CLASSTYPE_INTERFACE_ONLY (t
) = interface_only
;
6220 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6221 (t
, interface_unknown
);
6224 /* Record how to set the access of this class's
6225 virtual functions. If write_virtuals == 2 or 3, then
6226 inline virtuals are ``extern inline''. */
6227 switch (write_virtuals
)
6234 needs_writing
= !! value_member (name
, pending_vtables
);
6237 needs_writing
= ! CLASSTYPE_INTERFACE_ONLY (t
)
6238 && CLASSTYPE_INTERFACE_KNOWN (t
);
6243 CLASSTYPE_VTABLE_NEEDS_WRITING (t
) = needs_writing
;
6246 t
= TYPE_IDENTIFIER (yyvsp
[-1].ttype
);
6247 if (t
&& IDENTIFIER_TEMPLATE (t
))
6248 overload_template_name (t
, 1);
6250 reset_specialization();
6252 /* In case this is a local class within a template
6253 function, we save the current tree structure so
6254 that we can get it back later. */
6259 #line 2426 "parse.y"
6261 yyval
.ttype
= build_self_reference ();
6265 #line 2433 "parse.y"
6266 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6269 #line 2435 "parse.y"
6271 if (current_aggr
== signature_type_node
)
6272 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6274 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6275 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6279 #line 2443 "parse.y"
6281 tree visspec
= yyvsp
[-2].ttype
;
6283 if (current_aggr
== signature_type_node
)
6285 error ("access specifier not allowed in signature");
6286 visspec
= access_public_node
;
6288 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6292 #line 2454 "parse.y"
6294 if (current_aggr
== signature_type_node
)
6295 error ("access specifier not allowed in signature");
6299 #line 2464 "parse.y"
6300 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6304 #line 2467 "parse.y"
6305 { /* In pushdecl, we created a reverse list of names
6306 in this binding level. Make sure that the chain
6307 of what we're trying to add isn't the item itself
6308 (which can happen with what pushdecl's doing). */
6309 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6311 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6312 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6314 yyval
.ttype
= yyvsp
[0].ttype
;
6319 #line 2483 "parse.y"
6323 #line 2485 "parse.y"
6324 { error ("missing ';' before right brace");
6325 yyungetc ('}', 0); ;
6328 #line 2490 "parse.y"
6329 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6332 #line 2492 "parse.y"
6333 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6336 #line 2494 "parse.y"
6337 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6340 #line 2496 "parse.y"
6341 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6344 #line 2498 "parse.y"
6345 { yyval
.ttype
= NULL_TREE
; ;
6348 #line 2500 "parse.y"
6349 { yyval
.ttype
= yyvsp
[0].ttype
;
6350 pedantic
= yyvsp
[-1].itype
; ;
6353 #line 2503 "parse.y"
6354 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6357 #line 2505 "parse.y"
6359 shadow_tag (yyvsp
[-1].ftype
.t
);
6360 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
6361 yyval
.ttype
= finish_member_template_decl (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
);
6365 #line 2517 "parse.y"
6366 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6369 #line 2519 "parse.y"
6370 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6373 #line 2521 "parse.y"
6374 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6375 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6378 #line 2524 "parse.y"
6379 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6380 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6383 #line 2527 "parse.y"
6384 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6387 #line 2529 "parse.y"
6388 { yyval
.ttype
= NULL_TREE
; ;
6391 #line 2540 "parse.y"
6392 { tree specs
, attrs
;
6393 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6394 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6395 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6398 #line 2545 "parse.y"
6399 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6400 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6403 #line 2548 "parse.y"
6404 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6407 #line 2554 "parse.y"
6408 { yyval
.ttype
= NULL_TREE
; ;
6411 #line 2557 "parse.y"
6413 /* In this context, void_type_node encodes
6414 friends. They have been recorded elsewhere. */
6415 if (yyval
.ttype
== void_type_node
)
6416 yyval
.ttype
= yyvsp
[0].ttype
;
6418 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6422 #line 2569 "parse.y"
6423 { yyval
.ttype
= NULL_TREE
; ;
6426 #line 2572 "parse.y"
6428 /* In this context, void_type_node encodes
6429 friends. They have been recorded elsewhere. */
6430 if (yyval
.ttype
== void_type_node
)
6431 yyval
.ttype
= yyvsp
[0].ttype
;
6433 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6437 #line 2594 "parse.y"
6438 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6439 &prefix_attributes
);
6440 yyvsp
[-4].ttype
= current_declspecs
;
6441 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6442 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6445 #line 2600 "parse.y"
6446 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6447 &prefix_attributes
);
6448 yyvsp
[-4].ttype
= current_declspecs
;
6449 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6450 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6453 #line 2609 "parse.y"
6454 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6455 &prefix_attributes
);
6456 yyvsp
[-4].ttype
= current_declspecs
;
6457 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6458 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6461 #line 2615 "parse.y"
6462 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6463 &prefix_attributes
);
6464 yyvsp
[-4].ttype
= current_declspecs
;
6465 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6466 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6469 #line 2621 "parse.y"
6470 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6471 &prefix_attributes
);
6472 yyvsp
[-4].ttype
= current_declspecs
;
6473 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6474 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6477 #line 2627 "parse.y"
6478 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6479 &prefix_attributes
);
6480 yyvsp
[-3].ttype
= current_declspecs
;
6481 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6482 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6485 #line 2636 "parse.y"
6486 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6487 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6490 #line 2639 "parse.y"
6491 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6492 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6495 #line 2645 "parse.y"
6496 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6497 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6500 #line 2648 "parse.y"
6501 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6502 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6505 #line 2651 "parse.y"
6506 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6507 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6510 #line 2662 "parse.y"
6511 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6514 #line 2667 "parse.y"
6515 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
); ;
6518 #line 2669 "parse.y"
6519 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
); ;
6522 #line 2675 "parse.y"
6523 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6524 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6527 #line 2678 "parse.y"
6528 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6529 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6532 #line 2683 "parse.y"
6535 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6536 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6537 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6538 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6542 #line 2694 "parse.y"
6543 { yyval
.ttype
= NULL_TREE
; ;
6546 #line 2696 "parse.y"
6547 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6550 #line 2701 "parse.y"
6551 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6552 yyval
.ftype
.new_type_flag
= 0; ;
6555 #line 2704 "parse.y"
6556 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6557 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6560 #line 2713 "parse.y"
6561 { yyval
.itype
= suspend_momentary (); ;
6564 #line 2718 "parse.y"
6565 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6568 #line 2724 "parse.y"
6569 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6572 #line 2726 "parse.y"
6573 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6576 #line 2728 "parse.y"
6577 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6580 #line 2730 "parse.y"
6581 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6584 #line 2737 "parse.y"
6585 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6588 #line 2739 "parse.y"
6589 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6592 #line 2741 "parse.y"
6593 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6596 #line 2743 "parse.y"
6597 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6600 #line 2745 "parse.y"
6601 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6602 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6606 #line 2753 "parse.y"
6608 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6610 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6611 if (current_class_type
6612 && TYPE_BEING_DEFINED (current_class_type
)
6613 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6615 /* Remember that this name has been used in the class
6616 definition, as per [class.scope0] */
6617 pushdecl_class_level (yyval
.ttype
);
6621 yyval
.ttype
= yyvsp
[0].ttype
;
6625 #line 2770 "parse.y"
6627 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6628 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6630 yyval
.ttype
= yyvsp
[0].ttype
;
6631 got_scope
= NULL_TREE
;
6635 #line 2783 "parse.y"
6636 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6639 #line 2788 "parse.y"
6640 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6643 #line 2793 "parse.y"
6644 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6647 #line 2795 "parse.y"
6648 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6651 #line 2797 "parse.y"
6652 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6655 #line 2799 "parse.y"
6656 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6659 #line 2801 "parse.y"
6660 { push_nested_class (yyvsp
[-1].ttype
, 3);
6661 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6662 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6665 #line 2812 "parse.y"
6666 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6669 #line 2814 "parse.y"
6670 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6673 #line 2816 "parse.y"
6674 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6677 #line 2818 "parse.y"
6678 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6681 #line 2820 "parse.y"
6682 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6683 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6687 #line 2828 "parse.y"
6688 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6691 #line 2830 "parse.y"
6692 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6695 #line 2832 "parse.y"
6696 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6699 #line 2834 "parse.y"
6700 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6703 #line 2836 "parse.y"
6704 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6705 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6709 #line 2844 "parse.y"
6710 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6713 #line 2846 "parse.y"
6714 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6717 #line 2848 "parse.y"
6718 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6721 #line 2850 "parse.y"
6722 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6725 #line 2852 "parse.y"
6726 { if (OP0 (yyval
.ttype
) != current_class_type
)
6728 push_nested_class (OP0 (yyval
.ttype
), 3);
6729 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
6734 #line 2859 "parse.y"
6735 { got_scope
= NULL_TREE
;
6736 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6737 if (yyvsp
[-1].ttype
!= current_class_type
)
6739 push_nested_class (yyvsp
[-1].ttype
, 3);
6740 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
6745 #line 2871 "parse.y"
6746 { got_scope
= NULL_TREE
;
6747 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6750 #line 2874 "parse.y"
6751 { got_scope
= NULL_TREE
;
6752 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6755 #line 2880 "parse.y"
6756 { got_scope
= NULL_TREE
;
6757 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6760 #line 2883 "parse.y"
6761 { got_scope
= NULL_TREE
;
6762 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6765 #line 2890 "parse.y"
6766 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6769 #line 2895 "parse.y"
6770 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6773 #line 2897 "parse.y"
6774 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6777 #line 2899 "parse.y"
6778 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6781 #line 2911 "parse.y"
6782 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6785 #line 2913 "parse.y"
6786 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6789 #line 2920 "parse.y"
6791 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6793 yyval
.ttype
= lastiddecl
;
6794 /* Remember that this name has been used in the class
6795 definition, as per [class.scope0] */
6796 if (current_class_type
6797 && TYPE_BEING_DEFINED (current_class_type
)
6798 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
6799 pushdecl_class_level (yyval
.ttype
);
6801 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6805 #line 2934 "parse.y"
6807 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6808 yyval
.ttype
= lastiddecl
;
6809 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6813 #line 2940 "parse.y"
6815 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6816 yyval
.ttype
= lastiddecl
;
6817 got_scope
= yyval
.ttype
;
6821 #line 2946 "parse.y"
6822 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
6825 #line 2962 "parse.y"
6826 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6829 #line 2967 "parse.y"
6831 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6832 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6833 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6834 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6837 yyval
.ttype
= yyvsp
[0].ttype
;
6838 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6839 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6844 #line 2980 "parse.y"
6845 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
6848 #line 2982 "parse.y"
6849 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6852 #line 2984 "parse.y"
6853 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6856 #line 2989 "parse.y"
6858 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6859 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6863 #line 2994 "parse.y"
6865 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6866 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6867 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6868 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6871 yyval
.ttype
= yyvsp
[0].ttype
;
6872 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6873 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6878 #line 3007 "parse.y"
6879 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6882 #line 3009 "parse.y"
6883 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6886 #line 3014 "parse.y"
6888 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6889 yyvsp
[-1].ttype
= lastiddecl
;
6891 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
));
6893 if (yyval
.ttype
== error_mark_node
)
6894 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
6898 #line 3024 "parse.y"
6900 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6901 yyval
.ttype
= lastiddecl
;
6902 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
6906 #line 3030 "parse.y"
6907 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
6910 #line 3034 "parse.y"
6912 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6913 yyval
.ttype
= lastiddecl
;
6914 got_scope
= yyval
.ttype
;
6918 #line 3043 "parse.y"
6919 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6922 #line 3048 "parse.y"
6924 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6925 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6927 yyval
.ttype
= yyvsp
[0].ttype
;
6928 got_scope
= NULL_TREE
;
6932 #line 3057 "parse.y"
6933 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6936 #line 3062 "parse.y"
6937 { got_scope
= NULL_TREE
; ;
6940 #line 3064 "parse.y"
6941 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
6944 #line 3071 "parse.y"
6945 { got_scope
= void_type_node
; ;
6948 #line 3077 "parse.y"
6949 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6952 #line 3079 "parse.y"
6953 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6956 #line 3081 "parse.y"
6957 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6960 #line 3083 "parse.y"
6961 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6964 #line 3085 "parse.y"
6965 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
6966 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
6970 #line 3089 "parse.y"
6971 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6972 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6976 #line 3098 "parse.y"
6977 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6980 #line 3100 "parse.y"
6981 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6984 #line 3106 "parse.y"
6985 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6988 #line 3108 "parse.y"
6989 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6992 #line 3110 "parse.y"
6993 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
6996 #line 3112 "parse.y"
6997 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7000 #line 3114 "parse.y"
7001 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7004 #line 3116 "parse.y"
7005 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7008 #line 3118 "parse.y"
7009 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7012 #line 3120 "parse.y"
7013 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7016 #line 3122 "parse.y"
7017 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7018 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7022 #line 3126 "parse.y"
7023 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7024 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7028 #line 3135 "parse.y"
7029 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7032 #line 3139 "parse.y"
7033 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7036 #line 3141 "parse.y"
7037 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7040 #line 3143 "parse.y"
7041 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7044 #line 3145 "parse.y"
7045 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7048 #line 3147 "parse.y"
7049 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7052 #line 3149 "parse.y"
7053 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7056 #line 3151 "parse.y"
7057 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7060 #line 3153 "parse.y"
7061 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7064 #line 3155 "parse.y"
7065 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7068 #line 3178 "parse.y"
7070 pedwarn ("ANSI C++ forbids label declarations"); ;
7073 #line 3189 "parse.y"
7075 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7077 tree label
= shadow_label (TREE_VALUE (link
));
7078 C_DECLARED_LABEL_FLAG (label
) = 1;
7079 declare_nonlocal_label (label
);
7084 #line 3203 "parse.y"
7088 #line 3209 "parse.y"
7089 { yyval
.ttype
= begin_compound_stmt (0); ;
7092 #line 3211 "parse.y"
7093 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7096 #line 3216 "parse.y"
7098 yyval
.ttype
= begin_if_stmt ();
7099 cond_stmt_keyword
= "if";
7103 #line 3221 "parse.y"
7104 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7107 #line 3223 "parse.y"
7108 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7111 #line 3228 "parse.y"
7112 { yyval
.ttype
= begin_compound_stmt (0); ;
7115 #line 3230 "parse.y"
7116 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7119 #line 3235 "parse.y"
7123 #line 3241 "parse.y"
7127 #line 3243 "parse.y"
7128 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7131 #line 3245 "parse.y"
7132 { begin_else_clause (); ;
7135 #line 3247 "parse.y"
7137 finish_else_clause (yyvsp
[-3].ttype
);
7142 #line 3252 "parse.y"
7143 { finish_if_stmt (); ;
7146 #line 3254 "parse.y"
7148 yyval
.ttype
= begin_while_stmt ();
7149 cond_stmt_keyword
= "while";
7153 #line 3259 "parse.y"
7154 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7157 #line 3261 "parse.y"
7158 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7161 #line 3263 "parse.y"
7162 { yyval
.ttype
= begin_do_stmt (); ;
7165 #line 3265 "parse.y"
7167 finish_do_body (yyvsp
[-2].ttype
);
7168 cond_stmt_keyword
= "do";
7172 #line 3270 "parse.y"
7173 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7176 #line 3272 "parse.y"
7177 { yyval
.ttype
= begin_for_stmt (); ;
7180 #line 3274 "parse.y"
7181 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7184 #line 3276 "parse.y"
7185 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7188 #line 3278 "parse.y"
7189 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7192 #line 3280 "parse.y"
7193 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7196 #line 3282 "parse.y"
7197 { begin_switch_stmt (); ;
7200 #line 3284 "parse.y"
7201 { yyval
.ttype
= finish_switch_cond (yyvsp
[-1].ttype
); ;
7204 #line 3286 "parse.y"
7205 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7208 #line 3288 "parse.y"
7209 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7212 #line 3291 "parse.y"
7213 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7216 #line 3294 "parse.y"
7217 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7220 #line 3297 "parse.y"
7221 { finish_break_stmt (); ;
7224 #line 3299 "parse.y"
7225 { finish_continue_stmt (); ;
7228 #line 3301 "parse.y"
7229 { finish_return_stmt (NULL_TREE
); ;
7232 #line 3303 "parse.y"
7233 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7236 #line 3305 "parse.y"
7238 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7243 #line 3311 "parse.y"
7245 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7250 #line 3317 "parse.y"
7251 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7254 #line 3321 "parse.y"
7255 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7258 #line 3323 "parse.y"
7261 pedwarn ("ANSI C++ forbids computed gotos");
7262 finish_goto_stmt (yyvsp
[-1].ttype
);
7266 #line 3329 "parse.y"
7267 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7270 #line 3331 "parse.y"
7274 #line 3333 "parse.y"
7275 { error ("label must be followed by statement");
7280 #line 3337 "parse.y"
7284 #line 3343 "parse.y"
7286 if (! current_function_parms_stored
)
7287 store_parm_decls ();
7288 expand_start_early_try_stmts ();
7292 #line 3349 "parse.y"
7293 { expand_start_all_catch (); ;
7296 #line 3351 "parse.y"
7298 int nested
= (hack_decl_function_context
7299 (current_function_decl
) != NULL_TREE
);
7300 expand_end_all_catch ();
7301 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7305 #line 3361 "parse.y"
7306 { yyval
.ttype
= begin_try_block (); ;
7309 #line 3363 "parse.y"
7310 { finish_try_block (yyvsp
[-1].ttype
); ;
7313 #line 3365 "parse.y"
7314 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7317 #line 3375 "parse.y"
7318 { yyval
.ttype
= begin_handler(); ;
7321 #line 3377 "parse.y"
7322 { finish_handler_parms (yyvsp
[-1].ttype
); ;
7325 #line 3379 "parse.y"
7326 { finish_handler (yyvsp
[-3].ttype
); ;
7329 #line 3389 "parse.y"
7330 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7333 #line 3405 "parse.y"
7334 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7335 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7336 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7339 #line 3412 "parse.y"
7342 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7343 if (label
&& ! minimal_parse_mode
)
7344 expand_label (label
);
7348 #line 3419 "parse.y"
7352 #line 3421 "parse.y"
7356 #line 3423 "parse.y"
7360 #line 3428 "parse.y"
7361 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7364 #line 3431 "parse.y"
7366 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7370 #line 3440 "parse.y"
7371 { emit_line_note (input_filename
, lineno
);
7372 yyval
.ttype
= NULL_TREE
; ;
7375 #line 3443 "parse.y"
7376 { emit_line_note (input_filename
, lineno
); ;
7379 #line 3448 "parse.y"
7380 { yyval
.ttype
= NULL_TREE
; ;
7383 #line 3451 "parse.y"
7384 { yyval
.ttype
= NULL_TREE
; ;
7387 #line 3458 "parse.y"
7388 { yyval
.ttype
= NULL_TREE
; ;
7391 #line 3465 "parse.y"
7392 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7395 #line 3470 "parse.y"
7396 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7399 #line 3475 "parse.y"
7400 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7403 #line 3477 "parse.y"
7404 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7407 #line 3488 "parse.y"
7409 yyval
.ttype
= empty_parms();
7413 #line 3493 "parse.y"
7414 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, void_list_node
);
7415 TREE_PARMLIST (yyval
.ttype
) = 1;
7416 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7419 #line 3502 "parse.y"
7421 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
7422 TREE_PARMLIST (yyval
.ttype
) = 1;
7426 #line 3507 "parse.y"
7428 TREE_PARMLIST (yyval
.ttype
) = 1;
7432 #line 3512 "parse.y"
7434 TREE_PARMLIST (yyval
.ttype
) = 1;
7438 #line 3516 "parse.y"
7440 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
7441 TREE_PARMLIST (yyval
.ttype
) = 1;
7445 #line 3521 "parse.y"
7447 yyval
.ttype
= NULL_TREE
;
7451 #line 3525 "parse.y"
7453 TREE_PARMLIST (yyval
.ttype
) = 1;
7457 #line 3529 "parse.y"
7459 TREE_PARMLIST (yyval
.ttype
) = 1;
7463 #line 3533 "parse.y"
7465 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
7466 TREE_PARMLIST (yyval
.ttype
) = 1;
7470 #line 3538 "parse.y"
7472 /* This helps us recover from really nasty
7473 parse errors, for example, a missing right
7475 yyerror ("possibly missing ')'");
7476 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
7477 TREE_PARMLIST (yyval
.ttype
) = 1;
7483 #line 3549 "parse.y"
7485 /* This helps us recover from really nasty
7486 parse errors, for example, a missing right
7488 yyerror ("possibly missing ')'");
7489 yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
7490 TREE_PARMLIST (yyval
.ttype
) = 1;
7496 #line 3564 "parse.y"
7497 { maybe_snarf_defarg (); ;
7500 #line 3566 "parse.y"
7501 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7504 #line 3577 "parse.y"
7505 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7506 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7509 #line 3580 "parse.y"
7510 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7511 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7514 #line 3583 "parse.y"
7515 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7516 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7519 #line 3586 "parse.y"
7520 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7523 #line 3588 "parse.y"
7524 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7527 #line 3594 "parse.y"
7528 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7529 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7532 #line 3604 "parse.y"
7533 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7534 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7535 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7538 #line 3608 "parse.y"
7539 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7540 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7543 #line 3611 "parse.y"
7544 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
7545 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7548 #line 3614 "parse.y"
7549 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7550 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7551 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7554 #line 3618 "parse.y"
7555 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7556 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7557 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7560 #line 3622 "parse.y"
7561 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7562 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7563 yyval
.ftype
.new_type_flag
= 0; ;
7566 #line 3629 "parse.y"
7567 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7568 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7571 #line 3632 "parse.y"
7572 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7573 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7576 #line 3643 "parse.y"
7577 { see_typename (); ;
7580 #line 3648 "parse.y"
7582 error ("type specifier omitted for parameter");
7583 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7587 #line 3653 "parse.y"
7589 error ("type specifier omitted for parameter");
7590 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7591 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7592 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7593 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7594 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7598 #line 3665 "parse.y"
7599 { yyval
.ttype
= NULL_TREE
; ;
7602 #line 3667 "parse.y"
7603 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7606 #line 3669 "parse.y"
7607 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
7610 #line 3674 "parse.y"
7611 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
7614 #line 3680 "parse.y"
7616 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
7617 yyval
.ttype
= yyvsp
[0].ttype
;
7621 #line 3688 "parse.y"
7622 { yyval
.ttype
= NULL_TREE
; ;
7625 #line 3690 "parse.y"
7626 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7629 #line 3692 "parse.y"
7630 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7633 #line 3694 "parse.y"
7634 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7635 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7639 #line 3701 "parse.y"
7640 { got_scope
= NULL_TREE
; ;
7643 #line 3706 "parse.y"
7644 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
7647 #line 3708 "parse.y"
7648 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
7651 #line 3710 "parse.y"
7652 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
7655 #line 3712 "parse.y"
7656 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
7659 #line 3714 "parse.y"
7660 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
7663 #line 3716 "parse.y"
7664 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
7667 #line 3718 "parse.y"
7668 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
7671 #line 3720 "parse.y"
7672 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
7675 #line 3722 "parse.y"
7676 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
7679 #line 3724 "parse.y"
7680 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
7683 #line 3726 "parse.y"
7684 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7687 #line 3728 "parse.y"
7688 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
7691 #line 3730 "parse.y"
7692 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
7695 #line 3732 "parse.y"
7696 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7699 #line 3734 "parse.y"
7700 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
7703 #line 3736 "parse.y"
7704 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
7707 #line 3738 "parse.y"
7708 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7711 #line 3740 "parse.y"
7712 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7715 #line 3742 "parse.y"
7716 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
7719 #line 3744 "parse.y"
7720 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
7723 #line 3746 "parse.y"
7724 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
7727 #line 3748 "parse.y"
7728 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
7731 #line 3750 "parse.y"
7732 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
7735 #line 3752 "parse.y"
7736 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
7739 #line 3754 "parse.y"
7740 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7743 #line 3756 "parse.y"
7744 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
7747 #line 3758 "parse.y"
7748 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
7751 #line 3760 "parse.y"
7752 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
7755 #line 3762 "parse.y"
7756 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
7759 #line 3764 "parse.y"
7760 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
7763 #line 3766 "parse.y"
7764 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
7767 #line 3768 "parse.y"
7768 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
7771 #line 3770 "parse.y"
7772 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
7775 #line 3773 "parse.y"
7776 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7779 #line 3775 "parse.y"
7780 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
7783 /* the action file gets copied in in place of this dollarsign */
7784 #line 498 "/usr/cygnus/progressive-97r2/share/bison.simple"
7795 short *ssp1
= yyss
- 1;
7796 fprintf (stderr
, "state stack now");
7797 while (ssp1
!= yyssp
)
7798 fprintf (stderr
, " %d", *++ssp1
);
7799 fprintf (stderr
, "\n");
7809 yylsp
->first_line
= yylloc
.first_line
;
7810 yylsp
->first_column
= yylloc
.first_column
;
7811 yylsp
->last_line
= (yylsp
-1)->last_line
;
7812 yylsp
->last_column
= (yylsp
-1)->last_column
;
7817 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
7818 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
7822 /* Now "shift" the result of the reduction.
7823 Determine what state that goes to,
7824 based on the state we popped back to
7825 and the rule number reduced by. */
7829 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
7830 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
7831 yystate
= yytable
[yystate
];
7833 yystate
= yydefgoto
[yyn
- YYNTBASE
];
7837 yyerrlab
: /* here on detecting error */
7840 /* If not already recovering from an error, report this error. */
7844 #ifdef YYERROR_VERBOSE
7845 yyn
= yypact
[yystate
];
7847 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
7854 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7855 for (x
= (yyn
< 0 ? -yyn
: 0);
7856 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7857 if (yycheck
[x
+ yyn
] == x
)
7858 size
+= strlen(yytname
[x
]) + 15, count
++;
7859 msg
= (char *) malloc(size
+ 15);
7862 strcpy(msg
, "parse error");
7867 for (x
= (yyn
< 0 ? -yyn
: 0);
7868 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7869 if (yycheck
[x
+ yyn
] == x
)
7871 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
7872 strcat(msg
, yytname
[x
]);
7881 yyerror ("parse error; also virtual memory exceeded");
7884 #endif /* YYERROR_VERBOSE */
7885 yyerror("parse error");
7889 yyerrlab1
: /* here on error raised explicitly by an action */
7891 if (yyerrstatus
== 3)
7893 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7895 /* return failure if at end of input */
7896 if (yychar
== YYEOF
)
7901 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
7907 /* Else will try to reuse lookahead token
7908 after shifting the error token. */
7910 yyerrstatus
= 3; /* Each real token shifted decrements this */
7914 yyerrdefault
: /* current state does not do anything special for the error token. */
7917 /* This is wrong; only states that explicitly want error tokens
7918 should shift them. */
7919 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7920 if (yyn
) goto yydefault
;
7923 yyerrpop
: /* pop the current state because it cannot handle the error token */
7925 if (yyssp
== yyss
) YYABORT
;
7935 short *ssp1
= yyss
- 1;
7936 fprintf (stderr
, "Error: state stack now");
7937 while (ssp1
!= yyssp
)
7938 fprintf (stderr
, " %d", *++ssp1
);
7939 fprintf (stderr
, "\n");
7945 yyn
= yypact
[yystate
];
7950 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
7969 fprintf(stderr
, "Shifting error token, ");
7980 #line 3778 "parse.y"
7985 debug_yytranslate (value
)
7988 return yytname
[YYTRANSLATE (value
)];