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. */
114 /* Since parsers are distinct for each language, put the language string
115 definition here. (fnf) */
116 char *language_string
= "GNU C++";
118 extern tree void_list_node
;
119 extern struct obstack permanent_obstack
;
125 extern int end_of_file
;
127 /* Like YYERROR but do call yyerror. */
128 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
130 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
131 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
133 /* Contains the statement keyword (if/while/do) to include in an
134 error message if the user supplies an empty conditional expression. */
135 static char *cond_stmt_keyword
;
137 static tree empty_parms
PROTO((void));
139 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
140 int have_extern_spec
;
141 int used_extern_spec
;
143 /* Cons up an empty parameter list. */
153 || current_class_type
!= NULL
)
154 parms
= void_list_node
;
162 typedef union {long itype
; tree ttype
; char *strtype
; enum tree_code code
; flagged_type_tree ftype
; } YYSTYPE
;
165 /* List of types and structure classes of the current declaration. */
166 static tree current_declspecs
= NULL_TREE
;
167 /* List of prefix attributes in effect.
168 Prefix attributes are parsed by the reserved_declspecs and declmods
169 rules. They create a list that contains *both* declspecs and attrs. */
170 /* ??? It is not clear yet that all cases where an attribute can now appear in
171 a declspec list have been updated. */
172 static tree prefix_attributes
= NULL_TREE
;
174 /* When defining an aggregate, this is the most recent one being defined. */
175 static tree current_aggr
;
177 /* Tell yyparse how to print a token's value, if yydebug is set. */
179 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
180 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
181 extern tree combine_strings
PROTO((tree
));
184 parse_decl(declarator
, specs_attrs
, attributes
, initialized
, decl
)
193 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
194 if (current_declspecs
195 && TREE_CODE (current_declspecs
) != TREE_LIST
)
196 current_declspecs
= get_decl_list (current_declspecs
);
197 if (have_extern_spec
&& !used_extern_spec
)
199 current_declspecs
= decl_tree_cons (NULL_TREE
,
200 get_identifier ("extern"),
202 used_extern_spec
= 1;
204 sm
= suspend_momentary ();
205 *decl
= start_decl (declarator
, current_declspecs
, initialized
);
206 cplus_decl_attributes (*decl
, attributes
, prefix_attributes
);
220 #define YYFLAG -32768
223 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 386)
225 static const char yytranslate
[] = { 0,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
230 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
232 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 95, 2, 113, 70, 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, 59, 69, 111, 89, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
247 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
248 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
249 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
250 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
251 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
252 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
253 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
254 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
255 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
256 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
257 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
258 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
259 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
264 static const short yyprhs
[] = { 0,
265 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
266 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
267 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
268 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
269 119, 123, 125, 129, 131, 132, 135, 138, 142, 144,
270 148, 150, 154, 156, 160, 163, 166, 169, 173, 177,
271 180, 183, 186, 189, 192, 194, 196, 198, 199, 201,
272 204, 205, 207, 212, 216, 220, 221, 230, 236, 237,
273 247, 254, 255, 264, 270, 271, 281, 288, 291, 294,
274 296, 299, 301, 308, 313, 320, 325, 328, 330, 333,
275 336, 338, 341, 343, 346, 349, 354, 357, 361, 362,
276 363, 365, 369, 372, 376, 378, 383, 386, 391, 394,
277 399, 402, 404, 406, 408, 410, 412, 414, 416, 418,
278 420, 422, 424, 425, 432, 433, 440, 441, 447, 448,
279 454, 455, 463, 464, 472, 473, 480, 481, 488, 489,
280 490, 495, 500, 502, 507, 509, 511, 512, 514, 516,
281 520, 522, 524, 526, 528, 530, 532, 534, 536, 538,
282 540, 544, 546, 550, 551, 553, 555, 556, 564, 566,
283 568, 572, 577, 581, 582, 586, 588, 592, 596, 600,
284 604, 606, 608, 610, 613, 616, 619, 622, 625, 628,
285 631, 636, 639, 644, 647, 651, 655, 660, 665, 671,
286 677, 684, 687, 692, 698, 701, 704, 708, 712, 716,
287 718, 722, 725, 729, 734, 736, 739, 745, 747, 751,
288 755, 759, 763, 767, 771, 775, 779, 783, 787, 791,
289 795, 799, 803, 807, 811, 815, 819, 823, 829, 833,
290 837, 839, 842, 846, 848, 850, 852, 854, 856, 857,
291 863, 869, 875, 881, 887, 889, 891, 893, 895, 898,
292 901, 905, 910, 915, 917, 919, 921, 925, 927, 929,
293 931, 933, 937, 941, 945, 946, 951, 956, 959, 964,
294 967, 970, 972, 977, 979, 987, 995, 1003, 1011, 1016,
295 1021, 1024, 1027, 1029, 1034, 1037, 1040, 1046, 1050, 1053,
296 1056, 1062, 1066, 1072, 1076, 1081, 1088, 1091, 1093, 1096,
297 1098, 1101, 1103, 1105, 1107, 1110, 1111, 1114, 1117, 1121,
298 1125, 1129, 1132, 1135, 1138, 1140, 1142, 1144, 1147, 1150,
299 1153, 1156, 1158, 1160, 1162, 1164, 1167, 1170, 1174, 1178,
300 1182, 1187, 1189, 1192, 1195, 1198, 1200, 1202, 1204, 1207,
301 1210, 1213, 1215, 1217, 1220, 1223, 1227, 1229, 1232, 1234,
302 1236, 1238, 1243, 1248, 1253, 1258, 1260, 1262, 1264, 1266,
303 1270, 1272, 1276, 1278, 1282, 1283, 1288, 1289, 1296, 1300,
304 1301, 1306, 1308, 1312, 1316, 1317, 1322, 1326, 1327, 1329,
305 1331, 1334, 1341, 1343, 1347, 1348, 1350, 1355, 1362, 1367,
306 1369, 1371, 1373, 1375, 1377, 1381, 1382, 1385, 1387, 1390,
307 1394, 1399, 1401, 1403, 1407, 1412, 1416, 1422, 1424, 1429,
308 1433, 1437, 1438, 1442, 1446, 1450, 1451, 1454, 1457, 1458,
309 1466, 1471, 1472, 1479, 1483, 1486, 1489, 1492, 1493, 1494,
310 1504, 1506, 1507, 1509, 1510, 1512, 1514, 1517, 1520, 1523,
311 1526, 1529, 1532, 1536, 1541, 1545, 1548, 1552, 1553, 1555,
312 1559, 1562, 1565, 1567, 1569, 1570, 1573, 1577, 1579, 1584,
313 1586, 1590, 1592, 1594, 1599, 1604, 1607, 1610, 1614, 1618,
314 1620, 1621, 1623, 1626, 1631, 1635, 1637, 1640, 1643, 1646,
315 1649, 1652, 1655, 1658, 1660, 1663, 1666, 1670, 1673, 1676,
316 1681, 1686, 1689, 1691, 1697, 1702, 1704, 1705, 1707, 1711,
317 1712, 1714, 1718, 1720, 1722, 1724, 1726, 1731, 1736, 1741,
318 1746, 1751, 1755, 1760, 1765, 1770, 1775, 1779, 1781, 1785,
319 1787, 1791, 1794, 1796, 1803, 1804, 1807, 1809, 1812, 1813,
320 1816, 1821, 1826, 1829, 1834, 1838, 1842, 1845, 1848, 1852,
321 1854, 1856, 1859, 1861, 1863, 1866, 1869, 1874, 1879, 1883,
322 1887, 1890, 1892, 1896, 1900, 1903, 1906, 1910, 1912, 1916,
323 1920, 1923, 1926, 1930, 1932, 1937, 1941, 1946, 1950, 1952,
324 1955, 1958, 1961, 1964, 1967, 1969, 1972, 1977, 1982, 1985,
325 1987, 1989, 1991, 1993, 1996, 2001, 2004, 2007, 2010, 2013,
326 2015, 2018, 2021, 2024, 2027, 2031, 2033, 2036, 2040, 2045,
327 2048, 2051, 2054, 2057, 2060, 2063, 2068, 2071, 2073, 2076,
328 2079, 2083, 2085, 2089, 2092, 2096, 2099, 2102, 2106, 2108,
329 2112, 2117, 2121, 2124, 2127, 2129, 2133, 2136, 2139, 2141,
330 2144, 2148, 2150, 2154, 2156, 2163, 2168, 2173, 2177, 2183,
331 2187, 2191, 2195, 2198, 2200, 2202, 2205, 2208, 2211, 2212,
332 2214, 2216, 2219, 2223, 2225, 2228, 2229, 2233, 2234, 2235,
333 2241, 2243, 2244, 2247, 2249, 2251, 2253, 2256, 2257, 2262,
334 2264, 2265, 2266, 2272, 2273, 2274, 2282, 2283, 2284, 2285,
335 2286, 2299, 2300, 2301, 2309, 2310, 2316, 2317, 2325, 2326,
336 2331, 2334, 2337, 2340, 2344, 2351, 2360, 2371, 2384, 2389,
337 2393, 2396, 2399, 2401, 2403, 2404, 2405, 2412, 2413, 2414,
338 2420, 2422, 2425, 2426, 2427, 2433, 2435, 2437, 2441, 2445,
339 2448, 2451, 2454, 2457, 2460, 2462, 2465, 2466, 2468, 2469,
340 2471, 2473, 2474, 2476, 2478, 2482, 2487, 2489, 2493, 2494,
341 2496, 2498, 2500, 2503, 2506, 2509, 2511, 2513, 2516, 2519,
342 2522, 2525, 2526, 2530, 2532, 2534, 2536, 2539, 2542, 2545,
343 2550, 2553, 2556, 2559, 2562, 2565, 2568, 2570, 2573, 2575,
344 2578, 2580, 2582, 2583, 2584, 2586, 2587, 2592, 2595, 2597,
345 2599, 2603, 2604, 2608, 2612, 2616, 2618, 2621, 2624, 2627,
346 2630, 2633, 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657,
347 2660, 2663, 2666, 2669, 2672, 2675, 2678, 2681, 2684, 2687,
348 2691, 2694, 2697, 2700, 2703, 2707, 2710, 2713, 2718, 2723,
352 static const short yyrhs
[] = { -1,
353 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
354 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
355 0, 123, 124, 0, 142, 141, 0, 138, 0, 137,
356 0, 121, 94, 208, 110, 61, 0, 129, 59, 117,
357 111, 0, 129, 118, 142, 119, 141, 0, 129, 118,
358 138, 119, 0, 0, 45, 157, 59, 125, 117, 111,
359 0, 0, 45, 59, 126, 117, 111, 0, 45, 157,
360 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
361 61, 0, 120, 124, 0, 47, 300, 0, 47, 314,
362 300, 0, 47, 314, 199, 0, 199, 0, 300, 0,
363 314, 300, 0, 314, 199, 0, 100, 0, 129, 100,
364 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
365 76, 0, 136, 0, 132, 60, 136, 0, 157, 0,
366 0, 257, 133, 0, 46, 133, 0, 130, 257, 133,
367 0, 134, 0, 134, 65, 214, 0, 377, 0, 377,
368 65, 194, 0, 135, 0, 135, 65, 176, 0, 130,
369 124, 0, 130, 1, 0, 225, 61, 0, 218, 224,
370 61, 0, 215, 223, 61, 0, 218, 61, 0, 160,
371 61, 0, 215, 61, 0, 1, 61, 0, 1, 111,
372 0, 61, 0, 209, 0, 153, 0, 0, 152, 0,
373 152, 61, 0, 0, 109, 0, 148, 140, 139, 324,
374 0, 148, 140, 348, 0, 148, 140, 1, 0, 0,
375 305, 5, 94, 144, 368, 110, 287, 380, 0, 305,
376 5, 48, 287, 380, 0, 0, 314, 305, 5, 94,
377 145, 368, 110, 287, 380, 0, 314, 305, 5, 48,
378 287, 380, 0, 0, 305, 172, 94, 146, 368, 110,
379 287, 380, 0, 305, 172, 48, 287, 380, 0, 0,
380 314, 305, 172, 94, 147, 368, 110, 287, 380, 0,
381 314, 305, 172, 48, 287, 380, 0, 215, 212, 0,
382 218, 297, 0, 297, 0, 218, 143, 0, 143, 0,
383 5, 94, 368, 110, 287, 380, 0, 5, 48, 287,
384 380, 0, 172, 94, 368, 110, 287, 380, 0, 172,
385 48, 287, 380, 0, 218, 149, 0, 149, 0, 215,
386 212, 0, 218, 297, 0, 297, 0, 218, 143, 0,
387 143, 0, 25, 3, 0, 151, 242, 0, 151, 94,
388 188, 110, 0, 151, 48, 0, 63, 154, 155, 0,
389 0, 0, 156, 0, 155, 60, 156, 0, 155, 1,
390 0, 94, 188, 110, 0, 48, 0, 158, 94, 188,
391 110, 0, 158, 48, 0, 293, 94, 188, 110, 0,
392 293, 48, 0, 307, 94, 188, 110, 0, 307, 48,
393 0, 3, 0, 4, 0, 5, 0, 57, 0, 58,
394 0, 3, 0, 57, 0, 58, 0, 106, 0, 105,
395 0, 107, 0, 0, 49, 169, 221, 61, 161, 170,
396 0, 0, 49, 169, 215, 212, 162, 170, 0, 0,
397 49, 169, 297, 163, 170, 0, 0, 49, 169, 143,
398 164, 170, 0, 0, 7, 49, 169, 221, 61, 165,
399 170, 0, 0, 7, 49, 169, 215, 212, 166, 170,
400 0, 0, 7, 49, 169, 297, 167, 170, 0, 0,
401 7, 49, 169, 143, 168, 170, 0, 0, 0, 57,
402 75, 174, 173, 0, 4, 75, 174, 173, 0, 172,
403 0, 5, 75, 174, 173, 0, 76, 0, 78, 0,
404 0, 175, 0, 176, 0, 175, 60, 176, 0, 214,
405 0, 194, 0, 80, 0, 79, 0, 87, 0, 88,
406 0, 112, 0, 187, 0, 194, 0, 48, 0, 94,
407 178, 110, 0, 48, 0, 94, 182, 110, 0, 0,
408 182, 0, 1, 0, 0, 358, 212, 226, 235, 65,
409 183, 243, 0, 178, 0, 111, 0, 321, 319, 111,
410 0, 321, 319, 1, 111, 0, 321, 1, 111, 0,
411 0, 59, 186, 184, 0, 333, 0, 194, 60, 194,
412 0, 194, 60, 1, 0, 187, 60, 194, 0, 187,
413 60, 1, 0, 194, 0, 187, 0, 203, 0, 120,
414 193, 0, 81, 193, 0, 71, 193, 0, 89, 193,
415 0, 177, 193, 0, 68, 157, 0, 13, 189, 0,
416 13, 94, 214, 110, 0, 30, 189, 0, 30, 94,
417 214, 110, 0, 205, 286, 0, 205, 286, 191, 0,
418 205, 190, 286, 0, 205, 190, 286, 191, 0, 205,
419 94, 214, 110, 0, 205, 94, 214, 110, 191, 0,
420 205, 190, 94, 214, 110, 0, 205, 190, 94, 214,
421 110, 191, 0, 206, 193, 0, 206, 95, 113, 193,
422 0, 206, 95, 178, 113, 193, 0, 35, 193, 0,
423 36, 193, 0, 94, 188, 110, 0, 59, 188, 111,
424 0, 94, 188, 110, 0, 48, 0, 94, 221, 110,
425 0, 65, 243, 0, 94, 214, 110, 0, 192, 94,
426 214, 110, 0, 189, 0, 192, 189, 0, 192, 59,
427 244, 255, 111, 0, 193, 0, 194, 84, 194, 0,
428 194, 85, 194, 0, 194, 79, 194, 0, 194, 80,
429 194, 0, 194, 81, 194, 0, 194, 82, 194, 0,
430 194, 83, 194, 0, 194, 77, 194, 0, 194, 78,
431 194, 0, 194, 74, 194, 0, 194, 75, 194, 0,
432 194, 76, 194, 0, 194, 73, 194, 0, 194, 72,
433 194, 0, 194, 71, 194, 0, 194, 69, 194, 0,
434 194, 70, 194, 0, 194, 68, 194, 0, 194, 67,
435 194, 0, 194, 66, 363, 63, 194, 0, 194, 65,
436 194, 0, 194, 64, 194, 0, 62, 0, 62, 194,
437 0, 89, 378, 157, 0, 197, 0, 385, 0, 3,
438 0, 57, 0, 58, 0, 0, 6, 75, 196, 174,
439 173, 0, 385, 75, 196, 174, 173, 0, 49, 157,
440 75, 174, 173, 0, 49, 6, 75, 174, 173, 0,
441 49, 385, 75, 174, 173, 0, 195, 0, 4, 0,
442 5, 0, 195, 0, 81, 200, 0, 71, 200, 0,
443 94, 200, 110, 0, 3, 75, 174, 173, 0, 58,
444 75, 175, 173, 0, 299, 0, 195, 0, 201, 0,
445 94, 200, 110, 0, 195, 0, 10, 0, 207, 0,
446 208, 0, 94, 178, 110, 0, 94, 200, 110, 0,
447 94, 1, 110, 0, 0, 94, 204, 325, 110, 0,
448 203, 94, 188, 110, 0, 203, 48, 0, 203, 95,
449 178, 113, 0, 203, 87, 0, 203, 88, 0, 41,
450 0, 9, 94, 188, 110, 0, 303, 0, 51, 75,
451 214, 76, 94, 178, 110, 0, 52, 75, 214, 76,
452 94, 178, 110, 0, 53, 75, 214, 76, 94, 178,
453 110, 0, 54, 75, 214, 76, 94, 178, 110, 0,
454 50, 94, 178, 110, 0, 50, 94, 214, 110, 0,
455 314, 3, 0, 314, 385, 0, 302, 0, 302, 94,
456 188, 110, 0, 302, 48, 0, 210, 198, 0, 210,
457 198, 94, 188, 110, 0, 210, 198, 48, 0, 210,
458 199, 0, 210, 302, 0, 210, 199, 94, 188, 110,
459 0, 210, 199, 48, 0, 210, 302, 94, 188, 110,
460 0, 210, 302, 48, 0, 210, 89, 8, 48, 0,
461 210, 8, 55, 89, 8, 48, 0, 210, 1, 0,
462 40, 0, 314, 40, 0, 39, 0, 314, 206, 0,
463 43, 0, 44, 0, 11, 0, 208, 11, 0, 0,
464 203, 93, 0, 203, 92, 0, 221, 223, 61, 0,
465 215, 223, 61, 0, 218, 224, 61, 0, 215, 61,
466 0, 218, 61, 0, 120, 211, 0, 292, 0, 297,
467 0, 48, 0, 213, 48, 0, 219, 317, 0, 288,
468 317, 0, 221, 317, 0, 219, 0, 288, 0, 219,
469 0, 216, 0, 218, 221, 0, 221, 217, 0, 221,
470 220, 217, 0, 218, 221, 217, 0, 218, 221, 220,
471 0, 218, 221, 220, 217, 0, 7, 0, 217, 222,
472 0, 217, 7, 0, 217, 236, 0, 236, 0, 288,
473 0, 7, 0, 218, 9, 0, 218, 7, 0, 218,
474 236, 0, 236, 0, 221, 0, 288, 221, 0, 221,
475 220, 0, 288, 221, 220, 0, 222, 0, 220, 222,
476 0, 250, 0, 8, 0, 294, 0, 29, 94, 178,
477 110, 0, 29, 94, 214, 110, 0, 31, 94, 178,
478 110, 0, 31, 94, 214, 110, 0, 8, 0, 9,
479 0, 250, 0, 231, 0, 223, 60, 227, 0, 232,
480 0, 224, 60, 227, 0, 233, 0, 225, 60, 227,
481 0, 0, 121, 94, 208, 110, 0, 0, 212, 226,
482 235, 65, 228, 243, 0, 212, 226, 235, 0, 0,
483 235, 65, 230, 243, 0, 235, 0, 212, 226, 229,
484 0, 297, 226, 229, 0, 0, 297, 226, 234, 229,
485 0, 143, 226, 235, 0, 0, 236, 0, 237, 0,
486 236, 237, 0, 32, 94, 94, 238, 110, 110, 0,
487 239, 0, 238, 60, 239, 0, 0, 240, 0, 240,
488 94, 3, 110, 0, 240, 94, 3, 60, 188, 110,
489 0, 240, 94, 188, 110, 0, 157, 0, 7, 0,
490 8, 0, 9, 0, 157, 0, 241, 60, 157, 0,
491 0, 65, 243, 0, 194, 0, 59, 111, 0, 59,
492 244, 111, 0, 59, 244, 60, 111, 0, 1, 0,
493 243, 0, 244, 60, 243, 0, 95, 194, 113, 243,
494 0, 157, 63, 243, 0, 244, 60, 157, 63, 243,
495 0, 99, 0, 245, 140, 139, 324, 0, 245, 140,
496 348, 0, 245, 140, 1, 0, 0, 247, 246, 141,
497 0, 104, 194, 109, 0, 104, 1, 109, 0, 0,
498 249, 248, 0, 249, 1, 0, 0, 14, 157, 59,
499 251, 284, 256, 111, 0, 14, 157, 59, 111, 0,
500 0, 14, 59, 252, 284, 256, 111, 0, 14, 59,
501 111, 0, 14, 157, 0, 14, 312, 0, 46, 307,
502 0, 0, 0, 264, 270, 272, 111, 235, 253, 249,
503 254, 247, 0, 264, 0, 0, 60, 0, 0, 60,
504 0, 37, 0, 257, 7, 0, 257, 8, 0, 257,
505 9, 0, 257, 37, 0, 257, 157, 0, 257, 159,
506 0, 257, 305, 157, 0, 257, 314, 305, 157, 0,
507 257, 314, 157, 0, 257, 171, 0, 257, 305, 171,
508 0, 0, 258, 0, 259, 261, 265, 0, 260, 265,
509 0, 257, 59, 0, 263, 0, 262, 0, 0, 63,
510 378, 0, 63, 378, 266, 0, 267, 0, 266, 60,
511 378, 267, 0, 268, 0, 269, 378, 268, 0, 307,
512 0, 293, 0, 31, 94, 178, 110, 0, 31, 94,
513 214, 110, 0, 38, 378, 0, 7, 378, 0, 269,
514 38, 378, 0, 269, 7, 378, 0, 59, 0, 0,
515 271, 0, 271, 273, 0, 272, 38, 63, 273, 0,
516 272, 38, 63, 0, 274, 0, 273, 274, 0, 275,
517 61, 0, 275, 111, 0, 150, 63, 0, 150, 96,
518 0, 150, 25, 0, 150, 59, 0, 61, 0, 120,
519 274, 0, 130, 274, 0, 130, 215, 61, 0, 215,
520 276, 0, 218, 277, 0, 297, 226, 235, 242, 0,
521 143, 226, 235, 242, 0, 63, 194, 0, 1, 0,
522 218, 149, 226, 235, 242, 0, 149, 226, 235, 242,
523 0, 127, 0, 0, 278, 0, 276, 60, 279, 0,
524 0, 281, 0, 277, 60, 283, 0, 280, 0, 281,
525 0, 282, 0, 283, 0, 292, 226, 235, 242, 0,
526 4, 63, 194, 235, 0, 297, 226, 235, 242, 0,
527 143, 226, 235, 242, 0, 3, 63, 194, 235, 0,
528 63, 194, 235, 0, 292, 226, 235, 242, 0, 4,
529 63, 194, 235, 0, 297, 226, 235, 242, 0, 3,
530 63, 194, 235, 0, 63, 194, 235, 0, 285, 0,
531 284, 60, 285, 0, 157, 0, 157, 65, 194, 0,
532 358, 315, 0, 358, 0, 94, 214, 110, 95, 178,
533 113, 0, 0, 287, 9, 0, 9, 0, 288, 9,
534 0, 0, 289, 178, 0, 289, 94, 188, 110, 0,
535 289, 94, 368, 110, 0, 289, 48, 0, 289, 94,
536 1, 110, 0, 81, 288, 292, 0, 71, 288, 292,
537 0, 81, 292, 0, 71, 292, 0, 313, 287, 292,
538 0, 296, 0, 304, 0, 314, 304, 0, 293, 0,
539 295, 0, 314, 295, 0, 305, 304, 0, 296, 291,
540 287, 380, 0, 296, 95, 290, 113, 0, 296, 95,
541 113, 0, 94, 292, 110, 0, 305, 304, 0, 304,
542 0, 81, 288, 297, 0, 71, 288, 297, 0, 81,
543 297, 0, 71, 297, 0, 313, 287, 297, 0, 202,
544 0, 81, 288, 297, 0, 71, 288, 297, 0, 81,
545 298, 0, 71, 298, 0, 313, 287, 297, 0, 299,
546 0, 202, 291, 287, 380, 0, 94, 298, 110, 0,
547 202, 95, 290, 113, 0, 202, 95, 113, 0, 301,
548 0, 305, 201, 0, 305, 199, 0, 305, 198, 0,
549 305, 195, 0, 305, 198, 0, 301, 0, 314, 301,
550 0, 221, 94, 188, 110, 0, 221, 94, 200, 110,
551 0, 221, 213, 0, 4, 0, 5, 0, 171, 0,
552 306, 0, 305, 306, 0, 305, 49, 311, 55, 0,
553 4, 55, 0, 5, 55, 0, 58, 55, 0, 171,
554 55, 0, 308, 0, 314, 308, 0, 309, 157, 0,
555 309, 171, 0, 309, 311, 0, 309, 49, 311, 0,
556 310, 0, 309, 310, 0, 309, 311, 55, 0, 309,
557 49, 311, 55, 0, 4, 55, 0, 5, 55, 0,
558 171, 55, 0, 57, 55, 0, 3, 55, 0, 58,
559 55, 0, 157, 75, 174, 173, 0, 314, 304, 0,
560 295, 0, 314, 295, 0, 305, 81, 0, 314, 305,
561 81, 0, 55, 0, 81, 287, 315, 0, 81, 287,
562 0, 71, 287, 315, 0, 71, 287, 0, 313, 287,
563 0, 313, 287, 315, 0, 316, 0, 95, 178, 113,
564 0, 316, 95, 290, 113, 0, 81, 288, 317, 0,
565 81, 317, 0, 81, 288, 0, 81, 0, 71, 288,
566 317, 0, 71, 317, 0, 71, 288, 0, 71, 0,
567 313, 287, 0, 313, 287, 317, 0, 318, 0, 94,
568 317, 110, 0, 91, 0, 318, 94, 368, 110, 287,
569 380, 0, 318, 48, 287, 380, 0, 318, 95, 290,
570 113, 0, 318, 95, 113, 0, 94, 369, 110, 287,
571 380, 0, 192, 287, 380, 0, 213, 287, 380, 0,
572 95, 290, 113, 0, 95, 113, 0, 332, 0, 320,
573 0, 319, 332, 0, 319, 320, 0, 1, 61, 0,
574 0, 322, 0, 323, 0, 322, 323, 0, 34, 241,
575 61, 0, 325, 0, 1, 325, 0, 0, 59, 326,
576 184, 0, 0, 0, 15, 328, 180, 329, 330, 0,
577 325, 0, 0, 331, 333, 0, 325, 0, 333, 0,
578 211, 0, 178, 61, 0, 0, 327, 16, 334, 330,
579 0, 327, 0, 0, 0, 17, 335, 180, 336, 185,
580 0, 0, 0, 18, 337, 330, 17, 338, 179, 61,
581 0, 0, 0, 0, 0, 19, 339, 94, 361, 340,
582 181, 61, 341, 363, 110, 342, 185, 0, 0, 0,
583 20, 343, 94, 182, 110, 344, 330, 0, 0, 21,
584 194, 63, 345, 332, 0, 0, 21, 194, 12, 194,
585 63, 346, 332, 0, 0, 22, 63, 347, 332, 0,
586 23, 61, 0, 24, 61, 0, 25, 61, 0, 25,
587 178, 61, 0, 121, 362, 94, 208, 110, 61, 0,
588 121, 362, 94, 208, 63, 364, 110, 61, 0, 121,
589 362, 94, 208, 63, 364, 63, 364, 110, 61, 0,
590 121, 362, 94, 208, 63, 364, 63, 364, 63, 367,
591 110, 61, 0, 26, 81, 178, 61, 0, 26, 157,
592 61, 0, 360, 332, 0, 360, 111, 0, 61, 0,
593 351, 0, 0, 0, 96, 349, 139, 325, 350, 354,
594 0, 0, 0, 96, 352, 325, 353, 354, 0, 355,
595 0, 354, 355, 0, 0, 0, 97, 356, 359, 357,
596 325, 0, 219, 0, 288, 0, 94, 12, 110, 0,
597 94, 377, 110, 0, 3, 63, 0, 57, 63, 0,
598 4, 63, 0, 5, 63, 0, 363, 61, 0, 211,
599 0, 59, 184, 0, 0, 9, 0, 0, 178, 0,
600 1, 0, 0, 365, 0, 366, 0, 365, 60, 366,
601 0, 11, 94, 178, 110, 0, 11, 0, 367, 60,
602 11, 0, 0, 369, 0, 214, 0, 373, 0, 374,
603 12, 0, 373, 12, 0, 214, 12, 0, 12, 0,
604 98, 0, 373, 98, 0, 214, 98, 0, 373, 63,
605 0, 214, 63, 0, 0, 65, 371, 372, 0, 103,
606 0, 243, 0, 375, 0, 377, 370, 0, 374, 376,
607 0, 374, 379, 0, 374, 379, 65, 243, 0, 373,
608 60, 0, 214, 60, 0, 216, 212, 0, 219, 212,
609 0, 221, 212, 0, 216, 317, 0, 216, 0, 218,
610 297, 0, 377, 0, 377, 370, 0, 375, 0, 214,
611 0, 0, 0, 297, 0, 0, 62, 94, 382, 110,
612 0, 62, 48, 0, 214, 0, 381, 0, 382, 60,
613 381, 0, 0, 81, 287, 383, 0, 71, 287, 383,
614 0, 313, 287, 383, 0, 42, 0, 384, 81, 0,
615 384, 82, 0, 384, 83, 0, 384, 79, 0, 384,
616 80, 0, 384, 71, 0, 384, 69, 0, 384, 70,
617 0, 384, 89, 0, 384, 60, 0, 384, 74, 0,
618 384, 75, 0, 384, 76, 0, 384, 73, 0, 384,
619 64, 0, 384, 65, 0, 384, 77, 0, 384, 78,
620 0, 384, 87, 0, 384, 88, 0, 384, 68, 0,
621 384, 67, 0, 384, 112, 0, 384, 66, 63, 0,
622 384, 72, 0, 384, 92, 0, 384, 84, 0, 384,
623 48, 0, 384, 95, 113, 0, 384, 40, 0, 384,
624 39, 0, 384, 40, 95, 113, 0, 384, 39, 95,
625 113, 0, 384, 358, 383, 0, 384, 1, 0
631 static const short yyrline
[] = { 0,
632 333, 335, 349, 352, 353, 357, 359, 362, 367, 371,
633 377, 379, 382, 385, 389, 392, 394, 396, 399, 401,
634 404, 407, 409, 411, 413, 415, 417, 419, 425, 429,
635 432, 434, 438, 440, 441, 443, 447, 450, 456, 459,
636 461, 466, 469, 473, 476, 479, 482, 486, 491, 501,
637 503, 505, 507, 509, 522, 531, 541, 543, 545, 549,
638 551, 552, 559, 560, 561, 564, 567, 571, 573, 574,
639 577, 579, 582, 585, 587, 591, 594, 596, 600, 602,
640 604, 608, 610, 612, 616, 618, 620, 626, 630, 633,
641 636, 639, 644, 647, 649, 651, 657, 667, 669, 672,
642 675, 677, 680, 684, 693, 696, 698, 702, 715, 735,
643 738, 740, 741, 744, 751, 757, 759, 761, 763, 765,
644 768, 773, 775, 776, 777, 778, 781, 783, 784, 787,
645 789, 790, 793, 798, 798, 802, 802, 805, 805, 808,
646 808, 812, 812, 817, 817, 820, 820, 823, 825, 828,
647 835, 842, 848, 851, 860, 862, 870, 873, 876, 879,
648 883, 886, 889, 892, 894, 896, 898, 902, 905, 908,
649 913, 917, 922, 926, 929, 931, 935, 955, 962, 965,
650 967, 968, 969, 972, 976, 977, 981, 985, 988, 990,
651 994, 997, 1000, 1004, 1007, 1009, 1011, 1013, 1020, 1024,
652 1026, 1028, 1030, 1036, 1039, 1042, 1045, 1048, 1052, 1055,
653 1058, 1062, 1064, 1068, 1072, 1074, 1078, 1081, 1088, 1091,
654 1093, 1101, 1114, 1120, 1127, 1129, 1131, 1144, 1147, 1149,
655 1151, 1153, 1155, 1157, 1159, 1161, 1163, 1165, 1167, 1169,
656 1171, 1173, 1175, 1177, 1179, 1181, 1183, 1185, 1187, 1191,
657 1193, 1195, 1212, 1215, 1216, 1217, 1218, 1219, 1222, 1225,
658 1228, 1232, 1235, 1237, 1242, 1244, 1245, 1248, 1250, 1252,
659 1254, 1258, 1261, 1265, 1267, 1268, 1269, 1273, 1281, 1282,
660 1283, 1291, 1293, 1296, 1298, 1308, 1310, 1312, 1314, 1316,
661 1318, 1321, 1323, 1367, 1368, 1372, 1376, 1380, 1384, 1386,
662 1390, 1392, 1400, 1402, 1404, 1406, 1410, 1412, 1414, 1416,
663 1421, 1423, 1425, 1427, 1430, 1432, 1434, 1478, 1481, 1485,
664 1488, 1492, 1495, 1500, 1502, 1506, 1519, 1522, 1529, 1536,
665 1541, 1543, 1548, 1550, 1557, 1559, 1563, 1567, 1573, 1577,
666 1580, 1583, 1586, 1596, 1598, 1601, 1605, 1608, 1611, 1614,
667 1617, 1623, 1629, 1631, 1636, 1638, 1647, 1650, 1652, 1655,
668 1661, 1663, 1673, 1677, 1680, 1683, 1688, 1691, 1699, 1701,
669 1703, 1705, 1708, 1711, 1726, 1745, 1748, 1750, 1753, 1755,
670 1758, 1760, 1763, 1765, 1768, 1771, 1775, 1781, 1782, 1794,
671 1801, 1804, 1810, 1814, 1819, 1825, 1826, 1834, 1837, 1841,
672 1844, 1848, 1853, 1856, 1860, 1863, 1865, 1867, 1869, 1876,
673 1878, 1879, 1880, 1884, 1887, 1891, 1894, 1900, 1902, 1905,
674 1908, 1911, 1917, 1920, 1923, 1925, 1927, 1931, 1937, 1945,
675 1947, 1951, 1953, 1958, 1961, 1964, 1966, 1968, 1972, 1976,
676 1981, 1985, 1988, 1993, 1997, 2000, 2003, 2007, 2042, 2048,
677 2057, 2077, 2079, 2082, 2084, 2089, 2091, 2093, 2095, 2097,
678 2101, 2106, 2111, 2117, 2122, 2127, 2129, 2133, 2138, 2141,
679 2148, 2176, 2182, 2184, 2187, 2190, 2192, 2196, 2198, 2202,
680 2228, 2257, 2260, 2261, 2282, 2305, 2307, 2311, 2322, 2336,
681 2425, 2432, 2435, 2443, 2454, 2463, 2467, 2482, 2485, 2490,
682 2492, 2494, 2496, 2498, 2500, 2503, 2505, 2513, 2519, 2521,
683 2524, 2527, 2529, 2540, 2545, 2548, 2553, 2556, 2557, 2568,
684 2571, 2572, 2583, 2585, 2588, 2590, 2593, 2600, 2608, 2615,
685 2621, 2627, 2635, 2639, 2644, 2648, 2651, 2660, 2662, 2666,
686 2669, 2674, 2678, 2683, 2693, 2696, 2700, 2704, 2712, 2717,
687 2723, 2726, 2728, 2730, 2736, 2739, 2741, 2743, 2745, 2749,
688 2752, 2770, 2780, 2782, 2783, 2787, 2792, 2795, 2797, 2799,
689 2801, 2805, 2811, 2814, 2816, 2818, 2820, 2824, 2827, 2830,
690 2832, 2834, 2836, 2840, 2843, 2846, 2848, 2850, 2852, 2859,
691 2870, 2874, 2879, 2883, 2888, 2890, 2894, 2897, 2899, 2903,
692 2905, 2906, 2909, 2911, 2913, 2919, 2934, 2940, 2946, 2960,
693 2962, 2966, 2980, 2982, 2984, 2988, 2994, 3007, 3009, 3013,
694 3024, 3030, 3032, 3033, 3034, 3042, 3047, 3056, 3057, 3061,
695 3064, 3070, 3076, 3079, 3081, 3083, 3085, 3089, 3093, 3097,
696 3100, 3105, 3108, 3110, 3112, 3114, 3116, 3118, 3120, 3122,
697 3126, 3130, 3134, 3138, 3139, 3141, 3143, 3145, 3147, 3149,
698 3151, 3153, 3155, 3163, 3165, 3166, 3167, 3170, 3176, 3178,
699 3183, 3185, 3188, 3202, 3205, 3208, 3212, 3215, 3222, 3224,
700 3227, 3229, 3231, 3234, 3237, 3240, 3243, 3245, 3248, 3252,
701 3254, 3260, 3262, 3263, 3265, 3270, 3272, 3274, 3276, 3278,
702 3281, 3282, 3284, 3287, 3288, 3291, 3291, 3294, 3294, 3297,
703 3297, 3299, 3301, 3303, 3305, 3311, 3317, 3320, 3323, 3329,
704 3331, 3333, 3337, 3339, 3342, 3349, 3352, 3360, 3364, 3366,
705 3369, 3371, 3374, 3378, 3380, 3383, 3385, 3388, 3405, 3411,
706 3419, 3421, 3423, 3427, 3430, 3431, 3439, 3443, 3447, 3450,
707 3451, 3457, 3460, 3463, 3465, 3469, 3474, 3477, 3487, 3492,
708 3493, 3501, 3507, 3512, 3516, 3521, 3525, 3529, 3533, 3538,
709 3549, 3563, 3567, 3570, 3572, 3576, 3580, 3583, 3586, 3588,
710 3592, 3594, 3601, 3608, 3611, 3614, 3618, 3622, 3628, 3632,
711 3637, 3639, 3642, 3647, 3653, 3664, 3667, 3669, 3673, 3678,
712 3680, 3687, 3690, 3692, 3694, 3700, 3705, 3708, 3710, 3712,
713 3714, 3716, 3718, 3720, 3722, 3724, 3726, 3728, 3730, 3732,
714 3734, 3736, 3738, 3740, 3742, 3744, 3746, 3748, 3750, 3752,
715 3754, 3756, 3758, 3760, 3762, 3764, 3766, 3768, 3770, 3773,
721 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
723 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
724 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
725 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
726 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
727 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
728 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
729 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
730 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
731 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
732 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
733 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
734 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
735 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
736 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
737 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
738 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
739 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
740 "@5","template_parm_list","maybe_identifier","template_type_parm","template_template_parm",
741 "template_parm","template_def","datadef","ctor_initializer_opt","maybe_return_init",
742 "eat_saved_input","fndef","constructor_declarator","@6","@7","@8","@9","fn.def1",
743 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
744 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
745 "identifier_defn","explicit_instantiation","@10","@11","@12","@13","@14","@15",
746 "@16","@17","begin_explicit_instantiation","end_explicit_instantiation","template_type",
747 "self_template_type","template_close_bracket","template_arg_list_opt","template_arg_list",
748 "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond",
749 "condition","@18","compstmtend","already_scoped_stmt","@19","nontrivial_exprlist",
750 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
751 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
752 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
753 "primary","@20","new","delete","boolean.literal","string","nodecls","object",
754 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
755 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
756 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
757 "initdcl","@21","initdcl0_innards","@22","initdcl0","notype_initdcl0","nomods_initdcl0",
758 "@23","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
759 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
760 "pending_inlines","defarg_again","pending_defargs","structsp","@24","@25","@26",
761 "@27","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
762 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
763 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
764 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
765 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
766 "component_decl_1","components","notype_components","component_declarator0",
767 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
768 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
769 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
770 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
771 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
772 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
773 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
774 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
775 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
776 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
777 "label_decls","label_decl","compstmt_or_error","compstmt","@28","simple_if",
778 "@29","@30","implicitly_scoped_stmt","@31","stmt","simple_stmt","@32","@33",
779 "@34","@35","@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","function_try_block",
780 "@46","@47","try_block","@48","@49","handler_seq","handler","@50","@51","type_specifier_seq",
781 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
782 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
783 "complex_parmlist","defarg","@52","defarg1","parms","parms_comma","named_parm",
784 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
785 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
789 static const short yyr1
[] = { 0,
790 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
791 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
792 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
793 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
794 130, 132, 132, 133, 133, 134, 134, 135, 136, 136,
795 136, 136, 136, 136, 137, 137, 138, 138, 138, 138,
796 138, 138, 138, 138, 138, 139, 139, 140, 140, 140,
797 141, 141, 142, 142, 142, 144, 143, 143, 145, 143,
798 143, 146, 143, 143, 147, 143, 143, 148, 148, 148,
799 148, 148, 149, 149, 149, 149, 150, 150, 150, 150,
800 150, 150, 150, 151, 152, 152, 152, 153, 154, 155,
801 155, 155, 155, 156, 156, 156, 156, 156, 156, 156,
802 156, 157, 157, 157, 157, 157, 158, 158, 158, 159,
803 159, 159, 161, 160, 162, 160, 163, 160, 164, 160,
804 165, 160, 166, 160, 167, 160, 168, 160, 169, 170,
805 171, 171, 171, 172, 173, 173, 174, 174, 175, 175,
806 176, 176, 177, 177, 177, 177, 177, 178, 178, 179,
807 179, 180, 180, 181, 181, 181, 183, 182, 182, 184,
808 184, 184, 184, 186, 185, 185, 187, 187, 187, 187,
809 188, 188, 189, 189, 189, 189, 189, 189, 189, 189,
810 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
811 189, 189, 189, 189, 189, 189, 190, 190, 191, 191,
812 191, 191, 192, 192, 193, 193, 193, 194, 194, 194,
813 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
814 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
815 194, 194, 195, 195, 195, 195, 195, 195, 196, 197,
816 197, 198, 198, 198, 199, 199, 199, 200, 200, 200,
817 200, 201, 201, 202, 202, 202, 202, 203, 203, 203,
818 203, 203, 203, 203, 204, 203, 203, 203, 203, 203,
819 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
820 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
821 203, 203, 203, 203, 203, 203, 203, 205, 205, 206,
822 206, 207, 207, 208, 208, 209, 210, 210, 211, 211,
823 211, 211, 211, 211, 212, 212, 213, 213, 214, 214,
824 214, 214, 214, 215, 215, 216, 216, 216, 216, 216,
825 216, 217, 217, 217, 217, 217, 218, 218, 218, 218,
826 218, 218, 219, 219, 219, 219, 220, 220, 221, 221,
827 221, 221, 221, 221, 221, 222, 222, 222, 223, 223,
828 224, 224, 225, 225, 226, 226, 228, 227, 227, 230,
829 229, 229, 231, 232, 234, 233, 233, 235, 235, 236,
830 236, 237, 238, 238, 239, 239, 239, 239, 239, 240,
831 240, 240, 240, 241, 241, 242, 242, 243, 243, 243,
832 243, 243, 244, 244, 244, 244, 244, 245, 246, 246,
833 246, 247, 247, 248, 248, 249, 249, 249, 251, 250,
834 250, 252, 250, 250, 250, 250, 250, 253, 254, 250,
835 250, 255, 255, 256, 256, 257, 257, 257, 257, 257,
836 258, 259, 260, 260, 260, 260, 260, 261, 262, 262,
837 262, 263, 264, 264, 265, 265, 265, 266, 266, 267,
838 267, 268, 268, 268, 268, 269, 269, 269, 269, 270,
839 271, 272, 272, 272, 272, 273, 273, 274, 274, 274,
840 274, 274, 274, 274, 274, 274, 274, 275, 275, 275,
841 275, 275, 275, 275, 275, 275, 276, 276, 276, 277,
842 277, 277, 278, 278, 279, 279, 280, 280, 281, 281,
843 281, 281, 282, 282, 283, 283, 283, 284, 284, 285,
844 285, 286, 286, 286, 287, 287, 288, 288, 289, 290,
845 291, 291, 291, 291, 292, 292, 292, 292, 292, 292,
846 293, 293, 294, 294, 294, 295, 296, 296, 296, 296,
847 296, 296, 297, 297, 297, 297, 297, 297, 298, 298,
848 298, 298, 298, 298, 299, 299, 299, 299, 299, 299,
849 300, 300, 301, 301, 302, 302, 303, 303, 303, 304,
850 304, 304, 305, 305, 305, 306, 306, 306, 306, 307,
851 307, 308, 308, 308, 308, 309, 309, 309, 309, 310,
852 310, 310, 310, 310, 310, 311, 312, 312, 312, 313,
853 313, 314, 315, 315, 315, 315, 315, 315, 315, 316,
854 316, 317, 317, 317, 317, 317, 317, 317, 317, 317,
855 317, 317, 318, 318, 318, 318, 318, 318, 318, 318,
856 318, 318, 318, 319, 319, 319, 319, 320, 321, 321,
857 322, 322, 323, 324, 324, 326, 325, 328, 329, 327,
858 330, 331, 330, 332, 332, 333, 333, 334, 333, 333,
859 335, 336, 333, 337, 338, 333, 339, 340, 341, 342,
860 333, 343, 344, 333, 345, 333, 346, 333, 347, 333,
861 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
862 333, 333, 333, 333, 349, 350, 348, 352, 353, 351,
863 354, 354, 356, 357, 355, 358, 358, 359, 359, 360,
864 360, 360, 360, 361, 361, 361, 362, 362, 363, 363,
865 363, 364, 364, 365, 365, 366, 367, 367, 368, 368,
866 368, 369, 369, 369, 369, 369, 369, 369, 369, 369,
867 369, 371, 370, 372, 372, 373, 373, 373, 373, 373,
868 374, 374, 375, 375, 375, 375, 375, 375, 376, 376,
869 377, 377, 378, 379, 379, 380, 380, 380, 381, 382,
870 382, 383, 383, 383, 383, 384, 385, 385, 385, 385,
871 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
872 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
873 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
877 static const short yyr2
[] = { 0,
878 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
879 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
880 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
881 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
882 3, 1, 3, 1, 0, 2, 2, 3, 1, 3,
883 1, 3, 1, 3, 2, 2, 2, 3, 3, 2,
884 2, 2, 2, 2, 1, 1, 1, 0, 1, 2,
885 0, 1, 4, 3, 3, 0, 8, 5, 0, 9,
886 6, 0, 8, 5, 0, 9, 6, 2, 2, 1,
887 2, 1, 6, 4, 6, 4, 2, 1, 2, 2,
888 1, 2, 1, 2, 2, 4, 2, 3, 0, 0,
889 1, 3, 2, 3, 1, 4, 2, 4, 2, 4,
890 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
891 1, 1, 0, 6, 0, 6, 0, 5, 0, 5,
892 0, 7, 0, 7, 0, 6, 0, 6, 0, 0,
893 4, 4, 1, 4, 1, 1, 0, 1, 1, 3,
894 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
895 3, 1, 3, 0, 1, 1, 0, 7, 1, 1,
896 3, 4, 3, 0, 3, 1, 3, 3, 3, 3,
897 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
898 4, 2, 4, 2, 3, 3, 4, 4, 5, 5,
899 6, 2, 4, 5, 2, 2, 3, 3, 3, 1,
900 3, 2, 3, 4, 1, 2, 5, 1, 3, 3,
901 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
902 3, 3, 3, 3, 3, 3, 3, 5, 3, 3,
903 1, 2, 3, 1, 1, 1, 1, 1, 0, 5,
904 5, 5, 5, 5, 1, 1, 1, 1, 2, 2,
905 3, 4, 4, 1, 1, 1, 3, 1, 1, 1,
906 1, 3, 3, 3, 0, 4, 4, 2, 4, 2,
907 2, 1, 4, 1, 7, 7, 7, 7, 4, 4,
908 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
909 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
910 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
911 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
912 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
913 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
914 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
915 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
916 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
917 4, 1, 3, 3, 0, 4, 3, 0, 1, 1,
918 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
919 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
920 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
921 3, 0, 3, 3, 3, 0, 2, 2, 0, 7,
922 4, 0, 6, 3, 2, 2, 2, 0, 0, 9,
923 1, 0, 1, 0, 1, 1, 2, 2, 2, 2,
924 2, 2, 3, 4, 3, 2, 3, 0, 1, 3,
925 2, 2, 1, 1, 0, 2, 3, 1, 4, 1,
926 3, 1, 1, 4, 4, 2, 2, 3, 3, 1,
927 0, 1, 2, 4, 3, 1, 2, 2, 2, 2,
928 2, 2, 2, 1, 2, 2, 3, 2, 2, 4,
929 4, 2, 1, 5, 4, 1, 0, 1, 3, 0,
930 1, 3, 1, 1, 1, 1, 4, 4, 4, 4,
931 4, 3, 4, 4, 4, 4, 3, 1, 3, 1,
932 3, 2, 1, 6, 0, 2, 1, 2, 0, 2,
933 4, 4, 2, 4, 3, 3, 2, 2, 3, 1,
934 1, 2, 1, 1, 2, 2, 4, 4, 3, 3,
935 2, 1, 3, 3, 2, 2, 3, 1, 3, 3,
936 2, 2, 3, 1, 4, 3, 4, 3, 1, 2,
937 2, 2, 2, 2, 1, 2, 4, 4, 2, 1,
938 1, 1, 1, 2, 4, 2, 2, 2, 2, 1,
939 2, 2, 2, 2, 3, 1, 2, 3, 4, 2,
940 2, 2, 2, 2, 2, 4, 2, 1, 2, 2,
941 3, 1, 3, 2, 3, 2, 2, 3, 1, 3,
942 4, 3, 2, 2, 1, 3, 2, 2, 1, 2,
943 3, 1, 3, 1, 6, 4, 4, 3, 5, 3,
944 3, 3, 2, 1, 1, 2, 2, 2, 0, 1,
945 1, 2, 3, 1, 2, 0, 3, 0, 0, 5,
946 1, 0, 2, 1, 1, 1, 2, 0, 4, 1,
947 0, 0, 5, 0, 0, 7, 0, 0, 0, 0,
948 12, 0, 0, 7, 0, 5, 0, 7, 0, 4,
949 2, 2, 2, 3, 6, 8, 10, 12, 4, 3,
950 2, 2, 1, 1, 0, 0, 6, 0, 0, 5,
951 1, 2, 0, 0, 5, 1, 1, 3, 3, 2,
952 2, 2, 2, 2, 1, 2, 0, 1, 0, 1,
953 1, 0, 1, 1, 3, 4, 1, 3, 0, 1,
954 1, 1, 2, 2, 2, 1, 1, 2, 2, 2,
955 2, 0, 3, 1, 1, 1, 2, 2, 2, 4,
956 2, 2, 2, 2, 2, 2, 1, 2, 1, 2,
957 1, 1, 0, 0, 1, 0, 4, 2, 1, 1,
958 3, 0, 3, 3, 3, 1, 2, 2, 2, 2,
959 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
960 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
961 2, 2, 2, 2, 3, 2, 2, 4, 4, 3,
965 static const short yydefact
[] = { 3,
966 13, 13, 5, 0, 4, 0, 256, 600, 601, 0,
967 358, 370, 547, 0, 11, 12, 0, 0, 0, 10,
968 456, 806, 0, 0, 0, 149, 632, 257, 258, 65,
969 0, 0, 793, 0, 37, 0, 0, 14, 0, 8,
970 0, 17, 16, 71, 92, 68, 0, 602, 153, 275,
971 254, 276, 578, 0, 345, 0, 344, 363, 0, 383,
972 362, 400, 369, 0, 469, 468, 475, 474, 473, 451,
973 357, 563, 371, 564, 90, 274, 589, 561, 0, 603,
974 545, 0, 0, 255, 63, 64, 157, 606, 157, 607,
975 157, 259, 149, 122, 123, 124, 125, 126, 442, 445,
976 0, 628, 0, 446, 0, 0, 0, 0, 123, 124,
977 125, 126, 24, 0, 0, 0, 0, 0, 0, 0,
978 447, 610, 0, 616, 0, 0, 0, 0, 0, 0,
979 30, 0, 0, 39, 0, 157, 608, 0, 0, 576,
980 0, 0, 0, 575, 0, 0, 0, 0, 275, 0,
981 549, 0, 274, 545, 29, 0, 27, 3, 38, 0,
982 56, 55, 72, 15, 0, 398, 0, 0, 416, 69,
983 61, 609, 549, 0, 545, 62, 0, 0, 0, 88,
984 0, 379, 335, 560, 336, 572, 0, 545, 360, 359,
985 60, 91, 346, 0, 381, 361, 89, 352, 376, 377,
986 347, 365, 367, 356, 378, 0, 57, 401, 457, 458,
987 459, 460, 472, 131, 130, 132, 461, 462, 466, 0,
988 0, 475, 793, 471, 490, 491, 548, 364, 0, 395,
989 601, 0, 630, 153, 593, 594, 590, 566, 604, 0,
990 565, 562, 0, 841, 837, 836, 834, 816, 821, 822,
991 0, 828, 827, 813, 814, 812, 831, 820, 817, 818,
992 819, 823, 824, 810, 811, 807, 808, 809, 833, 825,
993 826, 815, 832, 0, 829, 736, 363, 737, 802, 259,
994 256, 547, 279, 324, 0, 0, 0, 0, 320, 318,
995 292, 322, 323, 0, 0, 0, 0, 0, 258, 251,
996 0, 0, 164, 163, 0, 165, 166, 0, 0, 167,
997 0, 0, 158, 159, 0, 225, 0, 228, 162, 278,
998 193, 0, 0, 280, 281, 0, 161, 342, 363, 343,
999 595, 303, 294, 0, 0, 0, 0, 157, 0, 444,
1000 0, 439, 0, 629, 627, 0, 168, 169, 0, 0,
1001 0, 405, 3, 22, 0, 624, 620, 621, 623, 625,
1002 622, 122, 123, 124, 0, 125, 126, 612, 613, 617,
1003 614, 611, 266, 267, 0, 265, 33, 34, 0, 592,
1004 591, 32, 31, 41, 0, 358, 139, 0, 0, 363,
1005 137, 0, 0, 574, 0, 573, 253, 270, 0, 582,
1006 269, 0, 581, 0, 277, 586, 0, 0, 13, 0,
1007 149, 9, 9, 0, 397, 399, 104, 75, 109, 725,
1008 0, 67, 66, 74, 107, 0, 0, 105, 70, 588,
1009 0, 0, 553, 0, 796, 0, 558, 0, 557, 0,
1010 0, 0, 0, 545, 398, 0, 59, 549, 545, 571,
1011 0, 349, 350, 0, 58, 398, 354, 353, 355, 348,
1012 368, 385, 384, 463, 467, 465, 0, 470, 476, 0,
1013 0, 366, 398, 545, 76, 0, 0, 0, 0, 545,
1014 82, 546, 577, 601, 631, 153, 0, 0, 830, 835,
1015 365, 545, 545, 0, 545, 840, 157, 0, 0, 0,
1016 200, 0, 0, 202, 215, 216, 0, 0, 0, 0,
1017 0, 252, 199, 196, 195, 197, 0, 0, 0, 0,
1018 0, 278, 0, 0, 0, 194, 155, 156, 272, 0,
1019 198, 0, 0, 226, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1021 0, 0, 0, 0, 0, 0, 288, 290, 291, 328,
1022 327, 0, 0, 0, 0, 0, 204, 543, 0, 212,
1023 325, 317, 0, 0, 793, 306, 309, 310, 0, 0,
1024 337, 649, 645, 654, 0, 549, 545, 545, 545, 339,
1025 652, 0, 599, 341, 0, 0, 340, 305, 0, 301,
1026 319, 321, 596, 0, 302, 152, 154, 0, 147, 0,
1027 363, 145, 540, 454, 538, 441, 0, 0, 372, 0,
1028 0, 373, 374, 375, 411, 412, 413, 410, 0, 403,
1029 406, 0, 3, 0, 615, 157, 618, 28, 36, 35,
1030 45, 0, 0, 0, 49, 53, 42, 792, 787, 0,
1031 342, 363, 45, 343, 791, 51, 150, 135, 133, 150,
1032 151, 273, 580, 579, 277, 583, 0, 19, 21, 71,
1033 0, 110, 326, 0, 676, 73, 674, 422, 0, 418,
1034 417, 192, 0, 191, 550, 587, 0, 766, 767, 0,
1035 761, 363, 0, 760, 762, 794, 776, 0, 0, 585,
1036 556, 555, 0, 0, 570, 0, 393, 392, 380, 569,
1037 0, 796, 559, 351, 382, 394, 398, 464, 600, 601,
1038 793, 0, 793, 602, 477, 478, 480, 793, 483, 482,
1039 0, 513, 601, 0, 504, 0, 0, 516, 0, 103,
1040 98, 0, 153, 517, 520, 0, 496, 0, 101, 0,
1041 398, 396, 796, 759, 157, 157, 605, 157, 796, 759,
1042 545, 79, 545, 85, 839, 838, 802, 802, 802, 0,
1043 0, 0, 0, 599, 0, 0, 0, 0, 363, 0,
1044 0, 0, 284, 0, 282, 283, 0, 223, 160, 256,
1045 600, 601, 257, 258, 0, 0, 423, 452, 0, 250,
1046 249, 751, 750, 0, 247, 246, 244, 245, 243, 242,
1047 241, 238, 239, 240, 236, 237, 231, 232, 233, 234,
1048 235, 229, 230, 0, 0, 0, 0, 0, 0, 206,
1049 220, 0, 0, 205, 545, 545, 0, 545, 542, 639,
1050 0, 0, 0, 0, 0, 308, 0, 312, 0, 314,
1051 0, 648, 647, 644, 643, 792, 0, 0, 663, 0,
1052 0, 796, 338, 796, 650, 545, 759, 549, 649, 645,
1053 0, 0, 545, 0, 0, 0, 0, 0, 260, 150,
1054 143, 141, 150, 0, 455, 0, 454, 190, 189, 188,
1055 187, 405, 0, 0, 25, 0, 26, 619, 0, 47,
1056 44, 45, 0, 40, 0, 0, 649, 645, 0, 783,
1057 545, 786, 788, 0, 784, 785, 46, 461, 0, 140,
1058 150, 150, 138, 18, 20, 386, 127, 115, 128, 129,
1059 0, 108, 111, 0, 0, 0, 0, 675, 669, 419,
1060 0, 106, 554, 551, 765, 782, 771, 769, 0, 552,
1061 764, 781, 770, 768, 763, 795, 778, 789, 779, 772,
1062 777, 798, 0, 390, 568, 567, 389, 487, 0, 486,
1063 793, 793, 793, 0, 545, 759, 512, 505, 517, 506,
1064 398, 398, 502, 503, 500, 501, 545, 759, 256, 600,
1065 0, 385, 99, 508, 518, 523, 524, 385, 385, 0,
1066 0, 385, 97, 509, 521, 385, 497, 498, 499, 398,
1067 0, 448, 78, 0, 0, 0, 0, 84, 0, 796,
1068 759, 796, 759, 804, 803, 805, 261, 293, 201, 203,
1069 299, 300, 0, 0, 0, 0, 283, 286, 0, 0,
1070 0, 0, 224, 0, 287, 289, 218, 217, 208, 0,
1071 207, 222, 0, 0, 636, 634, 0, 637, 549, 213,
1072 0, 0, 157, 315, 0, 0, 0, 646, 642, 653,
1073 545, 662, 660, 661, 651, 796, 0, 658, 0, 597,
1074 598, 0, 304, 148, 150, 150, 146, 541, 539, 443,
1075 0, 404, 402, 256, 0, 23, 626, 48, 43, 50,
1076 54, 648, 644, 649, 645, 0, 561, 0, 545, 650,
1077 52, 136, 134, 0, 113, 0, 117, 0, 119, 0,
1078 121, 0, 726, 0, 180, 677, 0, 670, 671, 0,
1079 420, 649, 645, 0, 278, 0, 595, 790, 0, 0,
1080 799, 800, 0, 0, 387, 0, 0, 0, 489, 488,
1081 481, 796, 0, 507, 416, 416, 796, 0, 0, 0,
1082 398, 398, 0, 398, 398, 0, 398, 0, 416, 0,
1083 436, 545, 263, 262, 264, 545, 81, 0, 87, 0,
1084 0, 0, 0, 0, 0, 426, 0, 424, 227, 248,
1085 0, 209, 210, 219, 221, 635, 633, 640, 638, 0,
1086 214, 0, 0, 307, 311, 313, 796, 656, 545, 657,
1087 144, 142, 440, 0, 407, 409, 648, 644, 566, 650,
1088 114, 112, 0, 0, 0, 0, 414, 0, 0, 256,
1089 600, 601, 678, 691, 694, 697, 702, 0, 0, 0,
1090 0, 0, 0, 257, 723, 728, 0, 747, 0, 686,
1091 0, 0, 363, 0, 665, 684, 690, 664, 685, 724,
1092 0, 672, 421, 0, 598, 780, 774, 775, 773, 0,
1093 797, 391, 0, 484, 485, 479, 94, 545, 511, 515,
1094 96, 545, 398, 398, 532, 416, 256, 600, 0, 519,
1095 525, 526, 385, 385, 416, 416, 0, 416, 522, 510,
1096 0, 796, 796, 545, 545, 0, 0, 0, 0, 425,
1097 0, 0, 211, 641, 316, 262, 659, 796, 0, 116,
1098 118, 120, 733, 727, 731, 0, 673, 668, 183, 740,
1099 742, 743, 0, 0, 682, 0, 0, 0, 709, 711,
1100 712, 713, 0, 0, 0, 741, 0, 334, 748, 0,
1101 687, 332, 385, 0, 333, 0, 385, 0, 0, 0,
1102 181, 667, 666, 688, 722, 721, 283, 801, 388, 796,
1103 796, 531, 528, 530, 0, 0, 398, 398, 398, 527,
1104 529, 514, 438, 0, 437, 432, 77, 83, 796, 796,
1105 295, 296, 297, 298, 427, 544, 655, 408, 0, 732,
1106 415, 172, 0, 679, 692, 681, 0, 0, 0, 0,
1107 0, 705, 0, 714, 0, 720, 729, 0, 330, 331,
1108 0, 0, 0, 329, 182, 682, 93, 95, 398, 398,
1109 537, 416, 416, 0, 0, 450, 80, 86, 0, 734,
1110 179, 0, 363, 0, 682, 0, 695, 683, 669, 745,
1111 698, 0, 0, 0, 0, 710, 719, 0, 0, 689,
1112 536, 534, 533, 535, 435, 434, 428, 68, 71, 0,
1113 0, 0, 173, 385, 680, 184, 693, 186, 0, 746,
1114 0, 744, 703, 707, 706, 730, 752, 0, 0, 433,
1115 738, 739, 735, 398, 669, 170, 0, 0, 176, 0,
1116 175, 682, 0, 0, 0, 753, 754, 715, 431, 0,
1117 430, 0, 185, 0, 696, 699, 704, 708, 0, 752,
1118 0, 0, 429, 177, 171, 0, 0, 0, 716, 755,
1119 0, 0, 756, 0, 0, 178, 700, 757, 0, 717,
1120 0, 0, 0, 701, 758, 718, 0, 0, 0
1123 static const short yydefgoto
[] = { 1547,
1124 409, 2, 410, 160, 669, 311, 165, 3, 4, 38,
1125 633, 353, 738, 375, 40, 739, 385, 644, 900, 645,
1126 646, 647, 42, 43, 421, 168, 164, 44, 740, 754,
1127 1021, 760, 1023, 46, 741, 742, 169, 170, 422, 672,
1128 932, 933, 613, 934, 218, 47, 922, 921, 660, 657,
1129 1086, 1085, 883, 880, 135, 920, 48, 49, 529, 312,
1130 313, 314, 315, 1249, 1498, 1404, 1500, 1442, 1531, 1126,
1131 1477, 1495, 347, 872, 316, 566, 834, 317, 318, 348,
1132 320, 338, 51, 236, 377, 398, 52, 53, 321, 524,
1133 322, 323, 324, 325, 423, 326, 1250, 462, 588, 327,
1134 1251, 55, 201, 650, 328, 202, 502, 203, 181, 194,
1135 59, 445, 463, 1273, 707, 1144, 182, 195, 60, 473,
1136 708, 61, 62, 629, 630, 631, 1228, 428, 797, 798,
1137 1468, 1469, 1436, 1385, 1301, 63, 617, 341, 1171, 1386,
1138 1042, 886, 64, 65, 66, 67, 222, 68, 69, 70,
1139 224, 725, 726, 727, 728, 226, 470, 471, 746, 747,
1140 748, 994, 1004, 995, 1290, 996, 997, 1291, 1292, 614,
1141 615, 567, 862, 330, 431, 432, 175, 183, 72, 73,
1142 74, 184, 185, 152, 76, 131, 331, 332, 333, 78,
1143 334, 80, 730, 122, 123, 124, 478, 104, 81, 335,
1144 839, 840, 857, 591, 1254, 1255, 1127, 1128, 1129, 676,
1145 1256, 939, 1257, 1333, 1445, 1407, 1408, 1258, 1259, 1426,
1146 1334, 1446, 1335, 1479, 1336, 1481, 1526, 1541, 1337, 1502,
1147 1455, 1503, 1413, 424, 673, 1226, 1260, 1347, 1458, 1324,
1148 1325, 1399, 1472, 1444, 1440, 1261, 1451, 1350, 804, 1505,
1149 1506, 1507, 1539, 693, 694, 961, 1140, 1269, 695, 696,
1150 697, 957, 698, 145, 959, 700, 1142, 1143, 496, 83,
1154 static const short yypact
[] = { 125,
1155 130,-32768,-32768, 3240,-32768, 195, 72, 188, 284, 151,
1156 102,-32768,-32768, 1117,-32768,-32768, 136, 176, 198,-32768,
1157 -32768,-32768, 1085, 1187, 1489, 256,-32768, 304, 367,-32768,
1158 2407, 2407,-32768, 4859,-32768, 3240, 294,-32768, 352, 91,
1159 5970,-32768,-32768, 208, 1265, 379, 356, 372,-32768,-32768,
1160 -32768,-32768, 330, 2553,-32768, 10199,-32768, 1350, 498,-32768,
1161 423,-32768,-32768, 1046,-32768,-32768, 399,-32768,-32768, 417,
1162 4154,-32768,-32768,-32768, 784,-32768,-32768,-32768, 849,-32768,
1163 -32768, 508, 5609, 408,-32768,-32768, 9052,-32768, 9052,-32768,
1164 9052,-32768,-32768,-32768, 188, 284, 304, 445, 453, 492,
1165 372,-32768, 1409,-32768, 508, 9052, 9052, 480,-32768,-32768,
1166 -32768,-32768,-32768, 64, 528, 368, 383, 478, 538, 553,
1167 -32768,-32768, 564,-32768, 572, 188, 284, 1112, 304, 445,
1168 -32768, 855, 467, 509, 10350, 9052,-32768, 9052, 2926,-32768,
1169 1285, 543, 2926,-32768, 1090, 3033, 3033, 4859, 524, 547,
1170 517, 552, 555,-32768,-32768, 627,-32768, 556,-32768, 10084,
1171 195,-32768,-32768,-32768, 582, 423, 691, 145, 179, 624,
1172 -32768,-32768, 592, 250,-32768,-32768, 3416, 3416, 4989, 784,
1173 591,-32768,-32768, 387,-32768,-32768, 2806,-32768,-32768,-32768,
1174 -32768,-32768, 1350, 641,-32768, 423, 784,-32768,-32768,-32768,
1175 1578, 1350,-32768, 423,-32768, 5186,-32768,-32768,-32768,-32768,
1176 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 372, 988,
1177 1434, 399,-32768,-32768,-32768,-32768,-32768, 682, 508,-32768,
1178 497, 963,-32768, 271,-32768,-32768,-32768,-32768,-32768, 3988,
1179 -32768,-32768, 590,-32768, 617, 620,-32768,-32768,-32768,-32768,
1180 658,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1181 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1182 -32768,-32768,-32768, 616,-32768,-32768, 682, 4154, 1158,-32768,
1183 -32768, 646,-32768,-32768, 9667, 9754, 9841, 9841,-32768,-32768,
1184 -32768,-32768,-32768, 668, 701, 711, 721, 732, 445, 9139,
1185 1090, 9841,-32768,-32768, 9841,-32768,-32768, 9841, 7165,-32768,
1186 9841, 223, 683,-32768, 9841,-32768, 9226,-32768, 10446,-32768,
1187 1514, 1785, 9313,-32768, 799, 2426,-32768, 953, 3686, 4007,
1188 -32768, 307,-32768, 1524, 1858, 223, 223, 9052, 10350,-32768,
1189 1090, 703, 1090,-32768,-32768, 708, 768, 10596, 724, 733,
1190 738, 945, 556,-32768, 1112,-32768,-32768,-32768,-32768,-32768,
1191 -32768, 528, 368, 383, 1090, 478, 538, 793, 553,-32768,
1192 776,-32768, 188, 284, 814,-32768,-32768,-32768, 467,-32768,
1193 -32768,-32768,-32768,-32768, 4967,-32768,-32768, 5186, 5373, 1679,
1194 -32768, 223, 809,-32768, 775,-32768,-32768,-32768, 2926,-32768,
1195 -32768, 2926,-32768, 760,-32768,-32768, 3988, 87, 761, 777,
1196 -32768,-32768,-32768, 627,-32768, 423,-32768,-32768,-32768,-32768,
1197 148,-32768,-32768,-32768,-32768, 7257, 9139,-32768,-32768,-32768,
1198 9139, 779,-32768, 6493, 100, 4306,-32768, 4306,-32768, 4584,
1199 4584, 4989, 790,-32768, 423, 5186,-32768, 783,-32768,-32768,
1200 4619, 1578, 1350, 5186,-32768, 423,-32768,-32768, 423, 1578,
1201 -32768, 811,-32768,-32768, 372,-32768, 988,-32768, 1220, 1675,
1202 57, 682, 423,-32768,-32768, 836, 852, 876, 858,-32768,
1203 -32768,-32768,-32768, 532,-32768, 338, 821, 826,-32768,-32768,
1204 682,-32768,-32768, 822,-32768,-32768, 9052, 9139, 646, 7165,
1205 -32768, 437, 7165,-32768,-32768,-32768, 9052, 5977, 5977, 5977,
1206 5977, 10641,-32768,-32768,-32768,-32768, 832, 9928, 9928, 7165,
1207 851, 524, 863, 887, 867,-32768,-32768,-32768,-32768, 9052,
1208 -32768, 6790, 7165,-32768, 9139, 9139, 7349, 9139, 9139, 9139,
1209 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139,
1210 9139, 9139, 9139, 9139, 9139, 9139,-32768,-32768,-32768,-32768,
1211 -32768, 9139, 9139, 9139, 9052, 2857, 366, 440, 7988,-32768,
1212 -32768,-32768, 880, 963, 972, 444, 523, 530, 2780, 543,
1213 -32768, 1687, 1687,-32768, 4837, 868, 877, 948,-32768,-32768,
1214 502, 8495, 725,-32768, 860, 508,-32768,-32768, 9139,-32768,
1215 -32768,-32768,-32768, 249,-32768,-32768,-32768, 223,-32768, 5186,
1216 1998,-32768, 933, 939,-32768,-32768, 1090, 793,-32768, 7717,
1217 7809,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 79,-32768,
1218 906, 895, 556, 951, 961, 9052,-32768,-32768,-32768,-32768,
1219 1386, 256, 990, 206, 970, 971,-32768,-32768, 2152, 10406,
1220 2152, 4432, 1046, 10143,-32768, 973,-32768,-32768,-32768,-32768,
1221 -32768,-32768,-32768,-32768, 929,-32768, 979,-32768,-32768, 208,
1222 89, 460, 993, 887,-32768,-32768,-32768,-32768, 6695, 10641,
1223 -32768, 768, 947, 10596,-32768,-32768, 952,-32768,-32768, 967,
1224 160, 5318, 969,-32768, 169, 5796, 996, 1015, 561,-32768,
1225 -32768,-32768, 4306, 4306,-32768, 4619,-32768, 1016,-32768,-32768,
1226 995, 100,-32768, 1578,-32768,-32768, 423,-32768, 368, 383,
1227 -32768, 964,-32768, 553, 1022,-32768,-32768, 120,-32768,-32768,
1228 1492,-32768, 589, 669,-32768, 9139, 5517,-32768, 5517, 335,
1229 335, 217, 585, 2595, 10244, 2284,-32768, 225, 335, 1043,
1230 423,-32768, 100, 2575, 9052, 9052,-32768, 9052, 100, 2575,
1231 -32768,-32768,-32768,-32768,-32768,-32768, 649, 649, 649, 223,
1232 975, 1000, 9406, 948, 1004, 1014, 1019, 1059, 4066, 1060,
1233 1074, 1079,-32768, 1058,-32768,-32768, 1068,-32768,-32768, 1118,
1234 787, 900, 65, 431, 9139, 1120,-32768, 1124, 1070, 10641,
1235 10641,-32768,-32768, 1123, 5412, 5667, 3513, 5693, 4244, 3542,
1236 3712, 1983, 1983, 1983, 1691, 1691, 1237, 1237, 756, 756,
1237 756,-32768,-32768, 1084, 1082, 1086, 1095, 1097, 5977, 366,
1238 -32768, 7257, 9139,-32768,-32768,-32768, 9139,-32768,-32768, 1105,
1239 9841, 1099, 1119, 1136, 1166,-32768, 9139,-32768, 9139,-32768,
1240 9139, 2683,-32768, 2683,-32768, 140, 1109, 1110,-32768, 1113,
1241 5977, 100,-32768, 100, 4679,-32768, 2575, 1125, 8687, 8687,
1242 6301, 1121, 9226, 1122, 3050, 1858, 984, 1130,-32768,-32768,
1243 -32768,-32768,-32768, 9139, 1090, 1138, 939,-32768, 10641,-32768,
1244 10641, 945, 1137, 9493,-32768, 1141,-32768,-32768, 223,-32768,
1245 -32768, 1364, 4967,-32768, 5977, 9052, 2037, 2037, 3864,-32768,
1246 -32768,-32768,-32768, 2806,-32768,-32768,-32768, 61, 9139,-32768,
1247 -32768,-32768,-32768,-32768,-32768,-32768, 528,-32768, 478, 538,
1248 9139, 1170,-32768, 587, 601, 622, 887,-32768, 71,-32768,
1249 55,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 8591,-32768,
1250 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1015, 1168,-32768,
1251 -32768,-32768, 5977,-32768,-32768,-32768, 1190,-32768, 9052,-32768,
1252 -32768,-32768,-32768, 1345,-32768, 2575, 10641,-32768, 1904,-32768,
1253 423, 423,-32768,-32768,-32768,-32768,-32768, 2575, 232, 915,
1254 9139, 811,-32768, 1196,-32768,-32768,-32768, 343, 391, 849,
1255 543, 686, 335, 1199,-32768, 901,-32768,-32768,-32768, 423,
1256 4219,-32768,-32768, 1154, 223, 223, 223,-32768, 1157, 100,
1257 2575, 100, 2575,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1258 -32768,-32768, 1175, 1176, 1177, 1179, 929,-32768, 10528, 7257,
1259 6885, 1163,-32768, 9139,-32768,-32768,-32768,-32768, 825, 1172,
1260 -32768,-32768, 1173, 66, 285, 285, 1167, 285,-32768,-32768,
1261 9841, 1268, 9052,-32768, 1185, 1186, 1188,-32768,-32768,-32768,
1262 -32768,-32768,-32768,-32768,-32768, 100, 1191,-32768, 1192,-32768,
1263 -32768, 3120,-32768,-32768,-32768,-32768,-32768, 10641,-32768,-32768,
1264 1189,-32768,-32768, 227, 1197,-32768,-32768,-32768,-32768,-32768,
1265 -32768, 2938, 2938, 3140, 3140, 3864,-32768, 2806,-32768, 3487,
1266 10446,-32768,-32768, 1200,-32768, 460,-32768, 9139,-32768, 9139,
1267 -32768, 9139,-32768, 1090,-32768,-32768, 6207, 1275,-32768, 6977,
1268 -32768, 8780, 8780, 6397, 183, 1205, 254,-32768, 7257, 7069,
1269 -32768,-32768, 240, 7257,-32768, 1214, 1218, 1220,-32768,-32768,
1270 -32768, 100, 1219,-32768, 1266, 1266, 100, 1222, 9139, 9139,
1271 10506, 423, 3309, 423, 423, 1160, 423, 4478, 1266, 5125,
1272 -32768,-32768,-32768, 1278,-32768,-32768,-32768, 1225,-32768, 1226,
1273 9139, 9139, 9139, 9139, 7257,-32768, 1276,-32768,-32768, 10641,
1274 9139,-32768, 825,-32768,-32768,-32768,-32768,-32768,-32768, 1228,
1275 -32768, 1290, 223,-32768,-32768,-32768, 100,-32768,-32768,-32768,
1276 -32768,-32768,-32768, 9139,-32768,-32768, 2938, 2938,-32768, 3487,
1277 -32768,-32768, 1234, 1236, 1244, 1250,-32768, 786, 242, 1297,
1278 1021, 1023,-32768,-32768,-32768,-32768,-32768, 9139, 1300, 1304,
1279 1309, 8873, 257, 415,-32768,-32768, 8965, 1366, 1316,-32768,
1280 4706, 10305, 10451, 6095,-32768,-32768, 1362,-32768,-32768,-32768,
1281 8099,-32768,-32768, 1273, 1916,-32768,-32768,-32768,-32768, 5977,
1282 -32768,-32768, 7257,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1283 -32768,-32768, 10506, 10506,-32768, 1266, 695, 1083, 9139,-32768,
1284 -32768,-32768, 811, 811, 1266, 1266, 532, 1266,-32768,-32768,
1285 5854, 100, 100,-32768,-32768, 1282, 1284, 1298, 1308,-32768,
1286 7257, 1310,-32768,-32768,-32768,-32768,-32768, 100, 1314,-32768,
1287 -32768,-32768,-32768, 1250,-32768, 1090,-32768,-32768,-32768,-32768,
1288 -32768,-32768, 629, 629, 887, 1292, 1294, 10484,-32768,-32768,
1289 -32768,-32768, 1334, 9139, 1369,-32768, 887,-32768,-32768, 1338,
1290 -32768,-32768, 811, 823,-32768, 861, 811, 9580, 864, 266,
1291 -32768,-32768,-32768,-32768,-32768,-32768, 339,-32768,-32768, 100,
1292 100,-32768,-32768,-32768, 9139, 9139, 10506, 423, 423,-32768,
1293 -32768,-32768,-32768, 7901,-32768,-32768,-32768,-32768, 100, 100,
1294 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1339,-32768,
1295 -32768,-32768, 9052,-32768,-32768,-32768, 1435, 8401, 6603, 9052,
1296 9139,-32768, 8209,-32768, 1394,-32768,-32768, 627,-32768,-32768,
1297 10015, 10015, 7441,-32768,-32768, 887,-32768,-32768, 10506, 10506,
1298 -32768, 1266, 1266, 1347, 10550, 1358,-32768,-32768, 5257,-32768,
1299 -32768, 1349, 443, 5186, 887, 8305,-32768,-32768, 71,-32768,
1300 -32768, 1402, 1359, 10619, 8209,-32768,-32768, 1250, 78,-32768,
1301 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 379, 208, 1360,
1302 1361, 887,-32768, 811,-32768,-32768,-32768,-32768, 638,-32768,
1303 7533,-32768,-32768,-32768,-32768, 1250, 1457, 1411, 156,-32768,
1304 -32768,-32768,-32768, 423, 71,-32768, 9139, 1413,-32768, 1414,
1305 -32768, 887, 8209, 1382, 53, 1418,-32768,-32768,-32768, 148,
1306 -32768, 1415,-32768, 1371,-32768,-32768,-32768,-32768, 9139, 1457,
1307 1421, 1457,-32768,-32768,-32768, 7625, 1373, 158,-32768,-32768,
1308 7257, 1377,-32768, 1479, 1439,-32768,-32768,-32768, 301,-32768,
1309 8305, 1490, 1442,-32768,-32768,-32768, 1508, 1509,-32768
1312 static const short yypgoto
[] = {-32768,
1313 1511,-32768, -303,-32768, 1101, 18, -1, 1515,-32768, 192,
1314 -32768,-32768, 519, 1161,-32768, 5,-32768,-32768, -623,-32768,
1315 -32768, 615,-32768, 1363, -668, 83, -664, 1392, 30,-32768,
1316 -32768,-32768,-32768,-32768, 774,-32768,-32768,-32768,-32768,-32768,
1317 -32768, 404, 661,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1318 -32768,-32768,-32768,-32768, 1440, -611, 5315, 32, -317, 44,
1319 1416, -503,-32768, 103,-32768, 222,-32768, -1302,-32768, -756,
1320 17,-32768, 1320, 1586, -262,-32768, -794, 1774, -110, 1098,
1321 3500, 1281,-32768, -87, -55, 1580, -77, 27,-32768,-32768,
1322 -32768, -319,-32768, -155,-32768,-32768, -1156, -47, -316, 2413,
1323 58, -240, -120, 52, 76, -181, -4, -144, -610, 312,
1324 -32768, 68, 73,-32768, -337,-32768,-32768,-32768,-32768,-32768,
1325 374, 1115, 20,-32768, 673,-32768,-32768, -1049, -422, 890,
1326 -32768,-32768,-32768,-32768,-32768, -32,-32768,-32768,-32768,-32768,
1327 -32768, 685, -360,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1328 1348,-32768, 426, 602,-32768,-32768,-32768,-32768, 566, -686,
1329 -32768,-32768,-32768,-32768,-32768,-32768, 833,-32768, 412, 966,
1330 704, 1024, 3968, 7, 51, -431, 1407, 3322, -438,-32768,
1331 19,-32768, 3079, -118, 247, -59, 3948, 1271,-32768, 4653,
1332 1794, 1660, -16, -115,-32768, 1471, -81,-32768, 4369, 2696,
1333 -290,-32768, 2504,-32768,-32768, 344,-32768,-32768, 471, 93,
1334 -353,-32768,-32768,-32768,-32768, -1262,-32768, -1191, -1324,-32768,
1335 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1336 -32768,-32768,-32768, 115,-32768,-32768,-32768,-32768,-32768, 153,
1337 -1232,-32768,-32768, -65,-32768,-32768,-32768,-32768, -1312, 92,
1338 -32768, 94,-32768, -616, -520, 660,-32768,-32768,-32768,-32768,
1339 -371,-32768, -364, -179,-32768, 681, 349,-32768, -394,-32768,
1344 #define YYLAST 10726
1347 static const short yytable
[] = { 58,
1348 408, 237, 37, 681, 937, 925, 180, 121, 41, 372,
1349 71, 453, 593, 655, 479, 602, 711, 279, 606, 607,
1350 656, 36, 501, 504, 653, 205, 789, 400, 403, 917,
1351 729, 58, 102, 45, 37, 1051, 58, 139, 143, 37,
1352 41, 371, 71, 469, 380, 41, 472, 71, 923, 632,
1353 978, 193, 980, 36, 534, 56, 458, 461, 36, 1007,
1354 151, 54, 1363, 237, 858, 45, 228, 677, 378, 1366,
1355 45, 858, 452, 383, 661, 662, 381, 382, 277, 57,
1356 208, 460, 329, 1448, 329, 192, 329, 56, 571, 278,
1357 1348, 1400, 56, 54, 750, 491, 1452, 571, 54, 571,
1358 241, 329, 329, 174, 1124, 1279, 1280, 1453, 482, 237,
1359 234, 57, 166, 581, 1130, 1520, 57, 605, 716, 1300,
1360 -44, 1478, 354, 344, -1, -44, 972, -125, 355, -2,
1361 390, 329, 336, 329, 337, 752, -44, 1014, 892, 136,
1362 1487, 71, 230, 1019, 649, 418, 87, 491, 674, 158,
1363 93, 945, 399, 402, 860, 58, 1509, 973, 276, 773,
1364 205, 699, 1521, 1460, 387, 1131, 71, 751, 205, 205,
1365 787, 945, 151, 151, 151, 1195, 505, 506, 1501, 392,
1366 951, 1125, 1475, 436, 438, 774, 389, 1488, 893, 45,
1367 159, 514, 388, 649, 515, 205, 667, 516, 926, 946,
1368 526, 174, 947, -326, 531, 151, 675, 419, 346, 350,
1369 57, 56, 570, 1532, -326, 208, 1478, 54, 419, 946,
1370 1534, 1456, 947, 208, -792, 92, 425, 155, 952, 106,
1371 -275, 953, 162, 935, 174, 57, 1374, 948, 576, 1517,
1372 420, 983, 88, 426, 205, 1380, 1381, 241, 1382, 788,
1373 1077, 420, 1450, 1400, 1192, 85, 568, 948, 671, 94,
1374 109, 110, 89, 1485, 456, 903, 954, 1535, 1084, 107,
1375 577, 1087, 427, 228, 486, 984, -275, -275, 1098, 985,
1376 153, 904, 902, 635, 602, 1008, 1214, 289, 126, 127,
1377 879, 108, -268, 482, 1159, 378, 205, 433, 527, 1270,
1378 528, -589, 1328, 27, 329, 86, 87, 458, 461, 1112,
1379 1113, 1518, 986, 111, 112, 458, 163, 277, 480, 640,
1380 938, 400, 403, 639, 655, 228, 1328, 461, 278, 896,
1381 134, 958, 714, 329, 611, 1009, 1215, 1344, 90, 27,
1382 658, 129, 130, 434, 649, 71, 461, -589, -589, 1271,
1383 858, 649, 1329, 241, 598, 835, 479, 205, 91, 1153,
1384 1542, 15, 16, -589, 481, 836, -385, -335, 609, 15,
1385 16, 1158, 1024, 1025, 1026, 593, 1425, -549, 136, 837,
1386 652, 608, 1463, 1464, 193, 763, -277, 156, 858, 643,
1387 389, 654, 153, 153, 153, -385, 610, 276, 1313, -385,
1388 599, -335, 1101, 167, 1178, -335, 1180, 514, 515, 1052,
1389 1543, 521, 157, 831, 57, -336, 171, 15, 16, 205,
1390 205, 137, 357, -549, 173, 153, 172, 205, 858, 692,
1391 832, 764, -277, -277, -549, 208, 1079, 358, -335, 205,
1392 654, 138, 89, 126, 127, -385, 703, 704, -271, -336,
1393 199, 200, 1027, -336, 19, 649, 14, 91, 205, 833,
1394 651, 223, 927, 719, 720, 58, 151, 151, 151, 281,
1395 373, 374, 10, 1211, 1212, 225, 71, 1346, 208, 21,
1396 -549, 448, 280, 1007, 581, 137, -336, 737, 24, 136,
1397 581, 846, 329, -126, 27, 329, 129, 130, 329, 137,
1398 568, 743, 329, 779, 779, 779, 779, 928, 22, 651,
1399 835, 8, 9, 649, 27, 329, 929, 930, 709, 649,
1400 836, 745, 39, 28, 299, 329, 715, 744, 329, 717,
1401 773, 655, 359, 685, 837, 729, 773, 847, 656, 415,
1402 770, 968, 653, 970, 474, 57, 126, 127, 974, 866,
1403 342, 90, 136, 931, 39, 33, 602, 206, 207, 39,
1404 329, 277, 881, 340, 129, 130, 362, 363, 364, 458,
1405 848, 91, 278, 352, 115, 116, 117, 850, 205, 761,
1406 652, 1097, 356, 1123, 384, 858, 90, 692, 852, 854,
1407 475, 654, 360, 8, 484, 867, 868, 491, 654, 129,
1408 130, 910, 521, 915, 916, 521, 91, 361, 962, 776,
1409 534, 173, 365, 858, 241, 372, 849, 1186, 1188, 205,
1410 366, 367, 521, 851, 121, 762, 649, 1200, 118, 119,
1411 649, 329, 987, -268, 1117, 521, 975, 284, 343, 803,
1412 1354, 276, 1359, 90, 916, 193, 129, 130, 1119, 228,
1413 446, 447, 126, 127, 963, 936, 405, 482, 605, 205,
1414 651, 406, 649, 91, -584, 825, -7, 651, 649, 1121,
1415 485, 842, 126, 127, 100, 414, 1402, 935, 988, 899,
1416 1118, 205, 976, 114, 429, 1496, 153, 153, 153, 199,
1417 200, 652, 1480, 417, 1120, 14, 993, 1173, 1174, 1175,
1418 454, 455, 654, 27, 430, 129, 130, 1188, 649, 729,
1419 -102, 487, 15, 16, 488, 1122, 1266, 1268, 21, 492,
1420 489, 1272, 1403, 27, 217, 129, 130, 24, 490, 493,
1421 1060, 1497, 58, -545, 58, 649, -545, 774, 1513, 498,
1422 193, 58, 530, 71, -102, 71, 205, 649, -102, 652,
1423 329, 329, 71, 329, 737, 652, 737, 1375, 514, 515,
1424 654, 507, 1310, 737, 1196, 1197, 654, 1199, 743, 87,
1425 743, 651, 863, 992, 1002, 508, 743, 743, 126, 127,
1426 649, -102, 649, 368, -545, 509, -545, -545, 745, -545,
1427 745, 1148, 1149, 1150, 744, 510, 979, 745, 1015, 1016,
1428 -545, 1017, -545, 744, 1490, 397, 511, 981, 982, 571,
1429 15, 16, 57, 616, 57, -385, 1010, 619, -545, -545,
1430 1510, 57, -545, 343, 779, 126, 127, 620, 1054, 651,
1431 637, 129, 130, 622, -545, 651, 237, 15, 16, 555,
1432 556, 88, 623, -385, -385, 1326, 1327, 624, -385, -123,
1433 1369, 7, 8, 231, 10, 485, 779, 281, 373, 374,
1434 10, 89, 652, 8, 9, 649, 692, 636, 530, 665,
1435 343, -6, 831, 654, 638, 852, 854, 654, 129, 130,
1436 464, 466, 446, 1419, 527, 1316, 528, 668, 1395, 832,
1437 22, 686, 477, 649, 241, 710, 22, 232, 652, 705,
1438 779, 329, 233, 232, 652, 28, 29, 643, 343, 654,
1439 755, 28, 299, 1102, 1103, 654, 129, 130, 833, 1191,
1440 454, 1420, 237, 446, 1424, -100, 756, 15, 16, 233,
1441 757, 993, 758, 765, 843, 151, 774, 33, 766, 1057,
1442 233, 783, 651, 33, 692, 675, 651, 94, 109, 110,
1443 1201, 625, 626, 627, 90, 654, 126, 127, 779, -100,
1444 785, 513, -124, -100, 329, 94, 109, 110, 476, 88,
1445 861, 652, 786, 521, 91, 151, 788, 1160, 651, 845,
1446 859, 1406, 654, 652, 651, 400, 403, 8, 9, 89,
1447 94, 95, 96, 1417, 654, 863, -100, 884, 885, 894,
1448 581, 111, 112, 618, 22, 895, 58, 27, 992, 129,
1449 130, 897, 628, 400, 403, 898, 652, 71, 652, 111,
1450 112, 514, 515, 582, 651, 618, 21, 654, 737, 654,
1451 237, 234, 343, 583, 905, 906, 343, 919, -271, 924,
1452 129, 130, 743, 584, 97, 98, 585, 586, 94, 95,
1453 96, 651, 209, 210, 211, 419, 942, 969, 329, 1162,
1454 -791, 943, 745, 651, 485, 1164, 1165, 655, 744, 1162,
1455 1167, 1146, 1406, 1165, 1471, 88, 944, 90, 950, 960,
1456 964, 971, 212, 1331, 1028, 1332, 57, 94, 109, 110,
1457 967, 1406, 94, 109, 110, 89, 651, 91, 651, 936,
1458 27, 652, 97, 98, 213, 1011, 1203, 965, 1536, 1029,
1459 1217, 1218, 654, 1030, 281, 373, 374, 10, 1493, 94,
1460 95, 96, 1253, 1031, 1012, 1248, 774, 718, 1032, 692,
1461 151, 151, 151, 71, 1033, 1034, 526, 88, 1217, 1218,
1462 654, 111, 112, 113, 1247, 1376, 111, 112, 1406, 1035,
1463 214, 215, 216, 22, 1036, 153, 677, 89, 151, 151,
1464 151, 126, 127, 126, 1297, 58, 27, 1037, 28, 299,
1465 196, 27, 204, 97, 98, 99, 71, 1038, 1252, 1043,
1466 -122, 651, 1040, 1041, 319, 1044, 319, 737, 319, 115,
1467 116, 117, 796, 1045, 1046, 153, 1047, 486, 649, 1059,
1468 33, 743, 57, 1353, 1048, 1353, 1049, 1062, 343, 651,
1469 1063, 1061, 27, 1064, 129, 130, 129, 130, 1070, 1071,
1470 205, 745, 115, 719, 720, 1072, 721, 744, 492, 1116,
1471 1080, 1081, 1139, 319, 844, 319, 521, 1078, 493, 1083,
1472 485, 27, 1253, 118, 119, 57, 1093, 193, 1090, 1253,
1473 722, 1096, 1248, 71, 1145, 1163, 1253, 723, 1168, 1248,
1474 71, 491, 1459, 1172, 1247, 779, 1176, 71, 1181, 1182,
1475 1183, 1247, 1184, 1189, 27, 1202, 118, 119, 1247, 1198,
1476 416, 1193, 1194, 1306, 1307, 1308, 1309, 7, 126, 127,
1477 10, 15, 16, 1312, 1204, 1205, -385, 1206, 1252, 1213,
1478 1209, 901, 400, 403, 1210, 1252, 1216, 204, 1124, 1221,
1479 514, 515, 1252, 918, 1265, 459, 204, 552, 553, 554,
1480 555, 556, 57, 1274, -385, -385, 22, 1275, 1278, 57,
1481 426, 1282, -626, 232, 1304, 1305, 57, 1315, 1311, 796,
1482 1314, 28, 29, 1320, 1343, 1321, 1323, 115, 719, 720,
1483 153, 153, 153, 1322, 1155, 1156, 198, 199, 200, 1330,
1484 1378, 1379, 1339, 14, 1340, 233, 94, 109, 110, 1341,
1485 209, 210, 211, 33, 1349, 722, 1351, 1364, 153, 153,
1486 153, 19, 1367, 1169, 151, 1409, 21, 1410, 362, 363,
1487 364, 1391, 966, 1392, 1414, 24, 1474, 512, 1443, 27,
1488 212, 118, 119, 1253, 1253, 1443, 1248, 1393, 1253, 278,
1489 205, 1248, 8, 9, 71, 71, 278, 1394, 329, 71,
1490 111, 112, 1396, 1398, 456, 1247, 1247, 703, 704, 1416,
1491 1247, 1418, 1439, 1013, 652, 319, 94, 95, 96, 1018,
1492 27, 1253, 366, 367, 1248, 654, 1415, 151, 151, 151,
1493 1253, 1447, 71, 1248, 1457, 1465, 1467, 343, 1473, 1252,
1494 1252, 71, 1482, 1247, 1252, 129, 130, 1504, 1483, 1491,
1495 1492, 1508, 1247, 1515, 1516, 1519, 1443, 1522, 276, 1524,
1496 1525, 1529, 1533, 57, 57, 276, 1537, 278, 57, 1538,
1497 97, 98, 126, 127, 115, 719, 720, 1252, 1253, 1540,
1498 1545, 1248, 1546, 196, 204, 1441, 1252, 1548, 1549, 71,
1499 1, 803, 1441, 670, 651, 634, 5, 1099, 1003, 1222,
1500 1247, 57, 412, 680, 684, 521, 281, 8, 9, 10,
1501 57, 684, 339, 128, 1285, 1286, 1253, 1295, 1296, 1248,
1502 1298, 1494, 1073, 27, 1074, 129, 130, 71, 118, 119,
1503 1489, 413, 628, 393, 1252, 1405, 276, 1544, 1247, 416,
1504 497, 557, 901, 1356, 1092, 22, 459, 204, 941, 468,
1505 416, 1091, 232, 1276, 459, 1151, 1170, 1005, 57, 1299,
1506 28, 299, 887, 1441, 457, 199, 200, 416, 1089, 830,
1507 449, 14, 1252, 370, 319, 684, 578, 1362, 1262, 1514,
1508 558, 559, 1523, 1511, 153, 560, 561, 562, 563, 19,
1509 1486, 1528, 33, 150, 21, 1530, 57, 1138, 1368, 0,
1510 0, 1527, 0, 24, 0, 0, 0, 319, 803, 680,
1511 0, 0, 800, 801, 0, 805, 806, 807, 808, 809,
1512 810, 811, 812, 813, 814, 815, 816, 817, 818, 819,
1513 820, 821, 822, 823, 0, 0, 1372, 1373, 0, 684,
1514 0, 684, 684, 0, 0, 0, 0, 153, 153, 153,
1515 0, 0, 0, 0, 0, 732, 0, 7, 8, 733,
1516 10, 386, 12, 13, 0, 198, 199, 200, 14, 684,
1517 126, 127, 14, 0, 0, 13, 684, 0, 0, 0,
1518 1177, 1187, 1179, 17, 0, 18, 19, 20, 0, 0,
1519 19, 21, -492, 0, 0, 21, 22, 889, 891, 0,
1520 24, 734, 0, 642, 24, 204, 401, 404, 0, 27,
1521 0, 28, 29, 319, 581, 735, 0, 736, 239, 659,
1522 0, 27, 0, 129, 130, 31, 682, 0, 0, 0,
1523 1431, 1432, 1433, 682, 0, 32, 1208, 582, 150, 0,
1524 0, 0, 239, 33, 196, 0, 204, 583, 34, 550,
1525 551, 552, 553, 554, 555, 556, 680, 584, 0, 0,
1526 585, 586, 0, 0, 1227, -492, 0, 0, 8, 9,
1527 1187, 239, 12, 13, 0, 0, 0, 79, 14, 0,
1528 239, 0, 1461, 1462, 0, 0, 204, 103, 0, 0,
1529 0, 0, 0, 17, 0, 18, 0, 682, 132, 0,
1530 0, 21, 0, 0, 141, 141, 0, 141, 459, 79,
1531 24, 416, 1277, 977, 79, 0, 0, 1281, 0, 27,
1532 0, 129, 130, 564, 0, 0, 239, 187, 0, 79,
1533 0, 0, 319, 319, 0, 319, 0, 220, 0, 196,
1534 600, 8, 9, 0, 103, 416, 0, 1512, 0, 0,
1535 684, 0, 0, 0, 0, 243, 103, 0, 565, 239,
1536 0, 682, 0, 682, 682, 0, 0, 1317, 523, 0,
1537 0, 0, 1039, 0, 0, 0, 289, 601, 103, 22,
1538 0, 0, 239, 1345, 0, 0, 989, 990, 9, 10,
1539 0, 682, 27, 0, 129, 130, 0, 0, 682, 0,
1540 0, 132, 0, 0, 0, 0, 132, -277, 79, 680,
1541 684, 0, 141, 0, 0, 395, 141, 0, 0, 141,
1542 141, 141, -277, -277, 684, 22, 684, -277, 684, 0,
1543 0, 0, 0, 79, 0, 0, 0, 0, 27, 0,
1544 28, 29, 0, -277, 1154, 0, 991, 0, 0, 0,
1545 187, 187, 187, 0, 177, -277, -277, 0, -277, 0,
1546 -277, 1088, 1387, 1388, 178, 0, 1401, 0, 0, 0,
1547 0, 684, 33, 239, 0, 0, 0, 179, 1397, 187,
1548 0, 0, 0, 319, 198, 199, 200, 0, 0, -277,
1549 -277, 14, 683, -277, 467, 0, 1111, 0, 0, 690,
1550 401, 404, 103, 0, 0, -277, 0, 0, 684, 19,
1551 0, 0, 0, 141, 21, 0, 0, 0, 0, 7,
1552 8, 9, 10, 24, 0, 13, 684, 0, 0, 0,
1553 1427, 1428, 0, 0, 239, 0, 0, 0, 882, 548,
1554 549, 550, 551, 552, 553, 554, 555, 556, 0, 1437,
1555 1438, 103, 494, 0, 0, 0, 0, 0, 22, 523,
1556 0, 0, 523, 771, 581, 0, 0, 0, 1161, 0,
1557 0, 27, 682, 28, 29, 416, 416, 0, 401, 784,
1558 0, 587, 587, 587, 0, 0, 0, 907, 0, 0,
1559 0, 0, 523, 0, 0, 103, 0, 908, 0, 579,
1560 0, 494, 494, 595, 416, 33, 239, 584, 0, 0,
1561 909, 586, 79, 0, 0, 0, 0, 680, 680, 0,
1562 0, 1190, 0, 0, 0, 0, 0, 824, 132, 826,
1563 827, 0, 682, 239, 7, 8, 9, 10, 0, 0,
1564 319, 0, 0, 0, 0, 0, 682, 0, 682, 0,
1565 682, 874, 132, 0, 0, 0, 0, 0, 103, 0,
1566 0, 187, 103, 0, 878, 0, 0, 0, 0, 0,
1567 0, 0, 141, 22, 0, 141, 0, 0, 0, 581,
1568 141, 0, 0, 0, 0, 0, 27, 0, 28, 29,
1569 0, 0, 0, 682, 0, 684, 0, 684, 0, 684,
1570 0, 0, 907, 0, 0, 0, 0, 680, 0, 187,
1571 0, 187, 908, 187, 187, 187, 680, 680, 239, 187,
1572 33, 680, 584, 0, 187, 909, 586, 187, 0, 0,
1573 682, 0, 0, 0, 239, 0, 1283, 1284, 0, 0,
1574 0, 0, 0, 79, 0, 0, 0, 0, 682, 0,
1575 0, 0, 0, 0, 0, 416, 416, 0, 416, 416,
1576 0, 416, 680, 0, 732, 0, 7, 8, 733, 10,
1577 386, 12, 13, 0, 0, 0, 0, 14, 0, 0,
1578 0, 103, 103, 103, 103, 0, 0, 0, 0, 0,
1579 0, 684, 17, 0, 18, 19, 20, 0, 0, 0,
1580 21, -493, 0, 0, 0, 22, 0, 0, 0, 24,
1581 734, 0, 642, 0, 0, 1338, 0, 0, 27, 0,
1582 28, 29, 0, 0, 735, 0, 736, 0, 0, 0,
1583 0, 0, 874, 0, 31, 587, 587, 0, 587, 103,
1584 0, 494, 0, 0, 32, 873, 196, 204, 0, 0,
1585 680, 0, 33, 579, 0, 494, 494, 34, 595, 0,
1586 0, 0, 0, 0, 0, 875, 1377, 0, 0, 877,
1587 0, 0, 0, 0, -493, 0, 0, 416, 416, 0,
1588 0, 0, 0, 187, 0, 0, 0, 0, 680, 7,
1589 126, 127, 10, 0, 0, 13, 0, 0, 1053, 0,
1590 0, 0, 587, 0, 587, 587, 572, 587, 281, 373,
1591 374, 10, 1065, 573, 1066, 0, 1067, 682, 0, 682,
1592 0, 682, 187, 914, 187, 187, 220, 595, 22, 401,
1593 784, 0, 0, 0, 0, 684, 0, 0, 0, 0,
1594 0, 27, 0, 28, 29, 587, 0, 22, 0, 0,
1595 0, 0, 1429, 1430, 574, 0, 0, 31, 0, 1095,
1596 27, 1435, 28, 299, 0, 187, 0, 32, 150, 914,
1597 0, 416, 416, 416, 0, 33, 187, 187, 0, 187,
1598 34, 0, 0, 0, 0, 0, 0, 0, 1454, 0,
1599 0, 0, 0, 0, 575, 0, 1114, 0, 349, 351,
1600 0, 0, 0, 0, 0, 0, 0, 132, 1136, 0,
1601 79, 0, 79, 682, 239, 0, 239, 1000, 79, 79,
1602 0, 0, 0, 416, 416, 0, 0, 103, 0, 0,
1603 0, 0, 587, 103, 0, 7, 8, 9, 10, 0,
1604 494, 494, 494, 0, 0, 0, 0, 0, 0, 0,
1605 0, 0, 494, 239, 0, 0, 0, 0, 8, 9,
1606 0, 386, 12, 13, 0, 0, 688, 0, 14, 0,
1607 0, 0, 0, 0, 22, 0, 0, 989, 990, 9,
1608 10, 0, 0, 17, 0, 18, 19, 27, 416, 28,
1609 29, 21, 0, 176, 0, 0, 0, 0, 0, 0,
1610 24, 0, 103, 177, 0, 587, 0, 587, 680, 27,
1611 0, 129, 130, 178, 0, 0, 22, 0, 587, 0,
1612 0, 33, 873, 873, 873, 494, 179, 494, 0, 27,
1613 0, 28, 29, 0, 103, 0, 0, 991, 494, 239,
1614 103, 0, 875, 875, 875, 177, 0, 0, 0, 1082,
1615 0, 0, 689, 0, 0, 178, 0, 682, 0, 0,
1616 587, 587, 587, 33, 401, 404, 126, 127, 179, 0,
1617 0, 227, 0, 0, 0, 0, 103, 0, 103, 82,
1618 187, 187, 1108, 1223, 0, 1224, 0, 1225, 0, 105,
1619 0, 0, 401, 1264, 0, 0, 0, 0, 0, 125,
1620 133, 525, 873, 0, 0, 0, 142, 142, 0, 142,
1621 581, 82, 0, 0, 0, 0, 82, 27, 0, 129,
1622 130, 239, 1108, 0, 0, 0, 0, 0, 0, 142,
1623 0, 82, 0, 582, 0, 0, 103, 0, 0, 221,
1624 0, 0, 0, 583, 0, 0, 229, 239, 0, 103,
1625 0, 0, 1000, 584, 0, 0, 585, 586, 229, 0,
1626 0, 103, 281, 126, 127, 10, 0, 0, 0, 0,
1627 0, 0, 0, 0, 1166, 0, 0, 648, 0, 1319,
1628 0, 0, 0, 0, 79, 0, 0, 0, 7, 8,
1629 9, 10, 0, 0, 103, 0, 103, 0, 0, 0,
1630 0, 22, 0, 379, 0, 239, 0, 0, 232, 0,
1631 82, 590, 594, 597, 142, 0, 28, 299, 142, 0,
1632 0, 142, 142, 142, 0, 0, 691, 22, 494, 494,
1633 0, 494, 0, 0, 232, 82, 0, 0, 0, 0,
1634 8, 9, 28, 29, 12, 13, 0, 0, 33, 0,
1635 14, 0, 142, 142, 142, 587, 587, 587, 587, 587,
1636 0, 0, 0, 587, 0, 17, 233, 18, 0, 0,
1637 0, 0, 0, 21, 33, 187, 187, 187, 187, 1108,
1638 0, 142, 24, 187, 0, 873, 873, 873, 0, 0,
1639 0, 27, 772, 129, 130, 775, 0, 0, 0, 777,
1640 778, 780, 781, 782, 0, 1108, 1108, 1108, 7, 126,
1641 127, 10, 525, 0, 227, 142, 0, 1136, 0, 0,
1642 7, 8, 9, 10, 0, 799, 227, 0, 0, 0,
1643 829, 0, 0, 0, 0, 0, 187, 0, 0, 0,
1644 0, 141, 0, 79, 0, 0, 0, 22, 0, 0,
1645 0, 0, 0, 229, 142, 0, 0, 828, 0, 22,
1646 27, 0, 28, 29, 0, 581, 0, 0, 0, 0,
1647 587, 587, 27, 587, 28, 29, 31, 856, 0, 0,
1648 0, 401, 1264, 0, 856, 0, 32, 0, 907, 0,
1649 187, 187, 0, 187, 33, 0, 0, 229, 908, 34,
1650 0, 580, 0, 142, 142, 596, 33, 0, 584, 0,
1651 604, 909, 586, 0, 82, 7, 126, 127, 10, 0,
1652 0, 13, 0, 0, 187, 914, 187, 0, 0, 0,
1653 379, 0, 281, 8, 9, 10, 0, 0, 0, 0,
1654 0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
1655 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
1656 229, 0, 75, 142, 229, 853, 855, 27, 0, 28,
1657 29, 22, 0, 0, 142, 0, 0, 142, 232, 0,
1658 0, 0, 142, 146, 0, 0, 28, 299, 648, 140,
1659 144, 0, 0, 147, 75, 0, 0, 0, 0, 75,
1660 0, 33, 281, 8, 9, 10, 148, 0, 0, 0,
1661 233, 142, 0, 142, 197, 142, 142, 142, 33, 0,
1662 0, 142, 7, 8, 9, 10, 142, 0, 13, 142,
1663 0, 1108, 912, 0, 590, 594, 0, 597, 0, 0,
1664 0, 22, 0, 0, 731, 82, 691, 0, 232, 0,
1665 0, 0, 691, 0, 0, 0, 28, 299, 0, 0,
1666 0, 22, 0, 0, 0, 0, 0, 581, 0, 0,
1667 0, 0, 0, 0, 27, 594, 28, 29, 0, 0,
1668 485, 0, 0, 229, 229, 229, 229, 0, 33, 0,
1669 1104, 0, 0, 391, 1108, 1108, 1108, 394, 0, 0,
1670 1105, 396, 0, 0, 0, 0, 0, 0, 33, 0,
1671 584, 0, 103, 1106, 586, 0, 0, 187, 75, 0,
1672 6, 1050, 7, 8, 9, 10, 11, 12, 13, 0,
1673 0, 0, 0, 14, 0, 140, 144, 0, 0, 0,
1674 0, 229, 0, 142, 0, 0, 15, 16, 17, 0,
1675 18, 19, 20, 799, 0, 0, 21, 142, 142, 691,
1676 596, 22, 594, 856, 23, 24, 25, 876, 26, 0,
1677 0, 0, 0, 0, 27, 0, 28, 29, 0, 604,
1678 30, 0, 0, 0, 0, 142, 0, 0, 0, 0,
1679 31, 1287, 1288, 9, 10, 648, 0, 1100, 483, 0,
1680 32, 856, 0, 0, 0, 0, 0, 0, 33, 0,
1681 0, 0, 0, 34, 0, 0, 125, 0, 0, 35,
1682 0, 0, 0, 0, 142, 596, 142, 142, 221, 596,
1683 22, 0, 0, 0, 0, 1068, 0, 1069, 0, 0,
1684 0, 856, 0, 27, 0, 28, 29, 731, 1075, 0,
1685 0, 1289, 853, 855, 0, 1141, 0, 0, 0, 177,
1686 0, 1147, 0, 0, 0, 0, 0, 142, 691, 178,
1687 0, 596, 0, 0, 0, 0, 0, 33, 142, 142,
1688 691, 142, 179, 0, 0, 0, 0, 0, 0, 0,
1689 853, 855, 0, 0, 0, 0, 0, 612, 7, 8,
1690 9, 10, 0, 0, 13, 0, 0, 0, 0, 133,
1691 0, 0, 82, 691, 82, 691, 0, 0, 0, 1001,
1692 82, 82, 0, 0, 0, 0, 0, 0, 0, 229,
1693 0, 0, 0, 0, 0, 229, 0, 22, 0, 0,
1694 0, 0, 142, 142, 142, 0, 0, 0, 0, 0,
1695 27, 0, 28, 29, 142, 0, 0, 663, 0, 0,
1696 664, 0, 0, 0, 0, 666, 177, 0, 0, 7,
1697 8, 9, 10, 0, 0, 482, 178, 0, 437, 439,
1698 443, 0, 0, 50, 33, 0, 0, 0, 0, 179,
1699 0, 0, 0, 0, 394, 0, 396, 0, 856, 0,
1700 0, 0, 0, 0, 229, 0, 0, 0, 22, 483,
1701 50, 50, 0, 149, 581, 50, 0, 0, 0, 0,
1702 50, 27, 0, 28, 29, 0, 856, 142, 749, 142,
1703 0, 0, 0, 50, 0, 50, 229, 907, 0, 0,
1704 142, 0, 229, 0, 876, 876, 876, 908, 0, 0,
1705 0, 604, 0, 0, 0, 33, 0, 584, 235, 0,
1706 909, 586, 541, 542, 543, 544, 545, 546, 547, 548,
1707 549, 550, 551, 552, 553, 554, 555, 556, 229, 0,
1708 229, 0, 142, 142, 596, 1068, 1069, 853, 855, 0,
1709 0, 0, 0, 1075, 544, 545, 546, 547, 548, 549,
1710 550, 551, 552, 553, 554, 555, 556, 376, 0, 0,
1711 0, 376, 376, 0, 50, 853, 855, 0, 50, 0,
1712 235, 0, 50, 0, 876, 149, 149, 149, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 229, 50,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
1715 0, 229, 0, 0, 1001, 0, 50, 50, 149, 0,
1716 0, 0, 1141, 229, 0, 0, 235, 0, 0, 126,
1717 127, 0, 0, 199, 200, 0, 0, 0, 0, 14,
1718 0, 0, 0, 0, 0, 50, 82, 0, 0, 0,
1719 0, 0, 0, 0, 0, 0, 229, 0, 229, 0,
1720 1068, 1069, 21, 1075, 0, 0, 0, 0, 913, 0,
1721 0, 24, 0, 581, 0, 0, 0, 0, 0, 50,
1722 27, 0, 129, 130, 0, 0, 0, 0, 0, 0,
1723 142, 142, 0, 142, 0, 0, 582, 701, 0, 702,
1724 0, 437, 439, 443, 0, 0, 583, 0, 0, 0,
1725 0, 0, 713, 0, 956, 0, 584, 0, 0, 592,
1726 586, 663, 664, 0, 666, 545, 546, 547, 548, 549,
1727 550, 551, 552, 553, 554, 555, 556, 142, 142, 142,
1728 142, 596, 0, 0, 0, 142, 0, 0, 522, 0,
1729 0, 731, 0, 0, 0, 749, 0, 749, 0, 0,
1730 0, 0, 999, 1006, 749, 376, 0, 876, 876, 876,
1731 0, 0, 0, 235, 0, 525, 0, 0, 50, 0,
1732 0, 0, 0, 731, 0, 0, 0, 0, 0, 0,
1733 0, 648, 0, 0, 376, 0, 0, 0, 142, 0,
1734 0, 0, 0, 142, 0, 82, 7, 8, 9, 10,
1735 386, 12, 13, 0, 0, 688, 0, 14, 376, 0,
1736 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
1737 0, 0, 17, 0, 18, 19, 0, 0, 50, 0,
1738 21, 50, 0, 0, 0, 22, 50, 0, 0, 24,
1739 0, 581, 142, 142, 0, 142, 0, 0, 27, 0,
1740 28, 29, 0, 0, 0, 0, 0, 0, 0, 0,
1741 0, 0, 0, 0, 1104, 50, 0, 50, 0, 149,
1742 149, 149, 0, 0, 1105, 50, 142, 596, 142, 0,
1743 50, 77, 33, 50, 584, 0, 0, 1106, 586, 0,
1744 0, 689, 0, 0, 0, 229, 0, 0, 0, 50,
1745 0, 0, 0, 0, 0, 0, 0, 0, 77, 77,
1746 0, 77, 0, 77, 0, 140, 144, 0, 77, 0,
1747 7, 126, 127, 10, 0, 0, 482, 0, 0, 522,
1748 0, 77, 522, 77, 0, 0, 0, 0, 0, 0,
1749 8, 9, 0, 0, 12, 227, 0, 522, 522, 522,
1750 14, 0, 0, 0, 701, 702, 0, 713, 0, 22,
1751 0, 0, 522, 0, 0, 17, 0, 18, 0, 0,
1752 0, 0, 27, 21, 28, 29, 0, 0, 240, 0,
1753 0, 0, 24, 876, 581, 0, 0, 999, 31, 0,
1754 0, 27, 0, 129, 130, 998, 0, 0, 32, 126,
1755 127, 0, 0, 199, 200, 0, 33, 582, 235, 14,
1756 0, 34, 77, 0, 0, 0, 77, 583, 0, 749,
1757 77, 522, 0, 77, 77, 77, 0, 584, 0, 0,
1758 585, 586, 21, 0, 0, 0, 0, 77, 0, 50,
1759 0, 24, 0, 581, 0, 0, 876, 876, 876, 0,
1760 27, 407, 129, 130, 77, 77, 77, 0, 0, 0,
1761 0, 0, 0, 0, 229, 0, 582, 0, 0, 142,
1762 0, 0, 435, 0, 0, 0, 583, 0, 50, 50,
1763 50, 50, 0, 77, 0, 451, 584, 8, 9, 585,
1764 586, 12, 227, 0, 0, 0, 0, 14, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1766 394, 396, 17, 0, 18, 0, 0, 77, 483, 0,
1767 21, 50, 0, 0, 0, 50, 0, 0, 0, 24,
1768 0, 0, 50, 50, 0, 50, 0, 0, 27, 0,
1769 129, 130, 0, 0, 0, 0, 0, 0, 0, 732,
1770 0, 7, 8, 733, 10, 386, 12, 13, 437, 439,
1771 443, 0, 14, 0, 0, 0, 50, 0, 50, 0,
1772 0, 1294, 0, 50, 50, 50, 1294, 17, 749, 18,
1773 19, 20, 0, 0, 0, 21, -495, 0, 0, 0,
1774 22, 0, 0, 0, 24, 734, 0, 642, 0, 0,
1775 443, 0, 522, 27, 0, 28, 29, 0, 0, 735,
1776 0, 736, 603, 0, 0, 0, 77, 0, 0, 31,
1777 0, 0, 0, 0, 0, 663, 664, 0, 666, 32,
1778 998, 0, 0, 0, 0, 0, 0, 33, 7, 8,
1779 9, 10, 34, 0, 227, 543, 544, 545, 546, 547,
1780 548, 549, 550, 551, 552, 553, 554, 555, 556, -495,
1781 1357, 0, 0, 0, 0, 77, 0, 0, 0, 0,
1782 0, 0, 0, 0, 0, 0, 77, 22, 0, 77,
1783 0, 0, 0, 0, 77, 0, 0, 0, 0, 0,
1784 27, 0, 28, 29, 0, 0, 0, 0, 522, 522,
1785 522, 0, 0, 0, 235, 0, 177, 0, 0, 0,
1786 0, 0, 0, 77, 0, 77, 178, 77, 77, 77,
1787 0, 0, 0, 77, 33, 0, 0, 0, 77, 179,
1788 0, 77, 154, 0, 0, 0, 50, 50, 149, 0,
1789 0, 706, 0, 235, 0, 0, 712, 77, 0, 0,
1790 0, 0, 188, 701, 702, 437, 439, 443, 0, 0,
1791 0, 713, 0, 0, 7, 8, 9, 10, 198, 199,
1792 200, 753, 0, 0, 0, 14, 0, 759, 1135, 0,
1793 0, 0, 0, 437, 439, 443, 0, 0, 0, 767,
1794 768, 0, 769, 19, 0, 0, 0, 0, 21, 0,
1795 0, 0, 0, 22, 0, 0, 0, 24, 50, 581,
1796 1287, 126, 127, 10, 1293, 0, 27, 0, 28, 29,
1797 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
1798 0, 0, 907, 0, 0, 0, 0, 0, 0, 0,
1799 50, 0, 908, 0, 154, 154, 154, 0, 0, 22,
1800 33, 0, 584, 0, 0, 909, 586, 603, 0, 0,
1801 0, 0, 27, 0, 28, 29, 0, 0, 701, 702,
1802 1289, 713, 0, 0, 0, 188, 188, 444, 31, 0,
1803 0, 0, 0, 0, 0, 864, 865, 77, 32, 0,
1804 864, 0, 0, 0, 0, 0, 33, 0, 0, 0,
1805 0, 34, 0, 0, 188, 0, 0, 0, 0, 0,
1806 0, 235, 0, 0, 0, 0, 7, 8, 9, 10,
1807 0, 0, 13, 0, 0, 0, 77, 77, 77, 77,
1808 0, 50, 50, 149, 149, 149, 0, 235, 0, 50,
1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 7, 8, 9, 10, 22, 0, 482, 0, 0,
1811 0, 1135, 1135, 1135, 0, 0, 0, 0, 27, 77,
1812 28, 29, 0, 77, 0, 0, 0, 495, 0, 0,
1813 77, 77, 0, 77, 440, 0, 0, 0, 0, 0,
1814 22, 0, 50, 0, 441, 0, 0, 50, 0, 50,
1815 0, 0, 33, 27, 0, 28, 29, 442, 0, 443,
1816 0, 0, 126, 127, 77, 0, 77, 482, 0, 177,
1817 0, 77, 77, 77, 0, 0, 589, 589, 589, 178,
1818 0, 0, 0, 0, 0, 0, 186, 33, 7, 8,
1819 9, 10, 179, 0, 0, 0, 50, 50, 0, 50,
1820 0, 0, 0, 0, 0, 0, 581, 0, 1020, 0,
1821 1022, 238, 0, 27, 242, 129, 130, 0, 0, 0,
1822 0, 0, 437, 439, 443, 0, 0, 22, 0, 582,
1823 50, 50, 50, 0, 0, 238, 188, 345, 0, 583,
1824 27, 0, 28, 29, 0, 0, 1352, 0, 0, 584,
1825 0, 0, 585, 586, 0, 0, 177, 0, 0, 0,
1826 0, 0, 0, 0, 0, 0, 178, 0, 0, 0,
1827 0, 0, 0, 0, 33, 0, 0, 0, 0, 179,
1828 0, 0, 1055, 1056, 188, 1058, 188, 0, 444, 444,
1829 444, 0, 0, 0, 188, 0, 0, 0, 0, 188,
1830 0, 0, 188, 603, 0, 0, 0, 0, 0, 186,
1831 186, 186, 0, 1076, 0, 0, 0, 0, 0, 450,
1832 8, 9, 0, 386, 12, 13, 0, 0, 688, 0,
1833 14, 0, 0, 0, 77, 77, 77, 1135, 186, 0,
1834 0, 7, 126, 127, 10, 17, 0, 18, 19, 0,
1835 0, 0, 0, 21, 0, 0, 0, 0, 1110, 0,
1836 0, 242, 24, 0, 581, 0, 0, 0, 0, 0,
1837 0, 27, 0, 129, 130, 238, 1137, 0, 0, 0,
1838 22, 0, 0, 0, 0, 0, 0, 582, 0, 0,
1839 0, 0, 0, 27, 0, 28, 29, 583, 0, 0,
1840 1135, 1135, 1135, 0, 0, 0, 77, 584, 0, 146,
1841 585, 586, 0, 0, 689, 0, 838, 0, 0, 147,
1842 0, 0, 1152, 50, 0, 0, 0, 33, 0, 0,
1843 589, 589, 148, 589, 1157, 0, 0, 0, 77, 0,
1844 589, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1845 8, 9, 0, 386, 12, 13, 0, 0, 188, 0,
1846 14, 0, 0, 0, 0, 0, 238, 242, 0, 0,
1847 0, 7, 8, 9, 10, 17, 0, 18, 19, 0,
1848 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1849 0, 0, 641, 0, 0, 642, 0, 911, 0, 911,
1850 911, 27, 589, 129, 130, 0, 0, 0, 0, 0,
1851 22, 0, 0, 0, 0, 0, 0, 0, 1207, 0,
1852 186, 0, 0, 27, 0, 28, 29, 0, 0, 77,
1853 77, 77, 77, 77, 0, 0, 0, 77, 0, 440,
1854 911, 0, 0, 0, 0, 0, 0, 0, 0, 441,
1855 0, 188, 188, 0, 188, 0, 1220, 33, 0, 1137,
1856 1137, 1137, 442, 0, 0, 0, 0, 0, 186, 0,
1857 186, 0, 186, 186, 186, 0, 0, 0, 186, 0,
1858 0, 0, 0, 186, 0, 0, 186, 0, 0, 0,
1859 77, 0, 188, 0, 0, 77, 0, 77, 0, 0,
1860 0, 0, 0, 0, 0, 732, 0, 7, 8, 733,
1861 10, 386, 12, 13, 0, 495, 495, 495, 14, 1302,
1862 0, 0, 0, 1303, 0, 0, 0, 589, 0, 0,
1863 0, 0, 0, 17, 0, 18, 19, 20, 0, 0,
1864 0, 21, -494, 0, 77, 77, 22, 77, 0, 0,
1865 24, 734, 0, 642, 0, 0, 1318, 0, 0, 27,
1866 0, 28, 29, 0, 0, 735, 0, 736, 7, 8,
1867 9, 10, 0, 0, 0, 31, 0, 0, 77, 77,
1868 77, 0, 0, 0, 0, 32, 0, 0, 0, 0,
1869 0, 0, 0, 33, 0, 0, 0, 0, 34, 0,
1870 589, 0, 589, 0, 0, 0, 0, 22, 0, 0,
1871 0, 0, 0, 589, 0, -494, 0, 589, 589, 589,
1872 27, 0, 28, 29, 0, 1370, 0, 238, 242, 1371,
1873 0, 0, 0, 0, 0, 0, 177, 0, 0, 0,
1874 8, 9, 186, 386, 12, 13, 178, 0, 1470, 0,
1875 14, 1389, 1390, 0, 33, 911, 911, 1109, 0, 179,
1876 0, 0, 0, 0, 0, 17, 0, 18, 19, 0,
1877 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1878 0, 186, 24, 186, 186, 1137, 0, 0, 0, 0,
1879 0, 27, 0, 129, 130, 0, 0, 1109, 0, 0,
1880 7, 8, 9, 10, 198, 199, 200, 0, 101, 0,
1881 0, 14, 0, 0, 0, 0, 0, 0, 120, 101,
1882 0, 0, 0, 0, 186, 101, 101, 188, 101, 19,
1883 0, 0, 0, 0, 21, 186, 186, 0, 186, 22,
1884 0, 0, 0, 24, 0, 581, 0, 0, 1137, 1137,
1885 1137, 0, 27, 0, 28, 29, 8, 9, 219, 189,
1886 12, 190, 0, 242, 0, 0, 14, 0, 907, 0,
1887 0, 77, 0, 0, 0, 0, 186, 0, 908, 0,
1888 0, 17, 0, 18, 19, 0, 33, 0, 584, 21,
1889 0, 949, 586, 0, 0, 0, 0, 0, 24, 0,
1890 0, 0, 0, 838, 838, 0, 838, 27, 0, 129,
1891 130, 0, 0, 0, 0, 0, 0, 369, 0, 120,
1892 0, 0, 101, 0, 0, 0, 101, 101, 0, 0,
1893 0, 0, 0, 101, 0, 101, 101, 101, 0, 0,
1894 101, 101, 101, 0, 0, 0, 0, 0, 0, 0,
1895 911, 911, 1109, 1109, 1109, 0, 0, 0, 911, 539,
1896 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
1897 550, 551, 552, 553, 554, 555, 556, 0, 0, 0,
1898 1109, 1109, 1109, 0, 0, 0, 0, 0, 0, 0,
1899 0, 0, 0, 0, 0, 0, 0, 732, 0, 7,
1900 8, 733, 10, 386, 12, 13, 0, 238, 242, 238,
1901 14, 188, 0, 0, 465, 101, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 17, 0, 18, 19, 20,
1903 0, 0, 0, 21, 101, 0, 0, 0, 22, 186,
1904 186, 1107, 24, 734, 0, 642, 238, 0, 0, 0,
1905 0, 27, 0, 28, 29, 0, 0, 735, 0, 736,
1906 0, 0, 0, 0, 0, 911, 911, 31, 911, 0,
1907 0, 0, 0, 101, 0, 0, 0, 32, 0, 0,
1908 0, 1107, 0, 0, 0, 33, 0, 0, 0, 244,
1909 34, 0, 8, 9, 0, 0, 12, 13, 0, 188,
1910 0, 188, 14, 0, 0, 0, 0, 0, 0, 0,
1911 0, 186, 0, 0, 0, 0, 0, 17, 0, 18,
1912 101, 0, 101, 101, 0, 21, 0, 245, 246, 0,
1913 0, 0, 450, 0, 24, 0, 247, 0, 0, 0,
1914 0, 0, 0, 27, 0, 129, 130, 0, 248, 101,
1915 0, 0, 249, 250, 251, 252, 253, 254, 255, 256,
1916 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
1917 267, 268, 269, 101, 0, 270, 271, 272, 0, 0,
1918 273, 0, 0, 274, 0, 0, 0, 0, 0, 101,
1919 0, 0, 0, 101, 0, 0, 101, 0, 0, 0,
1920 275, 101, 0, 0, 0, 0, 444, 0, 0, 0,
1921 0, 0, 0, 0, 238, 540, 541, 542, 543, 544,
1922 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1923 555, 556, 0, 0, 186, 186, 186, 186, 1107, 0,
1924 1219, 0, 186, 542, 543, 544, 545, 546, 547, 548,
1925 549, 550, 551, 552, 553, 554, 555, 556, 0, 0,
1926 0, 101, 0, 724, 1107, 1107, 1107, 0, 0, 444,
1927 444, 444, 0, 0, 0, 0, 0, 0, 7, 8,
1928 9, 10, 386, 12, 13, 0, 0, 955, 101, 14,
1929 0, 0, 188, 0, 0, 186, 0, 0, 0, 0,
1930 0, 0, 0, 0, 17, 0, 18, 19, 0, 0,
1931 0, 0, 21, 0, 0, 0, 0, 22, 0, 0,
1932 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1933 27, 0, 28, 29, 1383, 0, -449, -449, -449, -449,
1934 -449, -449, -449, 0, 0, -449, 31, -449, 0, 186,
1935 186, 0, 186, 0, 0, 0, 32, 0, -449, 0,
1936 -449, -449, 101, 0, 33, -449, 0, 0, 0, 34,
1937 -449, 0, 0, 101, 101, -449, 101, 101, 0, -449,
1938 0, -449, 0, 186, 0, 186, 0, 0, -449, 0,
1939 -449, -449, -449, -449, -449, 0, -449, -449, -449, -449,
1940 -449, -449, -449, -449, -449, -449, -449, -449, -449, -449,
1941 -449, -449, -449, -449, -449, -449, -449, -449, -449, 0,
1942 -449, -449, -449, 0, -449, -449, -449, -449, -449, -449,
1943 0, -449, -449, 0, 0, 120, 0, 1384, 0, 0,
1944 0, 0, -449, -449, -449, 0, -449, 219, 0, 0,
1945 161, 0, 7, 8, 9, 10, 11, 12, 13, 0,
1946 8, 9, 0, 14, 12, 13, 724, 0, 0, 0,
1947 14, 0, 0, 0, 0, 0, 15, 16, 17, 0,
1948 18, 19, 20, 0, 0, 17, 21, 18, 0, 0,
1949 1107, 22, 0, 21, 23, 24, 25, 0, 26, 0,
1950 0, 0, 24, 0, 27, 0, 28, 29, 0, 0,
1951 30, 27, 0, 129, 130, 0, 0, 0, 0, 0,
1952 31, 0, 0, 0, 0, 724, 0, 0, 101, 0,
1953 32, 0, 0, 0, 0, 0, 0, 0, 33, 0,
1954 0, 0, 0, 34, 0, 0, 0, 0, 0, 35,
1955 0, 0, 0, 1107, 1107, 1107, 0, 0, 0, 0,
1956 0, 101, 101, 101, 0, 0, 0, 0, 0, 0,
1957 0, 0, 0, 101, 0, 1360, 186, 1230, 1231, 1232,
1958 10, 386, 12, 282, 283, 284, 0, 285, 14, 1233,
1959 0, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
1960 1243, 15, 16, 17, 286, 18, 19, 20, 0, 287,
1961 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
1962 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
1963 0, 1244, 299, 675, 0, 1245, 300, 0, 0, 0,
1964 0, 0, 301, 0, 0, 302, 101, 0, 101, 0,
1965 0, 0, 0, 303, 304, 305, 0, 0, 0, 101,
1966 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
1967 1246, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968 0, 0, 0, 0, 0, 1361, 310, 1229, 0, 1230,
1969 1231, 1232, 10, 386, 12, 282, 283, 284, 0, 285,
1970 14, 1233, 0, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
1971 1241, 1242, 1243, 15, 16, 17, 286, 18, 19, 20,
1972 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
1973 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
1974 298, 27, 0, 1244, 299, 675, 0, 1245, 300, 0,
1975 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
1976 0, 0, 0, 0, 0, 303, 304, 305, 724, 0,
1977 0, 0, 0, 306, 307, 308, 0, 0, 0, 0,
1978 309, 517, 1246, 281, 8, 9, 10, 386, 12, 282,
1979 283, 284, 688, 285, 14, 101, 0, 0, 310, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
1981 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
1982 290, 291, 22, 292, 293, 0, 24, 0, 581, 0,
1983 294, 295, 296, 297, 298, 27, 0, 28, 299, -285,
1984 0, 0, 300, 0, 0, 0, 0, 0, 301, 101,
1985 101, 869, 101, 0, 0, 0, 0, 0, 0, 303,
1986 304, 870, 0, 0, 0, 0, 0, 306, 307, 308,
1987 0, 584, 0, 0, 871, 586, 0, 517, 689, 7,
1988 8, 9, 10, 386, 12, 282, 283, 284, 688, 285,
1989 14, 0, 310, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 17, 286, 18, 19, 20,
1991 724, 287, 288, 21, 0, 289, 290, 291, 22, 292,
1992 293, 0, 24, 0, 581, 0, 294, 295, 296, 297,
1993 298, 27, 0, 28, 29, -285, 0, 0, 300, 0,
1994 0, 0, 724, 0, 301, 0, 0, 1132, 0, 0,
1995 0, 0, 0, 0, 0, 303, 304, 1133, 0, 0,
1996 101, 0, 101, 306, 307, 308, 0, 584, 0, 0,
1997 1134, 586, 0, 687, 689, 281, 8, 9, 10, 386,
1998 12, 282, 283, 284, 688, 285, 14, 0, 310, 0,
1999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2000 0, 17, 286, 18, 19, 20, 0, 287, 288, 21,
2001 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2002 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2003 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2004 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2005 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2006 307, 308, 0, 0, 0, 0, 309, 0, 0, 0,
2007 689, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, -759, 802, 310, 281, 8, 9, 10, 386,
2009 12, 282, 283, 284, 0, 285, 14, 0, 0, 0,
2010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2011 0, 17, 286, 18, 19, 20, 0, 287, 288, 21,
2012 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2013 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2014 299, 1449, 0, -749, 300, 0, 0, 0, 0, 0,
2015 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2016 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2017 307, 308, 0, 0, 0, 678, 309, 790, 791, 792,
2018 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2019 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2020 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2021 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2022 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2023 0, 793, 794, 679, 0, 0, 300, 0, 0, 0,
2024 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2025 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2026 0, 306, 307, 308, 0, 0, 0, 0, 309, 795,
2027 678, 0, 790, 791, 792, 10, 0, 12, 499, 283,
2028 284, 0, 285, 14, 0, 940, 310, 0, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2030 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2031 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2032 295, 296, 297, 298, 27, 0, 793, 794, 679, 0,
2033 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2034 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2035 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2036 0, 0, 0, 309, 795, 678, 0, 790, 791, 792,
2037 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2038 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2039 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2040 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2041 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2042 0, 793, 794, 679, 0, 0, 300, 0, 0, 0,
2043 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2044 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2045 0, 306, 307, 308, 0, 0, 0, 678, 309, 790,
2046 791, 792, 10, 0, 12, 499, 283, 284, 0, 285,
2047 14, 0, 0, 0, 0, -453, 310, 0, 0, 0,
2048 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2049 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2050 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2051 298, 27, 0, 793, 794, 679, 0, 0, 300, 0,
2052 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2053 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2054 0, 0, 0, 306, 307, 308, 0, 0, 0, 678,
2055 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2056 0, 285, 14, 0, 0, 0, 0, 1263, 310, 0,
2057 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2058 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2059 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2060 296, 297, 298, 27, 0, 28, 299, 679, 0, 0,
2061 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2062 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2063 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2064 0, 0, 309, 0, 0, 517, 0, 281, 8, 9,
2065 10, 1267, 12, 282, 283, 284, 0, 285, 14, 0,
2066 310, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2067 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2068 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2069 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2070 0, 28, 299, -285, 0, 0, 300, 0, 0, 0,
2071 0, 0, 301, 0, 0, 518, 0, 0, 0, 0,
2072 0, 0, 0, 303, 304, 519, 0, 0, 0, 0,
2073 0, 306, 307, 308, 0, 0, 0, 678, 520, 281,
2074 8, 9, 10, 0, 12, 499, 283, 284, 0, 285,
2075 14, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2076 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2077 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2078 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2079 298, 27, 0, 28, 299, 679, 0, 0, 300, 0,
2080 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2081 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2082 0, 0, 0, 306, 307, 308, 0, 0, 0, 802,
2083 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2084 0, 285, 14, 0, 0, 0, 0, 0, 310, 0,
2085 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2086 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2087 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2088 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2089 300, -749, 0, 0, 0, 0, 301, 0, 0, 302,
2090 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2091 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2092 0, 517, 309, 7, 8, 9, 10, 0, 12, 282,
2093 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2094 310, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2095 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2096 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2097 294, 295, 296, 297, 298, 27, 0, 28, 29, -285,
2098 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2099 0, 1421, 0, 0, 0, 0, 0, 0, 0, 303,
2100 304, 1422, 0, 0, 0, 0, 0, 306, 307, 308,
2101 0, 0, 0, 1499, 1423, 281, 8, 9, 10, 0,
2102 12, 282, 283, 284, 0, 285, 14, 0, 0, 0,
2103 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2104 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2105 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2106 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2107 299, 0, 0, -174, 300, 0, 0, 0, 0, 0,
2108 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2109 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2110 307, 308, 0, 0, 0, 802, 309, 281, 8, 9,
2111 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2112 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2113 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2114 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2115 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2116 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2117 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2118 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2119 0, 306, 307, 308, 0, 0, 0, 888, 309, 281,
2120 8, 9, 10, 0, 12, 499, 283, 284, 0, 285,
2121 14, 0, 0, 0, -749, 0, 310, 0, 0, 0,
2122 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2123 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2124 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2125 298, 27, 0, 28, 299, 0, 0, 0, 300, 0,
2126 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2127 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2128 0, 0, 0, 306, 307, 308, 0, 0, 0, 890,
2129 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2130 0, 285, 14, 0, 0, 0, 0, 0, 310, 0,
2131 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2132 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2133 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2134 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2135 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2136 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2137 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2138 0, 1434, 309, 281, 8, 9, 10, 0, 12, 499,
2139 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2140 310, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2141 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2142 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2143 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2144 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2145 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2146 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2147 281, 8, 9, 10, 309, 12, 499, 283, 284, 0,
2148 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2149 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2150 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2151 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2152 297, 298, 27, 0, 28, 299, 0, 0, 0, 300,
2153 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2154 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2155 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2156 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2157 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2158 841, 1230, 1231, 1232, 10, 386, 12, 282, 283, 284,
2159 0, 285, 14, 1233, 0, 1234, 1235, 1236, 1237, 1238,
2160 1239, 1240, 1241, 1242, 1243, 15, 16, 17, 286, 18,
2161 19, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2162 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2163 296, 297, 298, 27, 0, 1244, 299, 675, 0, 1245,
2164 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2165 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2166 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2167 0, 0, 309, 0, 1246, 0, 0, 0, 0, 0,
2168 0, 0, 0, 0, 0, 0, 0, 0, 0, 1365,
2169 310, 1230, 1231, 1232, 10, 386, 12, 282, 283, 284,
2170 0, 285, 14, 1233, 0, 1234, 1235, 1236, 1237, 1238,
2171 1239, 1240, 1241, 1242, 1243, 15, 16, 17, 286, 18,
2172 19, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2173 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2174 296, 297, 298, 27, 0, 1244, 299, 675, 0, 1245,
2175 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2176 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2177 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2178 0, 0, 309, 0, 1246, 0, 0, 1230, 1231, 1232,
2179 10, 386, 12, 282, 283, 284, 0, 285, 14, 1233,
2180 310, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
2181 1243, 15, 16, 17, 286, 18, 19, 20, 0, 287,
2182 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2183 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2184 0, 1244, 299, 1476, 0, 1245, 300, 0, 0, 0,
2185 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2186 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2187 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
2188 1246, 0, 0, 1230, 1231, 1232, 10, 386, 12, 282,
2189 283, 284, 0, 285, 14, 1233, 310, 1234, 1235, 1236,
2190 1237, 1238, 1239, 1240, 1241, 1242, 1243, 15, 16, 17,
2191 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
2192 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2193 294, 295, 296, 297, 298, 27, 0, 1244, 299, 0,
2194 0, 1245, 300, 0, 0, 0, 0, 0, 301, 0,
2195 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2196 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2197 0, 0, 0, 0, 309, 0, 1246, 281, 8, 9,
2198 10, 386, 12, 282, 283, 284, 688, 285, 14, 0,
2199 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2200 0, 0, 0, 17, 286, 18, 19, 20, 0, 287,
2201 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2202 24, 0, 581, 0, 294, 295, 296, 297, 298, 27,
2203 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2204 0, 0, 301, 0, 0, 869, 0, 0, 0, 0,
2205 0, 0, 0, 303, 304, 870, 0, 0, 0, 0,
2206 0, 306, 307, 308, 0, 584, 0, 0, 871, 586,
2207 0, 0, 689, 7, 8, 9, 10, 386, 12, 282,
2208 283, 284, 688, 285, 14, 0, 310, 0, 0, 0,
2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2210 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
2211 290, 291, 22, 292, 293, 0, 24, 0, 581, 0,
2212 294, 295, 296, 297, 298, 27, 0, 28, 29, 0,
2213 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2214 0, 1132, 0, 0, 0, 0, 0, 0, 0, 303,
2215 304, 1133, 0, 0, 0, 0, 0, 306, 307, 308,
2216 0, 584, 0, 0, 1134, 586, 0, 0, 689, 281,
2217 8, 9, 10, 0, 12, 282, 283, 284, 0, 285,
2218 14, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2219 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2220 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2221 293, 0, 24, 0, 581, 0, 294, 295, 296, 297,
2222 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2223 0, 0, 0, 0, 301, 0, 0, 869, 0, 0,
2224 0, 0, 0, 0, 0, 303, 304, 870, 0, 0,
2225 0, 0, 0, 306, 307, 308, 0, 584, 0, 0,
2226 871, 586, 7, 8, 9, 10, 0, 12, 282, 283,
2227 284, 0, 285, 14, 0, 0, 0, 0, 310, 0,
2228 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2229 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2230 291, 22, 292, 293, 0, 24, 0, 581, 0, 294,
2231 295, 296, 297, 298, 27, 0, 28, 29, 0, 0,
2232 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2233 1132, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2234 1133, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2235 584, 0, 0, 1134, 586, 281, 8, 9, 10, 0,
2236 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2237 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2238 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2239 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2240 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2241 299, 0, 0, 1342, 300, 0, 0, 0, 0, 0,
2242 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2243 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2244 307, 308, 0, 0, 0, 0, 309, 281, 8, 9,
2245 10, 386, 12, 282, 283, 284, 0, 285, 14, 0,
2246 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2247 0, 0, 0, 17, 286, 18, 19, 20, 0, 287,
2248 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2249 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2250 0, 28, 299, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2252 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2253 0, 306, 307, 308, 281, 8, 9, 10, 309, 12,
2254 282, 283, 284, 0, 285, 14, 0, 0, 0, 0,
2255 0, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2256 17, 286, 18, 0, 20, 0, 287, 288, 21, 0,
2257 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2258 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
2259 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2260 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2261 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2262 308, 281, 8, 9, 10, 309, 12, 499, 283, 284,
2263 0, 285, 14, 0, 0, 0, 0, 0, 0, 0,
2264 0, 0, 0, 310, 0, 0, 0, 17, 286, 18,
2265 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2266 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2267 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2268 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2269 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2270 0, 0, 0, 0, 0, 306, 307, 308, 281, 8,
2271 9, 10, 309, 12, 499, 283, 284, 0, 285, 14,
2272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2273 310, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2274 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2275 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2276 27, 0, 28, 299, 532, 0, 0, 0, 0, 0,
2277 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2278 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2279 0, 0, 306, 307, 308, 281, 8, 9, 10, 533,
2280 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2281 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2282 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2283 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2284 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2285 299, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2286 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2287 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2288 307, 308, 0, 0, 0, 0, 309, 569, 281, 8,
2289 9, 10, 0, 12, 499, 283, 284, 0, 285, 14,
2290 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2291 0, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2292 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2293 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2294 27, 0, 28, 299, 0, 0, 0, 300, 0, 0,
2295 0, 0, 0, 301, 0, 0, 518, 0, 0, 0,
2296 0, 0, 0, 0, 303, 304, 519, 0, 0, 0,
2297 0, 0, 306, 307, 308, 1094, 8, 9, 10, 520,
2298 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2299 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2300 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2301 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2302 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2303 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2304 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2305 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2306 307, 308, 7, 8, 9, 10, 309, 12, 499, 283,
2307 284, 0, 285, 14, 0, 0, 0, 0, 0, 0,
2308 0, 0, 0, 0, 310, 0, 0, 0, 17, 286,
2309 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2310 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2311 295, 296, 297, 298, 27, 0, 28, 29, 0, 0,
2312 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2313 1421, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2314 1422, 0, 0, 0, 0, 0, 306, 307, 308, 281,
2315 8, 9, 10, 1423, 12, 499, 283, 284, 0, 285,
2316 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2317 0, 310, 0, 0, 0, 17, 286, 18, 0, 20,
2318 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2319 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2320 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2321 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2322 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2323 0, 0, 0, 306, 307, 308, 281, 8, 9, 10,
2324 500, 12, 499, 283, 284, 0, 285, 14, 0, 0,
2325 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2326 0, 0, 17, 286, 18, 0, 20, 0, 287, 288,
2327 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2328 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2329 28, 299, 0, 0, 0, 0, 0, 0, 0, 0,
2330 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2331 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2332 306, 307, 308, 281, 8, 9, 10, 503, 12, 499,
2333 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2334 0, 0, 0, 0, 0, 310, 0, 0, 0, 17,
2335 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2336 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2337 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2338 0, 0, 0, 0, 0, 0, 0, 0, 301, 0,
2339 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2340 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2341 281, 8, 9, 10, 309, 12, 499, 283, 284, 0,
2342 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2343 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2344 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2345 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2346 297, 298, 27, 0, 28, 299, 0, 0, 0, 0,
2347 0, 0, 0, 0, 0, 301, 0, 0, 518, 0,
2348 0, 0, 0, 0, 0, 0, 303, 304, 519, 0,
2349 0, 0, 0, 0, 306, 307, 308, 7, 8, 9,
2350 10, 520, 12, 282, 283, 284, 0, 285, 14, 0,
2351 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2352 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2353 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2354 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2355 0, 28, 29, 0, 0, 0, 0, 0, 0, 0,
2356 0, 0, 301, 0, 6, 1421, 7, 8, 9, 10,
2357 11, 12, 13, 303, 304, 1422, 0, 14, 0, 0,
2358 0, 306, 307, 308, 0, 0, 0, 0, 1423, 0,
2359 0, 0, 17, 0, 18, 19, 0, 0, 0, 0,
2360 21, 0, 0, 0, 0, 22, 310, 0, 0, 24,
2361 0, 0, 411, 0, 0, 0, 0, 0, 27, 0,
2362 28, 29, 0, 0, 30, -357, 8, 9, -357, -357,
2363 12, 227, 0, 0, 31, 0, 14, 0, 0, 0,
2364 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2365 0, 17, 33, 18, -357, 0, 0, 34, 0, 21,
2366 0, 0, 0, 0, -357, 0, 0, 0, 24, 0,
2367 581, 0, 0, 0, 0, 0, 0, 27, 0, 129,
2368 130, 7, 8, 9, 10, 189, 12, 190, 0, 0,
2369 0, 0, 14, 582, 0, 0, 0, 0, 0, 0,
2370 0, 0, 0, 583, 0, 0, 0, 17, 0, 18,
2371 19, -357, 0, 584, 0, 21, 585, 586, 0, 0,
2372 22, 0, 0, 0, 24, 0, 989, 8, 733, 10,
2373 189, 12, 190, 27, 0, 28, 29, 14, 0, 191,
2374 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2375 0, 0, 17, 0, 18, 19, 0, 0, 0, 32,
2376 21, 0, 0, 0, 0, 22, 0, 33, 0, 24,
2377 0, 0, 34, 0, 0, 0, 0, 0, 27, 0,
2378 28, 29, 0, 0, 0, 0, 991, 7, 8, 9,
2379 10, 189, 12, 190, 31, 0, 0, 0, 14, 0,
2380 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2381 0, 0, 33, 17, 0, 18, 19, 34, 0, 0,
2382 0, 21, 0, 0, 0, 0, 22, 0, 0, 0,
2383 24, 0, 7, 8, 9, 10, 386, 12, 13, 27,
2384 0, 28, 29, 14, 0, 1355, 0, 0, 0, 0,
2385 0, 0, 0, 0, 0, 31, 0, 0, 17, 0,
2386 18, 19, 0, 0, 0, 32, 21, 0, 0, 0,
2387 0, 22, 0, 33, 0, 24, 0, 0, 34, 0,
2388 0, 0, 0, 0, 27, 0, 28, 29, 7, 8,
2389 9, 10, 189, 12, 190, 0, 0, 0, 0, 14,
2390 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2391 32, 0, 0, 0, 17, 0, 18, 19, 33, 0,
2392 0, 0, 21, 34, 0, 0, 0, 22, 0, 0,
2393 0, 24, 0, 7, 8, 9, 10, 198, 199, 200,
2394 27, 0, 28, 29, 14, 0, 0, 0, 0, 0,
2395 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2396 0, 0, 19, 0, 0, 0, 32, 21, 0, 0,
2397 0, 0, 22, 0, 33, 1411, 24, 0, 581, 34,
2398 0, 0, 0, 0, 0, 27, 0, 28, 29, 535,
2399 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2400 546, 177, 548, 549, 550, 551, 552, 553, 554, 555,
2401 556, 178, 0, 0, 0, 0, 0, 19, 0, 33,
2402 0, 0, 0, 0, 1358, 0, 1412, 535, 536, 537,
2403 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2404 548, 549, 550, 551, 552, 553, 554, 555, 556, 535,
2405 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2406 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2407 556, 535, 536, 537, 538, 539, 540, 541, 542, 543,
2408 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
2409 554, 555, 556, 535, 536, 537, 538, 539, 540, 541,
2410 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2411 552, 553, 554, 555, 556, 0, 0, 0, 0, 0,
2412 1185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2413 0, 0, 0, 0, 0, 621, 0, 0, 1466, 535,
2414 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2415 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2416 556, 1484, 535, 536, 537, 538, 539, 540, 541, 542,
2417 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2418 553, 554, 555, 556, 535, 536, 537, 538, 539, 540,
2419 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2420 551, 552, 553, 554, 555, 556
2423 static const short yycheck
[] = { 4,
2424 156, 79, 4, 426, 673, 670, 54, 24, 4, 125,
2425 4, 193, 329, 385, 232, 335, 448, 83, 336, 337,
2426 385, 4, 285, 286, 385, 58, 530, 146, 147, 653,
2427 469, 36, 14, 4, 36, 830, 41, 31, 32, 41,
2428 36, 123, 36, 223, 132, 41, 228, 41, 660, 353,
2429 737, 56, 739, 36, 317, 4, 201, 202, 41, 746,
2430 34, 4, 1254, 141, 585, 36, 71, 421, 128, 1261,
2431 41, 592, 193, 133, 392, 393, 132, 133, 83, 4,
2432 61, 202, 87, 1408, 89, 56, 91, 36, 11, 83,
2433 1247, 1324, 41, 36, 38, 277, 1409, 11, 41, 11,
2434 82, 106, 107, 53, 34, 1155, 1156, 1410, 9, 187,
2435 79, 36, 45, 48, 60, 63, 41, 335, 456, 1169,
2436 60, 1446, 59, 105, 0, 65, 7, 63, 65, 0,
2437 135, 136, 89, 138, 91, 473, 76, 754, 60, 75,
2438 63, 135, 75, 760, 385, 1, 75, 329, 1, 59,
2439 49, 12, 146, 147, 586, 160, 1, 38, 83, 94,
2440 193, 62, 110, 1426, 135, 111, 160, 111, 201, 202,
2441 524, 12, 146, 147, 148, 110, 287, 288, 1481, 136,
2442 12, 111, 1445, 177, 178, 502, 135, 110, 110, 160,
2443 100, 302, 135, 434, 305, 228, 110, 308, 110, 60,
2444 311, 151, 63, 59, 315, 179, 59, 63, 106, 107,
2445 135, 160, 323, 1526, 59, 196, 1541, 160, 63, 60,
2446 63, 1413, 63, 204, 65, 75, 48, 36, 60, 94,
2447 48, 63, 41, 672, 184, 160, 1286, 98, 326, 1502,
2448 96, 25, 55, 65, 277, 1295, 1296, 229, 1298, 110,
2449 867, 96, 1409, 1486, 1049, 61, 322, 98, 414, 3,
2450 4, 5, 75, 1455, 197, 60, 98, 110, 880, 94,
2451 326, 883, 94, 278, 243, 59, 94, 95, 902, 63,
2452 34, 76, 643, 365, 604, 61, 60, 39, 4, 5,
2453 608, 94, 110, 9, 63, 355, 329, 48, 76, 60,
2454 78, 48, 61, 55, 309, 111, 75, 452, 453, 921,
2455 922, 1503, 96, 57, 58, 460, 109, 322, 48, 379,
2456 674, 440, 441, 379, 696, 330, 61, 472, 322, 633,
2457 75, 696, 453, 338, 339, 111, 110, 81, 55, 55,
2458 388, 57, 58, 94, 585, 339, 491, 94, 95, 110,
2459 871, 592, 111, 335, 48, 71, 574, 390, 75, 976,
2460 60, 27, 28, 110, 94, 81, 32, 25, 339, 27,
2461 28, 988, 767, 768, 769, 692, 111, 48, 75, 95,
2462 385, 338, 1432, 1433, 389, 48, 48, 94, 909, 385,
2463 339, 385, 146, 147, 148, 61, 339, 322, 1193, 65,
2464 94, 59, 906, 25, 1021, 63, 1023, 518, 519, 832,
2465 110, 309, 61, 48, 339, 25, 61, 27, 28, 452,
2466 453, 55, 55, 94, 95, 179, 55, 460, 949, 434,
2467 65, 94, 94, 95, 48, 416, 868, 55, 96, 472,
2468 434, 75, 75, 4, 5, 111, 440, 441, 110, 59,
2469 8, 9, 770, 63, 32, 696, 14, 75, 491, 94,
2470 385, 63, 3, 4, 5, 470, 440, 441, 442, 3,
2471 4, 5, 6, 1085, 1086, 59, 470, 63, 459, 37,
2472 94, 95, 75, 1170, 48, 55, 96, 470, 46, 75,
2473 48, 48, 497, 63, 55, 500, 57, 58, 503, 55,
2474 566, 470, 507, 508, 509, 510, 511, 48, 42, 434,
2475 71, 4, 5, 754, 55, 520, 57, 58, 446, 760,
2476 81, 470, 4, 57, 58, 530, 454, 470, 533, 462,
2477 94, 903, 55, 431, 95, 974, 94, 94, 903, 166,
2478 497, 721, 903, 723, 48, 470, 4, 5, 728, 48,
2479 59, 55, 75, 94, 36, 89, 876, 60, 61, 41,
2480 565, 566, 610, 111, 57, 58, 3, 4, 5, 714,
2481 48, 75, 566, 94, 3, 4, 5, 48, 611, 48,
2482 585, 899, 55, 937, 76, 1106, 55, 592, 582, 583,
2483 94, 585, 55, 4, 5, 94, 95, 779, 592, 57,
2484 58, 649, 500, 651, 652, 503, 75, 55, 48, 507,
2485 873, 95, 49, 1134, 596, 731, 94, 1040, 1041, 652,
2486 57, 58, 520, 94, 641, 94, 867, 1059, 57, 58,
2487 871, 636, 48, 110, 48, 533, 48, 11, 49, 537,
2488 1251, 566, 1253, 55, 692, 650, 57, 58, 48, 654,
2489 60, 61, 4, 5, 94, 672, 110, 9, 876, 692,
2490 585, 110, 903, 75, 110, 563, 111, 592, 909, 48,
2491 81, 569, 4, 5, 14, 94, 48, 1116, 94, 636,
2492 94, 714, 94, 23, 61, 48, 440, 441, 442, 8,
2493 9, 696, 1449, 3, 94, 14, 744, 1015, 1016, 1017,
2494 60, 61, 696, 55, 113, 57, 58, 1130, 949, 1148,
2495 25, 95, 27, 28, 95, 94, 1139, 1140, 37, 71,
2496 63, 1144, 94, 55, 64, 57, 58, 46, 113, 81,
2497 841, 94, 737, 9, 739, 976, 12, 1054, 1495, 94,
2498 745, 746, 60, 737, 59, 739, 779, 988, 63, 754,
2499 755, 756, 746, 758, 737, 760, 739, 63, 869, 870,
2500 754, 94, 1185, 746, 1055, 1056, 760, 1058, 737, 75,
2501 739, 696, 48, 744, 745, 75, 745, 746, 4, 5,
2502 1021, 96, 1023, 123, 60, 75, 62, 63, 737, 65,
2503 739, 971, 972, 973, 737, 75, 739, 746, 755, 756,
2504 76, 758, 78, 746, 1469, 145, 75, 740, 741, 11,
2505 27, 28, 737, 111, 739, 32, 749, 110, 94, 95,
2506 1489, 746, 98, 49, 829, 4, 5, 60, 833, 754,
2507 55, 57, 58, 110, 110, 760, 914, 27, 28, 84,
2508 85, 55, 110, 60, 61, 60, 61, 110, 65, 63,
2509 1273, 3, 4, 5, 6, 81, 861, 3, 4, 5,
2510 6, 75, 867, 4, 5, 1106, 871, 75, 60, 110,
2511 49, 111, 48, 867, 61, 869, 870, 871, 57, 58,
2512 220, 221, 60, 61, 76, 1203, 78, 111, 1311, 65,
2513 42, 113, 232, 1134, 876, 113, 42, 49, 903, 110,
2514 905, 906, 81, 49, 909, 57, 58, 903, 49, 903,
2515 75, 57, 58, 907, 908, 909, 57, 58, 94, 95,
2516 60, 61, 1000, 60, 61, 25, 75, 27, 28, 81,
2517 55, 979, 75, 113, 55, 909, 1253, 89, 113, 837,
2518 81, 110, 867, 89, 949, 59, 871, 3, 4, 5,
2519 1061, 7, 8, 9, 55, 949, 4, 5, 963, 59,
2520 110, 301, 63, 63, 969, 3, 4, 5, 6, 55,
2521 94, 976, 110, 871, 75, 949, 110, 63, 903, 8,
2522 113, 1335, 976, 988, 909, 1104, 1105, 4, 5, 75,
2523 3, 4, 5, 1347, 988, 48, 96, 65, 60, 94,
2524 48, 57, 58, 343, 42, 111, 1011, 55, 979, 57,
2525 58, 61, 352, 1132, 1133, 55, 1021, 1011, 1023, 57,
2526 58, 1132, 1133, 71, 949, 365, 37, 1021, 1011, 1023,
2527 1108, 1000, 49, 81, 65, 65, 49, 65, 110, 61,
2528 57, 58, 1011, 91, 57, 58, 94, 95, 3, 4,
2529 5, 976, 7, 8, 9, 63, 110, 94, 1063, 992,
2530 65, 110, 1011, 988, 81, 998, 999, 1439, 1011, 1002,
2531 1003, 969, 1426, 1006, 1439, 55, 110, 55, 110, 65,
2532 65, 60, 37, 63, 110, 63, 1011, 3, 4, 5,
2533 717, 1445, 3, 4, 5, 75, 1021, 75, 1023, 1116,
2534 55, 1106, 57, 58, 59, 63, 1063, 113, 1531, 110,
2535 1104, 1105, 1106, 110, 3, 4, 5, 6, 1472, 3,
2536 4, 5, 1127, 110, 751, 1127, 1443, 467, 110, 1134,
2537 1104, 1105, 1106, 1127, 76, 76, 1247, 55, 1132, 1133,
2538 1134, 57, 58, 59, 1127, 63, 57, 58, 1502, 76,
2539 105, 106, 107, 42, 76, 909, 1510, 75, 1132, 1133,
2540 1134, 4, 5, 4, 5, 1170, 55, 110, 57, 58,
2541 56, 55, 58, 57, 58, 59, 1170, 110, 1127, 110,
2542 63, 1106, 63, 60, 87, 63, 89, 1170, 91, 3,
2543 4, 5, 532, 110, 113, 949, 111, 1166, 1439, 95,
2544 89, 1170, 1127, 1251, 110, 1253, 110, 89, 49, 1134,
2545 75, 113, 55, 48, 57, 58, 57, 58, 110, 110,
2546 1253, 1170, 3, 4, 5, 113, 7, 1170, 71, 60,
2547 110, 110, 65, 136, 574, 138, 1134, 113, 81, 110,
2548 81, 55, 1247, 57, 58, 1170, 110, 1252, 111, 1254,
2549 31, 111, 1254, 1247, 65, 60, 1261, 38, 60, 1261,
2550 1254, 1443, 1418, 110, 1247, 1270, 110, 1261, 94, 94,
2551 94, 1254, 94, 111, 55, 8, 57, 58, 1261, 113,
2552 166, 110, 110, 1181, 1182, 1183, 1184, 3, 4, 5,
2553 6, 27, 28, 1191, 110, 110, 32, 110, 1247, 111,
2554 110, 641, 1421, 1422, 113, 1254, 110, 193, 34, 110,
2555 1421, 1422, 1261, 653, 110, 201, 202, 81, 82, 83,
2556 84, 85, 1247, 110, 60, 61, 42, 110, 110, 1254,
2557 65, 110, 55, 49, 110, 110, 1261, 48, 63, 679,
2558 113, 57, 58, 110, 1242, 110, 97, 3, 4, 5,
2559 1104, 1105, 1106, 110, 981, 982, 7, 8, 9, 63,
2560 1293, 1294, 63, 14, 61, 81, 3, 4, 5, 61,
2561 7, 8, 9, 89, 9, 31, 61, 16, 1132, 1133,
2562 1134, 32, 110, 1010, 1358, 94, 37, 94, 3, 4,
2563 5, 110, 712, 110, 61, 46, 1444, 300, 1403, 55,
2564 37, 57, 58, 1408, 1409, 1410, 1408, 110, 1413, 1403,
2565 1443, 1413, 4, 5, 1408, 1409, 1410, 110, 1423, 1413,
2566 57, 58, 113, 110, 1357, 1408, 1409, 1421, 1422, 61,
2567 1413, 94, 94, 753, 1439, 338, 3, 4, 5, 759,
2568 55, 1446, 57, 58, 1446, 1439, 1344, 1421, 1422, 1423,
2569 1455, 17, 1446, 1455, 61, 109, 99, 49, 110, 1408,
2570 1409, 1455, 61, 1446, 1413, 57, 58, 11, 110, 110,
2571 110, 61, 1455, 61, 61, 94, 1481, 60, 1403, 65,
2572 110, 61, 110, 1408, 1409, 1410, 110, 1481, 1413, 11,
2573 57, 58, 4, 5, 3, 4, 5, 1446, 1503, 61,
2574 11, 1503, 61, 389, 390, 1403, 1455, 0, 0, 1503,
2575 0, 1409, 1410, 413, 1439, 355, 2, 903, 745, 1116,
2576 1503, 1446, 160, 426, 427, 1423, 3, 4, 5, 6,
2577 1455, 434, 93, 45, 1161, 1162, 1541, 1164, 1165, 1541,
2578 1167, 1474, 862, 55, 864, 57, 58, 1541, 57, 58,
2579 1468, 160, 892, 138, 1503, 1334, 1481, 1541, 1541, 445,
2580 280, 48, 902, 1252, 892, 42, 452, 453, 679, 222,
2581 456, 887, 49, 1148, 460, 974, 1011, 745, 1503, 1168,
2582 57, 58, 617, 1481, 7, 8, 9, 473, 885, 566,
2583 184, 14, 1541, 123, 497, 498, 326, 1254, 1128, 1497,
2584 87, 88, 1510, 1489, 1358, 92, 93, 94, 95, 32,
2585 1458, 1520, 89, 34, 37, 1522, 1541, 958, 1270, -1,
2586 -1, 1519, -1, 46, -1, -1, -1, 530, 1526, 532,
2587 -1, -1, 535, 536, -1, 538, 539, 540, 541, 542,
2588 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2589 553, 554, 555, 556, -1, -1, 1283, 1284, -1, 562,
2590 -1, 564, 565, -1, -1, -1, -1, 1421, 1422, 1423,
2591 -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
2592 6, 7, 8, 9, -1, 7, 8, 9, 14, 592,
2593 4, 5, 14, -1, -1, 9, 599, -1, -1, -1,
2594 1020, 1041, 1022, 29, -1, 31, 32, 33, -1, -1,
2595 32, 37, 38, -1, -1, 37, 42, 620, 621, -1,
2596 46, 47, -1, 49, 46, 611, 147, 148, -1, 55,
2597 -1, 57, 58, 636, 48, 61, -1, 63, 79, 61,
2598 -1, 55, -1, 57, 58, 71, 427, -1, -1, -1,
2599 1377, 1378, 1379, 434, -1, 81, 1076, 71, 179, -1,
2600 -1, -1, 103, 89, 650, -1, 652, 81, 94, 79,
2601 80, 81, 82, 83, 84, 85, 679, 91, -1, -1,
2602 94, 95, -1, -1, 1124, 111, -1, -1, 4, 5,
2603 1130, 132, 8, 9, -1, -1, -1, 4, 14, -1,
2604 141, -1, 1429, 1430, -1, -1, 692, 14, -1, -1,
2605 -1, -1, -1, 29, -1, 31, -1, 498, 25, -1,
2606 -1, 37, -1, -1, 31, 32, -1, 34, 714, 36,
2607 46, 717, 1152, 736, 41, -1, -1, 1157, -1, 55,
2608 -1, 57, 58, 59, -1, -1, 187, 54, -1, 56,
2609 -1, -1, 755, 756, -1, 758, -1, 64, -1, 745,
2610 3, 4, 5, -1, 71, 751, -1, 1494, -1, -1,
2611 773, -1, -1, -1, -1, 82, 83, -1, 94, 220,
2612 -1, 562, -1, 564, 565, -1, -1, 1207, 309, -1,
2613 -1, -1, 795, -1, -1, -1, 39, 40, 105, 42,
2614 -1, -1, 243, 1243, -1, -1, 3, 4, 5, 6,
2615 -1, 592, 55, -1, 57, 58, -1, -1, 599, -1,
2616 -1, 128, -1, -1, -1, -1, 133, 12, 135, 832,
2617 833, -1, 139, -1, -1, 142, 143, -1, -1, 146,
2618 147, 148, 27, 28, 847, 42, 849, 32, 851, -1,
2619 -1, -1, -1, 160, -1, -1, -1, -1, 55, -1,
2620 57, 58, -1, 48, 61, -1, 63, -1, -1, -1,
2621 177, 178, 179, -1, 71, 60, 61, -1, 63, -1,
2622 65, 884, 1302, 1303, 81, -1, 1326, -1, -1, -1,
2623 -1, 894, 89, 334, -1, -1, -1, 94, 1318, 206,
2624 -1, -1, -1, 906, 7, 8, 9, -1, -1, 94,
2625 95, 14, 427, 98, 221, -1, 919, -1, -1, 434,
2626 441, 442, 229, -1, -1, 110, -1, -1, 931, 32,
2627 -1, -1, -1, 240, 37, -1, -1, -1, -1, 3,
2628 4, 5, 6, 46, -1, 9, 949, -1, -1, -1,
2629 1370, 1371, -1, -1, 395, -1, -1, -1, 61, 77,
2630 78, 79, 80, 81, 82, 83, 84, 85, -1, 1389,
2631 1390, 278, 279, -1, -1, -1, -1, -1, 42, 500,
2632 -1, -1, 503, 498, 48, -1, -1, -1, 991, -1,
2633 -1, 55, 773, 57, 58, 981, 982, -1, 519, 520,
2634 -1, 328, 329, 330, -1, -1, -1, 71, -1, -1,
2635 -1, -1, 533, -1, -1, 322, -1, 81, -1, 326,
2636 -1, 328, 329, 330, 1010, 89, 467, 91, -1, -1,
2637 94, 95, 339, -1, -1, -1, -1, 1040, 1041, -1,
2638 -1, 1044, -1, -1, -1, -1, -1, 562, 355, 564,
2639 565, -1, 833, 494, 3, 4, 5, 6, -1, -1,
2640 1063, -1, -1, -1, -1, -1, 847, -1, 849, -1,
2641 851, 592, 379, -1, -1, -1, -1, -1, 385, -1,
2642 -1, 388, 389, -1, 599, -1, -1, -1, -1, -1,
2643 -1, -1, 399, 42, -1, 402, -1, -1, -1, 48,
2644 407, -1, -1, -1, -1, -1, 55, -1, 57, 58,
2645 -1, -1, -1, 894, -1, 1118, -1, 1120, -1, 1122,
2646 -1, -1, 71, -1, -1, -1, -1, 1130, -1, 436,
2647 -1, 438, 81, 440, 441, 442, 1139, 1140, 579, 446,
2648 89, 1144, 91, -1, 451, 94, 95, 454, -1, -1,
2649 931, -1, -1, -1, 595, -1, 1159, 1160, -1, -1,
2650 -1, -1, -1, 470, -1, -1, -1, -1, 949, -1,
2651 -1, -1, -1, -1, -1, 1161, 1162, -1, 1164, 1165,
2652 -1, 1167, 1185, -1, 1, -1, 3, 4, 5, 6,
2653 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2654 -1, 508, 509, 510, 511, -1, -1, -1, -1, -1,
2655 -1, 1214, 29, -1, 31, 32, 33, -1, -1, -1,
2656 37, 38, -1, -1, -1, 42, -1, -1, -1, 46,
2657 47, -1, 49, -1, -1, 1238, -1, -1, 55, -1,
2658 57, 58, -1, -1, 61, -1, 63, -1, -1, -1,
2659 -1, -1, 773, -1, 71, 582, 583, -1, 585, 566,
2660 -1, 568, -1, -1, 81, 592, 1252, 1253, -1, -1,
2661 1273, -1, 89, 580, -1, 582, 583, 94, 585, -1,
2662 -1, -1, -1, -1, -1, 592, 1289, -1, -1, 596,
2663 -1, -1, -1, -1, 111, -1, -1, 1283, 1284, -1,
2664 -1, -1, -1, 610, -1, -1, -1, -1, 1311, 3,
2665 4, 5, 6, -1, -1, 9, -1, -1, 833, -1,
2666 -1, -1, 649, -1, 651, 652, 1, 654, 3, 4,
2667 5, 6, 847, 8, 849, -1, 851, 1118, -1, 1120,
2668 -1, 1122, 649, 650, 651, 652, 653, 654, 42, 870,
2669 871, -1, -1, -1, -1, 1358, -1, -1, -1, -1,
2670 -1, 55, -1, 57, 58, 692, -1, 42, -1, -1,
2671 -1, -1, 1375, 1376, 49, -1, -1, 71, -1, 894,
2672 55, 1384, 57, 58, -1, 692, -1, 81, 909, 696,
2673 -1, 1377, 1378, 1379, -1, 89, 703, 704, -1, 706,
2674 94, -1, -1, -1, -1, -1, -1, -1, 1411, -1,
2675 -1, -1, -1, -1, 89, -1, 931, -1, 106, 107,
2676 -1, -1, -1, -1, -1, -1, -1, 734, 949, -1,
2677 737, -1, 739, 1214, 875, -1, 877, 744, 745, 746,
2678 -1, -1, -1, 1429, 1430, -1, -1, 754, -1, -1,
2679 -1, -1, 779, 760, -1, 3, 4, 5, 6, -1,
2680 767, 768, 769, -1, -1, -1, -1, -1, -1, -1,
2681 -1, -1, 779, 914, -1, -1, -1, -1, 4, 5,
2682 -1, 7, 8, 9, -1, -1, 12, -1, 14, -1,
2683 -1, -1, -1, -1, 42, -1, -1, 3, 4, 5,
2684 6, -1, -1, 29, -1, 31, 32, 55, 1494, 57,
2685 58, 37, -1, 61, -1, -1, -1, -1, -1, -1,
2686 46, -1, 829, 71, -1, 852, -1, 854, 1531, 55,
2687 -1, 57, 58, 81, -1, -1, 42, -1, 865, -1,
2688 -1, 89, 869, 870, 871, 852, 94, 854, -1, 55,
2689 -1, 57, 58, -1, 861, -1, -1, 63, 865, 1000,
2690 867, -1, 869, 870, 871, 71, -1, -1, -1, 876,
2691 -1, -1, 98, -1, -1, 81, -1, 1358, -1, -1,
2692 907, 908, 909, 89, 1105, 1106, 4, 5, 94, -1,
2693 -1, 9, -1, -1, -1, -1, 903, -1, 905, 4,
2694 907, 908, 909, 1118, -1, 1120, -1, 1122, -1, 14,
2695 -1, -1, 1133, 1134, -1, -1, -1, -1, -1, 24,
2696 25, 309, 949, -1, -1, -1, 31, 32, -1, 34,
2697 48, 36, -1, -1, -1, -1, 41, 55, -1, 57,
2698 58, 1082, 949, -1, -1, -1, -1, -1, -1, 54,
2699 -1, 56, -1, 71, -1, -1, 963, -1, -1, 64,
2700 -1, -1, -1, 81, -1, -1, 71, 1108, -1, 976,
2701 -1, -1, 979, 91, -1, -1, 94, 95, 83, -1,
2702 -1, 988, 3, 4, 5, 6, -1, -1, -1, -1,
2703 -1, -1, -1, -1, 1001, -1, -1, 385, -1, 1214,
2704 -1, -1, -1, -1, 1011, -1, -1, -1, 3, 4,
2705 5, 6, -1, -1, 1021, -1, 1023, -1, -1, -1,
2706 -1, 42, -1, 128, -1, 1166, -1, -1, 49, -1,
2707 135, 328, 329, 330, 139, -1, 57, 58, 143, -1,
2708 -1, 146, 147, 148, -1, -1, 434, 42, 1055, 1056,
2709 -1, 1058, -1, -1, 49, 160, -1, -1, -1, -1,
2710 4, 5, 57, 58, 8, 9, -1, -1, 89, -1,
2711 14, -1, 177, 178, 179, 1102, 1103, 1104, 1105, 1106,
2712 -1, -1, -1, 1110, -1, 29, 81, 31, -1, -1,
2713 -1, -1, -1, 37, 89, 1102, 1103, 1104, 1105, 1106,
2714 -1, 206, 46, 1110, -1, 1132, 1133, 1134, -1, -1,
2715 -1, 55, 500, 57, 58, 503, -1, -1, -1, 507,
2716 508, 509, 510, 511, -1, 1132, 1133, 1134, 3, 4,
2717 5, 6, 520, -1, 9, 240, -1, 1358, -1, -1,
2718 3, 4, 5, 6, -1, 533, 9, -1, -1, -1,
2719 94, -1, -1, -1, -1, -1, 1163, -1, -1, -1,
2720 -1, 1168, -1, 1170, -1, -1, -1, 42, -1, -1,
2721 -1, -1, -1, 278, 279, -1, -1, 565, -1, 42,
2722 55, -1, 57, 58, -1, 48, -1, -1, -1, -1,
2723 1217, 1218, 55, 1220, 57, 58, 71, 585, -1, -1,
2724 -1, 1422, 1423, -1, 592, -1, 81, -1, 71, -1,
2725 1217, 1218, -1, 1220, 89, -1, -1, 322, 81, 94,
2726 -1, 326, -1, 328, 329, 330, 89, -1, 91, -1,
2727 335, 94, 95, -1, 339, 3, 4, 5, 6, -1,
2728 -1, 9, -1, -1, 1251, 1252, 1253, -1, -1, -1,
2729 355, -1, 3, 4, 5, 6, -1, -1, -1, -1,
2730 -1, -1, -1, 1270, -1, -1, -1, -1, -1, -1,
2731 -1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
2732 385, -1, 4, 388, 389, 582, 583, 55, -1, 57,
2733 58, 42, -1, -1, 399, -1, -1, 402, 49, -1,
2734 -1, -1, 407, 71, -1, -1, 57, 58, 696, 31,
2735 32, -1, -1, 81, 36, -1, -1, -1, -1, 41,
2736 -1, 89, 3, 4, 5, 6, 94, -1, -1, -1,
2737 81, 436, -1, 438, 56, 440, 441, 442, 89, -1,
2738 -1, 446, 3, 4, 5, 6, 451, -1, 9, 454,
2739 -1, 1358, 649, -1, 651, 652, -1, 654, -1, -1,
2740 -1, 42, -1, -1, 469, 470, 754, -1, 49, -1,
2741 -1, -1, 760, -1, -1, -1, 57, 58, -1, -1,
2742 -1, 42, -1, -1, -1, -1, -1, 48, -1, -1,
2743 -1, -1, -1, -1, 55, 692, 57, 58, -1, -1,
2744 81, -1, -1, 508, 509, 510, 511, -1, 89, -1,
2745 71, -1, -1, 135, 1421, 1422, 1423, 139, -1, -1,
2746 81, 143, -1, -1, -1, -1, -1, -1, 89, -1,
2747 91, -1, 1439, 94, 95, -1, -1, 1444, 160, -1,
2748 1, 829, 3, 4, 5, 6, 7, 8, 9, -1,
2749 -1, -1, -1, 14, -1, 177, 178, -1, -1, -1,
2750 -1, 566, -1, 568, -1, -1, 27, 28, 29, -1,
2751 31, 32, 33, 861, -1, -1, 37, 582, 583, 867,
2752 585, 42, 779, 871, 45, 46, 47, 592, 49, -1,
2753 -1, -1, -1, -1, 55, -1, 57, 58, -1, 604,
2754 61, -1, -1, -1, -1, 610, -1, -1, -1, -1,
2755 71, 3, 4, 5, 6, 903, -1, 905, 240, -1,
2756 81, 909, -1, -1, -1, -1, -1, -1, 89, -1,
2757 -1, -1, -1, 94, -1, -1, 641, -1, -1, 100,
2758 -1, -1, -1, -1, 649, 650, 651, 652, 653, 654,
2759 42, -1, -1, -1, -1, 852, -1, 854, -1, -1,
2760 -1, 949, -1, 55, -1, 57, 58, 672, 865, -1,
2761 -1, 63, 869, 870, -1, 963, -1, -1, -1, 71,
2762 -1, 969, -1, -1, -1, -1, -1, 692, 976, 81,
2763 -1, 696, -1, -1, -1, -1, -1, 89, 703, 704,
2764 988, 706, 94, -1, -1, -1, -1, -1, -1, -1,
2765 907, 908, -1, -1, -1, -1, -1, 339, 3, 4,
2766 5, 6, -1, -1, 9, -1, -1, -1, -1, 734,
2767 -1, -1, 737, 1021, 739, 1023, -1, -1, -1, 744,
2768 745, 746, -1, -1, -1, -1, -1, -1, -1, 754,
2769 -1, -1, -1, -1, -1, 760, -1, 42, -1, -1,
2770 -1, -1, 767, 768, 769, -1, -1, -1, -1, -1,
2771 55, -1, 57, 58, 779, -1, -1, 399, -1, -1,
2772 402, -1, -1, -1, -1, 407, 71, -1, -1, 3,
2773 4, 5, 6, -1, -1, 9, 81, -1, 177, 178,
2774 179, -1, -1, 4, 89, -1, -1, -1, -1, 94,
2775 -1, -1, -1, -1, 436, -1, 438, -1, 1106, -1,
2776 -1, -1, -1, -1, 829, -1, -1, -1, 42, 451,
2777 31, 32, -1, 34, 48, 36, -1, -1, -1, -1,
2778 41, 55, -1, 57, 58, -1, 1134, 852, 470, 854,
2779 -1, -1, -1, 54, -1, 56, 861, 71, -1, -1,
2780 865, -1, 867, -1, 869, 870, 871, 81, -1, -1,
2781 -1, 876, -1, -1, -1, 89, -1, 91, 79, -1,
2782 94, 95, 70, 71, 72, 73, 74, 75, 76, 77,
2783 78, 79, 80, 81, 82, 83, 84, 85, 903, -1,
2784 905, -1, 907, 908, 909, 1102, 1103, 1104, 1105, -1,
2785 -1, -1, -1, 1110, 73, 74, 75, 76, 77, 78,
2786 79, 80, 81, 82, 83, 84, 85, 128, -1, -1,
2787 -1, 132, 133, -1, 135, 1132, 1133, -1, 139, -1,
2788 141, -1, 143, -1, 949, 146, 147, 148, -1, -1,
2789 -1, -1, -1, -1, -1, -1, -1, -1, 963, 160,
2790 -1, -1, -1, -1, -1, -1, -1, -1, -1, 974,
2791 -1, 976, -1, -1, 979, -1, 177, 178, 179, -1,
2792 -1, -1, 1270, 988, -1, -1, 187, -1, -1, 4,
2793 5, -1, -1, 8, 9, -1, -1, -1, -1, 14,
2794 -1, -1, -1, -1, -1, 206, 1011, -1, -1, -1,
2795 -1, -1, -1, -1, -1, -1, 1021, -1, 1023, -1,
2796 1217, 1218, 37, 1220, -1, -1, -1, -1, 650, -1,
2797 -1, 46, -1, 48, -1, -1, -1, -1, -1, 240,
2798 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
2799 1055, 1056, -1, 1058, -1, -1, 71, 436, -1, 438,
2800 -1, 440, 441, 442, -1, -1, 81, -1, -1, -1,
2801 -1, -1, 451, -1, 696, -1, 91, -1, -1, 94,
2802 95, 703, 704, -1, 706, 74, 75, 76, 77, 78,
2803 79, 80, 81, 82, 83, 84, 85, 1102, 1103, 1104,
2804 1105, 1106, -1, -1, -1, 1110, -1, -1, 309, -1,
2805 -1, 1116, -1, -1, -1, 737, -1, 739, -1, -1,
2806 -1, -1, 744, 745, 746, 326, -1, 1132, 1133, 1134,
2807 -1, -1, -1, 334, -1, 1423, -1, -1, 339, -1,
2808 -1, -1, -1, 1148, -1, -1, -1, -1, -1, -1,
2809 -1, 1439, -1, -1, 355, -1, -1, -1, 1163, -1,
2810 -1, -1, -1, 1168, -1, 1170, 3, 4, 5, 6,
2811 7, 8, 9, -1, -1, 12, -1, 14, 379, -1,
2812 -1, -1, -1, -1, -1, -1, -1, 388, -1, -1,
2813 -1, -1, 29, -1, 31, 32, -1, -1, 399, -1,
2814 37, 402, -1, -1, -1, 42, 407, -1, -1, 46,
2815 -1, 48, 1217, 1218, -1, 1220, -1, -1, 55, -1,
2816 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
2817 -1, -1, -1, -1, 71, 436, -1, 438, -1, 440,
2818 441, 442, -1, -1, 81, 446, 1251, 1252, 1253, -1,
2819 451, 4, 89, 454, 91, -1, -1, 94, 95, -1,
2820 -1, 98, -1, -1, -1, 1270, -1, -1, -1, 470,
2821 -1, -1, -1, -1, -1, -1, -1, -1, 31, 32,
2822 -1, 34, -1, 36, -1, 907, 908, -1, 41, -1,
2823 3, 4, 5, 6, -1, -1, 9, -1, -1, 500,
2824 -1, 54, 503, 56, -1, -1, -1, -1, -1, -1,
2825 4, 5, -1, -1, 8, 9, -1, 518, 519, 520,
2826 14, -1, -1, -1, 703, 704, -1, 706, -1, 42,
2827 -1, -1, 533, -1, -1, 29, -1, 31, -1, -1,
2828 -1, -1, 55, 37, 57, 58, -1, -1, 81, -1,
2829 -1, -1, 46, 1358, 48, -1, -1, 979, 71, -1,
2830 -1, 55, -1, 57, 58, 744, -1, -1, 81, 4,
2831 5, -1, -1, 8, 9, -1, 89, 71, 579, 14,
2832 -1, 94, 135, -1, -1, -1, 139, 81, -1, 1011,
2833 143, 592, -1, 146, 147, 148, -1, 91, -1, -1,
2834 94, 95, 37, -1, -1, -1, -1, 160, -1, 610,
2835 -1, 46, -1, 48, -1, -1, 1421, 1422, 1423, -1,
2836 55, 154, 57, 58, 177, 178, 179, -1, -1, -1,
2837 -1, -1, -1, -1, 1439, -1, 71, -1, -1, 1444,
2838 -1, -1, 175, -1, -1, -1, 81, -1, 649, 650,
2839 651, 652, -1, 206, -1, 188, 91, 4, 5, 94,
2840 95, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2841 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2842 1102, 1103, 29, -1, 31, -1, -1, 240, 1110, -1,
2843 37, 692, -1, -1, -1, 696, -1, -1, -1, 46,
2844 -1, -1, 703, 704, -1, 706, -1, -1, 55, -1,
2845 57, 58, -1, -1, -1, -1, -1, -1, -1, 1,
2846 -1, 3, 4, 5, 6, 7, 8, 9, 907, 908,
2847 909, -1, 14, -1, -1, -1, 737, -1, 739, -1,
2848 -1, 1163, -1, 744, 745, 746, 1168, 29, 1170, 31,
2849 32, 33, -1, -1, -1, 37, 38, -1, -1, -1,
2850 42, -1, -1, -1, 46, 47, -1, 49, -1, -1,
2851 949, -1, 773, 55, -1, 57, 58, -1, -1, 61,
2852 -1, 63, 335, -1, -1, -1, 339, -1, -1, 71,
2853 -1, -1, -1, -1, -1, 1217, 1218, -1, 1220, 81,
2854 979, -1, -1, -1, -1, -1, -1, 89, 3, 4,
2855 5, 6, 94, -1, 9, 72, 73, 74, 75, 76,
2856 77, 78, 79, 80, 81, 82, 83, 84, 85, 111,
2857 1252, -1, -1, -1, -1, 388, -1, -1, -1, -1,
2858 -1, -1, -1, -1, -1, -1, 399, 42, -1, 402,
2859 -1, -1, -1, -1, 407, -1, -1, -1, -1, -1,
2860 55, -1, 57, 58, -1, -1, -1, -1, 869, 870,
2861 871, -1, -1, -1, 875, -1, 71, -1, -1, -1,
2862 -1, -1, -1, 436, -1, 438, 81, 440, 441, 442,
2863 -1, -1, -1, 446, 89, -1, -1, -1, 451, 94,
2864 -1, 454, 34, -1, -1, -1, 907, 908, 909, -1,
2865 -1, 444, -1, 914, -1, -1, 449, 470, -1, -1,
2866 -1, -1, 54, 1102, 1103, 1104, 1105, 1106, -1, -1,
2867 -1, 1110, -1, -1, 3, 4, 5, 6, 7, 8,
2868 9, 474, -1, -1, -1, 14, -1, 480, 949, -1,
2869 -1, -1, -1, 1132, 1133, 1134, -1, -1, -1, 492,
2870 493, -1, 495, 32, -1, -1, -1, -1, 37, -1,
2871 -1, -1, -1, 42, -1, -1, -1, 46, 979, 48,
2872 3, 4, 5, 6, 1163, -1, 55, -1, 57, 58,
2873 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1000,
2874 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
2875 1011, -1, 81, -1, 146, 147, 148, -1, -1, 42,
2876 89, -1, 91, -1, -1, 94, 95, 580, -1, -1,
2877 -1, -1, 55, -1, 57, 58, -1, -1, 1217, 1218,
2878 63, 1220, -1, -1, -1, 177, 178, 179, 71, -1,
2879 -1, -1, -1, -1, -1, 588, 589, 610, 81, -1,
2880 593, -1, -1, -1, -1, -1, 89, -1, -1, -1,
2881 -1, 94, -1, -1, 206, -1, -1, -1, -1, -1,
2882 -1, 1082, -1, -1, -1, -1, 3, 4, 5, 6,
2883 -1, -1, 9, -1, -1, -1, 649, 650, 651, 652,
2884 -1, 1102, 1103, 1104, 1105, 1106, -1, 1108, -1, 1110,
2885 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2886 -1, 3, 4, 5, 6, 42, -1, 9, -1, -1,
2887 -1, 1132, 1133, 1134, -1, -1, -1, -1, 55, 692,
2888 57, 58, -1, 696, -1, -1, -1, 279, -1, -1,
2889 703, 704, -1, 706, 71, -1, -1, -1, -1, -1,
2890 42, -1, 1163, -1, 81, -1, -1, 1168, -1, 1170,
2891 -1, -1, 89, 55, -1, 57, 58, 94, -1, 1358,
2892 -1, -1, 4, 5, 737, -1, 739, 9, -1, 71,
2893 -1, 744, 745, 746, -1, -1, 328, 329, 330, 81,
2894 -1, -1, -1, -1, -1, -1, 54, 89, 3, 4,
2895 5, 6, 94, -1, -1, -1, 1217, 1218, -1, 1220,
2896 -1, -1, -1, -1, -1, -1, 48, -1, 761, -1,
2897 763, 79, -1, 55, 82, 57, 58, -1, -1, -1,
2898 -1, -1, 1421, 1422, 1423, -1, -1, 42, -1, 71,
2899 1251, 1252, 1253, -1, -1, 103, 388, 105, -1, 81,
2900 55, -1, 57, 58, -1, -1, 61, -1, -1, 91,
2901 -1, -1, 94, 95, -1, -1, 71, -1, -1, -1,
2902 -1, -1, -1, -1, -1, -1, 81, -1, -1, -1,
2903 -1, -1, -1, -1, 89, -1, -1, -1, -1, 94,
2904 -1, -1, 835, 836, 436, 838, 438, -1, 440, 441,
2905 442, -1, -1, -1, 446, -1, -1, -1, -1, 451,
2906 -1, -1, 454, 876, -1, -1, -1, -1, -1, 177,
2907 178, 179, -1, 866, -1, -1, -1, -1, -1, 187,
2908 4, 5, -1, 7, 8, 9, -1, -1, 12, -1,
2909 14, -1, -1, -1, 907, 908, 909, 1358, 206, -1,
2910 -1, 3, 4, 5, 6, 29, -1, 31, 32, -1,
2911 -1, -1, -1, 37, -1, -1, -1, -1, 911, -1,
2912 -1, 229, 46, -1, 48, -1, -1, -1, -1, -1,
2913 -1, 55, -1, 57, 58, 243, 949, -1, -1, -1,
2914 42, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2915 -1, -1, -1, 55, -1, 57, 58, 81, -1, -1,
2916 1421, 1422, 1423, -1, -1, -1, 979, 91, -1, 71,
2917 94, 95, -1, -1, 98, -1, 568, -1, -1, 81,
2918 -1, -1, 975, 1444, -1, -1, -1, 89, -1, -1,
2919 582, 583, 94, 585, 987, -1, -1, -1, 1011, -1,
2920 592, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2921 4, 5, -1, 7, 8, 9, -1, -1, 610, -1,
2922 14, -1, -1, -1, -1, -1, 334, 335, -1, -1,
2923 -1, 3, 4, 5, 6, 29, -1, 31, 32, -1,
2924 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2925 -1, -1, 46, -1, -1, 49, -1, 649, -1, 651,
2926 652, 55, 654, 57, 58, -1, -1, -1, -1, -1,
2927 42, -1, -1, -1, -1, -1, -1, -1, 1071, -1,
2928 388, -1, -1, 55, -1, 57, 58, -1, -1, 1102,
2929 1103, 1104, 1105, 1106, -1, -1, -1, 1110, -1, 71,
2930 692, -1, -1, -1, -1, -1, -1, -1, -1, 81,
2931 -1, 703, 704, -1, 706, -1, 1109, 89, -1, 1132,
2932 1133, 1134, 94, -1, -1, -1, -1, -1, 436, -1,
2933 438, -1, 440, 441, 442, -1, -1, -1, 446, -1,
2934 -1, -1, -1, 451, -1, -1, 454, -1, -1, -1,
2935 1163, -1, 744, -1, -1, 1168, -1, 1170, -1, -1,
2936 -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
2937 6, 7, 8, 9, -1, 767, 768, 769, 14, 1172,
2938 -1, -1, -1, 1176, -1, -1, -1, 779, -1, -1,
2939 -1, -1, -1, 29, -1, 31, 32, 33, -1, -1,
2940 -1, 37, 38, -1, 1217, 1218, 42, 1220, -1, -1,
2941 46, 47, -1, 49, -1, -1, 1209, -1, -1, 55,
2942 -1, 57, 58, -1, -1, 61, -1, 63, 3, 4,
2943 5, 6, -1, -1, -1, 71, -1, -1, 1251, 1252,
2944 1253, -1, -1, -1, -1, 81, -1, -1, -1, -1,
2945 -1, -1, -1, 89, -1, -1, -1, -1, 94, -1,
2946 852, -1, 854, -1, -1, -1, -1, 42, -1, -1,
2947 -1, -1, -1, 865, -1, 111, -1, 869, 870, 871,
2948 55, -1, 57, 58, -1, 1278, -1, 595, 596, 1282,
2949 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2950 4, 5, 610, 7, 8, 9, 81, -1, 12, -1,
2951 14, 1304, 1305, -1, 89, 907, 908, 909, -1, 94,
2952 -1, -1, -1, -1, -1, 29, -1, 31, 32, -1,
2953 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2954 -1, 649, 46, 651, 652, 1358, -1, -1, -1, -1,
2955 -1, 55, -1, 57, 58, -1, -1, 949, -1, -1,
2956 3, 4, 5, 6, 7, 8, 9, -1, 14, -1,
2957 -1, 14, -1, -1, -1, -1, -1, -1, 24, 25,
2958 -1, -1, -1, -1, 692, 31, 32, 979, 34, 32,
2959 -1, -1, -1, -1, 37, 703, 704, -1, 706, 42,
2960 -1, -1, -1, 46, -1, 48, -1, -1, 1421, 1422,
2961 1423, -1, 55, -1, 57, 58, 4, 5, 64, 7,
2962 8, 9, -1, 731, -1, -1, 14, -1, 71, -1,
2963 -1, 1444, -1, -1, -1, -1, 744, -1, 81, -1,
2964 -1, 29, -1, 31, 32, -1, 89, -1, 91, 37,
2965 -1, 94, 95, -1, -1, -1, -1, -1, 46, -1,
2966 -1, -1, -1, 1055, 1056, -1, 1058, 55, -1, 57,
2967 58, -1, -1, -1, -1, -1, -1, 123, -1, 125,
2968 -1, -1, 128, -1, -1, -1, 132, 133, -1, -1,
2969 -1, -1, -1, 139, -1, 141, 142, 143, -1, -1,
2970 146, 147, 148, -1, -1, -1, -1, -1, -1, -1,
2971 1102, 1103, 1104, 1105, 1106, -1, -1, -1, 1110, 68,
2972 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2973 79, 80, 81, 82, 83, 84, 85, -1, -1, -1,
2974 1132, 1133, 1134, -1, -1, -1, -1, -1, -1, -1,
2975 -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
2976 4, 5, 6, 7, 8, 9, -1, 875, 876, 877,
2977 14, 1163, -1, -1, 220, 221, -1, -1, -1, -1,
2978 -1, -1, -1, -1, -1, 29, -1, 31, 32, 33,
2979 -1, -1, -1, 37, 240, -1, -1, -1, 42, 907,
2980 908, 909, 46, 47, -1, 49, 914, -1, -1, -1,
2981 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
2982 -1, -1, -1, -1, -1, 1217, 1218, 71, 1220, -1,
2983 -1, -1, -1, 279, -1, -1, -1, 81, -1, -1,
2984 -1, 949, -1, -1, -1, 89, -1, -1, -1, 1,
2985 94, -1, 4, 5, -1, -1, 8, 9, -1, 1251,
2986 -1, 1253, 14, -1, -1, -1, -1, -1, -1, -1,
2987 -1, 979, -1, -1, -1, -1, -1, 29, -1, 31,
2988 326, -1, 328, 329, -1, 37, -1, 39, 40, -1,
2989 -1, -1, 1000, -1, 46, -1, 48, -1, -1, -1,
2990 -1, -1, -1, 55, -1, 57, 58, -1, 60, 355,
2991 -1, -1, 64, 65, 66, 67, 68, 69, 70, 71,
2992 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2993 82, 83, 84, 379, -1, 87, 88, 89, -1, -1,
2994 92, -1, -1, 95, -1, -1, -1, -1, -1, 395,
2995 -1, -1, -1, 399, -1, -1, 402, -1, -1, -1,
2996 112, 407, -1, -1, -1, -1, 1358, -1, -1, -1,
2997 -1, -1, -1, -1, 1082, 69, 70, 71, 72, 73,
2998 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2999 84, 85, -1, -1, 1102, 1103, 1104, 1105, 1106, -1,
3000 1108, -1, 1110, 71, 72, 73, 74, 75, 76, 77,
3001 78, 79, 80, 81, 82, 83, 84, 85, -1, -1,
3002 -1, 467, -1, 469, 1132, 1133, 1134, -1, -1, 1421,
3003 1422, 1423, -1, -1, -1, -1, -1, -1, 3, 4,
3004 5, 6, 7, 8, 9, -1, -1, 12, 494, 14,
3005 -1, -1, 1444, -1, -1, 1163, -1, -1, -1, -1,
3006 -1, -1, -1, -1, 29, -1, 31, 32, -1, -1,
3007 -1, -1, 37, -1, -1, -1, -1, 42, -1, -1,
3008 -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
3009 55, -1, 57, 58, 1, -1, 3, 4, 5, 6,
3010 7, 8, 9, -1, -1, 12, 71, 14, -1, 1217,
3011 1218, -1, 1220, -1, -1, -1, 81, -1, 25, -1,
3012 27, 28, 568, -1, 89, 32, -1, -1, -1, 94,
3013 37, -1, -1, 579, 580, 42, 582, 583, -1, 46,
3014 -1, 48, -1, 1251, -1, 1253, -1, -1, 55, -1,
3015 57, 58, 59, 60, 61, -1, 63, 64, 65, 66,
3016 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3017 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3018 87, 88, 89, -1, 91, 92, 93, 94, 95, 96,
3019 -1, 98, 99, -1, -1, 641, -1, 104, -1, -1,
3020 -1, -1, 109, 110, 111, -1, 113, 653, -1, -1,
3021 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3022 4, 5, -1, 14, 8, 9, 672, -1, -1, -1,
3023 14, -1, -1, -1, -1, -1, 27, 28, 29, -1,
3024 31, 32, 33, -1, -1, 29, 37, 31, -1, -1,
3025 1358, 42, -1, 37, 45, 46, 47, -1, 49, -1,
3026 -1, -1, 46, -1, 55, -1, 57, 58, -1, -1,
3027 61, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3028 71, -1, -1, -1, -1, 731, -1, -1, 734, -1,
3029 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3030 -1, -1, -1, 94, -1, -1, -1, -1, -1, 100,
3031 -1, -1, -1, 1421, 1422, 1423, -1, -1, -1, -1,
3032 -1, 767, 768, 769, -1, -1, -1, -1, -1, -1,
3033 -1, -1, -1, 779, -1, 1, 1444, 3, 4, 5,
3034 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3035 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3036 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3037 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3038 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3039 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3040 -1, -1, 68, -1, -1, 71, 852, -1, 854, -1,
3041 -1, -1, -1, 79, 80, 81, -1, -1, -1, 865,
3042 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3043 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3044 -1, -1, -1, -1, -1, 111, 112, 1, -1, 3,
3045 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3046 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3047 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3048 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3049 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3050 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3051 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3052 -1, -1, -1, -1, -1, 79, 80, 81, 974, -1,
3053 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3054 94, 1, 96, 3, 4, 5, 6, 7, 8, 9,
3055 10, 11, 12, 13, 14, 1001, -1, -1, 112, -1,
3056 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3057 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3058 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3059 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3060 -1, -1, 62, -1, -1, -1, -1, -1, 68, 1055,
3061 1056, 71, 1058, -1, -1, -1, -1, -1, -1, 79,
3062 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3063 -1, 91, -1, -1, 94, 95, -1, 1, 98, 3,
3064 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3065 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3066 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
3067 1116, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3068 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3069 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3070 -1, -1, 1148, -1, 68, -1, -1, 71, -1, -1,
3071 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3072 1166, -1, 1168, 87, 88, 89, -1, 91, -1, -1,
3073 94, 95, -1, 1, 98, 3, 4, 5, 6, 7,
3074 8, 9, 10, 11, 12, 13, 14, -1, 112, -1,
3075 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3076 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3077 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3078 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3079 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3080 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3081 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3082 88, 89, -1, -1, -1, -1, 94, -1, -1, -1,
3083 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3084 -1, -1, 110, 1, 112, 3, 4, 5, 6, 7,
3085 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3086 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3087 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3088 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3089 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3090 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3091 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3092 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3093 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3094 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3095 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3096 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3097 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3098 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3099 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3100 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3101 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3102 -1, 87, 88, 89, -1, -1, -1, -1, 94, 95,
3103 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3104 11, -1, 13, 14, -1, 111, 112, -1, -1, -1,
3105 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3106 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3107 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3108 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3109 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3110 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3111 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3112 -1, -1, -1, 94, 95, 1, -1, 3, 4, 5,
3113 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3114 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3115 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3116 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3117 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3118 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3119 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3120 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3121 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3122 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3123 14, -1, -1, -1, -1, 111, 112, -1, -1, -1,
3124 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3125 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3126 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3127 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3128 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3129 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3130 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3131 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3132 -1, 13, 14, -1, -1, -1, -1, 111, 112, -1,
3133 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3134 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3135 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3136 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3137 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3138 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3139 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3140 -1, -1, 94, -1, -1, 1, -1, 3, 4, 5,
3141 6, 103, 8, 9, 10, 11, -1, 13, 14, -1,
3142 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3143 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3144 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3145 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3146 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3147 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3148 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3149 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3150 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3151 14, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3152 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3153 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3154 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3155 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3156 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3157 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3158 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3159 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3160 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3161 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3162 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3163 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3164 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3165 62, 63, -1, -1, -1, -1, 68, -1, -1, 71,
3166 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3167 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3168 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3169 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3170 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3171 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3172 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3173 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3174 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3175 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3176 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3177 -1, -1, -1, 1, 94, 3, 4, 5, 6, -1,
3178 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3179 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3180 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3181 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3182 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3183 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3184 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3185 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3186 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3187 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3188 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3189 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3190 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3191 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3192 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3193 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3194 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3195 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3196 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3197 14, -1, -1, -1, 110, -1, 112, -1, -1, -1,
3198 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3199 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3200 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3201 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3202 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3203 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3204 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3205 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3206 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3207 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3208 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3209 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3210 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3211 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3212 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3213 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3214 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3215 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3216 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3217 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3218 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3219 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3220 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3221 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3222 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3223 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3224 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3225 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3226 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3227 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3228 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3229 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3230 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3231 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3232 -1, 94, -1, -1, -1, -1, -1, -1, -1, -1,
3233 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3234 113, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3235 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3236 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3237 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3238 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3239 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3240 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3241 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3242 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3243 -1, -1, 94, -1, 96, -1, -1, -1, -1, -1,
3244 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3245 112, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3246 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3247 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3248 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3249 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3250 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3251 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3252 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3253 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3254 -1, -1, 94, -1, 96, -1, -1, 3, 4, 5,
3255 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3256 112, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3257 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3258 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3259 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3260 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3261 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3262 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3263 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3264 96, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3265 10, 11, -1, 13, 14, 15, 112, 17, 18, 19,
3266 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3267 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3268 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3269 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3270 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3271 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3272 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3273 -1, -1, -1, -1, 94, -1, 96, 3, 4, 5,
3274 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3275 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3276 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3277 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3278 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
3279 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3280 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3281 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3282 -1, 87, 88, 89, -1, 91, -1, -1, 94, 95,
3283 -1, -1, 98, 3, 4, 5, 6, 7, 8, 9,
3284 10, 11, 12, 13, 14, -1, 112, -1, -1, -1,
3285 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3286 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3287 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3288 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3289 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3290 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3291 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3292 -1, 91, -1, -1, 94, 95, -1, -1, 98, 3,
3293 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3294 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3295 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3296 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3297 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3298 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3299 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3300 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3301 -1, -1, -1, 87, 88, 89, -1, 91, -1, -1,
3302 94, 95, 3, 4, 5, 6, -1, 8, 9, 10,
3303 11, -1, 13, 14, -1, -1, -1, -1, 112, -1,
3304 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3305 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3306 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3307 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3308 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3309 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3310 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3311 91, -1, -1, 94, 95, 3, 4, 5, 6, -1,
3312 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3313 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3314 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3315 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3316 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3317 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3318 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3319 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3320 88, 89, -1, -1, -1, -1, 94, 3, 4, 5,
3321 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3322 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3323 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3324 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3325 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3326 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3327 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3328 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3329 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3330 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3331 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3332 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3333 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3334 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3335 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3336 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3337 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3338 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3339 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3340 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3341 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3342 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3343 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3344 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3345 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3346 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3347 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3348 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3349 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3350 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3351 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3352 55, -1, 57, 58, 59, -1, -1, -1, -1, -1,
3353 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3354 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3355 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3356 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3357 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3358 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3359 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3360 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3361 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3362 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3363 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3364 88, 89, -1, -1, -1, -1, 94, 95, 3, 4,
3365 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3366 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3367 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3368 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3369 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3370 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3371 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3372 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3373 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3374 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3375 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3376 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3377 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3378 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3379 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3380 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3381 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3382 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3383 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3384 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3385 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3386 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3387 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3388 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3389 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3390 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3391 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3392 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3393 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3394 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3395 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3396 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3397 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3398 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3399 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3400 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3401 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3402 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3403 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3404 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3405 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3406 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3407 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3408 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3409 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3410 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3411 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3412 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3413 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3414 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3415 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3416 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3417 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3418 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3419 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3420 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3421 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3422 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3423 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3424 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3425 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3426 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3427 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3428 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3429 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3430 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3431 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3432 -1, -1, 68, -1, 1, 71, 3, 4, 5, 6,
3433 7, 8, 9, 79, 80, 81, -1, 14, -1, -1,
3434 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3435 -1, -1, 29, -1, 31, 32, -1, -1, -1, -1,
3436 37, -1, -1, -1, -1, 42, 112, -1, -1, 46,
3437 -1, -1, 49, -1, -1, -1, -1, -1, 55, -1,
3438 57, 58, -1, -1, 61, 3, 4, 5, 6, 7,
3439 8, 9, -1, -1, 71, -1, 14, -1, -1, -1,
3440 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3441 -1, 29, 89, 31, 32, -1, -1, 94, -1, 37,
3442 -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
3443 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3444 58, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3445 -1, -1, 14, 71, -1, -1, -1, -1, -1, -1,
3446 -1, -1, -1, 81, -1, -1, -1, 29, -1, 31,
3447 32, 89, -1, 91, -1, 37, 94, 95, -1, -1,
3448 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3449 7, 8, 9, 55, -1, 57, 58, 14, -1, 61,
3450 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3451 -1, -1, 29, -1, 31, 32, -1, -1, -1, 81,
3452 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3453 -1, -1, 94, -1, -1, -1, -1, -1, 55, -1,
3454 57, 58, -1, -1, -1, -1, 63, 3, 4, 5,
3455 6, 7, 8, 9, 71, -1, -1, -1, 14, -1,
3456 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3457 -1, -1, 89, 29, -1, 31, 32, 94, -1, -1,
3458 -1, 37, -1, -1, -1, -1, 42, -1, -1, -1,
3459 46, -1, 3, 4, 5, 6, 7, 8, 9, 55,
3460 -1, 57, 58, 14, -1, 61, -1, -1, -1, -1,
3461 -1, -1, -1, -1, -1, 71, -1, -1, 29, -1,
3462 31, 32, -1, -1, -1, 81, 37, -1, -1, -1,
3463 -1, 42, -1, 89, -1, 46, -1, -1, 94, -1,
3464 -1, -1, -1, -1, 55, -1, 57, 58, 3, 4,
3465 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3466 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3467 81, -1, -1, -1, 29, -1, 31, 32, 89, -1,
3468 -1, -1, 37, 94, -1, -1, -1, 42, -1, -1,
3469 -1, 46, -1, 3, 4, 5, 6, 7, 8, 9,
3470 55, -1, 57, 58, 14, -1, -1, -1, -1, -1,
3471 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3472 -1, -1, 32, -1, -1, -1, 81, 37, -1, -1,
3473 -1, -1, 42, -1, 89, 12, 46, -1, 48, 94,
3474 -1, -1, -1, -1, -1, 55, -1, 57, 58, 64,
3475 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3476 75, 71, 77, 78, 79, 80, 81, 82, 83, 84,
3477 85, 81, -1, -1, -1, -1, -1, 32, -1, 89,
3478 -1, -1, -1, -1, 94, -1, 63, 64, 65, 66,
3479 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3480 77, 78, 79, 80, 81, 82, 83, 84, 85, 64,
3481 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3482 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3483 85, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3484 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3485 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
3486 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3487 81, 82, 83, 84, 85, -1, -1, -1, -1, -1,
3488 113, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3489 -1, -1, -1, -1, -1, 60, -1, -1, 109, 64,
3490 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3491 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3492 85, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3493 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3494 82, 83, 84, 85, 64, 65, 66, 67, 68, 69,
3495 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3496 80, 81, 82, 83, 84, 85
3498 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3499 #line 3 "/usr/lib/bison.simple"
3501 /* Skeleton output parser for bison,
3502 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3504 This program is free software; you can redistribute it and/or modify
3505 it under the terms of the GNU General Public License as published by
3506 the Free Software Foundation; either version 2, or (at your option)
3509 This program is distributed in the hope that it will be useful,
3510 but WITHOUT ANY WARRANTY; without even the implied warranty of
3511 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3512 GNU General Public License for more details.
3514 You should have received a copy of the GNU General Public License
3515 along with this program; if not, write to the Free Software
3516 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3518 /* As a special exception, when this file is copied by Bison into a
3519 Bison output file, you may use that output file without restriction.
3520 This special exception was added by the Free Software Foundation
3521 in version 1.24 of Bison. */
3525 #define alloca __builtin_alloca
3526 #else /* not GNU C. */
3527 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3529 #else /* not sparc */
3530 #if defined (MSDOS) && !defined (__TURBOC__)
3532 #else /* not MSDOS, or __TURBOC__ */
3536 #else /* not MSDOS, __TURBOC__, or _AIX */
3540 void *alloca (unsigned int);
3542 #else /* not __cplusplus */
3544 #endif /* not __cplusplus */
3546 #endif /* not _AIX */
3547 #endif /* not MSDOS, or __TURBOC__ */
3548 #endif /* not sparc. */
3549 #endif /* not GNU C. */
3550 #endif /* alloca not defined. */
3552 /* This is the parser code that is written into each bison parser
3553 when the %semantic_parser declaration is not specified in the grammar.
3554 It was written by Richard Stallman by simplifying the hairy parser
3555 used when %semantic_parser is specified. */
3557 /* Note: there must be only one dollar sign in this file.
3558 It is replaced by the list of actions, each action
3559 as one case of the switch. */
3561 #define yyerrok (yyerrstatus = 0)
3562 #define yyclearin (yychar = YYEMPTY)
3565 #define YYACCEPT return(0)
3566 #define YYABORT return(1)
3567 #define YYERROR goto yyerrlab1
3568 /* Like YYERROR except do call yyerror.
3569 This remains here temporarily to ease the
3570 transition to the new meaning of YYERROR, for GCC.
3571 Once GCC version 2 has supplanted version 1, this can go. */
3572 #define YYFAIL goto yyerrlab
3573 #define YYRECOVERING() (!!yyerrstatus)
3574 #define YYBACKUP(token, value) \
3576 if (yychar == YYEMPTY && yylen == 1) \
3577 { yychar = (token), yylval = (value); \
3578 yychar1 = YYTRANSLATE (yychar); \
3583 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3587 #define YYERRCODE 256
3590 #define YYLEX yylex()
3596 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3598 #define YYLEX yylex(&yylval, &yylloc)
3600 #else /* not YYLSP_NEEDED */
3602 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3604 #define YYLEX yylex(&yylval)
3606 #endif /* not YYLSP_NEEDED */
3609 /* If nonreentrant, generate the variables here */
3613 int yychar
; /* the lookahead symbol */
3614 YYSTYPE yylval
; /* the semantic value of the */
3615 /* lookahead symbol */
3618 YYLTYPE yylloc
; /* location data for the lookahead */
3622 int yynerrs
; /* number of parse errors so far */
3623 #endif /* not YYPURE */
3626 int yydebug
; /* nonzero means print parse trace */
3627 /* Since this is uninitialized, it does not stop multiple parsers
3631 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3634 #define YYINITDEPTH 200
3637 /* YYMAXDEPTH is the maximum size the stacks can grow to
3638 (effective only if the built-in stack extension method is used). */
3645 #define YYMAXDEPTH 10000
3648 /* Prevent warning if -Wstrict-prototypes. */
3653 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3654 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3655 #else /* not GNU C or C++ */
3658 /* This is the most reliable way to avoid incompatibilities
3659 in available built-in functions on various systems. */
3661 __yy_memcpy (to
, from
, count
)
3666 register char *f
= from
;
3667 register char *t
= to
;
3668 register int i
= count
;
3674 #else /* __cplusplus */
3676 /* This is the most reliable way to avoid incompatibilities
3677 in available built-in functions on various systems. */
3679 __yy_memcpy (char *to
, char *from
, int count
)
3681 register char *f
= from
;
3682 register char *t
= to
;
3683 register int i
= count
;
3692 #line 196 "/usr/lib/bison.simple"
3694 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3695 into yyparse. The argument should have type void *.
3696 It should actually point to an object.
3697 Grammar actions can access the variable by casting it
3698 to the proper pointer type. */
3700 #ifdef YYPARSE_PARAM
3702 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3703 #define YYPARSE_PARAM_DECL
3704 #else /* not __cplusplus */
3705 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3706 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3707 #endif /* not __cplusplus */
3708 #else /* not YYPARSE_PARAM */
3709 #define YYPARSE_PARAM_ARG
3710 #define YYPARSE_PARAM_DECL
3711 #endif /* not YYPARSE_PARAM */
3714 yyparse(YYPARSE_PARAM_ARG
)
3717 register int yystate
;
3719 register short *yyssp
;
3720 register YYSTYPE
*yyvsp
;
3721 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3722 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3724 short yyssa
[YYINITDEPTH
]; /* the state stack */
3725 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3727 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3728 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3731 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3732 YYLTYPE
*yyls
= yylsa
;
3735 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3737 #define YYPOPSTACK (yyvsp--, yyssp--)
3740 int yystacksize
= YYINITDEPTH
;
3751 YYSTYPE yyval
; /* the variable used to return */
3752 /* semantic values from the action */
3759 fprintf(stderr
, "Starting parse\n");
3765 yychar
= YYEMPTY
; /* Cause a token to be read. */
3767 /* Initialize stack pointers.
3768 Waste one element of value and location stack
3769 so that they stay on the same level as the state stack.
3770 The wasted elements are never initialized. */
3778 /* Push a new state, which is found in yystate . */
3779 /* In all cases, when you get here, the value and location stacks
3780 have just been pushed. so pushing a state here evens the stacks. */
3785 if (yyssp
>= yyss
+ yystacksize
- 1)
3787 /* Give user a chance to reallocate the stack */
3788 /* Use copies of these so that the &'s don't force the real ones into memory. */
3789 YYSTYPE
*yyvs1
= yyvs
;
3790 short *yyss1
= yyss
;
3792 YYLTYPE
*yyls1
= yyls
;
3795 /* Get the current used size of the three stacks, in elements. */
3796 int size
= yyssp
- yyss
+ 1;
3799 /* Each stack pointer address is followed by the size of
3800 the data in use in that stack, in bytes. */
3802 /* This used to be a conditional around just the two extra args,
3803 but that might be undefined if yyoverflow is a macro. */
3804 yyoverflow("parser stack overflow",
3805 &yyss1
, size
* sizeof (*yyssp
),
3806 &yyvs1
, size
* sizeof (*yyvsp
),
3807 &yyls1
, size
* sizeof (*yylsp
),
3810 yyoverflow("parser stack overflow",
3811 &yyss1
, size
* sizeof (*yyssp
),
3812 &yyvs1
, size
* sizeof (*yyvsp
),
3816 yyss
= yyss1
; yyvs
= yyvs1
;
3820 #else /* no yyoverflow */
3821 /* Extend the stack our own way. */
3822 if (yystacksize
>= YYMAXDEPTH
)
3824 yyerror("parser stack overflow");
3828 if (yystacksize
> YYMAXDEPTH
)
3829 yystacksize
= YYMAXDEPTH
;
3830 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3831 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3832 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3833 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3835 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3836 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3838 #endif /* no yyoverflow */
3840 yyssp
= yyss
+ size
- 1;
3841 yyvsp
= yyvs
+ size
- 1;
3843 yylsp
= yyls
+ size
- 1;
3848 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3851 if (yyssp
>= yyss
+ yystacksize
- 1)
3857 fprintf(stderr
, "Entering state %d\n", yystate
);
3863 /* Do appropriate processing given the current state. */
3864 /* Read a lookahead token if we need one and don't already have one. */
3867 /* First try to decide what to do without reference to lookahead token. */
3869 yyn
= yypact
[yystate
];
3873 /* Not known => get a lookahead token if don't already have one. */
3875 /* yychar is either YYEMPTY or YYEOF
3876 or a valid token in external form. */
3878 if (yychar
== YYEMPTY
)
3882 fprintf(stderr
, "Reading a token: ");
3887 /* Convert token to internal form (in yychar1) for indexing tables with */
3889 if (yychar
<= 0) /* This means end of input. */
3892 yychar
= YYEOF
; /* Don't call YYLEX any more */
3896 fprintf(stderr
, "Now at end of input.\n");
3901 yychar1
= YYTRANSLATE(yychar
);
3906 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
3907 /* Give the individual parser a way to print the precise meaning
3908 of a token, for further debugging info. */
3910 YYPRINT (stderr
, yychar
, yylval
);
3912 fprintf (stderr
, ")\n");
3918 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
3923 /* yyn is what to do for this token type in this state.
3924 Negative => reduce, -yyn is rule number.
3925 Positive => shift, yyn is new state.
3926 New state is final state => don't bother to shift,
3927 just return success.
3928 0, or most negative number => error. */
3943 /* Shift the lookahead token. */
3947 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
3950 /* Discard the token being shifted unless it is eof. */
3951 if (yychar
!= YYEOF
)
3959 /* count tokens shifted since error; after three, turn off error status. */
3960 if (yyerrstatus
) yyerrstatus
--;
3965 /* Do the default action for the current state. */
3968 yyn
= yydefact
[yystate
];
3972 /* Do a reduction. yyn is the number of a rule to reduce with. */
3976 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
3983 fprintf (stderr
, "Reducing via rule %d (line %d), ",
3986 /* Print the symbols being reduced, and their result. */
3987 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
3988 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
3989 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
3999 /* In case there were missing closebraces,
4000 get us back to the global binding level. */
4001 while (! global_bindings_p ())
4008 { yyval
.ttype
= NULL_TREE
; ;
4012 { yyval
.ttype
= NULL_TREE
; ;
4016 { yyval
.ttype
= NULL_TREE
; ;
4020 { have_extern_spec
= 1;
4021 used_extern_spec
= 0;
4022 yyval
.ttype
= NULL_TREE
; ;
4026 { have_extern_spec
= 0; ;
4030 { yyval
.itype
= pedantic
;
4035 { if (pending_lang_change
) do_pending_lang_change(); ;
4039 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4040 pop_everything (); ;
4044 { if (pending_inlines
) do_pending_inlines (); ;
4048 { if (pending_inlines
) do_pending_inlines (); ;
4052 { if (pending_inlines
) do_pending_inlines (); ;
4056 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4057 assemble_asm (yyvsp
[-2].ttype
); ;
4061 { pop_lang_context (); ;
4065 { if (pending_inlines
) do_pending_inlines ();
4066 pop_lang_context (); ;
4070 { if (pending_inlines
) do_pending_inlines ();
4071 pop_lang_context (); ;
4075 { push_namespace (yyvsp
[-1].ttype
); ;
4079 { pop_namespace (); ;
4083 { push_namespace (NULL_TREE
); ;
4087 { pop_namespace (); ;
4091 { do_namespace_alias (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4095 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4100 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
4101 yyvsp
[-1].ttype
= lastiddecl
;
4102 do_using_directive (yyvsp
[-1].ttype
);
4107 { pedantic
= yyvsp
[-1].itype
; ;
4111 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4115 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4119 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4123 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4127 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4131 { push_lang_context (yyvsp
[0].ttype
); ;
4135 { if (current_lang_name
!= yyvsp
[0].ttype
)
4136 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4137 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4141 { begin_template_parm_list (); ;
4145 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4149 { begin_specialization();
4150 yyval
.ttype
= NULL_TREE
; ;
4154 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4158 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4162 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4166 { yyval
.ttype
= NULL_TREE
; ;
4170 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4174 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4178 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4182 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4186 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4190 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4194 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4198 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4203 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4204 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4205 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4207 error ("invalid default template argument");
4208 yyvsp
[0].ttype
= error_mark_node
;
4210 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4216 if (yyvsp
[-1].ttype
)
4217 end_template_decl ();
4219 end_specialization ();
4225 if (yyvsp
[-1].ttype
)
4226 end_template_decl ();
4228 end_specialization ();
4238 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
4243 { pedwarn ("empty declaration"); ;
4249 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4251 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4256 { yyval
.itype
= 0; ;
4260 { yyval
.itype
= 1; ;
4264 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4276 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4280 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4284 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4285 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4290 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4294 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4298 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4299 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4304 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4308 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4312 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4313 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4318 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4322 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4326 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4327 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4332 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4337 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4342 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4347 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4352 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4357 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4361 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4365 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4369 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4373 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4374 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4378 if (yychar
== YYEMPTY
)
4380 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4384 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4388 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4389 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4393 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4394 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4398 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4402 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4403 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4407 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4412 if (! current_function_parms_stored
)
4413 store_parm_decls ();
4414 yyval
.ttype
= yyvsp
[0].ttype
;
4419 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4423 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4427 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4432 if (yyvsp
[0].itype
== 0)
4433 error ("no base initializers given following ':'");
4435 /* Always keep the BLOCK node associated with the outermost
4436 pair of curley braces of a function. These are needed
4437 for correct operation of dwarfout.c. */
4444 if (! current_function_parms_stored
)
4445 store_parm_decls ();
4447 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4449 /* Make a contour for the initializer list. */
4452 expand_start_bindings (0);
4454 else if (current_class_type
== NULL_TREE
)
4455 error ("base initializers not allowed for non-member functions");
4456 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4457 error ("only constructors take base initializers");
4462 { yyval
.itype
= 0; ;
4466 { yyval
.itype
= 1; ;
4471 if (current_class_name
)
4472 pedwarn ("anachronistic old style base class initializer");
4473 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4479 if (current_class_name
)
4480 pedwarn ("anachronistic old style base class initializer");
4481 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4486 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4490 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4494 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4498 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4502 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4507 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4512 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4513 yyungetc (';', 1); ;
4517 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4518 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4522 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4526 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4530 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4531 yyungetc (';', 1); ;
4535 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4536 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4540 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4544 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4548 { begin_explicit_instantiation(); ;
4552 { end_explicit_instantiation(); ;
4557 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4558 if (yyval
.ttype
!= error_mark_node
)
4559 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4565 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4566 if (yyval
.ttype
!= error_mark_node
)
4567 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4573 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4574 if (yyval
.ttype
!= error_mark_node
)
4575 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4581 /* Handle `Class<Class<Type>>' without space in the `>>' */
4582 pedwarn ("`>>' should be `> >' in template class name");
4588 { yyval
.ttype
= NULL_TREE
; ;
4592 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4596 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4600 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4604 { yyval
.code
= NEGATE_EXPR
; ;
4608 { yyval
.code
= CONVERT_EXPR
; ;
4612 { yyval
.code
= PREINCREMENT_EXPR
; ;
4616 { yyval
.code
= PREDECREMENT_EXPR
; ;
4620 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4624 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4628 { error ("ANSI C++ forbids an empty condition for `%s'",
4630 yyval
.ttype
= integer_zero_node
; ;
4634 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4638 { error ("ANSI C++ forbids an empty condition for `%s'",
4640 yyval
.ttype
= integer_zero_node
; ;
4644 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4648 { yyval
.ttype
= NULL_TREE
; ;
4652 { yyval
.ttype
= condition_conversion (yyval
.ttype
); ;
4656 { yyval
.ttype
= NULL_TREE
; ;
4662 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4663 if (TREE_CODE (d
) == TYPE_DECL
) {
4664 tree s
= TREE_TYPE (d
);
4665 if (TREE_CODE (s
) == RECORD_TYPE
)
4666 cp_error ("definition of class `%T' in condition", s
);
4667 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4668 cp_error ("definition of enum `%T' in condition", s
);
4671 current_declspecs
= yyvsp
[-4].ftype
.t
;
4672 yyvsp
[0].itype
= suspend_momentary ();
4673 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
4674 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
,
4675 /*prefix_attributes*/ NULL_TREE
);
4681 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4682 resume_momentary (yyvsp
[-2].itype
);
4683 yyval
.ttype
= yyvsp
[-1].ttype
;
4684 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4685 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4690 { yyval
.ttype
= begin_compound_stmt (1); ;
4694 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
4698 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4699 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4703 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4704 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4708 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4712 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4716 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4719 #line 1002 "parse.y"
4720 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4723 #line 1005 "parse.y"
4724 { yyval
.ttype
= yyvsp
[0].ttype
;
4725 pedantic
= yyvsp
[-1].itype
; ;
4728 #line 1008 "parse.y"
4729 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4732 #line 1010 "parse.y"
4733 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4736 #line 1012 "parse.y"
4737 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4740 #line 1014 "parse.y"
4741 { yyval
.ttype
= build_x_unary_op (yyvsp
[-1].code
, yyvsp
[0].ttype
);
4742 if (yyvsp
[-1].code
== NEGATE_EXPR
&& TREE_CODE (yyvsp
[0].ttype
) == INTEGER_CST
)
4743 TREE_NEGATED_INT (yyval
.ttype
) = 1;
4744 overflow_warning (yyval
.ttype
);
4748 #line 1021 "parse.y"
4750 pedwarn ("ANSI C++ forbids `&&'");
4751 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
4754 #line 1025 "parse.y"
4755 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4758 #line 1027 "parse.y"
4759 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4762 #line 1029 "parse.y"
4763 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4766 #line 1031 "parse.y"
4767 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4768 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4771 #line 1037 "parse.y"
4772 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4773 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4776 #line 1040 "parse.y"
4777 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4778 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4781 #line 1043 "parse.y"
4782 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4783 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4786 #line 1046 "parse.y"
4787 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4788 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4791 #line 1049 "parse.y"
4792 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4793 NULL_TREE
, yyvsp
[-3].itype
);
4794 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4797 #line 1053 "parse.y"
4798 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-4].itype
);
4799 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4802 #line 1056 "parse.y"
4803 { yyval
.ttype
= build_new (yyvsp
[-3].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-4].itype
);
4804 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4807 #line 1059 "parse.y"
4808 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4809 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4812 #line 1063 "parse.y"
4813 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4816 #line 1065 "parse.y"
4817 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4818 if (yychar
== YYEMPTY
)
4822 #line 1069 "parse.y"
4823 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4824 if (yychar
== YYEMPTY
)
4828 #line 1073 "parse.y"
4829 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4832 #line 1075 "parse.y"
4833 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4836 #line 1080 "parse.y"
4837 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4840 #line 1082 "parse.y"
4842 yyval
.ttype
= yyvsp
[-1].ttype
;
4843 pedwarn ("old style placement syntax, use () instead");
4847 #line 1090 "parse.y"
4848 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4851 #line 1092 "parse.y"
4852 { yyval
.ttype
= NULL_TREE
; ;
4855 #line 1094 "parse.y"
4857 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
4858 yyval
.ttype
= error_mark_node
;
4862 #line 1102 "parse.y"
4865 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4866 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
4867 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
4868 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
4870 yyval
.ttype
= yyvsp
[0].ttype
;
4874 #line 1116 "parse.y"
4875 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
4876 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
4877 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4878 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4881 #line 1121 "parse.y"
4882 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
4883 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
4884 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4885 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4888 #line 1130 "parse.y"
4889 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
4892 #line 1132 "parse.y"
4894 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
4895 nreverse (yyvsp
[-2].ttype
));
4897 pedwarn ("ANSI C++ forbids constructor-expressions");
4898 /* Indicate that this was a GNU C constructor expression. */
4899 TREE_HAS_CONSTRUCTOR (init
) = 1;
4901 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
4905 #line 1148 "parse.y"
4906 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4909 #line 1150 "parse.y"
4910 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
4913 #line 1152 "parse.y"
4914 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4917 #line 1154 "parse.y"
4918 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4921 #line 1156 "parse.y"
4922 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4925 #line 1158 "parse.y"
4926 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4929 #line 1160 "parse.y"
4930 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4933 #line 1162 "parse.y"
4934 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4937 #line 1164 "parse.y"
4938 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4941 #line 1166 "parse.y"
4942 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4945 #line 1168 "parse.y"
4946 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4949 #line 1170 "parse.y"
4950 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4953 #line 1172 "parse.y"
4954 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4957 #line 1174 "parse.y"
4958 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4961 #line 1176 "parse.y"
4962 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4965 #line 1178 "parse.y"
4966 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4969 #line 1180 "parse.y"
4970 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4973 #line 1182 "parse.y"
4974 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4977 #line 1184 "parse.y"
4978 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4981 #line 1186 "parse.y"
4982 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4985 #line 1188 "parse.y"
4986 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
4987 if (yyval
.ttype
!= error_mark_node
)
4988 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
4991 #line 1192 "parse.y"
4992 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
4995 #line 1194 "parse.y"
4996 { yyval
.ttype
= build_throw (NULL_TREE
); ;
4999 #line 1196 "parse.y"
5000 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5003 #line 1214 "parse.y"
5004 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5007 #line 1223 "parse.y"
5008 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1); ;
5011 #line 1227 "parse.y"
5012 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5015 #line 1229 "parse.y"
5016 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5019 #line 1234 "parse.y"
5020 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5023 #line 1236 "parse.y"
5024 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5027 #line 1239 "parse.y"
5028 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5031 #line 1251 "parse.y"
5032 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5035 #line 1253 "parse.y"
5036 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5039 #line 1255 "parse.y"
5040 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5043 #line 1260 "parse.y"
5044 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5047 #line 1262 "parse.y"
5048 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5051 #line 1270 "parse.y"
5052 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5055 #line 1275 "parse.y"
5057 if (TREE_CODE (yyval
.ttype
) == BIT_NOT_EXPR
)
5058 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyval
.ttype
, 0));
5059 else if (TREE_CODE (yyval
.ttype
) != TEMPLATE_ID_EXPR
)
5060 yyval
.ttype
= do_identifier (yyval
.ttype
, 1);
5064 #line 1284 "parse.y"
5066 if (processing_template_decl
)
5067 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5068 yyval
.ttype
= combine_strings (yyval
.ttype
);
5069 if (processing_template_decl
)
5074 #line 1292 "parse.y"
5075 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5078 #line 1294 "parse.y"
5079 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5080 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5083 #line 1297 "parse.y"
5084 { yyval
.ttype
= error_mark_node
; ;
5087 #line 1299 "parse.y"
5088 { if (current_function_decl
== 0)
5090 error ("braced-group within expression allowed only inside a function");
5094 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5095 yyval
.ttype
= begin_stmt_expr ();
5099 #line 1309 "parse.y"
5100 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5103 #line 1311 "parse.y"
5104 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5107 #line 1313 "parse.y"
5108 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5111 #line 1315 "parse.y"
5112 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5115 #line 1317 "parse.y"
5116 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5119 #line 1319 "parse.y"
5120 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5123 #line 1322 "parse.y"
5124 { yyval
.ttype
= finish_this_expr (); ;
5127 #line 1324 "parse.y"
5129 tree type
= NULL_TREE
;
5130 tree id
= yyval
.ttype
;
5132 /* This is a C cast in C++'s `functional' notation. */
5133 if (yyvsp
[-1].ttype
== error_mark_node
)
5135 yyval
.ttype
= error_mark_node
;
5139 if (yyvsp
[-1].ttype
== NULL_TREE
)
5141 error ("cannot cast null list to type `%s'",
5142 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5143 yyval
.ttype
= error_mark_node
;
5148 /* type is not set! (mrs) */
5149 if (type
== error_mark_node
)
5150 yyval
.ttype
= error_mark_node
;
5154 if (id
== ridpointers
[(int) RID_CONST
])
5155 type
= build_type_variant (integer_type_node
, 1, 0);
5156 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5157 type
= build_type_variant (integer_type_node
, 0, 1);
5159 /* should not be able to get here (mrs) */
5160 else if (id
== ridpointers
[(int) RID_FRIEND
])
5162 error ("cannot cast expression to `friend' type");
5163 yyval
.ttype
= error_mark_node
;
5167 else my_friendly_abort (79);
5168 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5173 #line 1369 "parse.y"
5174 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5175 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5176 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5179 #line 1373 "parse.y"
5180 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5181 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5182 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5185 #line 1377 "parse.y"
5186 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5187 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5188 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5191 #line 1381 "parse.y"
5192 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5193 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5194 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5197 #line 1385 "parse.y"
5198 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5201 #line 1387 "parse.y"
5202 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5203 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5204 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5207 #line 1391 "parse.y"
5208 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5211 #line 1393 "parse.y"
5213 got_scope
= NULL_TREE
;
5214 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5215 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5217 yyval
.ttype
= yyvsp
[0].ttype
;
5221 #line 1401 "parse.y"
5222 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5225 #line 1403 "parse.y"
5226 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5229 #line 1405 "parse.y"
5230 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5233 #line 1407 "parse.y"
5235 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5239 #line 1411 "parse.y"
5240 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5243 #line 1413 "parse.y"
5244 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5247 #line 1415 "parse.y"
5248 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5251 #line 1417 "parse.y"
5252 { if (processing_template_decl
)
5253 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5255 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5258 #line 1422 "parse.y"
5259 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5262 #line 1424 "parse.y"
5263 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5266 #line 1426 "parse.y"
5267 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5270 #line 1428 "parse.y"
5271 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5274 #line 1431 "parse.y"
5275 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5278 #line 1433 "parse.y"
5279 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5282 #line 1435 "parse.y"
5284 yyval
.ttype
= error_mark_node
;
5288 #line 1480 "parse.y"
5289 { yyval
.itype
= 0; ;
5292 #line 1482 "parse.y"
5293 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5296 #line 1487 "parse.y"
5297 { yyval
.itype
= 0; ;
5300 #line 1489 "parse.y"
5301 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5304 #line 1494 "parse.y"
5305 { yyval
.ttype
= boolean_true_node
; ;
5308 #line 1496 "parse.y"
5309 { yyval
.ttype
= boolean_false_node
; ;
5312 #line 1503 "parse.y"
5313 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5316 #line 1508 "parse.y"
5318 if (! current_function_parms_stored
)
5319 store_parm_decls ();
5321 /* Always keep the BLOCK node associated with the outermost
5322 pair of curley braces of a function. These are needed
5323 for correct operation of dwarfout.c. */
5328 #line 1521 "parse.y"
5329 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5332 #line 1523 "parse.y"
5334 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5335 got_object
= TREE_TYPE (yyval
.ttype
);
5339 #line 1531 "parse.y"
5341 resume_momentary (yyvsp
[-1].itype
);
5342 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5343 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5347 #line 1537 "parse.y"
5349 resume_momentary (yyvsp
[-1].itype
);
5350 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5354 #line 1542 "parse.y"
5355 { resume_momentary (yyvsp
[-1].itype
); ;
5358 #line 1544 "parse.y"
5360 shadow_tag (yyvsp
[-1].ftype
.t
);
5361 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5365 #line 1549 "parse.y"
5366 { warning ("empty declaration"); ;
5369 #line 1551 "parse.y"
5370 { pedantic
= yyvsp
[-1].itype
; ;
5373 #line 1565 "parse.y"
5374 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5375 NULL_TREE
, NULL_TREE
); ;
5378 #line 1568 "parse.y"
5379 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5383 #line 1575 "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 1578 "parse.y"
5389 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5390 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5393 #line 1581 "parse.y"
5394 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5395 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5398 #line 1584 "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 1587 "parse.y"
5404 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5405 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5408 #line 1603 "parse.y"
5409 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5410 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5413 #line 1606 "parse.y"
5414 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5415 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5418 #line 1609 "parse.y"
5419 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5420 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5423 #line 1612 "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 1615 "parse.y"
5429 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5430 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5433 #line 1618 "parse.y"
5434 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5435 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5436 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5439 #line 1625 "parse.y"
5440 { if (extra_warnings
)
5441 warning ("`%s' is not at beginning of declaration",
5442 IDENTIFIER_POINTER (yyval
.ttype
));
5443 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5446 #line 1630 "parse.y"
5447 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5450 #line 1632 "parse.y"
5451 { if (extra_warnings
)
5452 warning ("`%s' is not at beginning of declaration",
5453 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5454 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5457 #line 1637 "parse.y"
5458 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5461 #line 1639 "parse.y"
5462 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5465 #line 1649 "parse.y"
5466 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5469 #line 1651 "parse.y"
5470 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5473 #line 1653 "parse.y"
5474 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5475 TREE_STATIC (yyval
.ttype
) = 1; ;
5478 #line 1656 "parse.y"
5479 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5480 warning ("`%s' is not at beginning of declaration",
5481 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5482 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5483 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5486 #line 1662 "parse.y"
5487 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5490 #line 1664 "parse.y"
5491 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5494 #line 1675 "parse.y"
5495 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5496 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5499 #line 1678 "parse.y"
5500 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5501 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5504 #line 1681 "parse.y"
5505 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5506 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5509 #line 1684 "parse.y"
5510 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5511 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5514 #line 1690 "parse.y"
5515 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5518 #line 1692 "parse.y"
5519 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5522 #line 1702 "parse.y"
5523 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5526 #line 1704 "parse.y"
5527 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5530 #line 1706 "parse.y"
5531 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5532 yyval
.ftype
.new_type_flag
= 0; ;
5535 #line 1709 "parse.y"
5536 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5537 yyval
.ftype
.new_type_flag
= 0; ;
5540 #line 1712 "parse.y"
5541 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5543 yyval
.ftype
.new_type_flag
= 0;
5544 if (IS_AGGR_TYPE (type
))
5546 sorry ("sigof type specifier");
5547 yyval
.ftype
.t
= type
;
5551 error ("`sigof' applied to non-aggregate expression");
5552 yyval
.ftype
.t
= error_mark_node
;
5557 #line 1727 "parse.y"
5558 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5560 yyval
.ftype
.new_type_flag
= 0;
5561 if (IS_AGGR_TYPE (type
))
5563 sorry ("sigof type specifier");
5564 yyval
.ftype
.t
= type
;
5568 error("`sigof' applied to non-aggregate type");
5569 yyval
.ftype
.t
= error_mark_node
;
5574 #line 1747 "parse.y"
5575 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5578 #line 1749 "parse.y"
5579 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5582 #line 1770 "parse.y"
5583 { yyval
.ttype
= NULL_TREE
; ;
5586 #line 1772 "parse.y"
5587 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5590 #line 1777 "parse.y"
5591 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5592 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5595 #line 1781 "parse.y"
5596 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5599 #line 1783 "parse.y"
5600 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5601 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
);
5602 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5605 #line 1796 "parse.y"
5606 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
5607 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
5610 #line 1801 "parse.y"
5611 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1,
5612 LOOKUP_ONLYCONVERTING
);
5613 yyval
.itype
= yyvsp
[-2].itype
; ;
5616 #line 1805 "parse.y"
5618 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
5619 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5622 #line 1812 "parse.y"
5623 { yyval
.itype
= yyvsp
[0].itype
; ;
5626 #line 1816 "parse.y"
5627 { yyval
.itype
= yyvsp
[0].itype
; ;
5630 #line 1821 "parse.y"
5631 { /* Set things up as initdcl0_innards expects. */
5632 yyval
.ttype
= yyvsp
[-1].ttype
;
5633 yyvsp
[-1].ttype
= NULL_TREE
; ;
5636 #line 1825 "parse.y"
5640 #line 1827 "parse.y"
5642 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
5643 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5646 #line 1836 "parse.y"
5647 { yyval
.ttype
= NULL_TREE
; ;
5650 #line 1838 "parse.y"
5651 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5654 #line 1843 "parse.y"
5655 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5658 #line 1845 "parse.y"
5659 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5662 #line 1850 "parse.y"
5663 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5666 #line 1855 "parse.y"
5667 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5670 #line 1857 "parse.y"
5671 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5674 #line 1862 "parse.y"
5675 { yyval
.ttype
= NULL_TREE
; ;
5678 #line 1864 "parse.y"
5679 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5682 #line 1866 "parse.y"
5683 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5686 #line 1868 "parse.y"
5687 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5690 #line 1870 "parse.y"
5691 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5694 #line 1886 "parse.y"
5695 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5698 #line 1888 "parse.y"
5699 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5702 #line 1893 "parse.y"
5703 { yyval
.ttype
= NULL_TREE
; ;
5706 #line 1895 "parse.y"
5707 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5710 #line 1903 "parse.y"
5711 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5712 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5715 #line 1906 "parse.y"
5716 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
5717 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5720 #line 1909 "parse.y"
5721 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
5722 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5725 #line 1912 "parse.y"
5726 { yyval
.ttype
= NULL_TREE
; ;
5729 #line 1919 "parse.y"
5730 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5733 #line 1921 "parse.y"
5734 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5737 #line 1924 "parse.y"
5738 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5741 #line 1926 "parse.y"
5742 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
5745 #line 1928 "parse.y"
5746 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5749 #line 1933 "parse.y"
5750 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
5752 reinit_parse_for_function (); ;
5755 #line 1939 "parse.y"
5757 int nested
= (hack_decl_function_context
5758 (current_function_decl
) != NULL_TREE
);
5759 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
5760 process_next_inline (yyvsp
[-3].ttype
);
5764 #line 1946 "parse.y"
5765 { process_next_inline (yyvsp
[-2].ttype
); ;
5768 #line 1948 "parse.y"
5769 { process_next_inline (yyvsp
[-2].ttype
); ;
5772 #line 1960 "parse.y"
5773 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5776 #line 1962 "parse.y"
5777 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
5780 #line 1967 "parse.y"
5781 { do_pending_defargs (); ;
5784 #line 1969 "parse.y"
5785 { do_pending_defargs (); ;
5788 #line 1974 "parse.y"
5789 { yyvsp
[0].itype
= suspend_momentary ();
5790 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
5793 #line 1977 "parse.y"
5794 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5795 yyval
.ftype
.new_type_flag
= 1;
5796 resume_momentary ((int) yyvsp
[-4].itype
);
5797 check_for_missing_semicolon (yyvsp
[-3].ttype
); ;
5800 #line 1982 "parse.y"
5801 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
), NULL_TREE
);
5802 yyval
.ftype
.new_type_flag
= 1;
5803 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5806 #line 1986 "parse.y"
5807 { yyvsp
[0].itype
= suspend_momentary ();
5808 yyval
.ttype
= start_enum (make_anon_name ()); ;
5811 #line 1989 "parse.y"
5812 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5813 resume_momentary ((int) yyvsp
[-5].itype
);
5814 check_for_missing_semicolon (yyvsp
[-3].ttype
);
5815 yyval
.ftype
.new_type_flag
= 1; ;
5818 #line 1994 "parse.y"
5819 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()), NULL_TREE
);
5820 yyval
.ftype
.new_type_flag
= 1;
5821 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5824 #line 1998 "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 2001 "parse.y"
5830 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5831 yyval
.ftype
.new_type_flag
= 0; ;
5834 #line 2004 "parse.y"
5835 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
5836 yyval
.ftype
.new_type_flag
= 0; ;
5839 #line 2009 "parse.y"
5843 yyval
.ttype
= yyvsp
[-4].ttype
;
5845 /* Need to rework class nesting in the
5846 presence of nested classes, etc. */
5847 shadow_tag (CLASSTYPE_AS_LIST (yyvsp
[-4].ttype
)); */
5849 if (yychar
== YYEMPTY
)
5851 semi
= yychar
== ';';
5852 /* finish_struct nukes this anyway; if
5853 finish_exception does too, then it can go. */
5855 note_got_semicolon (yyvsp
[-4].ttype
);
5857 if (TREE_CODE (yyvsp
[-4].ttype
) == ENUMERAL_TYPE
)
5861 yyval
.ttype
= finish_struct (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
5862 if (semi
) note_got_semicolon (yyval
.ttype
);
5868 check_for_missing_semicolon (yyvsp
[-4].ttype
);
5869 if (current_scope () == current_function_decl
)
5870 do_pending_defargs ();
5874 #line 2042 "parse.y"
5877 && current_scope () == current_function_decl
)
5878 do_pending_inlines ();
5882 #line 2048 "parse.y"
5884 yyval
.ftype
.t
= yyvsp
[-3].ttype
;
5885 yyval
.ftype
.new_type_flag
= 1;
5886 if (current_class_type
== NULL_TREE
)
5887 clear_inline_text_obstack ();
5889 /* Undo the begin_tree in left_curly. */
5894 #line 2058 "parse.y"
5896 yyval
.ftype
.new_type_flag
= 0;
5897 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
5899 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
5900 yyval
.ftype
.t
= error_mark_node
;
5904 yyval
.ftype
.t
= yyvsp
[0].ttype
;
5905 /* struct B: public A; is not accepted by the WP grammar. */
5906 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
5907 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
5908 cp_error ("base clause without member specification for `%#T'",
5914 #line 2085 "parse.y"
5915 { if (pedantic
&& !in_system_header
)
5916 pedwarn ("comma at end of enumerator list"); ;
5919 #line 2092 "parse.y"
5920 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5923 #line 2094 "parse.y"
5924 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5927 #line 2096 "parse.y"
5928 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5931 #line 2098 "parse.y"
5932 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5935 #line 2103 "parse.y"
5936 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5939 #line 2108 "parse.y"
5940 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5943 #line 2113 "parse.y"
5945 current_aggr
= yyvsp
[-2].ttype
;
5946 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5950 #line 2118 "parse.y"
5952 current_aggr
= yyvsp
[-3].ttype
;
5953 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5957 #line 2123 "parse.y"
5959 current_aggr
= yyvsp
[-2].ttype
;
5960 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
5964 #line 2128 "parse.y"
5965 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5968 #line 2130 "parse.y"
5969 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5972 #line 2135 "parse.y"
5973 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 0); ;
5976 #line 2140 "parse.y"
5977 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5980 #line 2143 "parse.y"
5982 yyval
.ttype
= yyvsp
[-1].ttype
;
5984 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5988 #line 2149 "parse.y"
5990 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
5991 if (TREE_INT_CST_LOW (current_aggr
) == union_type
5992 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
5993 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
5994 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
5995 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
5996 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
5999 if (IS_AGGR_TYPE (yyval
.ttype
) && CLASSTYPE_USE_TEMPLATE (yyval
.ttype
))
6001 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval
.ttype
)
6002 && TYPE_SIZE (yyval
.ttype
) == NULL_TREE
)
6004 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval
.ttype
);
6005 if (processing_template_decl
)
6006 push_template_decl (TYPE_MAIN_DECL (yyval
.ttype
));
6008 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval
.ttype
))
6009 cp_error ("specialization after instantiation of `%T'", yyval
.ttype
);
6011 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6016 #line 2178 "parse.y"
6017 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), NULL_TREE
, 0);
6018 yyungetc ('{', 1); ;
6021 #line 2189 "parse.y"
6022 { yyval
.ttype
= NULL_TREE
; ;
6025 #line 2191 "parse.y"
6026 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6029 #line 2193 "parse.y"
6030 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6033 #line 2199 "parse.y"
6034 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6037 #line 2204 "parse.y"
6039 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6040 if (! is_aggr_type (type
, 1))
6041 yyval
.ttype
= NULL_TREE
;
6042 else if (current_aggr
== signature_type_node
6043 && (! type
) && (! IS_SIGNATURE (type
)))
6045 error ("class name not allowed as base signature");
6046 yyval
.ttype
= NULL_TREE
;
6048 else if (current_aggr
== signature_type_node
)
6050 sorry ("signature inheritance, base type `%s' ignored",
6051 IDENTIFIER_POINTER (yyval
.ttype
));
6052 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6054 else if (type
&& IS_SIGNATURE (type
))
6056 error ("signature name not allowed as base class");
6057 yyval
.ttype
= NULL_TREE
;
6060 yyval
.ttype
= build_tree_list (access_default_node
, type
);
6064 #line 2229 "parse.y"
6066 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6067 if (current_aggr
== signature_type_node
)
6068 error ("access and source specifiers not allowed in signature");
6069 if (! IS_AGGR_TYPE (type
))
6070 yyval
.ttype
= NULL_TREE
;
6071 else if (current_aggr
== signature_type_node
6072 && (! type
) && (! IS_SIGNATURE (type
)))
6074 error ("class name not allowed as base signature");
6075 yyval
.ttype
= NULL_TREE
;
6077 else if (current_aggr
== signature_type_node
)
6079 sorry ("signature inheritance, base type `%s' ignored",
6080 IDENTIFIER_POINTER (yyval
.ttype
));
6081 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6083 else if (type
&& IS_SIGNATURE (type
))
6085 error ("signature name not allowed as base class");
6086 yyval
.ttype
= NULL_TREE
;
6089 yyval
.ttype
= build_tree_list (yyval
.ttype
, type
);
6093 #line 2259 "parse.y"
6094 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6097 #line 2262 "parse.y"
6099 if (current_aggr
== signature_type_node
)
6101 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6103 sorry ("`sigof' as base signature specifier");
6104 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6108 error ("`sigof' applied to non-aggregate expression");
6109 yyval
.ttype
= error_mark_node
;
6114 error ("`sigof' in struct or class declaration");
6115 yyval
.ttype
= error_mark_node
;
6120 #line 2283 "parse.y"
6122 if (current_aggr
== signature_type_node
)
6124 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6126 sorry ("`sigof' as base signature specifier");
6127 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6131 error ("`sigof' applied to non-aggregate expression");
6132 yyval
.ttype
= error_mark_node
;
6137 error ("`sigof' in struct or class declaration");
6138 yyval
.ttype
= error_mark_node
;
6143 #line 2308 "parse.y"
6144 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6145 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6146 yyval
.ttype
= access_default_virtual_node
; ;
6149 #line 2312 "parse.y"
6151 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6152 error ("multiple access specifiers");
6153 else if (yyvsp
[-1].ttype
== access_public_node
)
6154 yyval
.ttype
= access_public_virtual_node
;
6155 else if (yyvsp
[-1].ttype
== access_protected_node
)
6156 yyval
.ttype
= access_protected_virtual_node
;
6157 else /* $2 == access_private_node */
6158 yyval
.ttype
= access_private_virtual_node
;
6162 #line 2323 "parse.y"
6163 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6164 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6165 else if (yyval
.ttype
== access_public_node
)
6166 yyval
.ttype
= access_public_virtual_node
;
6167 else if (yyval
.ttype
== access_protected_node
)
6168 yyval
.ttype
= access_protected_virtual_node
;
6169 else if (yyval
.ttype
== access_private_node
)
6170 yyval
.ttype
= access_private_virtual_node
;
6172 error ("multiple `virtual' specifiers");
6176 #line 2338 "parse.y"
6177 { tree t
= yyvsp
[-1].ttype
;
6178 push_obstacks_nochange ();
6179 end_temporary_allocation ();
6181 if (t
== error_mark_node
6182 || ! IS_AGGR_TYPE (t
))
6184 t
= yyvsp
[-1].ttype
= make_lang_type (RECORD_TYPE
);
6185 pushtag (make_anon_name (), t
, 0);
6188 duplicate_tag_error (t
);
6189 if (TYPE_SIZE (t
) || TYPE_BEING_DEFINED (t
))
6191 t
= make_lang_type (TREE_CODE (t
));
6192 pushtag (TYPE_IDENTIFIER (yyvsp
[-1].ttype
), t
, 0);
6193 yyvsp
[-1].ttype
= t
;
6195 if (processing_template_decl
&& TYPE_CONTEXT (t
)
6196 && ! current_class_type
)
6197 push_template_decl (TYPE_STUB_DECL (t
));
6199 TYPE_BEING_DEFINED (t
) = 1;
6200 if (IS_AGGR_TYPE (t
) && CLASSTYPE_USE_TEMPLATE (t
))
6202 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t
)
6203 && TYPE_SIZE (t
) == NULL_TREE
)
6205 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t
);
6206 if (processing_template_decl
)
6207 push_template_decl (TYPE_MAIN_DECL (t
));
6209 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t
))
6210 cp_error ("specialization after instantiation of `%T'", t
);
6212 /* Reset the interface data, at the earliest possible
6213 moment, as it might have been set via a class foo;
6215 /* Don't change signatures. */
6216 if (! IS_SIGNATURE (t
))
6218 extern tree pending_vtables
;
6220 tree name
= TYPE_IDENTIFIER (t
);
6222 if (! ANON_AGGRNAME_P (name
))
6224 CLASSTYPE_INTERFACE_ONLY (t
) = interface_only
;
6225 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6226 (t
, interface_unknown
);
6229 /* Record how to set the access of this class's
6230 virtual functions. If write_virtuals == 2 or 3, then
6231 inline virtuals are ``extern inline''. */
6232 switch (write_virtuals
)
6239 needs_writing
= !! value_member (name
, pending_vtables
);
6242 needs_writing
= ! CLASSTYPE_INTERFACE_ONLY (t
)
6243 && CLASSTYPE_INTERFACE_KNOWN (t
);
6248 CLASSTYPE_VTABLE_NEEDS_WRITING (t
) = needs_writing
;
6251 t
= TYPE_IDENTIFIER (yyvsp
[-1].ttype
);
6252 if (t
&& IDENTIFIER_TEMPLATE (t
))
6253 overload_template_name (t
, 1);
6255 reset_specialization();
6257 /* In case this is a local class within a template
6258 function, we save the current tree structure so
6259 that we can get it back later. */
6264 #line 2427 "parse.y"
6266 yyval
.ttype
= build_self_reference ();
6270 #line 2434 "parse.y"
6271 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6274 #line 2436 "parse.y"
6276 if (current_aggr
== signature_type_node
)
6277 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6279 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6280 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6284 #line 2444 "parse.y"
6286 tree visspec
= yyvsp
[-2].ttype
;
6288 if (current_aggr
== signature_type_node
)
6290 error ("access specifier not allowed in signature");
6291 visspec
= access_public_node
;
6293 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6297 #line 2455 "parse.y"
6299 if (current_aggr
== signature_type_node
)
6300 error ("access specifier not allowed in signature");
6304 #line 2465 "parse.y"
6305 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6309 #line 2468 "parse.y"
6310 { /* In pushdecl, we created a reverse list of names
6311 in this binding level. Make sure that the chain
6312 of what we're trying to add isn't the item itself
6313 (which can happen with what pushdecl's doing). */
6314 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6316 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6317 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6319 yyval
.ttype
= yyvsp
[0].ttype
;
6324 #line 2484 "parse.y"
6328 #line 2486 "parse.y"
6329 { error ("missing ';' before right brace");
6330 yyungetc ('}', 0); ;
6333 #line 2491 "parse.y"
6334 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6337 #line 2493 "parse.y"
6338 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6341 #line 2495 "parse.y"
6342 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6345 #line 2497 "parse.y"
6346 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6349 #line 2499 "parse.y"
6350 { yyval
.ttype
= NULL_TREE
; ;
6353 #line 2501 "parse.y"
6354 { yyval
.ttype
= yyvsp
[0].ttype
;
6355 pedantic
= yyvsp
[-1].itype
; ;
6358 #line 2504 "parse.y"
6359 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6362 #line 2506 "parse.y"
6364 shadow_tag (yyvsp
[-1].ftype
.t
);
6365 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
6366 yyval
.ttype
= finish_member_template_decl (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
);
6370 #line 2518 "parse.y"
6371 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6374 #line 2520 "parse.y"
6375 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6378 #line 2522 "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 2525 "parse.y"
6384 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6385 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6388 #line 2528 "parse.y"
6389 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6392 #line 2530 "parse.y"
6393 { yyval
.ttype
= NULL_TREE
; ;
6396 #line 2541 "parse.y"
6397 { tree specs
, attrs
;
6398 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6399 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6400 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6403 #line 2546 "parse.y"
6404 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6405 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6408 #line 2549 "parse.y"
6409 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6412 #line 2555 "parse.y"
6413 { yyval
.ttype
= NULL_TREE
; ;
6416 #line 2558 "parse.y"
6418 /* In this context, void_type_node encodes
6419 friends. They have been recorded elsewhere. */
6420 if (yyval
.ttype
== void_type_node
)
6421 yyval
.ttype
= yyvsp
[0].ttype
;
6423 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6427 #line 2570 "parse.y"
6428 { yyval
.ttype
= NULL_TREE
; ;
6431 #line 2573 "parse.y"
6433 /* In this context, void_type_node encodes
6434 friends. They have been recorded elsewhere. */
6435 if (yyval
.ttype
== void_type_node
)
6436 yyval
.ttype
= yyvsp
[0].ttype
;
6438 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6442 #line 2595 "parse.y"
6443 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6444 &prefix_attributes
);
6445 yyvsp
[-4].ttype
= current_declspecs
;
6446 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6447 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6450 #line 2601 "parse.y"
6451 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6452 &prefix_attributes
);
6453 yyvsp
[-4].ttype
= current_declspecs
;
6454 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6455 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6458 #line 2610 "parse.y"
6459 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6460 &prefix_attributes
);
6461 yyvsp
[-4].ttype
= current_declspecs
;
6462 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6463 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6466 #line 2616 "parse.y"
6467 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6468 &prefix_attributes
);
6469 yyvsp
[-4].ttype
= current_declspecs
;
6470 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6471 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6474 #line 2622 "parse.y"
6475 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6476 &prefix_attributes
);
6477 yyvsp
[-4].ttype
= current_declspecs
;
6478 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6479 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6482 #line 2628 "parse.y"
6483 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6484 &prefix_attributes
);
6485 yyvsp
[-3].ttype
= current_declspecs
;
6486 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6487 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6490 #line 2637 "parse.y"
6491 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6492 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6495 #line 2640 "parse.y"
6496 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6497 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6500 #line 2646 "parse.y"
6501 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6502 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6505 #line 2649 "parse.y"
6506 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6507 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6510 #line 2652 "parse.y"
6511 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6512 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6515 #line 2663 "parse.y"
6516 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6519 #line 2668 "parse.y"
6520 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
); ;
6523 #line 2670 "parse.y"
6524 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
); ;
6527 #line 2676 "parse.y"
6528 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6529 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6532 #line 2679 "parse.y"
6533 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6534 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6537 #line 2684 "parse.y"
6540 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6541 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6542 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6543 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6547 #line 2695 "parse.y"
6548 { yyval
.ttype
= NULL_TREE
; ;
6551 #line 2697 "parse.y"
6552 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6555 #line 2702 "parse.y"
6556 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6557 yyval
.ftype
.new_type_flag
= 0; ;
6560 #line 2705 "parse.y"
6561 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6562 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6565 #line 2714 "parse.y"
6566 { yyval
.itype
= suspend_momentary (); ;
6569 #line 2719 "parse.y"
6570 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6573 #line 2725 "parse.y"
6574 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6577 #line 2727 "parse.y"
6578 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6581 #line 2729 "parse.y"
6582 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6585 #line 2731 "parse.y"
6586 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6589 #line 2738 "parse.y"
6590 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6593 #line 2740 "parse.y"
6594 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6597 #line 2742 "parse.y"
6598 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6601 #line 2744 "parse.y"
6602 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6605 #line 2746 "parse.y"
6606 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6607 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6611 #line 2754 "parse.y"
6613 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6615 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6616 if (current_class_type
6617 && TYPE_BEING_DEFINED (current_class_type
)
6618 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6620 /* Remember that this name has been used in the class
6621 definition, as per [class.scope0] */
6622 pushdecl_class_level (yyval
.ttype
);
6626 yyval
.ttype
= yyvsp
[0].ttype
;
6630 #line 2771 "parse.y"
6632 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6633 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6635 yyval
.ttype
= yyvsp
[0].ttype
;
6636 got_scope
= NULL_TREE
;
6640 #line 2784 "parse.y"
6641 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6644 #line 2789 "parse.y"
6645 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6648 #line 2794 "parse.y"
6649 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6652 #line 2796 "parse.y"
6653 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6656 #line 2798 "parse.y"
6657 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6660 #line 2800 "parse.y"
6661 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6664 #line 2802 "parse.y"
6665 { push_nested_class (yyvsp
[-1].ttype
, 3);
6666 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6667 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6670 #line 2813 "parse.y"
6671 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6674 #line 2815 "parse.y"
6675 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6678 #line 2817 "parse.y"
6679 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6682 #line 2819 "parse.y"
6683 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6686 #line 2821 "parse.y"
6687 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6688 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6692 #line 2829 "parse.y"
6693 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6696 #line 2831 "parse.y"
6697 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6700 #line 2833 "parse.y"
6701 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6704 #line 2835 "parse.y"
6705 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6708 #line 2837 "parse.y"
6709 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6710 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6714 #line 2845 "parse.y"
6715 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6718 #line 2847 "parse.y"
6719 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6722 #line 2849 "parse.y"
6723 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6726 #line 2851 "parse.y"
6727 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6730 #line 2853 "parse.y"
6731 { if (OP0 (yyval
.ttype
) != current_class_type
)
6733 push_nested_class (OP0 (yyval
.ttype
), 3);
6734 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
6739 #line 2860 "parse.y"
6740 { got_scope
= NULL_TREE
;
6741 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6742 if (yyvsp
[-1].ttype
!= current_class_type
)
6744 push_nested_class (yyvsp
[-1].ttype
, 3);
6745 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
6750 #line 2872 "parse.y"
6751 { got_scope
= NULL_TREE
;
6752 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6755 #line 2875 "parse.y"
6756 { got_scope
= NULL_TREE
;
6757 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6760 #line 2881 "parse.y"
6761 { got_scope
= NULL_TREE
;
6762 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6765 #line 2884 "parse.y"
6766 { got_scope
= NULL_TREE
;
6767 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6770 #line 2891 "parse.y"
6771 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6774 #line 2896 "parse.y"
6775 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6778 #line 2898 "parse.y"
6779 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6782 #line 2900 "parse.y"
6783 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6786 #line 2912 "parse.y"
6787 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6790 #line 2914 "parse.y"
6791 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6794 #line 2921 "parse.y"
6796 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6798 yyval
.ttype
= lastiddecl
;
6799 /* Remember that this name has been used in the class
6800 definition, as per [class.scope0] */
6801 if (current_class_type
6802 && TYPE_BEING_DEFINED (current_class_type
)
6803 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
6804 pushdecl_class_level (yyval
.ttype
);
6806 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6810 #line 2935 "parse.y"
6812 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6813 yyval
.ttype
= lastiddecl
;
6814 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6818 #line 2941 "parse.y"
6820 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6821 yyval
.ttype
= lastiddecl
;
6822 got_scope
= yyval
.ttype
;
6826 #line 2947 "parse.y"
6827 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
6830 #line 2963 "parse.y"
6831 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6834 #line 2968 "parse.y"
6836 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6837 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6838 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6839 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6842 yyval
.ttype
= yyvsp
[0].ttype
;
6843 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6844 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6849 #line 2981 "parse.y"
6850 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
6853 #line 2983 "parse.y"
6854 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6857 #line 2985 "parse.y"
6858 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6861 #line 2990 "parse.y"
6863 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6864 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6868 #line 2995 "parse.y"
6870 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6871 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6872 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6873 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6876 yyval
.ttype
= yyvsp
[0].ttype
;
6877 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6878 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6883 #line 3008 "parse.y"
6884 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6887 #line 3010 "parse.y"
6888 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6891 #line 3015 "parse.y"
6893 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6894 yyvsp
[-1].ttype
= lastiddecl
;
6896 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
));
6898 if (yyval
.ttype
== error_mark_node
)
6899 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
6903 #line 3025 "parse.y"
6905 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6906 yyval
.ttype
= lastiddecl
;
6907 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
6911 #line 3031 "parse.y"
6912 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
6915 #line 3035 "parse.y"
6917 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6918 yyval
.ttype
= lastiddecl
;
6919 got_scope
= yyval
.ttype
;
6923 #line 3044 "parse.y"
6924 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6927 #line 3049 "parse.y"
6929 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6930 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6932 yyval
.ttype
= yyvsp
[0].ttype
;
6933 got_scope
= NULL_TREE
;
6937 #line 3058 "parse.y"
6938 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6941 #line 3063 "parse.y"
6942 { got_scope
= NULL_TREE
; ;
6945 #line 3065 "parse.y"
6946 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
6949 #line 3072 "parse.y"
6950 { got_scope
= void_type_node
; ;
6953 #line 3078 "parse.y"
6954 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6957 #line 3080 "parse.y"
6958 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6961 #line 3082 "parse.y"
6962 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6965 #line 3084 "parse.y"
6966 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6969 #line 3086 "parse.y"
6970 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
6971 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
6975 #line 3090 "parse.y"
6976 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6977 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6981 #line 3099 "parse.y"
6982 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6985 #line 3101 "parse.y"
6986 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6989 #line 3107 "parse.y"
6990 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6993 #line 3109 "parse.y"
6994 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6997 #line 3111 "parse.y"
6998 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7001 #line 3113 "parse.y"
7002 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7005 #line 3115 "parse.y"
7006 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7009 #line 3117 "parse.y"
7010 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7013 #line 3119 "parse.y"
7014 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7017 #line 3121 "parse.y"
7018 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7021 #line 3123 "parse.y"
7022 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7023 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7027 #line 3127 "parse.y"
7028 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7029 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7033 #line 3136 "parse.y"
7034 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7037 #line 3140 "parse.y"
7038 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7041 #line 3142 "parse.y"
7042 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7045 #line 3144 "parse.y"
7046 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7049 #line 3146 "parse.y"
7050 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7053 #line 3148 "parse.y"
7054 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7057 #line 3150 "parse.y"
7058 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7061 #line 3152 "parse.y"
7062 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7065 #line 3154 "parse.y"
7066 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7069 #line 3156 "parse.y"
7070 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7073 #line 3179 "parse.y"
7075 pedwarn ("ANSI C++ forbids label declarations"); ;
7078 #line 3190 "parse.y"
7080 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7082 tree label
= shadow_label (TREE_VALUE (link
));
7083 C_DECLARED_LABEL_FLAG (label
) = 1;
7084 declare_nonlocal_label (label
);
7089 #line 3204 "parse.y"
7093 #line 3210 "parse.y"
7094 { yyval
.ttype
= begin_compound_stmt (0); ;
7097 #line 3212 "parse.y"
7098 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7101 #line 3217 "parse.y"
7103 yyval
.ttype
= begin_if_stmt ();
7104 cond_stmt_keyword
= "if";
7108 #line 3222 "parse.y"
7109 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7112 #line 3224 "parse.y"
7113 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7116 #line 3229 "parse.y"
7117 { yyval
.ttype
= begin_compound_stmt (0); ;
7120 #line 3231 "parse.y"
7121 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7124 #line 3236 "parse.y"
7128 #line 3242 "parse.y"
7132 #line 3244 "parse.y"
7133 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7136 #line 3246 "parse.y"
7137 { begin_else_clause (); ;
7140 #line 3248 "parse.y"
7142 finish_else_clause (yyvsp
[-3].ttype
);
7147 #line 3253 "parse.y"
7148 { finish_if_stmt (); ;
7151 #line 3255 "parse.y"
7153 yyval
.ttype
= begin_while_stmt ();
7154 cond_stmt_keyword
= "while";
7158 #line 3260 "parse.y"
7159 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7162 #line 3262 "parse.y"
7163 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7166 #line 3264 "parse.y"
7167 { yyval
.ttype
= begin_do_stmt (); ;
7170 #line 3266 "parse.y"
7172 finish_do_body (yyvsp
[-2].ttype
);
7173 cond_stmt_keyword
= "do";
7177 #line 3271 "parse.y"
7178 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7181 #line 3273 "parse.y"
7182 { yyval
.ttype
= begin_for_stmt (); ;
7185 #line 3275 "parse.y"
7186 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7189 #line 3277 "parse.y"
7190 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7193 #line 3279 "parse.y"
7194 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7197 #line 3281 "parse.y"
7198 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7201 #line 3283 "parse.y"
7202 { begin_switch_stmt (); ;
7205 #line 3285 "parse.y"
7206 { yyval
.ttype
= finish_switch_cond (yyvsp
[-1].ttype
); ;
7209 #line 3287 "parse.y"
7210 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7213 #line 3289 "parse.y"
7214 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7217 #line 3292 "parse.y"
7218 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7221 #line 3295 "parse.y"
7222 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7225 #line 3298 "parse.y"
7226 { finish_break_stmt (); ;
7229 #line 3300 "parse.y"
7230 { finish_continue_stmt (); ;
7233 #line 3302 "parse.y"
7234 { finish_return_stmt (NULL_TREE
); ;
7237 #line 3304 "parse.y"
7238 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7241 #line 3306 "parse.y"
7243 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7248 #line 3312 "parse.y"
7250 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7255 #line 3318 "parse.y"
7256 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7259 #line 3322 "parse.y"
7260 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7263 #line 3324 "parse.y"
7266 pedwarn ("ANSI C++ forbids computed gotos");
7267 finish_goto_stmt (yyvsp
[-1].ttype
);
7271 #line 3330 "parse.y"
7272 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7275 #line 3332 "parse.y"
7279 #line 3334 "parse.y"
7280 { error ("label must be followed by statement");
7285 #line 3338 "parse.y"
7289 #line 3344 "parse.y"
7291 if (! current_function_parms_stored
)
7292 store_parm_decls ();
7293 expand_start_early_try_stmts ();
7297 #line 3350 "parse.y"
7298 { expand_start_all_catch (); ;
7301 #line 3352 "parse.y"
7303 int nested
= (hack_decl_function_context
7304 (current_function_decl
) != NULL_TREE
);
7305 expand_end_all_catch ();
7306 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7310 #line 3362 "parse.y"
7311 { yyval
.ttype
= begin_try_block (); ;
7314 #line 3364 "parse.y"
7315 { finish_try_block (yyvsp
[-1].ttype
); ;
7318 #line 3366 "parse.y"
7319 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7322 #line 3376 "parse.y"
7323 { yyval
.ttype
= begin_handler(); ;
7326 #line 3378 "parse.y"
7327 { finish_handler_parms (yyvsp
[-1].ttype
); ;
7330 #line 3380 "parse.y"
7331 { finish_handler (yyvsp
[-3].ttype
); ;
7334 #line 3390 "parse.y"
7335 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7338 #line 3406 "parse.y"
7339 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7340 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7341 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7344 #line 3413 "parse.y"
7347 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7348 if (label
&& ! minimal_parse_mode
)
7349 expand_label (label
);
7353 #line 3420 "parse.y"
7357 #line 3422 "parse.y"
7361 #line 3424 "parse.y"
7365 #line 3429 "parse.y"
7366 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7369 #line 3432 "parse.y"
7371 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7375 #line 3441 "parse.y"
7376 { emit_line_note (input_filename
, lineno
);
7377 yyval
.ttype
= NULL_TREE
; ;
7380 #line 3444 "parse.y"
7381 { emit_line_note (input_filename
, lineno
); ;
7384 #line 3449 "parse.y"
7385 { yyval
.ttype
= NULL_TREE
; ;
7388 #line 3452 "parse.y"
7389 { yyval
.ttype
= NULL_TREE
; ;
7392 #line 3459 "parse.y"
7393 { yyval
.ttype
= NULL_TREE
; ;
7396 #line 3466 "parse.y"
7397 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7400 #line 3471 "parse.y"
7401 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7404 #line 3476 "parse.y"
7405 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7408 #line 3478 "parse.y"
7409 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7412 #line 3489 "parse.y"
7414 yyval
.ttype
= empty_parms();
7418 #line 3494 "parse.y"
7419 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, void_list_node
);
7420 TREE_PARMLIST (yyval
.ttype
) = 1;
7421 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7424 #line 3503 "parse.y"
7426 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
7427 TREE_PARMLIST (yyval
.ttype
) = 1;
7431 #line 3508 "parse.y"
7433 TREE_PARMLIST (yyval
.ttype
) = 1;
7437 #line 3513 "parse.y"
7439 TREE_PARMLIST (yyval
.ttype
) = 1;
7443 #line 3517 "parse.y"
7445 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
7446 TREE_PARMLIST (yyval
.ttype
) = 1;
7450 #line 3522 "parse.y"
7452 yyval
.ttype
= NULL_TREE
;
7456 #line 3526 "parse.y"
7458 TREE_PARMLIST (yyval
.ttype
) = 1;
7462 #line 3530 "parse.y"
7464 TREE_PARMLIST (yyval
.ttype
) = 1;
7468 #line 3534 "parse.y"
7470 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
7471 TREE_PARMLIST (yyval
.ttype
) = 1;
7475 #line 3539 "parse.y"
7477 /* This helps us recover from really nasty
7478 parse errors, for example, a missing right
7480 yyerror ("possibly missing ')'");
7481 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
7482 TREE_PARMLIST (yyval
.ttype
) = 1;
7488 #line 3550 "parse.y"
7490 /* This helps us recover from really nasty
7491 parse errors, for example, a missing right
7493 yyerror ("possibly missing ')'");
7494 yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
7495 TREE_PARMLIST (yyval
.ttype
) = 1;
7501 #line 3565 "parse.y"
7502 { maybe_snarf_defarg (); ;
7505 #line 3567 "parse.y"
7506 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7509 #line 3578 "parse.y"
7510 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7511 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7514 #line 3581 "parse.y"
7515 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7516 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7519 #line 3584 "parse.y"
7520 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7521 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7524 #line 3587 "parse.y"
7525 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7528 #line 3589 "parse.y"
7529 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7532 #line 3595 "parse.y"
7533 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7534 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7537 #line 3605 "parse.y"
7538 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7539 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7540 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7543 #line 3609 "parse.y"
7544 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7545 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7548 #line 3612 "parse.y"
7549 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
7550 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7553 #line 3615 "parse.y"
7554 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7555 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7556 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7559 #line 3619 "parse.y"
7560 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7561 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7562 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7565 #line 3623 "parse.y"
7566 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7567 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7568 yyval
.ftype
.new_type_flag
= 0; ;
7571 #line 3630 "parse.y"
7572 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7573 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7576 #line 3633 "parse.y"
7577 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7578 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7581 #line 3644 "parse.y"
7582 { see_typename (); ;
7585 #line 3649 "parse.y"
7587 error ("type specifier omitted for parameter");
7588 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7592 #line 3654 "parse.y"
7594 error ("type specifier omitted for parameter");
7595 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7596 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7597 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7598 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7599 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7603 #line 3666 "parse.y"
7604 { yyval
.ttype
= NULL_TREE
; ;
7607 #line 3668 "parse.y"
7608 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7611 #line 3670 "parse.y"
7612 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
7615 #line 3675 "parse.y"
7616 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
7619 #line 3681 "parse.y"
7621 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
7622 yyval
.ttype
= yyvsp
[0].ttype
;
7626 #line 3689 "parse.y"
7627 { yyval
.ttype
= NULL_TREE
; ;
7630 #line 3691 "parse.y"
7631 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7634 #line 3693 "parse.y"
7635 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7638 #line 3695 "parse.y"
7639 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7640 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7644 #line 3702 "parse.y"
7645 { got_scope
= NULL_TREE
; ;
7648 #line 3707 "parse.y"
7649 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
7652 #line 3709 "parse.y"
7653 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
7656 #line 3711 "parse.y"
7657 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
7660 #line 3713 "parse.y"
7661 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
7664 #line 3715 "parse.y"
7665 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
7668 #line 3717 "parse.y"
7669 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
7672 #line 3719 "parse.y"
7673 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
7676 #line 3721 "parse.y"
7677 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
7680 #line 3723 "parse.y"
7681 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
7684 #line 3725 "parse.y"
7685 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
7688 #line 3727 "parse.y"
7689 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7692 #line 3729 "parse.y"
7693 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
7696 #line 3731 "parse.y"
7697 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
7700 #line 3733 "parse.y"
7701 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7704 #line 3735 "parse.y"
7705 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
7708 #line 3737 "parse.y"
7709 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
7712 #line 3739 "parse.y"
7713 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7716 #line 3741 "parse.y"
7717 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7720 #line 3743 "parse.y"
7721 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
7724 #line 3745 "parse.y"
7725 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
7728 #line 3747 "parse.y"
7729 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
7732 #line 3749 "parse.y"
7733 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
7736 #line 3751 "parse.y"
7737 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
7740 #line 3753 "parse.y"
7741 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
7744 #line 3755 "parse.y"
7745 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7748 #line 3757 "parse.y"
7749 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
7752 #line 3759 "parse.y"
7753 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
7756 #line 3761 "parse.y"
7757 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
7760 #line 3763 "parse.y"
7761 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
7764 #line 3765 "parse.y"
7765 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
7768 #line 3767 "parse.y"
7769 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
7772 #line 3769 "parse.y"
7773 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
7776 #line 3771 "parse.y"
7777 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
7780 #line 3774 "parse.y"
7781 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7784 #line 3776 "parse.y"
7785 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
7788 /* the action file gets copied in in place of this dollarsign */
7789 #line 498 "/usr/lib/bison.simple"
7800 short *ssp1
= yyss
- 1;
7801 fprintf (stderr
, "state stack now");
7802 while (ssp1
!= yyssp
)
7803 fprintf (stderr
, " %d", *++ssp1
);
7804 fprintf (stderr
, "\n");
7814 yylsp
->first_line
= yylloc
.first_line
;
7815 yylsp
->first_column
= yylloc
.first_column
;
7816 yylsp
->last_line
= (yylsp
-1)->last_line
;
7817 yylsp
->last_column
= (yylsp
-1)->last_column
;
7822 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
7823 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
7827 /* Now "shift" the result of the reduction.
7828 Determine what state that goes to,
7829 based on the state we popped back to
7830 and the rule number reduced by. */
7834 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
7835 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
7836 yystate
= yytable
[yystate
];
7838 yystate
= yydefgoto
[yyn
- YYNTBASE
];
7842 yyerrlab
: /* here on detecting error */
7845 /* If not already recovering from an error, report this error. */
7849 #ifdef YYERROR_VERBOSE
7850 yyn
= yypact
[yystate
];
7852 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
7859 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7860 for (x
= (yyn
< 0 ? -yyn
: 0);
7861 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7862 if (yycheck
[x
+ yyn
] == x
)
7863 size
+= strlen(yytname
[x
]) + 15, count
++;
7864 msg
= (char *) malloc(size
+ 15);
7867 strcpy(msg
, "parse error");
7872 for (x
= (yyn
< 0 ? -yyn
: 0);
7873 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7874 if (yycheck
[x
+ yyn
] == x
)
7876 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
7877 strcat(msg
, yytname
[x
]);
7886 yyerror ("parse error; also virtual memory exceeded");
7889 #endif /* YYERROR_VERBOSE */
7890 yyerror("parse error");
7894 yyerrlab1
: /* here on error raised explicitly by an action */
7896 if (yyerrstatus
== 3)
7898 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7900 /* return failure if at end of input */
7901 if (yychar
== YYEOF
)
7906 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
7912 /* Else will try to reuse lookahead token
7913 after shifting the error token. */
7915 yyerrstatus
= 3; /* Each real token shifted decrements this */
7919 yyerrdefault
: /* current state does not do anything special for the error token. */
7922 /* This is wrong; only states that explicitly want error tokens
7923 should shift them. */
7924 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7925 if (yyn
) goto yydefault
;
7928 yyerrpop
: /* pop the current state because it cannot handle the error token */
7930 if (yyssp
== yyss
) YYABORT
;
7940 short *ssp1
= yyss
- 1;
7941 fprintf (stderr
, "Error: state stack now");
7942 while (ssp1
!= yyssp
)
7943 fprintf (stderr
, " %d", *++ssp1
);
7944 fprintf (stderr
, "\n");
7950 yyn
= yypact
[yystate
];
7955 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
7974 fprintf(stderr
, "Shifting error token, ");
7985 #line 3779 "parse.y"
7990 debug_yytranslate (value
)
7993 return yytname
[YYTRANSLATE (value
)];