2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
6 #define YYBISON 1 /* Identify Bison output. */
14 #define CV_QUALIFIER 264
32 #define ASM_KEYWORD 282
50 #define TYPENAME_KEYWORD 300
52 #define LEFT_RIGHT 302
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
69 #define ARITHCOMPARE 319
72 #define POINTSAT_STAR 322
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
85 #define PRE_PARSED_CLASS_DECL 335
87 #define DEFARG_MARKER 337
88 #define TYPENAME_DEFN 338
89 #define IDENTIFIER_DEFN 339
90 #define PTYPENAME_DEFN 340
91 #define END_OF_LINE 341
92 #define END_OF_SAVED_INPUT 342
96 /* Cause the `yydebug' variable to be defined. */
111 /* Since parsers are distinct for each language, put the language string
112 definition here. (fnf) */
113 char *language_string
= "GNU C++";
115 extern tree void_list_node
;
116 extern struct obstack permanent_obstack
;
118 extern int end_of_file
;
120 /* Like YYERROR but do call yyerror. */
121 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
123 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
124 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
126 /* Contains the statement keyword (if/while/do) to include in an
127 error message if the user supplies an empty conditional expression. */
128 static char *cond_stmt_keyword
;
130 static tree empty_parms
PROTO((void));
132 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
133 int have_extern_spec
;
134 int used_extern_spec
;
136 /* Cons up an empty parameter list. */
146 || current_class_type
!= NULL
)
147 parms
= void_list_node
;
155 typedef union {long itype
; tree ttype
; char *strtype
; enum tree_code code
; flagged_type_tree ftype
; } YYSTYPE
;
158 /* List of types and structure classes of the current declaration. */
159 static tree current_declspecs
= NULL_TREE
;
160 /* List of prefix attributes in effect.
161 Prefix attributes are parsed by the reserved_declspecs and declmods
162 rules. They create a list that contains *both* declspecs and attrs. */
163 /* ??? It is not clear yet that all cases where an attribute can now appear in
164 a declspec list have been updated. */
165 static tree prefix_attributes
= NULL_TREE
;
167 /* When defining an aggregate, this is the most recent one being defined. */
168 static tree current_aggr
;
170 /* Tell yyparse how to print a token's value, if yydebug is set. */
172 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
173 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
174 extern tree combine_strings
PROTO((tree
));
177 parse_decl(declarator
, specs_attrs
, attributes
, initialized
, decl
)
186 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
187 if (current_declspecs
188 && TREE_CODE (current_declspecs
) != TREE_LIST
)
189 current_declspecs
= get_decl_list (current_declspecs
);
190 if (have_extern_spec
&& !used_extern_spec
)
192 current_declspecs
= decl_tree_cons (NULL_TREE
,
193 get_identifier ("extern"),
195 used_extern_spec
= 1;
197 sm
= suspend_momentary ();
198 *decl
= start_decl (declarator
, current_declspecs
, initialized
,
199 attributes
, prefix_attributes
);
213 #define YYFLAG -32768
216 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 386)
218 static const char yytranslate
[] = { 0,
219 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 110, 2, 2, 2, 82, 70, 2, 93,
223 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
224 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
225 64, 75, 65, 2, 2, 2, 2, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 94, 2, 111, 69, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
230 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
231 2, 2, 58, 68, 109, 88, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
245 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
246 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
247 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
248 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
249 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
250 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
251 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
252 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
257 static const short yyprhs
[] = { 0,
258 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
259 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
260 52, 53, 60, 61, 67, 73, 76, 81, 84, 87,
261 91, 95, 97, 99, 102, 105, 107, 110, 111, 117,
262 121, 123, 127, 129, 130, 133, 136, 140, 142, 146,
263 148, 152, 154, 158, 161, 164, 167, 171, 175, 178,
264 181, 184, 187, 190, 192, 194, 196, 197, 199, 202,
265 203, 205, 210, 214, 218, 219, 228, 234, 235, 245,
266 252, 253, 262, 268, 269, 279, 286, 289, 292, 294,
267 297, 299, 306, 311, 318, 323, 326, 328, 331, 334,
268 336, 339, 341, 344, 347, 352, 355, 359, 360, 361,
269 363, 367, 370, 374, 376, 381, 384, 389, 392, 397,
270 400, 402, 404, 406, 408, 410, 412, 414, 416, 418,
271 420, 422, 423, 430, 431, 438, 439, 445, 446, 452,
272 453, 461, 462, 470, 471, 478, 479, 486, 487, 488,
273 493, 498, 500, 505, 507, 509, 510, 512, 514, 518,
274 520, 522, 524, 526, 528, 530, 532, 534, 536, 538,
275 542, 544, 548, 549, 551, 553, 554, 562, 564, 566,
276 570, 575, 579, 580, 584, 586, 590, 594, 598, 602,
277 604, 606, 608, 611, 614, 617, 620, 623, 626, 629,
278 634, 637, 642, 645, 649, 653, 658, 663, 669, 675,
279 682, 685, 690, 696, 699, 702, 703, 708, 709, 714,
280 718, 720, 724, 727, 731, 736, 738, 741, 747, 749,
281 753, 757, 761, 765, 769, 773, 777, 781, 785, 789,
282 793, 797, 801, 805, 809, 813, 817, 821, 825, 831,
283 835, 839, 841, 844, 848, 850, 852, 854, 856, 858,
284 859, 865, 871, 877, 883, 889, 891, 893, 895, 897,
285 900, 903, 907, 912, 917, 919, 921, 923, 927, 929,
286 931, 933, 935, 939, 943, 947, 948, 953, 958, 961,
287 966, 969, 972, 974, 979, 981, 989, 997, 1005, 1013,
288 1018, 1023, 1026, 1029, 1031, 1036, 1039, 1042, 1048, 1052,
289 1055, 1058, 1064, 1068, 1074, 1078, 1083, 1090, 1093, 1095,
290 1098, 1100, 1103, 1105, 1107, 1109, 1112, 1113, 1116, 1119,
291 1123, 1127, 1131, 1134, 1137, 1140, 1142, 1144, 1146, 1149,
292 1152, 1155, 1158, 1160, 1162, 1164, 1166, 1169, 1172, 1176,
293 1180, 1184, 1189, 1191, 1194, 1197, 1200, 1202, 1204, 1206,
294 1209, 1212, 1215, 1217, 1219, 1222, 1225, 1229, 1231, 1234,
295 1236, 1238, 1240, 1245, 1250, 1255, 1260, 1262, 1264, 1266,
296 1268, 1272, 1274, 1278, 1280, 1284, 1285, 1290, 1291, 1298,
297 1302, 1303, 1308, 1310, 1314, 1318, 1319, 1324, 1328, 1329,
298 1331, 1333, 1336, 1343, 1345, 1349, 1350, 1352, 1357, 1364,
299 1369, 1371, 1373, 1375, 1377, 1379, 1383, 1384, 1387, 1389,
300 1392, 1396, 1401, 1403, 1405, 1409, 1414, 1418, 1424, 1426,
301 1431, 1435, 1439, 1440, 1444, 1448, 1452, 1453, 1456, 1459,
302 1460, 1468, 1473, 1474, 1481, 1485, 1488, 1491, 1494, 1495,
303 1496, 1506, 1508, 1509, 1511, 1512, 1514, 1516, 1519, 1522,
304 1525, 1528, 1531, 1534, 1538, 1543, 1547, 1550, 1554, 1555,
305 1557, 1561, 1564, 1567, 1569, 1571, 1572, 1575, 1579, 1581,
306 1586, 1588, 1592, 1594, 1596, 1601, 1606, 1609, 1612, 1616,
307 1620, 1622, 1623, 1625, 1628, 1633, 1637, 1639, 1642, 1645,
308 1648, 1651, 1654, 1657, 1660, 1662, 1665, 1668, 1672, 1675,
309 1678, 1683, 1688, 1691, 1693, 1699, 1704, 1706, 1707, 1709,
310 1713, 1714, 1716, 1720, 1722, 1724, 1726, 1728, 1733, 1738,
311 1743, 1748, 1753, 1757, 1762, 1767, 1772, 1777, 1781, 1783,
312 1787, 1789, 1793, 1796, 1798, 1805, 1806, 1809, 1811, 1814,
313 1815, 1818, 1823, 1828, 1831, 1836, 1840, 1844, 1847, 1850,
314 1854, 1856, 1858, 1861, 1863, 1865, 1868, 1871, 1876, 1881,
315 1885, 1889, 1892, 1894, 1898, 1902, 1905, 1908, 1912, 1914,
316 1918, 1922, 1925, 1928, 1932, 1934, 1939, 1943, 1948, 1952,
317 1954, 1957, 1960, 1963, 1966, 1969, 1971, 1974, 1979, 1984,
318 1987, 1989, 1991, 1993, 1995, 1998, 2003, 2006, 2009, 2012,
319 2015, 2017, 2020, 2023, 2026, 2029, 2033, 2035, 2038, 2042,
320 2047, 2050, 2053, 2056, 2059, 2062, 2065, 2070, 2073, 2075,
321 2078, 2081, 2085, 2087, 2091, 2094, 2098, 2101, 2104, 2108,
322 2110, 2114, 2119, 2123, 2126, 2129, 2131, 2135, 2138, 2141,
323 2143, 2146, 2150, 2152, 2156, 2158, 2165, 2170, 2175, 2179,
324 2185, 2189, 2193, 2197, 2200, 2202, 2204, 2207, 2210, 2213,
325 2214, 2216, 2218, 2221, 2225, 2227, 2230, 2231, 2235, 2236,
326 2237, 2243, 2245, 2246, 2249, 2251, 2253, 2255, 2258, 2259,
327 2264, 2266, 2267, 2268, 2274, 2275, 2276, 2284, 2285, 2286,
328 2287, 2288, 2301, 2302, 2303, 2311, 2312, 2318, 2319, 2327,
329 2328, 2333, 2336, 2339, 2342, 2346, 2353, 2362, 2373, 2386,
330 2391, 2395, 2398, 2401, 2403, 2405, 2406, 2407, 2414, 2415,
331 2416, 2422, 2424, 2427, 2428, 2429, 2435, 2437, 2439, 2443,
332 2447, 2450, 2453, 2456, 2459, 2462, 2464, 2467, 2468, 2470,
333 2471, 2473, 2475, 2476, 2478, 2480, 2484, 2489, 2491, 2495,
334 2496, 2498, 2500, 2502, 2505, 2508, 2511, 2513, 2516, 2519,
335 2520, 2524, 2526, 2528, 2530, 2533, 2536, 2539, 2544, 2547,
336 2550, 2553, 2556, 2559, 2562, 2564, 2567, 2569, 2572, 2574,
337 2576, 2577, 2578, 2580, 2581, 2586, 2589, 2591, 2593, 2597,
338 2598, 2602, 2606, 2610, 2612, 2615, 2618, 2621, 2624, 2627,
339 2630, 2633, 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657,
340 2660, 2663, 2666, 2669, 2672, 2675, 2678, 2681, 2685, 2688,
341 2691, 2694, 2697, 2701, 2704, 2707, 2712, 2717, 2721
344 static const short yyrhs
[] = { -1,
345 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
346 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
347 122, 0, 140, 139, 0, 136, 0, 135, 0, 119,
348 93, 208, 108, 60, 0, 127, 58, 115, 109, 0,
349 127, 116, 140, 117, 139, 0, 127, 116, 136, 117,
350 0, 0, 44, 155, 58, 123, 115, 109, 0, 0,
351 44, 58, 124, 115, 109, 0, 44, 155, 64, 126,
352 60, 0, 125, 60, 0, 46, 44, 126, 60, 0,
353 118, 122, 0, 46, 300, 0, 46, 314, 300, 0,
354 46, 314, 199, 0, 199, 0, 300, 0, 314, 300,
355 0, 314, 199, 0, 98, 0, 127, 98, 0, 0,
356 48, 74, 129, 130, 75, 0, 48, 74, 75, 0,
357 134, 0, 130, 59, 134, 0, 155, 0, 0, 257,
358 131, 0, 45, 131, 0, 128, 257, 131, 0, 132,
359 0, 132, 64, 214, 0, 377, 0, 377, 64, 194,
360 0, 133, 0, 133, 64, 174, 0, 128, 122, 0,
361 128, 1, 0, 225, 60, 0, 218, 224, 60, 0,
362 215, 223, 60, 0, 218, 60, 0, 158, 60, 0,
363 215, 60, 0, 1, 60, 0, 1, 109, 0, 60,
364 0, 209, 0, 151, 0, 0, 150, 0, 150, 60,
365 0, 0, 107, 0, 146, 138, 137, 324, 0, 146,
366 138, 348, 0, 146, 138, 1, 0, 0, 305, 5,
367 93, 142, 368, 108, 287, 380, 0, 305, 5, 47,
368 287, 380, 0, 0, 314, 305, 5, 93, 143, 368,
369 108, 287, 380, 0, 314, 305, 5, 47, 287, 380,
370 0, 0, 305, 170, 93, 144, 368, 108, 287, 380,
371 0, 305, 170, 47, 287, 380, 0, 0, 314, 305,
372 170, 93, 145, 368, 108, 287, 380, 0, 314, 305,
373 170, 47, 287, 380, 0, 215, 212, 0, 218, 297,
374 0, 297, 0, 218, 141, 0, 141, 0, 5, 93,
375 368, 108, 287, 380, 0, 5, 47, 287, 380, 0,
376 170, 93, 368, 108, 287, 380, 0, 170, 47, 287,
377 380, 0, 218, 147, 0, 147, 0, 215, 212, 0,
378 218, 297, 0, 297, 0, 218, 141, 0, 141, 0,
379 25, 3, 0, 149, 242, 0, 149, 93, 186, 108,
380 0, 149, 47, 0, 62, 152, 153, 0, 0, 0,
381 154, 0, 153, 59, 154, 0, 153, 1, 0, 93,
382 186, 108, 0, 47, 0, 156, 93, 186, 108, 0,
383 156, 47, 0, 293, 93, 186, 108, 0, 293, 47,
384 0, 307, 93, 186, 108, 0, 307, 47, 0, 3,
385 0, 4, 0, 5, 0, 56, 0, 57, 0, 3,
386 0, 56, 0, 57, 0, 104, 0, 103, 0, 105,
387 0, 0, 48, 167, 221, 60, 159, 168, 0, 0,
388 48, 167, 215, 212, 160, 168, 0, 0, 48, 167,
389 297, 161, 168, 0, 0, 48, 167, 141, 162, 168,
390 0, 0, 7, 48, 167, 221, 60, 163, 168, 0,
391 0, 7, 48, 167, 215, 212, 164, 168, 0, 0,
392 7, 48, 167, 297, 165, 168, 0, 0, 7, 48,
393 167, 141, 166, 168, 0, 0, 0, 56, 74, 172,
394 171, 0, 4, 74, 172, 171, 0, 170, 0, 5,
395 74, 172, 171, 0, 75, 0, 77, 0, 0, 173,
396 0, 174, 0, 173, 59, 174, 0, 214, 0, 194,
397 0, 79, 0, 78, 0, 86, 0, 87, 0, 110,
398 0, 185, 0, 194, 0, 47, 0, 93, 176, 108,
399 0, 47, 0, 93, 180, 108, 0, 0, 180, 0,
400 1, 0, 0, 358, 212, 226, 235, 64, 181, 243,
401 0, 176, 0, 109, 0, 321, 319, 109, 0, 321,
402 319, 1, 109, 0, 321, 1, 109, 0, 0, 58,
403 184, 182, 0, 333, 0, 194, 59, 194, 0, 194,
404 59, 1, 0, 185, 59, 194, 0, 185, 59, 1,
405 0, 194, 0, 185, 0, 203, 0, 118, 193, 0,
406 80, 193, 0, 70, 193, 0, 88, 193, 0, 175,
407 193, 0, 67, 155, 0, 13, 187, 0, 13, 93,
408 214, 108, 0, 29, 187, 0, 29, 93, 214, 108,
409 0, 205, 286, 0, 205, 286, 191, 0, 205, 188,
410 286, 0, 205, 188, 286, 191, 0, 205, 93, 214,
411 108, 0, 205, 93, 214, 108, 191, 0, 205, 188,
412 93, 214, 108, 0, 205, 188, 93, 214, 108, 191,
413 0, 206, 193, 0, 206, 94, 111, 193, 0, 206,
414 94, 176, 111, 193, 0, 34, 193, 0, 35, 193,
415 0, 0, 93, 189, 186, 108, 0, 0, 58, 190,
416 186, 109, 0, 93, 186, 108, 0, 47, 0, 93,
417 221, 108, 0, 64, 243, 0, 93, 214, 108, 0,
418 192, 93, 214, 108, 0, 187, 0, 192, 187, 0,
419 192, 58, 244, 255, 109, 0, 193, 0, 194, 83,
420 194, 0, 194, 84, 194, 0, 194, 78, 194, 0,
421 194, 79, 194, 0, 194, 80, 194, 0, 194, 81,
422 194, 0, 194, 82, 194, 0, 194, 76, 194, 0,
423 194, 77, 194, 0, 194, 73, 194, 0, 194, 74,
424 194, 0, 194, 75, 194, 0, 194, 72, 194, 0,
425 194, 71, 194, 0, 194, 70, 194, 0, 194, 68,
426 194, 0, 194, 69, 194, 0, 194, 67, 194, 0,
427 194, 66, 194, 0, 194, 65, 363, 62, 194, 0,
428 194, 64, 194, 0, 194, 63, 194, 0, 61, 0,
429 61, 194, 0, 88, 378, 155, 0, 197, 0, 385,
430 0, 3, 0, 56, 0, 57, 0, 0, 6, 74,
431 196, 172, 171, 0, 385, 74, 196, 172, 171, 0,
432 48, 155, 74, 172, 171, 0, 48, 6, 74, 172,
433 171, 0, 48, 385, 74, 172, 171, 0, 195, 0,
434 4, 0, 5, 0, 195, 0, 80, 200, 0, 70,
435 200, 0, 93, 200, 108, 0, 3, 74, 172, 171,
436 0, 57, 74, 173, 171, 0, 299, 0, 195, 0,
437 201, 0, 93, 200, 108, 0, 195, 0, 10, 0,
438 207, 0, 208, 0, 93, 176, 108, 0, 93, 200,
439 108, 0, 93, 1, 108, 0, 0, 93, 204, 325,
440 108, 0, 203, 93, 186, 108, 0, 203, 47, 0,
441 203, 94, 176, 111, 0, 203, 86, 0, 203, 87,
442 0, 40, 0, 9, 93, 186, 108, 0, 303, 0,
443 50, 74, 214, 75, 93, 176, 108, 0, 51, 74,
444 214, 75, 93, 176, 108, 0, 52, 74, 214, 75,
445 93, 176, 108, 0, 53, 74, 214, 75, 93, 176,
446 108, 0, 49, 93, 176, 108, 0, 49, 93, 214,
447 108, 0, 314, 3, 0, 314, 385, 0, 302, 0,
448 302, 93, 186, 108, 0, 302, 47, 0, 210, 198,
449 0, 210, 198, 93, 186, 108, 0, 210, 198, 47,
450 0, 210, 199, 0, 210, 302, 0, 210, 199, 93,
451 186, 108, 0, 210, 199, 47, 0, 210, 302, 93,
452 186, 108, 0, 210, 302, 47, 0, 210, 88, 8,
453 47, 0, 210, 8, 54, 88, 8, 47, 0, 210,
454 1, 0, 39, 0, 314, 39, 0, 38, 0, 314,
455 206, 0, 42, 0, 43, 0, 11, 0, 208, 11,
456 0, 0, 203, 92, 0, 203, 91, 0, 221, 223,
457 60, 0, 215, 223, 60, 0, 218, 224, 60, 0,
458 215, 60, 0, 218, 60, 0, 118, 211, 0, 292,
459 0, 297, 0, 47, 0, 213, 47, 0, 219, 317,
460 0, 288, 317, 0, 221, 317, 0, 219, 0, 288,
461 0, 219, 0, 216, 0, 218, 221, 0, 221, 217,
462 0, 221, 220, 217, 0, 218, 221, 217, 0, 218,
463 221, 220, 0, 218, 221, 220, 217, 0, 7, 0,
464 217, 222, 0, 217, 7, 0, 217, 236, 0, 236,
465 0, 288, 0, 7, 0, 218, 9, 0, 218, 7,
466 0, 218, 236, 0, 236, 0, 221, 0, 288, 221,
467 0, 221, 220, 0, 288, 221, 220, 0, 222, 0,
468 220, 222, 0, 250, 0, 8, 0, 294, 0, 28,
469 93, 176, 108, 0, 28, 93, 214, 108, 0, 30,
470 93, 176, 108, 0, 30, 93, 214, 108, 0, 8,
471 0, 9, 0, 250, 0, 231, 0, 223, 59, 227,
472 0, 232, 0, 224, 59, 227, 0, 233, 0, 225,
473 59, 227, 0, 0, 119, 93, 208, 108, 0, 0,
474 212, 226, 235, 64, 228, 243, 0, 212, 226, 235,
475 0, 0, 235, 64, 230, 243, 0, 235, 0, 212,
476 226, 229, 0, 297, 226, 229, 0, 0, 297, 226,
477 234, 229, 0, 141, 226, 235, 0, 0, 236, 0,
478 237, 0, 236, 237, 0, 31, 93, 93, 238, 108,
479 108, 0, 239, 0, 238, 59, 239, 0, 0, 240,
480 0, 240, 93, 3, 108, 0, 240, 93, 3, 59,
481 186, 108, 0, 240, 93, 186, 108, 0, 155, 0,
482 7, 0, 8, 0, 9, 0, 155, 0, 241, 59,
483 155, 0, 0, 64, 243, 0, 194, 0, 58, 109,
484 0, 58, 244, 109, 0, 58, 244, 59, 109, 0,
485 1, 0, 243, 0, 244, 59, 243, 0, 94, 194,
486 111, 243, 0, 155, 62, 243, 0, 244, 59, 155,
487 62, 243, 0, 97, 0, 245, 138, 137, 324, 0,
488 245, 138, 348, 0, 245, 138, 1, 0, 0, 247,
489 246, 139, 0, 102, 194, 107, 0, 102, 1, 107,
490 0, 0, 249, 248, 0, 249, 1, 0, 0, 14,
491 155, 58, 251, 284, 256, 109, 0, 14, 155, 58,
492 109, 0, 0, 14, 58, 252, 284, 256, 109, 0,
493 14, 58, 109, 0, 14, 155, 0, 14, 312, 0,
494 45, 307, 0, 0, 0, 264, 270, 272, 109, 235,
495 253, 249, 254, 247, 0, 264, 0, 0, 59, 0,
496 0, 59, 0, 36, 0, 257, 7, 0, 257, 8,
497 0, 257, 9, 0, 257, 36, 0, 257, 155, 0,
498 257, 157, 0, 257, 305, 155, 0, 257, 314, 305,
499 155, 0, 257, 314, 155, 0, 257, 169, 0, 257,
500 305, 169, 0, 0, 258, 0, 259, 261, 265, 0,
501 260, 265, 0, 257, 58, 0, 263, 0, 262, 0,
502 0, 62, 378, 0, 62, 378, 266, 0, 267, 0,
503 266, 59, 378, 267, 0, 268, 0, 269, 378, 268,
504 0, 307, 0, 293, 0, 30, 93, 176, 108, 0,
505 30, 93, 214, 108, 0, 37, 378, 0, 7, 378,
506 0, 269, 37, 378, 0, 269, 7, 378, 0, 58,
507 0, 0, 271, 0, 271, 273, 0, 272, 37, 62,
508 273, 0, 272, 37, 62, 0, 274, 0, 273, 274,
509 0, 275, 60, 0, 275, 109, 0, 148, 62, 0,
510 148, 95, 0, 148, 25, 0, 148, 58, 0, 60,
511 0, 118, 274, 0, 128, 274, 0, 128, 215, 60,
512 0, 215, 276, 0, 218, 277, 0, 297, 226, 235,
513 242, 0, 141, 226, 235, 242, 0, 62, 194, 0,
514 1, 0, 218, 147, 226, 235, 242, 0, 147, 226,
515 235, 242, 0, 125, 0, 0, 278, 0, 276, 59,
516 279, 0, 0, 281, 0, 277, 59, 283, 0, 280,
517 0, 281, 0, 282, 0, 283, 0, 292, 226, 235,
518 242, 0, 4, 62, 194, 235, 0, 297, 226, 235,
519 242, 0, 141, 226, 235, 242, 0, 3, 62, 194,
520 235, 0, 62, 194, 235, 0, 292, 226, 235, 242,
521 0, 4, 62, 194, 235, 0, 297, 226, 235, 242,
522 0, 3, 62, 194, 235, 0, 62, 194, 235, 0,
523 285, 0, 284, 59, 285, 0, 155, 0, 155, 64,
524 194, 0, 358, 315, 0, 358, 0, 93, 214, 108,
525 94, 176, 111, 0, 0, 287, 9, 0, 9, 0,
526 288, 9, 0, 0, 289, 176, 0, 289, 93, 186,
527 108, 0, 289, 93, 368, 108, 0, 289, 47, 0,
528 289, 93, 1, 108, 0, 80, 288, 292, 0, 70,
529 288, 292, 0, 80, 292, 0, 70, 292, 0, 313,
530 287, 292, 0, 296, 0, 304, 0, 314, 304, 0,
531 293, 0, 295, 0, 314, 295, 0, 305, 304, 0,
532 296, 291, 287, 380, 0, 296, 94, 290, 111, 0,
533 296, 94, 111, 0, 93, 292, 108, 0, 305, 304,
534 0, 304, 0, 80, 288, 297, 0, 70, 288, 297,
535 0, 80, 297, 0, 70, 297, 0, 313, 287, 297,
536 0, 202, 0, 80, 288, 297, 0, 70, 288, 297,
537 0, 80, 298, 0, 70, 298, 0, 313, 287, 297,
538 0, 299, 0, 202, 291, 287, 380, 0, 93, 298,
539 108, 0, 202, 94, 290, 111, 0, 202, 94, 111,
540 0, 301, 0, 305, 201, 0, 305, 199, 0, 305,
541 198, 0, 305, 195, 0, 305, 198, 0, 301, 0,
542 314, 301, 0, 221, 93, 186, 108, 0, 221, 93,
543 200, 108, 0, 221, 213, 0, 4, 0, 5, 0,
544 169, 0, 306, 0, 305, 306, 0, 305, 48, 311,
545 54, 0, 4, 54, 0, 5, 54, 0, 57, 54,
546 0, 169, 54, 0, 308, 0, 314, 308, 0, 309,
547 155, 0, 309, 169, 0, 309, 311, 0, 309, 48,
548 311, 0, 310, 0, 309, 310, 0, 309, 311, 54,
549 0, 309, 48, 311, 54, 0, 4, 54, 0, 5,
550 54, 0, 169, 54, 0, 56, 54, 0, 3, 54,
551 0, 57, 54, 0, 155, 74, 172, 171, 0, 314,
552 304, 0, 295, 0, 314, 295, 0, 305, 80, 0,
553 314, 305, 80, 0, 54, 0, 80, 287, 315, 0,
554 80, 287, 0, 70, 287, 315, 0, 70, 287, 0,
555 313, 287, 0, 313, 287, 315, 0, 316, 0, 94,
556 176, 111, 0, 316, 94, 290, 111, 0, 80, 288,
557 317, 0, 80, 317, 0, 80, 288, 0, 80, 0,
558 70, 288, 317, 0, 70, 317, 0, 70, 288, 0,
559 70, 0, 313, 287, 0, 313, 287, 317, 0, 318,
560 0, 93, 317, 108, 0, 90, 0, 318, 93, 368,
561 108, 287, 380, 0, 318, 47, 287, 380, 0, 318,
562 94, 290, 111, 0, 318, 94, 111, 0, 93, 369,
563 108, 287, 380, 0, 192, 287, 380, 0, 213, 287,
564 380, 0, 94, 290, 111, 0, 94, 111, 0, 332,
565 0, 320, 0, 319, 332, 0, 319, 320, 0, 1,
566 60, 0, 0, 322, 0, 323, 0, 322, 323, 0,
567 33, 241, 60, 0, 325, 0, 1, 325, 0, 0,
568 58, 326, 182, 0, 0, 0, 15, 328, 178, 329,
569 330, 0, 325, 0, 0, 331, 333, 0, 325, 0,
570 333, 0, 211, 0, 176, 60, 0, 0, 327, 16,
571 334, 330, 0, 327, 0, 0, 0, 17, 335, 178,
572 336, 183, 0, 0, 0, 18, 337, 330, 17, 338,
573 177, 60, 0, 0, 0, 0, 0, 19, 339, 93,
574 361, 340, 179, 60, 341, 363, 108, 342, 183, 0,
575 0, 0, 20, 343, 93, 180, 108, 344, 330, 0,
576 0, 21, 194, 62, 345, 332, 0, 0, 21, 194,
577 12, 194, 62, 346, 332, 0, 0, 22, 62, 347,
578 332, 0, 23, 60, 0, 24, 60, 0, 25, 60,
579 0, 25, 176, 60, 0, 119, 362, 93, 208, 108,
580 60, 0, 119, 362, 93, 208, 62, 364, 108, 60,
581 0, 119, 362, 93, 208, 62, 364, 62, 364, 108,
582 60, 0, 119, 362, 93, 208, 62, 364, 62, 364,
583 62, 367, 108, 60, 0, 26, 80, 176, 60, 0,
584 26, 155, 60, 0, 360, 332, 0, 360, 109, 0,
585 60, 0, 351, 0, 0, 0, 95, 349, 137, 325,
586 350, 354, 0, 0, 0, 95, 352, 325, 353, 354,
587 0, 355, 0, 354, 355, 0, 0, 0, 96, 356,
588 359, 357, 325, 0, 219, 0, 288, 0, 93, 12,
589 108, 0, 93, 377, 108, 0, 3, 62, 0, 56,
590 62, 0, 4, 62, 0, 5, 62, 0, 363, 60,
591 0, 211, 0, 58, 182, 0, 0, 9, 0, 0,
592 176, 0, 1, 0, 0, 365, 0, 366, 0, 365,
593 59, 366, 0, 11, 93, 176, 108, 0, 11, 0,
594 367, 59, 11, 0, 0, 369, 0, 214, 0, 373,
595 0, 374, 12, 0, 373, 12, 0, 214, 12, 0,
596 12, 0, 373, 62, 0, 214, 62, 0, 0, 64,
597 371, 372, 0, 101, 0, 243, 0, 375, 0, 377,
598 370, 0, 374, 376, 0, 374, 379, 0, 374, 379,
599 64, 243, 0, 373, 59, 0, 214, 59, 0, 216,
600 212, 0, 219, 212, 0, 221, 212, 0, 216, 317,
601 0, 216, 0, 218, 297, 0, 377, 0, 377, 370,
602 0, 375, 0, 214, 0, 0, 0, 297, 0, 0,
603 61, 93, 382, 108, 0, 61, 47, 0, 214, 0,
604 381, 0, 382, 59, 381, 0, 0, 80, 287, 383,
605 0, 70, 287, 383, 0, 313, 287, 383, 0, 41,
606 0, 384, 80, 0, 384, 81, 0, 384, 82, 0,
607 384, 78, 0, 384, 79, 0, 384, 70, 0, 384,
608 68, 0, 384, 69, 0, 384, 88, 0, 384, 59,
609 0, 384, 73, 0, 384, 74, 0, 384, 75, 0,
610 384, 72, 0, 384, 63, 0, 384, 64, 0, 384,
611 76, 0, 384, 77, 0, 384, 86, 0, 384, 87,
612 0, 384, 67, 0, 384, 66, 0, 384, 110, 0,
613 384, 65, 62, 0, 384, 71, 0, 384, 91, 0,
614 384, 83, 0, 384, 47, 0, 384, 94, 111, 0,
615 384, 39, 0, 384, 38, 0, 384, 39, 94, 111,
616 0, 384, 38, 94, 111, 0, 384, 358, 383, 0,
623 static const short yyrline
[] = { 0,
624 328, 330, 338, 341, 342, 346, 348, 351, 356, 360,
625 366, 370, 373, 377, 380, 382, 384, 387, 389, 392,
626 395, 397, 399, 401, 403, 405, 407, 416, 420, 423,
627 425, 429, 431, 432, 434, 438, 441, 447, 450, 452,
628 457, 460, 464, 467, 470, 473, 477, 482, 492, 494,
629 496, 498, 500, 513, 522, 532, 534, 536, 540, 542,
630 543, 550, 551, 552, 555, 558, 562, 564, 565, 568,
631 570, 573, 576, 578, 582, 585, 587, 591, 593, 595,
632 599, 601, 603, 607, 609, 611, 617, 621, 624, 627,
633 630, 635, 638, 640, 642, 648, 658, 660, 663, 666,
634 668, 671, 675, 684, 687, 689, 693, 706, 726, 729,
635 731, 732, 735, 742, 748, 750, 752, 754, 756, 759,
636 764, 766, 767, 768, 769, 772, 774, 775, 778, 780,
637 781, 784, 789, 789, 793, 793, 796, 796, 799, 799,
638 803, 803, 808, 808, 811, 811, 814, 816, 819, 826,
639 833, 839, 842, 851, 853, 861, 864, 867, 870, 874,
640 877, 880, 883, 885, 887, 889, 893, 896, 899, 904,
641 908, 913, 917, 920, 922, 926, 945, 952, 955, 957,
642 958, 959, 962, 966, 967, 971, 975, 978, 980, 984,
643 987, 990, 994, 997, 999, 1001, 1003, 1006, 1010, 1012,
644 1014, 1016, 1022, 1025, 1028, 1031, 1034, 1038, 1041, 1044,
645 1048, 1050, 1054, 1058, 1060, 1064, 1067, 1069, 1072, 1076,
646 1079, 1081, 1089, 1102, 1107, 1113, 1115, 1117, 1130, 1133,
647 1135, 1137, 1139, 1141, 1143, 1145, 1147, 1149, 1151, 1153,
648 1155, 1157, 1159, 1161, 1163, 1165, 1167, 1169, 1171, 1173,
649 1177, 1179, 1181, 1198, 1201, 1202, 1203, 1204, 1205, 1208,
650 1211, 1214, 1218, 1221, 1223, 1228, 1230, 1231, 1234, 1236,
651 1238, 1240, 1244, 1247, 1251, 1253, 1254, 1255, 1259, 1267,
652 1268, 1269, 1277, 1279, 1282, 1284, 1294, 1296, 1298, 1300,
653 1302, 1304, 1307, 1309, 1353, 1354, 1358, 1362, 1366, 1370,
654 1372, 1376, 1378, 1386, 1388, 1390, 1392, 1396, 1398, 1400,
655 1402, 1407, 1409, 1411, 1413, 1416, 1418, 1420, 1464, 1467,
656 1471, 1474, 1478, 1481, 1486, 1488, 1492, 1505, 1508, 1515,
657 1522, 1527, 1529, 1534, 1536, 1543, 1545, 1549, 1553, 1559,
658 1563, 1566, 1569, 1572, 1582, 1584, 1587, 1591, 1594, 1597,
659 1600, 1603, 1609, 1615, 1617, 1622, 1624, 1633, 1636, 1638,
660 1641, 1647, 1649, 1659, 1663, 1666, 1669, 1674, 1677, 1685,
661 1687, 1689, 1691, 1694, 1697, 1712, 1731, 1734, 1736, 1739,
662 1741, 1744, 1746, 1749, 1751, 1754, 1757, 1761, 1767, 1768,
663 1780, 1787, 1790, 1796, 1800, 1805, 1811, 1812, 1820, 1823,
664 1827, 1830, 1834, 1839, 1842, 1846, 1849, 1851, 1853, 1855,
665 1862, 1864, 1865, 1866, 1870, 1873, 1877, 1880, 1886, 1888,
666 1891, 1894, 1897, 1903, 1906, 1909, 1911, 1913, 1917, 1923,
667 1931, 1933, 1937, 1939, 1944, 1947, 1950, 1952, 1954, 1958,
668 1962, 1967, 1971, 1974, 1979, 1983, 1986, 1989, 1993, 2005,
669 2007, 2010, 2030, 2032, 2035, 2037, 2042, 2044, 2046, 2048,
670 2050, 2054, 2059, 2064, 2070, 2075, 2080, 2082, 2086, 2091,
671 2094, 2101, 2129, 2135, 2137, 2140, 2143, 2145, 2149, 2151,
672 2155, 2181, 2210, 2213, 2214, 2235, 2258, 2260, 2264, 2275,
673 2289, 2294, 2301, 2304, 2312, 2323, 2332, 2336, 2351, 2354,
674 2359, 2361, 2363, 2365, 2367, 2369, 2372, 2374, 2386, 2392,
675 2394, 2397, 2400, 2402, 2413, 2418, 2421, 2426, 2429, 2430,
676 2441, 2444, 2445, 2456, 2458, 2461, 2463, 2466, 2473, 2481,
677 2488, 2494, 2500, 2508, 2512, 2517, 2521, 2524, 2533, 2535,
678 2539, 2542, 2547, 2551, 2556, 2566, 2569, 2573, 2577, 2585,
679 2590, 2596, 2599, 2601, 2603, 2609, 2612, 2614, 2616, 2618,
680 2622, 2625, 2643, 2653, 2655, 2656, 2660, 2665, 2668, 2670,
681 2672, 2674, 2678, 2684, 2687, 2689, 2691, 2693, 2697, 2700,
682 2703, 2705, 2707, 2709, 2713, 2716, 2719, 2721, 2723, 2725,
683 2732, 2743, 2747, 2752, 2756, 2761, 2763, 2767, 2770, 2772,
684 2776, 2778, 2779, 2782, 2784, 2786, 2792, 2807, 2813, 2819,
685 2833, 2835, 2839, 2853, 2855, 2857, 2861, 2867, 2880, 2882,
686 2886, 2899, 2905, 2907, 2908, 2909, 2917, 2922, 2931, 2932,
687 2936, 2939, 2945, 2951, 2954, 2956, 2958, 2960, 2964, 2968,
688 2972, 2975, 2980, 2983, 2985, 2987, 2989, 2991, 2993, 2995,
689 2997, 3001, 3005, 3009, 3013, 3014, 3016, 3018, 3020, 3022,
690 3024, 3026, 3028, 3030, 3038, 3040, 3041, 3042, 3045, 3051,
691 3053, 3058, 3060, 3063, 3077, 3080, 3083, 3087, 3090, 3097,
692 3099, 3102, 3104, 3106, 3109, 3112, 3115, 3118, 3120, 3123,
693 3127, 3129, 3135, 3137, 3138, 3140, 3145, 3147, 3149, 3151,
694 3153, 3156, 3157, 3159, 3162, 3163, 3166, 3166, 3169, 3169,
695 3172, 3172, 3174, 3176, 3178, 3180, 3186, 3192, 3195, 3198,
696 3204, 3206, 3208, 3212, 3214, 3217, 3224, 3230, 3239, 3243,
697 3245, 3248, 3250, 3253, 3257, 3259, 3262, 3264, 3267, 3284,
698 3290, 3298, 3300, 3302, 3306, 3309, 3310, 3318, 3322, 3326,
699 3329, 3330, 3336, 3339, 3342, 3344, 3348, 3353, 3356, 3366,
700 3371, 3372, 3379, 3382, 3385, 3387, 3390, 3392, 3402, 3416,
701 3420, 3423, 3425, 3429, 3433, 3436, 3439, 3441, 3445, 3447,
702 3454, 3461, 3464, 3467, 3471, 3475, 3481, 3485, 3490, 3492,
703 3495, 3500, 3506, 3517, 3520, 3522, 3526, 3531, 3533, 3540,
704 3543, 3545, 3547, 3553, 3558, 3561, 3563, 3565, 3567, 3569,
705 3571, 3573, 3575, 3577, 3579, 3581, 3583, 3585, 3587, 3589,
706 3591, 3593, 3595, 3597, 3599, 3601, 3603, 3605, 3607, 3609,
707 3611, 3613, 3615, 3617, 3619, 3621, 3623, 3626, 3628
712 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
714 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
715 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
716 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
717 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
718 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
719 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
720 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
721 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
722 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
723 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
724 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
725 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
726 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
727 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
728 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
729 "asm_keyword","lang_extdef","@2","extdef","@3","@4","using_decl","any_id","extern_lang_string",
730 "template_header","@5","template_parm_list","maybe_identifier","template_type_parm",
731 "template_template_parm","template_parm","template_def","datadef","ctor_initializer_opt",
732 "maybe_return_init","eat_saved_input","fndef","constructor_declarator","@6",
733 "@7","@8","@9","fn.def1","component_constructor_declarator","fn.def2","return_id",
734 "return_init","base_init",".set_base_init","member_init_list","member_init",
735 "identifier","notype_identifier","identifier_defn","explicit_instantiation",
736 "@10","@11","@12","@13","@14","@15","@16","@17","begin_explicit_instantiation",
737 "end_explicit_instantiation","template_type","self_template_type","template_close_bracket",
738 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
739 "paren_cond_or_null","xcond","condition","@18","compstmtend","already_scoped_stmt",
740 "@19","nontrivial_exprlist","nonnull_exprlist","unary_expr","new_placement",
741 "@20","@21","new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas",
742 "notype_unqualified_id","do_id","template_id","object_template_id","unqualified_id",
743 "expr_or_declarator","notype_template_declarator","direct_notype_declarator",
744 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
745 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
746 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
747 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
748 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
749 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
750 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
751 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
752 "@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
753 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
754 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
755 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
756 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
757 "component_decl_1","components","notype_components","component_declarator0",
758 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
759 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
760 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
761 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
762 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
763 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
764 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
765 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
766 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
767 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
768 "label_decls","label_decl","compstmt_or_error","compstmt","@30","simple_if",
769 "@31","@32","implicitly_scoped_stmt","@33","stmt","simple_stmt","@34","@35",
770 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","function_try_block",
771 "@48","@49","try_block","@50","@51","handler_seq","handler","@52","@53","type_specifier_seq",
772 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
773 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
774 "complex_parmlist","defarg","@54","defarg1","parms","parms_comma","named_parm",
775 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
776 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
780 static const short yyr1
[] = { 0,
781 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
782 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
783 123, 122, 124, 122, 122, 122, 122, 122, 125, 125,
784 125, 126, 126, 126, 126, 127, 127, 129, 128, 128,
785 130, 130, 131, 131, 132, 132, 133, 134, 134, 134,
786 134, 134, 134, 135, 135, 136, 136, 136, 136, 136,
787 136, 136, 136, 136, 137, 137, 138, 138, 138, 139,
788 139, 140, 140, 140, 142, 141, 141, 143, 141, 141,
789 144, 141, 141, 145, 141, 141, 146, 146, 146, 146,
790 146, 147, 147, 147, 147, 148, 148, 148, 148, 148,
791 148, 148, 149, 150, 150, 150, 151, 152, 153, 153,
792 153, 153, 154, 154, 154, 154, 154, 154, 154, 154,
793 155, 155, 155, 155, 155, 156, 156, 156, 157, 157,
794 157, 159, 158, 160, 158, 161, 158, 162, 158, 163,
795 158, 164, 158, 165, 158, 166, 158, 167, 168, 169,
796 169, 169, 170, 171, 171, 172, 172, 173, 173, 174,
797 174, 175, 175, 175, 175, 175, 176, 176, 177, 177,
798 178, 178, 179, 179, 179, 181, 180, 180, 182, 182,
799 182, 182, 184, 183, 183, 185, 185, 185, 185, 186,
800 186, 187, 187, 187, 187, 187, 187, 187, 187, 187,
801 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
802 187, 187, 187, 187, 187, 189, 188, 190, 188, 191,
803 191, 191, 191, 192, 192, 193, 193, 193, 194, 194,
804 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
805 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
806 194, 194, 194, 195, 195, 195, 195, 195, 195, 196,
807 197, 197, 198, 198, 198, 199, 199, 199, 200, 200,
808 200, 200, 201, 201, 202, 202, 202, 202, 203, 203,
809 203, 203, 203, 203, 203, 204, 203, 203, 203, 203,
810 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
811 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
812 203, 203, 203, 203, 203, 203, 203, 203, 205, 205,
813 206, 206, 207, 207, 208, 208, 209, 210, 210, 211,
814 211, 211, 211, 211, 211, 212, 212, 213, 213, 214,
815 214, 214, 214, 214, 215, 215, 216, 216, 216, 216,
816 216, 216, 217, 217, 217, 217, 217, 218, 218, 218,
817 218, 218, 218, 219, 219, 219, 219, 220, 220, 221,
818 221, 221, 221, 221, 221, 221, 222, 222, 222, 223,
819 223, 224, 224, 225, 225, 226, 226, 228, 227, 227,
820 230, 229, 229, 231, 232, 234, 233, 233, 235, 235,
821 236, 236, 237, 238, 238, 239, 239, 239, 239, 239,
822 240, 240, 240, 240, 241, 241, 242, 242, 243, 243,
823 243, 243, 243, 244, 244, 244, 244, 244, 245, 246,
824 246, 246, 247, 247, 248, 248, 249, 249, 249, 251,
825 250, 250, 252, 250, 250, 250, 250, 250, 253, 254,
826 250, 250, 255, 255, 256, 256, 257, 257, 257, 257,
827 257, 258, 259, 260, 260, 260, 260, 260, 261, 262,
828 262, 262, 263, 264, 264, 265, 265, 265, 266, 266,
829 267, 267, 268, 268, 268, 268, 269, 269, 269, 269,
830 270, 271, 272, 272, 272, 272, 273, 273, 274, 274,
831 274, 274, 274, 274, 274, 274, 274, 274, 275, 275,
832 275, 275, 275, 275, 275, 275, 275, 276, 276, 276,
833 277, 277, 277, 278, 278, 279, 279, 280, 280, 281,
834 281, 281, 281, 282, 282, 283, 283, 283, 284, 284,
835 285, 285, 286, 286, 286, 287, 287, 288, 288, 289,
836 290, 291, 291, 291, 291, 292, 292, 292, 292, 292,
837 292, 293, 293, 294, 294, 294, 295, 296, 296, 296,
838 296, 296, 296, 297, 297, 297, 297, 297, 297, 298,
839 298, 298, 298, 298, 298, 299, 299, 299, 299, 299,
840 299, 300, 300, 301, 301, 302, 302, 303, 303, 303,
841 304, 304, 304, 305, 305, 305, 306, 306, 306, 306,
842 307, 307, 308, 308, 308, 308, 309, 309, 309, 309,
843 310, 310, 310, 310, 310, 310, 311, 312, 312, 312,
844 313, 313, 314, 315, 315, 315, 315, 315, 315, 315,
845 316, 316, 317, 317, 317, 317, 317, 317, 317, 317,
846 317, 317, 317, 318, 318, 318, 318, 318, 318, 318,
847 318, 318, 318, 318, 319, 319, 319, 319, 320, 321,
848 321, 322, 322, 323, 324, 324, 326, 325, 328, 329,
849 327, 330, 331, 330, 332, 332, 333, 333, 334, 333,
850 333, 335, 336, 333, 337, 338, 333, 339, 340, 341,
851 342, 333, 343, 344, 333, 345, 333, 346, 333, 347,
852 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
853 333, 333, 333, 333, 333, 349, 350, 348, 352, 353,
854 351, 354, 354, 356, 357, 355, 358, 358, 359, 359,
855 360, 360, 360, 360, 361, 361, 361, 362, 362, 363,
856 363, 363, 364, 364, 365, 365, 366, 367, 367, 368,
857 368, 368, 369, 369, 369, 369, 369, 369, 369, 371,
858 370, 372, 372, 373, 373, 373, 373, 373, 374, 374,
859 375, 375, 375, 375, 375, 375, 376, 376, 377, 377,
860 378, 379, 379, 380, 380, 380, 381, 382, 382, 383,
861 383, 383, 383, 384, 385, 385, 385, 385, 385, 385,
862 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
863 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
864 385, 385, 385, 385, 385, 385, 385, 385, 385
867 static const short yyr2
[] = { 0,
868 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
869 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
870 0, 6, 0, 5, 5, 2, 4, 2, 2, 3,
871 3, 1, 1, 2, 2, 1, 2, 0, 5, 3,
872 1, 3, 1, 0, 2, 2, 3, 1, 3, 1,
873 3, 1, 3, 2, 2, 2, 3, 3, 2, 2,
874 2, 2, 2, 1, 1, 1, 0, 1, 2, 0,
875 1, 4, 3, 3, 0, 8, 5, 0, 9, 6,
876 0, 8, 5, 0, 9, 6, 2, 2, 1, 2,
877 1, 6, 4, 6, 4, 2, 1, 2, 2, 1,
878 2, 1, 2, 2, 4, 2, 3, 0, 0, 1,
879 3, 2, 3, 1, 4, 2, 4, 2, 4, 2,
880 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
881 1, 0, 6, 0, 6, 0, 5, 0, 5, 0,
882 7, 0, 7, 0, 6, 0, 6, 0, 0, 4,
883 4, 1, 4, 1, 1, 0, 1, 1, 3, 1,
884 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
885 1, 3, 0, 1, 1, 0, 7, 1, 1, 3,
886 4, 3, 0, 3, 1, 3, 3, 3, 3, 1,
887 1, 1, 2, 2, 2, 2, 2, 2, 2, 4,
888 2, 4, 2, 3, 3, 4, 4, 5, 5, 6,
889 2, 4, 5, 2, 2, 0, 4, 0, 4, 3,
890 1, 3, 2, 3, 4, 1, 2, 5, 1, 3,
891 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
892 3, 3, 3, 3, 3, 3, 3, 3, 5, 3,
893 3, 1, 2, 3, 1, 1, 1, 1, 1, 0,
894 5, 5, 5, 5, 5, 1, 1, 1, 1, 2,
895 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
896 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
897 2, 2, 1, 4, 1, 7, 7, 7, 7, 4,
898 4, 2, 2, 1, 4, 2, 2, 5, 3, 2,
899 2, 5, 3, 5, 3, 4, 6, 2, 1, 2,
900 1, 2, 1, 1, 1, 2, 0, 2, 2, 3,
901 3, 3, 2, 2, 2, 1, 1, 1, 2, 2,
902 2, 2, 1, 1, 1, 1, 2, 2, 3, 3,
903 3, 4, 1, 2, 2, 2, 1, 1, 1, 2,
904 2, 2, 1, 1, 2, 2, 3, 1, 2, 1,
905 1, 1, 4, 4, 4, 4, 1, 1, 1, 1,
906 3, 1, 3, 1, 3, 0, 4, 0, 6, 3,
907 0, 4, 1, 3, 3, 0, 4, 3, 0, 1,
908 1, 2, 6, 1, 3, 0, 1, 4, 6, 4,
909 1, 1, 1, 1, 1, 3, 0, 2, 1, 2,
910 3, 4, 1, 1, 3, 4, 3, 5, 1, 4,
911 3, 3, 0, 3, 3, 3, 0, 2, 2, 0,
912 7, 4, 0, 6, 3, 2, 2, 2, 0, 0,
913 9, 1, 0, 1, 0, 1, 1, 2, 2, 2,
914 2, 2, 2, 3, 4, 3, 2, 3, 0, 1,
915 3, 2, 2, 1, 1, 0, 2, 3, 1, 4,
916 1, 3, 1, 1, 4, 4, 2, 2, 3, 3,
917 1, 0, 1, 2, 4, 3, 1, 2, 2, 2,
918 2, 2, 2, 2, 1, 2, 2, 3, 2, 2,
919 4, 4, 2, 1, 5, 4, 1, 0, 1, 3,
920 0, 1, 3, 1, 1, 1, 1, 4, 4, 4,
921 4, 4, 3, 4, 4, 4, 4, 3, 1, 3,
922 1, 3, 2, 1, 6, 0, 2, 1, 2, 0,
923 2, 4, 4, 2, 4, 3, 3, 2, 2, 3,
924 1, 1, 2, 1, 1, 2, 2, 4, 4, 3,
925 3, 2, 1, 3, 3, 2, 2, 3, 1, 3,
926 3, 2, 2, 3, 1, 4, 3, 4, 3, 1,
927 2, 2, 2, 2, 2, 1, 2, 4, 4, 2,
928 1, 1, 1, 1, 2, 4, 2, 2, 2, 2,
929 1, 2, 2, 2, 2, 3, 1, 2, 3, 4,
930 2, 2, 2, 2, 2, 2, 4, 2, 1, 2,
931 2, 3, 1, 3, 2, 3, 2, 2, 3, 1,
932 3, 4, 3, 2, 2, 1, 3, 2, 2, 1,
933 2, 3, 1, 3, 1, 6, 4, 4, 3, 5,
934 3, 3, 3, 2, 1, 1, 2, 2, 2, 0,
935 1, 1, 2, 3, 1, 2, 0, 3, 0, 0,
936 5, 1, 0, 2, 1, 1, 1, 2, 0, 4,
937 1, 0, 0, 5, 0, 0, 7, 0, 0, 0,
938 0, 12, 0, 0, 7, 0, 5, 0, 7, 0,
939 4, 2, 2, 2, 3, 6, 8, 10, 12, 4,
940 3, 2, 2, 1, 1, 0, 0, 6, 0, 0,
941 5, 1, 2, 0, 0, 5, 1, 1, 3, 3,
942 2, 2, 2, 2, 2, 1, 2, 0, 1, 0,
943 1, 1, 0, 1, 1, 3, 4, 1, 3, 0,
944 1, 1, 1, 2, 2, 2, 1, 2, 2, 0,
945 3, 1, 1, 1, 2, 2, 2, 4, 2, 2,
946 2, 2, 2, 2, 1, 2, 1, 2, 1, 1,
947 0, 0, 1, 0, 4, 2, 1, 1, 3, 0,
948 3, 3, 3, 1, 2, 2, 2, 2, 2, 2,
949 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
950 2, 2, 2, 2, 2, 2, 2, 3, 2, 2,
951 2, 2, 3, 2, 2, 4, 4, 3, 2
954 static const short yydefact
[] = { 3,
955 12, 12, 5, 0, 4, 0, 257, 601, 602, 0,
956 359, 371, 548, 0, 11, 0, 0, 0, 10, 457,
957 804, 0, 0, 0, 148, 633, 258, 259, 64, 0,
958 0, 791, 0, 36, 0, 0, 13, 0, 8, 0,
959 16, 15, 70, 91, 67, 0, 603, 152, 276, 255,
960 277, 579, 0, 346, 0, 345, 364, 0, 384, 363,
961 401, 370, 0, 470, 469, 476, 475, 474, 452, 358,
962 564, 372, 565, 89, 275, 590, 562, 0, 604, 546,
963 0, 0, 256, 62, 63, 156, 607, 156, 608, 156,
964 260, 148, 121, 122, 123, 124, 125, 443, 446, 0,
965 629, 0, 447, 0, 0, 0, 0, 122, 123, 124,
966 125, 23, 0, 0, 0, 0, 0, 0, 0, 448,
967 611, 0, 617, 0, 0, 0, 0, 0, 0, 29,
968 0, 0, 38, 0, 156, 609, 0, 0, 577, 0,
969 0, 0, 576, 0, 0, 0, 0, 276, 0, 550,
970 0, 275, 546, 28, 0, 26, 3, 37, 0, 55,
971 54, 71, 14, 0, 399, 0, 0, 417, 68, 60,
972 610, 550, 0, 546, 61, 0, 0, 0, 87, 0,
973 380, 336, 561, 337, 573, 0, 546, 361, 360, 59,
974 90, 347, 0, 382, 362, 88, 353, 377, 378, 348,
975 366, 368, 357, 379, 0, 56, 402, 458, 459, 460,
976 461, 473, 130, 129, 131, 462, 463, 467, 0, 0,
977 476, 791, 472, 491, 492, 549, 365, 0, 396, 602,
978 0, 631, 152, 594, 595, 591, 567, 605, 0, 566,
979 563, 0, 839, 835, 834, 832, 814, 819, 820, 0,
980 826, 825, 811, 812, 810, 829, 818, 815, 816, 817,
981 821, 822, 808, 809, 805, 806, 807, 831, 823, 824,
982 813, 830, 0, 827, 737, 364, 738, 800, 260, 257,
983 548, 280, 325, 0, 0, 0, 0, 321, 319, 293,
984 323, 324, 0, 0, 0, 0, 0, 259, 252, 0,
985 0, 163, 162, 0, 164, 165, 0, 0, 166, 0,
986 0, 157, 158, 0, 226, 0, 229, 161, 279, 192,
987 0, 0, 281, 282, 0, 160, 343, 364, 344, 596,
988 304, 295, 0, 0, 0, 0, 156, 0, 445, 0,
989 440, 0, 630, 628, 0, 167, 168, 0, 0, 0,
990 406, 3, 21, 0, 625, 621, 622, 624, 626, 623,
991 121, 122, 123, 0, 124, 125, 613, 614, 618, 615,
992 612, 267, 268, 0, 266, 32, 33, 0, 593, 592,
993 31, 30, 40, 0, 359, 138, 0, 0, 364, 136,
994 0, 0, 575, 0, 574, 254, 271, 0, 583, 270,
995 0, 582, 0, 278, 587, 0, 0, 12, 0, 148,
996 9, 9, 0, 398, 400, 103, 74, 108, 726, 0,
997 66, 65, 73, 106, 0, 0, 104, 69, 589, 0,
998 0, 554, 0, 794, 0, 559, 0, 558, 0, 0,
999 0, 0, 546, 399, 0, 58, 550, 546, 572, 0,
1000 350, 351, 0, 57, 399, 355, 354, 356, 349, 369,
1001 386, 385, 464, 468, 466, 0, 471, 477, 0, 0,
1002 367, 399, 546, 75, 0, 0, 0, 0, 546, 81,
1003 547, 578, 602, 632, 152, 0, 0, 828, 833, 366,
1004 546, 546, 0, 546, 838, 156, 0, 0, 0, 199,
1005 0, 0, 201, 214, 215, 0, 0, 0, 0, 0,
1006 253, 198, 195, 194, 196, 0, 0, 0, 0, 0,
1007 279, 0, 0, 0, 193, 154, 155, 273, 0, 197,
1008 0, 0, 227, 0, 0, 0, 0, 0, 0, 0,
1009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010 0, 0, 0, 0, 0, 289, 291, 292, 329, 328,
1011 0, 0, 218, 216, 0, 203, 544, 0, 211, 326,
1012 318, 0, 0, 791, 307, 310, 311, 0, 0, 338,
1013 650, 646, 655, 0, 550, 546, 546, 546, 340, 653,
1014 0, 600, 342, 0, 0, 341, 306, 0, 302, 320,
1015 322, 597, 0, 303, 151, 153, 0, 146, 0, 364,
1016 144, 541, 455, 539, 442, 0, 0, 373, 0, 0,
1017 374, 375, 376, 412, 413, 414, 411, 0, 404, 407,
1018 0, 3, 0, 616, 156, 619, 27, 35, 34, 44,
1019 0, 0, 0, 48, 52, 41, 790, 785, 0, 343,
1020 364, 44, 344, 789, 50, 149, 134, 132, 149, 150,
1021 274, 581, 580, 278, 584, 0, 18, 20, 70, 0,
1022 109, 327, 0, 677, 72, 675, 423, 0, 419, 418,
1023 191, 0, 190, 551, 588, 0, 767, 0, 762, 364,
1024 0, 761, 763, 792, 774, 0, 0, 586, 557, 556,
1025 0, 0, 571, 0, 394, 393, 381, 570, 0, 794,
1026 560, 352, 383, 395, 399, 465, 601, 602, 791, 0,
1027 791, 603, 478, 479, 481, 791, 484, 483, 0, 514,
1028 602, 0, 505, 0, 0, 517, 0, 102, 97, 0,
1029 152, 518, 521, 0, 497, 0, 100, 0, 399, 397,
1030 794, 760, 156, 156, 606, 156, 794, 760, 546, 78,
1031 546, 84, 837, 836, 800, 800, 800, 0, 0, 0,
1032 0, 600, 0, 0, 0, 0, 364, 0, 0, 0,
1033 285, 0, 283, 284, 0, 224, 159, 257, 601, 602,
1034 258, 259, 0, 0, 424, 453, 0, 251, 250, 752,
1035 751, 0, 248, 247, 245, 246, 244, 243, 242, 239,
1036 240, 241, 237, 238, 232, 233, 234, 235, 236, 230,
1037 231, 0, 0, 0, 0, 0, 0, 205, 221, 0,
1038 0, 204, 546, 546, 0, 546, 543, 640, 0, 0,
1039 0, 0, 0, 309, 0, 313, 0, 315, 0, 649,
1040 648, 645, 644, 790, 0, 0, 664, 0, 0, 794,
1041 339, 794, 651, 546, 760, 550, 650, 646, 0, 0,
1042 546, 0, 0, 0, 0, 0, 261, 149, 142, 140,
1043 149, 0, 456, 0, 455, 189, 188, 187, 186, 406,
1044 0, 0, 24, 0, 25, 620, 0, 46, 43, 44,
1045 0, 39, 0, 0, 650, 646, 0, 781, 546, 784,
1046 786, 0, 782, 783, 45, 462, 0, 139, 149, 149,
1047 137, 17, 19, 387, 126, 114, 127, 128, 0, 107,
1048 110, 0, 0, 0, 0, 676, 670, 420, 0, 105,
1049 555, 552, 766, 780, 769, 0, 553, 765, 779, 768,
1050 764, 793, 776, 787, 777, 770, 775, 796, 0, 391,
1051 569, 568, 390, 488, 0, 487, 791, 791, 791, 0,
1052 546, 760, 513, 506, 518, 507, 399, 399, 503, 504,
1053 501, 502, 546, 760, 257, 601, 0, 386, 98, 509,
1054 519, 524, 525, 386, 386, 0, 0, 386, 96, 510,
1055 522, 386, 498, 499, 500, 399, 0, 449, 77, 0,
1056 0, 0, 0, 83, 0, 794, 760, 794, 760, 802,
1057 801, 803, 262, 294, 200, 202, 300, 301, 0, 0,
1058 0, 0, 284, 287, 0, 0, 0, 0, 225, 0,
1059 288, 290, 0, 0, 207, 0, 206, 223, 0, 0,
1060 637, 635, 0, 638, 550, 212, 0, 0, 156, 316,
1061 0, 0, 0, 647, 643, 654, 546, 663, 661, 662,
1062 652, 794, 0, 659, 0, 598, 599, 0, 305, 147,
1063 149, 149, 145, 542, 540, 444, 0, 405, 403, 257,
1064 0, 22, 627, 47, 42, 49, 53, 649, 645, 650,
1065 646, 0, 562, 0, 546, 651, 51, 135, 133, 0,
1066 112, 0, 116, 0, 118, 0, 120, 0, 727, 0,
1067 179, 678, 0, 671, 672, 0, 421, 650, 646, 0,
1068 279, 0, 596, 788, 0, 0, 797, 798, 0, 0,
1069 388, 0, 0, 0, 490, 489, 482, 794, 0, 508,
1070 417, 417, 794, 0, 0, 0, 399, 399, 0, 399,
1071 399, 0, 399, 0, 417, 0, 437, 546, 264, 263,
1072 265, 546, 80, 0, 86, 0, 0, 0, 0, 0,
1073 0, 427, 0, 425, 228, 249, 219, 217, 0, 208,
1074 209, 220, 222, 636, 634, 641, 639, 0, 213, 0,
1075 0, 308, 312, 314, 794, 657, 546, 658, 143, 141,
1076 441, 0, 408, 410, 649, 645, 567, 651, 113, 111,
1077 0, 0, 0, 0, 415, 0, 0, 257, 601, 602,
1078 679, 692, 695, 698, 703, 0, 0, 0, 0, 0,
1079 0, 258, 724, 729, 0, 748, 0, 687, 0, 0,
1080 364, 0, 666, 685, 691, 665, 686, 725, 0, 673,
1081 422, 0, 599, 778, 772, 773, 771, 0, 795, 392,
1082 0, 485, 486, 480, 93, 546, 512, 516, 95, 546,
1083 399, 399, 533, 417, 257, 601, 0, 520, 526, 527,
1084 386, 386, 417, 417, 0, 417, 523, 511, 0, 794,
1085 794, 546, 546, 0, 0, 0, 0, 426, 0, 0,
1086 210, 642, 317, 263, 660, 794, 0, 115, 117, 119,
1087 734, 728, 732, 0, 674, 669, 182, 741, 743, 744,
1088 0, 0, 683, 0, 0, 0, 710, 712, 713, 714,
1089 0, 0, 0, 742, 0, 335, 749, 0, 688, 333,
1090 386, 0, 334, 0, 386, 0, 0, 0, 180, 668,
1091 667, 689, 723, 722, 284, 799, 389, 794, 794, 532,
1092 529, 531, 0, 0, 399, 399, 399, 528, 530, 515,
1093 439, 0, 438, 433, 76, 82, 794, 794, 296, 297,
1094 298, 299, 428, 545, 656, 409, 0, 733, 416, 171,
1095 0, 680, 693, 682, 0, 0, 0, 0, 0, 706,
1096 0, 715, 0, 721, 730, 0, 331, 332, 0, 0,
1097 0, 330, 181, 683, 92, 94, 399, 399, 538, 417,
1098 417, 0, 0, 451, 79, 85, 0, 735, 178, 0,
1099 364, 0, 683, 0, 696, 684, 670, 746, 699, 0,
1100 0, 0, 0, 711, 720, 0, 0, 690, 537, 535,
1101 534, 536, 436, 435, 429, 67, 70, 0, 0, 0,
1102 172, 386, 681, 183, 694, 185, 0, 747, 0, 745,
1103 704, 708, 707, 731, 753, 0, 0, 434, 739, 740,
1104 736, 399, 670, 169, 0, 0, 175, 0, 174, 683,
1105 0, 0, 0, 754, 755, 716, 432, 0, 431, 0,
1106 184, 0, 697, 700, 705, 709, 0, 753, 0, 0,
1107 430, 176, 170, 0, 0, 0, 717, 756, 0, 0,
1108 757, 0, 0, 177, 701, 758, 0, 718, 0, 0,
1109 0, 702, 759, 719, 0, 0, 0
1112 static const short yydefgoto
[] = { 1545,
1113 408, 2, 409, 159, 668, 310, 164, 3, 4, 37,
1114 632, 352, 736, 374, 39, 737, 384, 643, 898, 644,
1115 645, 646, 41, 42, 420, 167, 163, 43, 738, 752,
1116 1017, 758, 1019, 45, 739, 740, 168, 169, 421, 671,
1117 930, 931, 612, 932, 217, 46, 920, 919, 659, 656,
1118 1082, 1081, 881, 878, 134, 918, 47, 48, 528, 311,
1119 312, 313, 314, 1247, 1496, 1402, 1498, 1440, 1529, 1122,
1120 1475, 1493, 346, 870, 315, 565, 825, 824, 832, 316,
1121 317, 347, 319, 337, 50, 235, 376, 397, 51, 52,
1122 320, 523, 321, 322, 323, 324, 422, 325, 1248, 461,
1123 587, 326, 1249, 54, 200, 649, 327, 201, 501, 202,
1124 180, 193, 58, 444, 462, 1271, 705, 1140, 181, 194,
1125 59, 472, 706, 60, 61, 628, 629, 630, 1226, 427,
1126 795, 796, 1466, 1467, 1434, 1383, 1299, 62, 616, 340,
1127 1167, 1384, 1038, 884, 63, 64, 65, 66, 221, 67,
1128 68, 69, 223, 723, 724, 725, 726, 225, 469, 470,
1129 744, 745, 746, 990, 1000, 991, 1288, 992, 993, 1289,
1130 1290, 613, 614, 566, 860, 329, 430, 431, 174, 182,
1131 71, 72, 73, 183, 184, 151, 75, 130, 330, 331,
1132 332, 77, 333, 79, 728, 121, 122, 123, 477, 103,
1133 80, 334, 837, 838, 855, 590, 1252, 1253, 1123, 1124,
1134 1125, 675, 1254, 937, 1255, 1331, 1443, 1405, 1406, 1256,
1135 1257, 1424, 1332, 1444, 1333, 1477, 1334, 1479, 1524, 1539,
1136 1335, 1500, 1453, 1501, 1411, 423, 672, 1224, 1258, 1345,
1137 1456, 1322, 1323, 1397, 1470, 1442, 1438, 1259, 1449, 1348,
1138 802, 1503, 1504, 1505, 1537, 691, 692, 957, 1136, 1267,
1139 693, 694, 695, 953, 696, 144, 955, 698, 1138, 1139,
1143 static const short yypact
[] = { 138,
1144 203,-32768,-32768, 3122,-32768, 137, 111, 60, 404, 209,
1145 181,-32768,-32768, 1112,-32768, 149, 215, 255,-32768,-32768,
1146 -32768, 788, 100, 1852, 305,-32768, 330, 408,-32768, 2224,
1147 2224,-32768, 5791,-32768, 3122, 314,-32768, 277, 51, 3423,
1148 -32768,-32768, 327, 820, 474, 450, 460,-32768,-32768,-32768,
1149 -32768, 449, 1940,-32768, 2075,-32768, 2169, 389,-32768, 492,
1150 -32768,-32768, 547,-32768,-32768, 470,-32768,-32768, 527, 3014,
1151 -32768,-32768,-32768, 1025,-32768,-32768,-32768, 1145,-32768,-32768,
1152 437, 7625, 558,-32768,-32768, 9220,-32768, 9220,-32768, 9220,
1153 -32768,-32768,-32768, 60, 404, 330, 583, 526, 582, 460,
1154 -32768, 396,-32768, 437, 9220, 9220, 550,-32768,-32768,-32768,
1155 -32768,-32768, 283, 625, 590, 611, 628, 640, 644,-32768,
1156 -32768, 371,-32768, 1651, 60, 404, 1746, 330, 583,-32768,
1157 2283, 297, 649, 5339, 9220,-32768, 9220, 2608,-32768, 2019,
1158 916, 2608,-32768, 1717, 3767, 3767, 5791, 562, 622, 641,
1159 630, 633,-32768,-32768, 745,-32768, 651,-32768, 3956, 137,
1160 -32768,-32768,-32768, 676, 492, 792, 105, 263, 737,-32768,
1161 -32768, 688, 167,-32768,-32768, 3949, 3949, 6162, 1025, 489,
1162 -32768,-32768, 484,-32768,-32768, 2989,-32768,-32768,-32768,-32768,
1163 -32768, 2169, 507,-32768, 492, 1025,-32768,-32768,-32768, 2262,
1164 2169,-32768, 492,-32768, 8186,-32768,-32768,-32768,-32768,-32768,
1165 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 460, 1506, 1742,
1166 470,-32768,-32768,-32768,-32768,-32768, 976, 437,-32768, 339,
1167 853,-32768, 242,-32768,-32768,-32768,-32768,-32768, 4117,-32768,
1168 -32768, 164,-32768, 716, 718,-32768,-32768,-32768,-32768, 757,
1169 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1170 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1171 -32768,-32768, 713,-32768,-32768, 976, 3014, 1183,-32768,-32768,
1172 733,-32768,-32768, 9828, 9914, 10000, 10000,-32768,-32768,-32768,
1173 -32768,-32768, 739, 756, 759, 766, 775, 583, 9306, 1717,
1174 10000,-32768,-32768, 10000,-32768,-32768, 10000, 7103,-32768, 10000,
1175 46, 794,-32768, 10000,-32768, 9392,-32768, 10354,-32768, 1282,
1176 2550, 9478,-32768, 849, 2652,-32768, 1127, 1375, 2861,-32768,
1177 323,-32768, 2439, 1040, 46, 46, 9220, 5339,-32768, 1717,
1178 753, 1717,-32768,-32768, 763, 804, 10287, 765, 769, 778,
1179 1281, 651,-32768, 1746,-32768,-32768,-32768,-32768,-32768,-32768,
1180 625, 590, 611, 1717, 628, 640, 814, 644,-32768, 841,
1181 -32768, 60, 404, 838,-32768,-32768,-32768, 297,-32768,-32768,
1182 -32768,-32768,-32768, 4447,-32768,-32768, 8186, 5432, 1635,-32768,
1183 46, 180,-32768, 710,-32768,-32768,-32768, 2608,-32768,-32768,
1184 2608,-32768, 793,-32768,-32768, 4117, 57, 795, 816,-32768,
1185 -32768,-32768, 745,-32768, 492,-32768,-32768,-32768,-32768, 90,
1186 -32768,-32768,-32768,-32768, 7194, 9306,-32768,-32768,-32768, 9306,
1187 791,-32768, 6457, 117, 4620,-32768, 4620,-32768, 4869, 4869,
1188 6162, 824,-32768, 492, 8186,-32768, 826,-32768,-32768, 4915,
1189 2262, 2169, 8186,-32768, 492,-32768,-32768, 492, 2262,-32768,
1190 913,-32768,-32768, 460,-32768, 1506,-32768, 1469, 4330, 61,
1191 976, 492,-32768,-32768, 869, 872, 893, 876,-32768,-32768,
1192 -32768,-32768, 522,-32768, 491, 845, 860,-32768,-32768, 976,
1193 -32768,-32768, 901,-32768,-32768, 9220, 9306, 733, 7103,-32768,
1194 521, 7103,-32768,-32768,-32768, 9220, 5999, 5999, 5999, 5999,
1195 10332,-32768,-32768,-32768,-32768, 867, 10086, 10086, 7103, 868,
1196 562, 870, 928, 884,-32768,-32768,-32768,-32768, 9220,-32768,
1197 6733, 7103,-32768, 9306, 9306, 7285, 9306, 9306, 9306, 9306,
1198 9306, 9306, 9306, 9306, 9306, 9306, 9306, 9306, 9306, 9306,
1199 9306, 9306, 9306, 9306, 9306,-32768,-32768,-32768,-32768,-32768,
1200 9306, 9306,-32768, 5999, 2806, 419, 417, 7985,-32768,-32768,
1201 -32768, 939, 853, 987, 532, 555, 569, 3357, 916,-32768,
1202 1622, 1622,-32768, 2723, 885, 904, 953,-32768,-32768, 488,
1203 8675, 130,-32768, 961, 437,-32768,-32768, 9306,-32768,-32768,
1204 -32768,-32768, 97,-32768,-32768,-32768, 46,-32768, 8186, 1810,
1205 -32768, 937, 943,-32768,-32768, 1717, 814,-32768, 7717, 7808,
1206 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 154,-32768, 911,
1207 896, 651, 947, 954, 9220,-32768,-32768,-32768,-32768, 1154,
1208 305, 974, 256, 952, 955,-32768,-32768, 1616, 5526, 1616,
1209 2463, 547, 3671,-32768, 956,-32768,-32768,-32768,-32768,-32768,
1210 -32768,-32768,-32768, 903,-32768, 963,-32768,-32768, 327, 79,
1211 434, 966, 928,-32768,-32768,-32768,-32768, 6639, 10332,-32768,
1212 804, 921, 10287,-32768,-32768, 923,-32768, 926, 259, 3180,
1213 946,-32768, 353, 4214, 1002, 1006, 595,-32768,-32768,-32768,
1214 4620, 4620,-32768, 4915,-32768, 1009,-32768,-32768, 964, 117,
1215 -32768, 2262,-32768,-32768, 492,-32768, 590, 611,-32768, 965,
1216 -32768, 644, 1018,-32768,-32768, 103,-32768,-32768, 1750,-32768,
1217 755, 1034,-32768, 9306, 4558,-32768, 4558, 168, 168, 191,
1218 612, 5394, 4727, 8053,-32768, 155, 168, 1024, 492,-32768,
1219 117, 4757, 9220, 9220,-32768, 9220, 117, 4757,-32768,-32768,
1220 -32768,-32768,-32768,-32768, 619, 619, 619, 46, 972, 984,
1221 9570, 953, 993, 1004, 1005, 1007, 3857, 1043, 1048, 1058,
1222 -32768, 1030,-32768,-32768, 1038,-32768,-32768, 1080, 222, 646,
1223 281, 179, 9306, 1085,-32768, 1094, 1046, 10332, 10332,-32768,
1224 -32768, 1093, 4474, 6002, 10197, 10369, 10261, 5210, 4605, 2070,
1225 2070, 2070, 2322, 2322, 1756, 1756, 509, 509, 509,-32768,
1226 -32768, 1053, 1045, 9306, 9306, 1056, 5999, 419,-32768, 7194,
1227 9306,-32768,-32768,-32768, 9306,-32768,-32768, 1077, 10000, 1065,
1228 1089, 1105, 1133,-32768, 9306,-32768, 9306,-32768, 9306, 3508,
1229 -32768, 3508,-32768, 85, 1074, 1086,-32768, 1084, 5999, 117,
1230 -32768, 117, 4055,-32768, 4757, 1092, 8859, 8859, 5653, 1088,
1231 9392, 1096, 3337, 1040, 994, 1104,-32768,-32768,-32768,-32768,
1232 -32768, 9306, 1717, 1076, 943,-32768, 10332,-32768, 10332, 1281,
1233 1106, 9656,-32768, 1110,-32768,-32768, 46,-32768,-32768, 1486,
1234 4447,-32768, 5999, 9220, 1678, 1678, 1885,-32768,-32768,-32768,
1235 -32768, 2989,-32768,-32768,-32768, 397, 9306,-32768,-32768,-32768,
1236 -32768,-32768,-32768,-32768, 625,-32768, 628, 640, 9306, 1156,
1237 -32768, 616, 671, 675, 928,-32768, 16,-32768, 65,-32768,
1238 -32768,-32768,-32768,-32768,-32768, 8767,-32768,-32768,-32768,-32768,
1239 -32768,-32768,-32768, 1006, 1149,-32768,-32768,-32768, 5999,-32768,
1240 -32768,-32768, 1158,-32768, 9220,-32768,-32768,-32768,-32768, 1382,
1241 -32768, 4757, 10332,-32768, 1773,-32768, 492, 492,-32768,-32768,
1242 -32768,-32768,-32768, 4757, 356, 683, 9306, 913,-32768, 1167,
1243 -32768,-32768,-32768, 325, 495, 1145, 916, 512, 168, 1168,
1244 -32768, 736,-32768,-32768,-32768, 492, 8123,-32768,-32768, 1120,
1245 46, 46, 46,-32768, 1121, 117, 4757, 117, 4757,-32768,
1246 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1138, 1141,
1247 1142, 1143, 903,-32768, 10220, 7194, 6827, 1129,-32768, 9306,
1248 -32768,-32768, 1134, 1137, 453, 1139,-32768,-32768, 1148, 187,
1249 1256, 1256, 1146, 1256,-32768,-32768, 10000, 1241, 9220,-32768,
1250 1159, 1160, 1162,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1251 -32768, 117, 1164,-32768, 1163,-32768,-32768, 3496,-32768,-32768,
1252 -32768,-32768,-32768, 10332,-32768,-32768, 1166,-32768,-32768, 160,
1253 1169,-32768,-32768,-32768,-32768,-32768,-32768, 2161, 2161, 2917,
1254 2917, 1885,-32768, 2989,-32768, 3237, 10354,-32768,-32768, 1172,
1255 -32768, 434,-32768, 9306,-32768, 9306,-32768, 9306,-32768, 1717,
1256 -32768,-32768, 6255, 1249,-32768, 6918,-32768, 8951, 8951, 6363,
1257 264, 1175, 342,-32768, 7194, 7009,-32768,-32768, 166, 7194,
1258 -32768, 1179, 1184, 1469,-32768,-32768,-32768, 117, 1190,-32768,
1259 1227, 1227, 117, 1191, 9306, 9306, 5073, 492, 5545, 492,
1260 492, 1301, 492, 5723, 1227, 8193,-32768,-32768,-32768, 1248,
1261 -32768,-32768,-32768, 1199,-32768, 1200, 9306, 9306, 9306, 9306,
1262 7194,-32768, 1247,-32768,-32768, 10332,-32768,-32768, 9306,-32768,
1263 453,-32768,-32768,-32768,-32768,-32768,-32768, 1192,-32768, 1273,
1264 46,-32768,-32768,-32768, 117,-32768,-32768,-32768,-32768,-32768,
1265 -32768, 9306,-32768,-32768, 2161, 2161,-32768, 3237,-32768,-32768,
1266 1217, 1219, 1223, 1236,-32768, 587, 176, 1271, 861, 864,
1267 -32768,-32768,-32768,-32768,-32768, 9306, 1272, 1279, 1288, 9043,
1268 723, 383,-32768,-32768, 9134, 1332, 1291,-32768, 5784, 5022,
1269 5183, 6102,-32768,-32768, 1336,-32768,-32768,-32768, 8286,-32768,
1270 -32768, 1245, 823,-32768,-32768,-32768,-32768, 5999,-32768,-32768,
1271 7194,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1272 5073, 5073,-32768, 1227, 497, 920, 9306,-32768,-32768,-32768,
1273 913, 913, 1227, 1227, 522, 1227,-32768,-32768, 5903, 117,
1274 117,-32768,-32768, 1251, 1254, 1255, 1257,-32768, 7194, 1244,
1275 -32768,-32768,-32768,-32768,-32768, 117, 1258,-32768,-32768,-32768,
1276 -32768, 1236,-32768, 1717,-32768,-32768,-32768,-32768,-32768,-32768,
1277 685, 685, 928, 1263, 1274, 4446,-32768,-32768,-32768,-32768,
1278 1311, 9306, 1317,-32768, 928,-32768,-32768, 1285,-32768,-32768,
1279 913, 637,-32768, 712, 913, 9742, 762, 185,-32768,-32768,
1280 -32768,-32768,-32768,-32768, 376,-32768,-32768, 117, 117,-32768,
1281 -32768,-32768, 9306, 9306, 5073, 492, 492,-32768,-32768,-32768,
1282 -32768, 7899,-32768,-32768,-32768,-32768, 117, 117,-32768,-32768,
1283 -32768,-32768,-32768,-32768,-32768,-32768, 1289,-32768,-32768,-32768,
1284 9220,-32768,-32768,-32768, 1371, 8582, 6548, 9220, 9306,-32768,
1285 8394,-32768, 1330,-32768,-32768, 745,-32768,-32768, 10172, 10172,
1286 7376,-32768,-32768, 928,-32768,-32768, 5073, 5073,-32768, 1227,
1287 1227, 1286, 10242, 1298,-32768,-32768, 6012,-32768,-32768, 1292,
1288 471, 8186, 928, 8488,-32768,-32768, 16,-32768,-32768, 1339,
1289 1293, 10310, 8394,-32768,-32768, 1236, 74,-32768,-32768,-32768,
1290 -32768,-32768,-32768,-32768,-32768, 474, 327, 1308, 1313, 928,
1291 -32768, 913,-32768,-32768,-32768,-32768, 708,-32768, 7467,-32768,
1292 -32768,-32768,-32768, 1236, 1398, 1359, 114,-32768,-32768,-32768,
1293 -32768, 492, 16,-32768, 9306, 1365,-32768, 1370,-32768, 928,
1294 8394, 1341, 140, 1376,-32768,-32768,-32768, 90,-32768, 1373,
1295 -32768, 1333,-32768,-32768,-32768,-32768, 9306, 1398, 1387, 1398,
1296 -32768,-32768,-32768, 7558, 1334, 381,-32768,-32768, 7194, 1340,
1297 -32768, 1439, 1394,-32768,-32768,-32768, 197,-32768, 8488, 1445,
1298 1397,-32768,-32768,-32768, 1462, 1464,-32768
1301 static const short yypgoto
[] = {-32768,
1302 1466,-32768, -308,-32768, 1059, -1, 17, 1465,-32768, 338,
1303 -32768,-32768, 571, 1144,-32768, 10,-32768,-32768, -594,-32768,
1304 -32768, 600,-32768, 1343, -662, 38, -661, 1353, 72,-32768,
1305 -32768,-32768,-32768,-32768, 773,-32768,-32768,-32768,-32768,-32768,
1306 -32768, 407, 244,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1307 -32768,-32768,-32768,-32768, 1429, -627, 5187, -63, -174, -70,
1308 1390, -501,-32768, 1195,-32768, 192,-32768, -1315,-32768, -629,
1309 -11,-32768, 1020, 280, -244,-32768,-32768,-32768, -793, 2977,
1310 95, 1055, 3763, 1260,-32768, -64, -62, 193, -69, 214,
1311 -32768,-32768,-32768, -312,-32768, -154,-32768,-32768, -1185, -51,
1312 -321, 2790, 39, -65, -138, 52, 76, -168, -4, -139,
1313 -979, 284,-32768, 69, 14,-32768, -335,-32768,-32768,-32768,
1314 -32768,-32768, 501, 581, -7,-32768, 647,-32768,-32768, -1006,
1315 -419, 852,-32768,-32768,-32768,-32768,-32768, 477,-32768,-32768,
1316 -32768,-32768,-32768, 655, -361,-32768,-32768,-32768,-32768,-32768,
1317 -32768,-32768, 1315,-32768, 400, 575,-32768,-32768,-32768,-32768,
1318 540, -689,-32768,-32768,-32768,-32768,-32768,-32768, 805,-32768,
1319 386, 941, 677, 996, 3993, 7, 21, -435, 1381, 1355,
1320 -441,-32768, 15,-32768, 2359, -141, 217, -32, 4257, 1240,
1321 -32768, 4672, 1981, 1829, -10, -107,-32768, 1444, -89,-32768,
1322 4393, 2879, -266,-32768, 1663,-32768,-32768, 315,-32768,-32768,
1323 445, 63, -394,-32768,-32768,-32768,-32768, -1325,-32768, -1171,
1324 -1312,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1325 -32768,-32768,-32768,-32768,-32768, 87,-32768,-32768,-32768,-32768,
1326 -32768, 116, -1247,-32768,-32768, -52,-32768,-32768,-32768,-32768,
1327 -1343, 58,-32768, 55,-32768, -675, -383, 624,-32768,-32768,
1328 -32768,-32768, -368,-32768, -365, -100,-32768, 1489, 311,-32768,
1333 #define YYLAST 10453
1336 static const short yytable
[] = { 57,
1337 407, 179, 35, 399, 402, 680, 592, 923, 236, 935,
1338 70, 709, 120, 40, 233, 654, 371, 335, 655, 336,
1339 36, 601, 652, 452, 478, 676, 727, 787, 101, 278,
1340 57, 921, 370, 35, 1047, 57, 138, 142, 35, 500,
1341 503, 70, 53, 631, 40, 974, 70, 976, 1120, 40,
1342 192, 36, 207, 451, 1003, 55, 36, 915, 471, 1346,
1343 457, 460, 459, 1450, 391, 227, 379, 570, 380, 381,
1344 236, 533, 173, 53, 1398, 44, 1010, 276, 53, 56,
1345 1361, 328, 1015, 328, 570, 328, 55, 1364, 277, 570,
1346 673, 55, 1451, 1446, 377, 240, 943, 748, 1458, 382,
1347 328, 328, 114, 115, 116, 417, 44, 490, 157, 968,
1348 56, 44, 165, 87, 1507, 56, 236, 1473, 343, 714,
1349 526, 468, 527, 1126, 1121, 481, 191, 604, 785, 389,
1350 328, 1476, 328, 88, 288, 1485, 750, -1, -546, 969,
1351 70, -546, 229, 944, 1277, 1278, 945, 674, 158, 858,
1352 26, 398, 401, 26, 57, 117, 118, 275, 1298, 490,
1353 605, 606, -327, 1499, 666, 70, 418, 8, 483, 749,
1354 173, -327, 387, 1127, 1515, 418, 861, 697, 485, 772,
1355 1530, 1486, 435, 437, 86, 388, 924, 207, -546, 1073,
1356 -546, -546, 786, -546, 15, 207, 84, 53, -386, 419,
1357 856, 1518, -2, 173, -546, 386, -546, 856, 419, 56,
1358 55, 342, 890, 432, 1004, 979, 660, 661, 1212, 128,
1359 129, 1448, -546, -546, 1268, 149, 1476, -386, 92, 933,
1360 44, -386, 136, 580, 56, 1326, 1398, -546, 529, 1454,
1361 -125, 105, 240, 484, 1326, 85, 150, 1519, 980, 152,
1362 1080, 1190, 981, 1083, 526, 1540, 527, 99, 670, 433,
1363 575, 891, 576, 1005, 455, 113, 607, 1213, 567, 1352,
1364 943, 1357, 227, 1269, 634, 87, -386, 1372, 936, 771,
1365 900, 1483, 91, -122, 1327, 982, 1378, 1379, 479, 1380,
1366 601, 1108, 1109, 1423, 1193, 88, 1149, 399, 402, 280,
1367 372, 373, 10, 328, 1541, 1094, 216, 106, 1154, 424,
1368 -276, 457, 460, 712, 901, 638, 276, 944, 648, 457,
1369 945, 377, -790, 894, 227, 654, 425, 277, 954, 1516,
1370 902, 460, 328, 610, 480, 657, 156, 21, 400, 403,
1371 353, 1174, -124, 1176, 70, 639, 354, 107, 240, -336,
1372 460, 15, 27, 298, 135, 426, -276, -276, 150, 150,
1373 150, 152, 152, 152, 948, 367, 478, 648, 592, 597,
1374 149, -269, 154, 361, 362, 363, 609, 161, 133, 651,
1375 504, 505, -336, 192, 32, 473, -336, 396, -590, 388,
1376 653, 150, 89, 642, 152, 513, 275, 1311, 514, 8,
1377 9, 515, 1097, 135, 525, 741, 155, 207, 530, 608,
1378 1048, 949, 90, 56, 950, 598, 569, 1155, 364, -336,
1379 125, 126, -278, 1461, 1462, 768, 365, 366, 690, 86,
1380 1075, 474, 877, 162, -590, -590, 925, 717, 718, 653,
1381 8, 9, 1532, 342, 1344, 701, 702, 205, 206, -590,
1382 207, 128, 129, 1209, 1210, -43, 135, 89, 707, 650,
1383 -43, 136, 463, 465, 57, 829, 713, 735, -278, -278,
1384 26, -43, 128, 129, 476, 70, 1003, 90, 198, 199,
1385 926, 137, 830, -272, 14, 856, 833, 26, 1533, 927,
1386 928, 328, 128, 129, 328, -550, 834, 328, 166, 829,
1387 522, 328, 777, 777, 777, 777, 20, 742, 650, 170,
1388 835, 831, 567, 171, 328, 23, 830, 580, 648, -337,
1389 743, 15, 18, 856, 328, 648, 929, 328, 727, 715,
1390 -550, 222, 654, 204, 864, 655, -101, 761, 15, 652,
1391 1119, -550, 172, 512, 56, 831, 1189, 445, 446, 93,
1392 94, 95, -337, 208, 209, 210, -337, 879, 1373, 777,
1393 276, 601, 856, 771, 897, 453, 454, 580, 759, -101,
1394 86, 277, 457, -101, 38, 89, -550, 447, 844, 651,
1395 865, 866, 211, 762, 224, 617, 690, 850, 852, -337,
1396 653, 554, 555, 1023, 627, 90, 908, 653, 913, 914,
1397 26, 846, 96, 97, 212, 38, -101, 617, 490, 240,
1398 38, 513, 514, 771, 760, 848, 1182, 1184, 964, 1198,
1399 966, 371, 125, 126, 845, 970, 533, 481, 648, 120,
1400 328, 279, 400, 403, 339, 195, 136, 203, 914, 341,
1401 275, 958, 351, 356, 192, 1324, 1325, 847, 227, 213,
1402 214, 215, 150, 150, 150, 152, 152, 152, 983, 650,
1403 934, 849, 1113, 88, 357, 414, 650, 604, 204, -269,
1404 933, 741, 26, 741, 128, 129, 204, 204, 355, 741,
1405 741, 358, 1011, 1012, 90, 1013, 648, 959, 491, 651,
1406 989, 522, 648, 359, 522, 445, 1417, 360, 492, 89,
1407 653, 135, 727, 204, 984, 682, 1184, -123, 1114, 716,
1408 400, 782, 688, 125, 126, 1264, 1266, 1115, 856, 90,
1409 1270, 1117, 1093, 383, 522, 93, 108, 109, 772, 404,
1410 57, 1400, 57, 735, 172, 735, 87, 405, 192, 57,
1411 -585, 70, 735, 70, 1156, 415, 856, 651, 328, 328,
1412 70, 328, 204, 651, 1494, 283, 88, 342, 653, -7,
1413 -99, 1308, 15, 1116, 653, 128, 129, 1118, 413, 650,
1414 453, 1418, 203, 742, 794, 975, 769, 1401, 110, 111,
1415 458, 203, 742, 872, 1194, 1195, 743, 1197, 743, 484,
1416 93, 108, 109, -99, 416, 743, 428, -99, 429, 648,
1417 1495, 971, 1342, 648, 204, 1488, 977, 978, 89, 486,
1418 56, 487, 56, 988, 998, 1006, 842, 1478, 488, 56,
1419 445, 1422, 777, 489, 1508, 497, 1050, 650, 90, 507,
1420 -99, 506, 508, 650, -278, 648, 1169, 1170, 1171, 509,
1421 822, 648, 236, 110, 111, 112, 15, 972, 510, -278,
1422 -386, 1367, 529, -278, 777, 93, 108, 109, 475, 570,
1423 651, 615, 619, 1511, 690, 204, 1144, 1145, 1146, -278,
1424 618, 653, 621, 850, 852, 653, 622, 876, -386, -386,
1425 648, -278, -278, 899, -278, 623, -278, 635, 240, 1393,
1426 1020, 1021, 1022, 21, 636, 916, 651, 637, 777, 328,
1427 664, 685, 651, -6, 125, 126, 648, 653, 110, 111,
1428 642, 1098, 1099, 653, 87, -278, -278, 89, 648, 125,
1429 126, 794, 1329, 989, 667, 1330, 236, 204, 204, 772,
1430 -278, 703, 233, 1056, 88, 204, 708, 90, 1404, 15,
1431 650, 690, 753, 741, 650, 754, 755, 204, 342, 756,
1432 1415, 648, 653, 648, 777, 763, 128, 129, 399, 402,
1433 328, 513, 514, 872, 8, 9, 204, 651, 195, 203,
1434 764, 128, 129, 87, 781, 783, 650, 784, 653, 651,
1435 232, 1374, 650, 198, 199, 674, 399, 402, 1201, 14,
1436 653, 786, 841, 88, 843, 857, 859, 8, 9, 861,
1437 882, 883, 57, 892, 893, 735, 895, 896, 342, 20,
1438 -272, 20, 651, 70, 651, 903, 128, 129, 904, 917,
1439 23, 650, 922, 653, 415, 653, 1314, 418, 940, 1404,
1440 941, 458, 203, 942, 236, 415, 648, 125, 126, 458,
1441 232, 342, 599, 8, 9, 742, 988, 650, 1404, 128,
1442 129, 15, 415, 947, 328, -386, 1158, 965, 743, 650,
1443 400, 782, 1160, 1161, 648, -789, 1158, 1163, 654, 956,
1444 1161, 1469, 960, 484, 961, 1491, 967, 288, 600, 1024,
1445 21, 1029, 56, -386, -386, 1007, 204, 26, -386, 128,
1446 129, 1025, 650, 26, 650, 128, 129, 651, 485, 149,
1447 1026, 934, 741, 1043, 1044, 1404, 1215, 1216, 653, 1534,
1448 1049, 1027, 1028, 676, 93, 94, 95, 1030, 1251, 772,
1449 150, 1245, 1031, 152, 1061, 690, 1062, 204, 1063, 70,
1450 125, 126, 1032, 627, 1215, 1216, 653, 1033, 1132, 1246,
1451 318, -121, 318, 899, 318, 1034, 1036, 7, 8, 230,
1452 10, 1199, 1037, 1039, 1040, 1042, 361, 362, 363, 150,
1453 1041, 57, 152, 1045, 735, 26, 204, 96, 97, 98,
1454 1055, 1091, 70, 580, 1250, 1057, 1058, 650, 1059, 1060,
1455 26, 1066, 128, 129, 1086, 21, 125, 126, 204, 318,
1456 203, 318, 231, 1067, 1068, 1076, 581, 1351, 56, 1351,
1457 27, 28, 1074, 1077, 742, 650, 582, 26, 1110, 365,
1458 366, 1079, 1135, 1089, 1112, 963, 583, 743, 1092, 584,
1459 585, 1141, 513, 514, 232, 1159, 1164, 1168, 1172, 195,
1460 1177, 203, 32, 1178, 1179, 1180, 26, 1185, 128, 129,
1461 1251, 56, 1187, 1245, 1188, 192, 1191, 1251, 1200, 1008,
1462 1245, 70, 491, 204, 1251, 1192, 1196, 1245, 70, 125,
1463 126, 1457, 492, 777, 481, 70, 1202, 1203, 1246, 1204,
1464 203, 1207, 490, 1208, 1211, 1246, 1214, 399, 402, 1219,
1465 1183, 1120, 1263, 93, 108, 109, 1272, 624, 625, 626,
1466 425, 1273, 458, 400, 403, 415, 1250, 1276, 1280, 345,
1467 349, -627, 1312, 1250, 125, 1295, 1302, 1303, 1309, 26,
1468 1250, 128, 129, 150, 150, 150, 152, 152, 152, 1313,
1469 56, 400, 1262, 195, 1318, 833, 1319, 56, 556, 415,
1470 1320, 1321, 1328, 1337, 56, 834, 110, 111, 1338, 525,
1471 1347, 150, 150, 150, 152, 152, 152, 1339, 342, 835,
1472 1349, 1362, 1365, 511, 1394, 1407, 128, 129, 1389, 1376,
1473 1377, 1390, 1391, 1225, 1392, 1396, 1408, 557, 558, 1183,
1474 1412, 648, 559, 560, 561, 562, 1414, 1416, 125, 126,
1475 484, 1437, 198, 199, 114, 717, 718, 1445, 14, 1455,
1476 1472, 318, 1463, 1221, 1465, 1222, 1441, 1223, 1480, 1471,
1477 1481, 1251, 1251, 1441, 1245, 1245, 1251, 277, 1502, 1245,
1478 20, 720, 70, 70, 277, 1489, 328, 70, 1506, 23,
1479 1490, 580, 1246, 455, 1513, 701, 702, 1246, 26, 1514,
1480 128, 129, 651, 1517, 1520, 26, 1522, 117, 118, 1251,
1481 1523, 1531, 1245, 653, 581, 681, 1527, 1535, 1251, 1536,
1482 70, 1245, 681, 1538, 582, 1543, 1544, 1250, 1250, 70,
1483 1246, 1546, 1250, 1547, 583, 1, 5, 591, 585, 1246,
1484 669, 114, 717, 718, 1441, 719, 275, 1151, 1152, 679,
1485 683, 56, 56, 275, 1343, 277, 56, 683, 93, 108,
1486 109, 1317, 208, 209, 210, 1250, 1251, 633, 720, 1245,
1487 1095, 411, 520, 1487, 1250, 721, 1165, 70, 93, 94,
1488 95, 412, 650, 513, 514, 999, 681, 1246, 1220, 56,
1489 338, 211, 26, 1403, 117, 118, 392, 1542, 56, 939,
1490 436, 438, 442, 1354, 1251, 467, 1088, 1245, 496, 1087,
1491 1492, 110, 111, 1274, 1147, 70, 1166, 1001, 1132, 1297,
1492 318, 683, 1250, 342, 275, 1246, 885, 415, 415, 1085,
1493 828, 96, 97, 448, 577, 369, 1360, 1399, 1260, 150,
1494 1521, 1484, 152, 1509, 1528, 1526, 56, 1134, 1366, 0,
1495 681, 0, 0, 318, 0, 679, 415, 0, 798, 799,
1496 1250, 803, 804, 805, 806, 807, 808, 809, 810, 811,
1497 812, 813, 814, 815, 816, 817, 818, 819, 820, 821,
1498 681, 0, 400, 1262, 56, 683, 0, 681, 7, 8,
1499 9, 10, 0, 0, 684, 125, 126, 0, 0, 0,
1500 13, 0, 150, 150, 150, 152, 152, 152, 0, 0,
1501 0, 197, 198, 199, 0, 683, 0, 0, 14, 0,
1502 0, 0, 683, 114, 115, 116, 21, 1283, 1284, 0,
1503 1293, 1294, 580, 1296, 0, 18, 0, 0, 580, 26,
1504 20, 27, 28, 887, 889, 26, 0, 128, 129, 23,
1505 7, 8, 9, 10, 0, 905, 13, 0, 0, 318,
1506 0, 581, 0, 520, 658, 906, 520, 0, 0, 0,
1507 774, 582, 0, 32, 0, 583, 117, 118, 907, 585,
1508 0, 583, 0, 520, 584, 585, 0, 0, 21, 93,
1509 108, 109, 0, 0, 580, 0, 520, 204, 0, 0,
1510 801, 26, 679, 27, 28, 0, 0, 415, 415, 0,
1511 415, 415, 0, 415, 93, 94, 95, 905, 280, 372,
1512 373, 10, 114, 717, 718, 0, 823, 906, 0, 0,
1513 0, 0, 840, 0, 0, 32, 0, 583, 0, 0,
1514 907, 585, 110, 111, 0, 985, 986, 9, 10, 0,
1515 0, 1370, 1371, 0, 0, 0, 21, 0, 973, 699,
1516 681, 700, 0, 436, 438, 442, 0, 96, 97, 26,
1517 0, 27, 298, 0, 711, 117, 118, 318, 318, 0,
1518 318, 0, 0, 21, 0, 0, 197, 198, 199, 0,
1519 0, 0, 0, 14, 0, 683, 26, 0, 27, 28,
1520 195, 203, 1150, 32, 987, 551, 552, 553, 554, 555,
1521 18, 0, 176, 681, 681, 20, 0, 1035, 0, 0,
1522 681, 0, 177, 0, 23, 125, 126, 0, 0, 0,
1523 32, 415, 415, 0, 681, 178, 681, 0, 681, 880,
1524 0, 0, 0, 0, 0, 1429, 1430, 1431, 683, 683,
1525 0, 0, 0, 0, 679, 683, 0, 7, 8, 9,
1526 10, 385, 12, 13, 0, 127, 687, 0, 14, 683,
1527 0, 683, 0, 683, 0, 26, 238, 128, 129, 0,
1528 0, 681, 16, 0, 17, 18, 0, 204, 0, 0,
1529 20, 0, 0, 0, 0, 21, 0, 1459, 1460, 23,
1530 238, 580, 0, 0, 0, 0, 1084, 0, 26, 0,
1531 27, 28, 7, 8, 9, 10, 683, 0, 681, 0,
1532 0, 0, 0, 0, 1100, 415, 415, 415, 318, 238,
1533 0, 0, 0, 0, 1101, 681, 0, 0, 238, 0,
1534 0, 1107, 32, 0, 583, 0, 0, 1102, 585, 0,
1535 21, 0, 0, 683, 78, 0, 0, 0, 0, 589,
1536 593, 596, 1510, 26, 102, 27, 28, 0, 0, 175,
1537 683, 0, 0, 0, 131, 0, 0, 415, 415, 176,
1538 140, 140, 0, 140, 238, 78, 0, 0, 0, 177,
1539 78, 7, 125, 126, 10, 0, 0, 32, 0, 1053,
1540 0, 0, 178, 186, 0, 78, 0, 0, 0, 0,
1541 0, 1157, 0, 219, 0, 0, 0, 238, 0, 0,
1542 102, 0, 0, 0, 0, 699, 700, 0, 711, 21,
1543 0, 242, 102, 520, 0, 0, 231, 0, 0, 0,
1544 238, 0, 415, 0, 27, 28, 0, 7, 8, 9,
1545 10, 188, 12, 189, 102, 0, 0, 0, 14, 0,
1546 679, 679, 0, 0, 1186, 0, 994, 0, 232, 0,
1547 0, 0, 16, 0, 17, 18, 32, 131, 0, 0,
1548 20, 0, 131, 318, 78, 21, 0, 0, 140, 23,
1549 0, 394, 140, 0, 0, 140, 140, 140, 26, 0,
1550 27, 28, 0, 681, 190, 681, 0, 681, 0, 78,
1551 0, 0, 0, 0, 30, 547, 548, 549, 550, 551,
1552 552, 553, 554, 555, 31, 0, 186, 186, 186, 1142,
1553 0, 238, 32, 7, 8, 9, 10, 33, 683, 226,
1554 683, 0, 683, 0, 0, 197, 198, 199, 0, 0,
1555 679, 0, 14, 0, 0, 186, 0, 0, 0, 679,
1556 679, 0, 0, 0, 679, 0, 0, 0, 962, 18,
1557 466, 21, 0, 0, 20, 0, 0, 580, 102, 1281,
1558 1282, 0, 0, 23, 26, 0, 27, 28, 0, 140,
1559 0, 0, 238, 0, 0, 0, 7, 125, 126, 10,
1560 905, 681, 13, 0, 0, 679, 0, 0, 0, 1009,
1561 906, 0, 0, 851, 853, 1014, 0, 0, 32, 0,
1562 583, 0, 0, 907, 585, 0, 0, 102, 493, 436,
1563 438, 442, 0, 0, 21, 0, 683, 0, 456, 198,
1564 199, 0, 0, 0, 0, 14, 0, 26, 0, 27,
1565 28, 0, 0, 0, 0, 280, 372, 373, 10, 0,
1566 1336, 0, 18, 30, 238, 0, 0, 20, 0, 0,
1567 442, 102, 0, 31, 0, 578, 23, 493, 493, 594,
1568 910, 32, 589, 593, 0, 596, 33, 0, 78, 0,
1569 0, 238, 0, 21, 520, 679, 0, 0, 0, 994,
1570 231, 0, 0, 0, 131, 0, 0, 0, 27, 298,
1571 0, 1375, 0, 0, 0, 0, 0, 0, 1069, 0,
1572 1070, 0, 593, 0, 0, 0, 0, 0, 131, 0,
1573 0, 0, 74, 679, 102, 0, 0, 186, 102, 0,
1574 32, 1304, 1305, 1306, 1307, 681, 0, 0, 140, 0,
1575 0, 140, 0, 1310, 0, 0, 140, 0, 139, 143,
1576 0, 0, 0, 74, 0, 0, 0, 0, 74, 549,
1577 550, 551, 552, 553, 554, 555, 238, 0, 0, 0,
1578 683, 0, 0, 196, 0, 186, 0, 186, 0, 186,
1579 186, 186, 238, 0, 0, 186, 0, 1427, 1428, 0,
1580 186, 0, 0, 186, 1341, 0, 1433, 0, 0, 593,
1581 0, 280, 8, 9, 10, 0, 0, 0, 0, 78,
1582 0, 0, 699, 700, 436, 438, 442, 0, 0, 0,
1583 711, 0, 0, 1452, 0, 7, 8, 9, 10, 197,
1584 198, 199, 0, 0, 0, 0, 14, 0, 0, 21,
1585 0, 0, 436, 438, 442, 0, 231, 102, 102, 102,
1586 102, 0, 390, 18, 27, 298, 393, 0, 20, 0,
1587 395, 0, 0, 21, 1173, 0, 1175, 23, 0, 580,
1588 0, 0, 1064, 1291, 1065, 0, 26, 74, 27, 28,
1589 0, 0, 0, 0, 0, 1071, 32, 0, 0, 851,
1590 853, 0, 905, 0, 139, 143, 1413, 0, 0, 0,
1591 0, 0, 906, 0, 102, 102, 0, 493, 0, 0,
1592 32, 0, 583, 8, 9, 907, 585, 12, 13, 578,
1593 1206, 493, 493, 14, 594, 0, 0, 851, 853, 699,
1594 700, 873, 711, 0, 0, 875, 0, 16, 0, 17,
1595 0, 0, 0, 679, 0, 20, 0, 0, 0, 186,
1596 0, 0, 0, 0, 23, 1439, 0, 482, 0, 0,
1597 0, 801, 1439, 26, 0, 128, 129, 563, 0, 0,
1598 7, 125, 126, 10, 0, 520, 226, 0, 0, 0,
1599 0, 0, 0, 0, 0, 0, 0, 0, 186, 912,
1600 186, 186, 219, 594, 0, 0, 1275, 0, 0, 0,
1601 0, 1279, 564, 0, 0, 0, 0, 0, 21, 0,
1602 0, 0, 571, 0, 280, 372, 373, 10, 0, 572,
1603 0, 26, 0, 27, 28, 0, 0, 0, 0, 0,
1604 186, 0, 0, 1439, 912, 0, 0, 30, 0, 0,
1605 0, 186, 186, 0, 186, 0, 0, 31, 0, 1512,
1606 0, 0, 21, 1315, 0, 32, 611, 0, 0, 573,
1607 33, 238, 0, 238, 0, 26, 0, 27, 298, 0,
1608 442, 1525, 131, 0, 0, 78, 0, 78, 801, 0,
1609 0, 0, 996, 78, 78, 0, 8, 9, 0, 385,
1610 12, 13, 102, 0, 687, 0, 14, 0, 102, 574,
1611 238, 0, 0, 0, 0, 493, 493, 493, 0, 0,
1612 16, 0, 17, 18, 0, 0, 662, 493, 20, 663,
1613 1064, 1065, 851, 853, 665, 0, 0, 23, 1071, 580,
1614 0, 0, 0, 436, 438, 442, 26, 0, 128, 129,
1615 0, 0, 0, 0, 0, 0, 0, 0, 1385, 1386,
1616 851, 853, 581, 393, 0, 395, 0, 0, 0, 0,
1617 0, 0, 582, 0, 1395, 0, 0, 102, 482, 8,
1618 9, 0, 583, 12, 13, 584, 585, 0, 0, 14,
1619 0, 0, 0, 0, 238, 0, 0, 747, 0, 0,
1620 493, 0, 493, 16, 0, 17, 0, 0, 0, 102,
1621 0, 20, 0, 493, 0, 102, 0, 873, 873, 873,
1622 23, 0, 0, 0, 1078, 0, 1425, 1426, 0, 26,
1623 0, 128, 129, 0, 8, 9, 0, 0, 12, 226,
1624 0, 0, 0, 0, 14, 1435, 1436, 1064, 1065, 0,
1625 1071, 102, 81, 102, 0, 186, 186, 1104, 16, 0,
1626 17, 0, 104, 0, 348, 350, 20, 0, 827, 0,
1627 0, 124, 132, 0, 0, 23, 238, 580, 141, 141,
1628 0, 141, 0, 81, 26, 0, 128, 129, 81, 7,
1629 8, 9, 10, 0, 0, 13, 1104, 0, 0, 0,
1630 581, 141, 238, 81, 0, 0, 0, 0, 0, 102,
1631 582, 220, 0, 0, 0, 0, 0, 0, 228, 0,
1632 583, 0, 102, 584, 585, 996, 0, 21, 0, 0,
1633 228, 0, 0, 580, 102, 0, 0, 0, 0, 0,
1634 26, 0, 27, 28, 0, 0, 0, 1162, 0, 0,
1635 0, 0, 0, 0, 0, 0, 1100, 78, 0, 0,
1636 238, 7, 8, 9, 10, 0, 1101, 102, 0, 102,
1637 0, 0, 0, 0, 32, 378, 583, 911, 0, 1102,
1638 585, 0, 81, 0, 0, 0, 141, 8, 9, 0,
1639 141, 12, 226, 141, 141, 141, 0, 14, 0, 21,
1640 0, 493, 493, 0, 493, 0, 231, 81, 0, 0,
1641 0, 16, 0, 17, 27, 28, 0, 0, 0, 20,
1642 0, 0, 952, 0, 141, 141, 141, 0, 23, 662,
1643 663, 0, 665, 0, 0, 0, 0, 26, 232, 128,
1644 129, 0, 0, 0, 0, 0, 32, 0, 186, 186,
1645 186, 186, 1104, 141, 0, 0, 186, 0, 0, 0,
1646 0, 0, 0, 747, 0, 747, 0, 524, 0, 0,
1647 995, 1002, 747, 0, 0, 0, 0, 0, 1104, 1104,
1648 1104, 0, 0, 0, 0, 0, 0, 141, 0, 0,
1649 0, 0, 6, 0, 7, 8, 9, 10, 11, 12,
1650 13, 0, 0, 0, 0, 14, 0, 0, 0, 186,
1651 0, 0, 0, 0, 140, 0, 78, 0, 15, 16,
1652 0, 17, 18, 19, 0, 228, 141, 20, 0, 0,
1653 0, 0, 21, 0, 0, 22, 23, 24, 0, 25,
1654 0, 0, 0, 647, 0, 26, 0, 27, 28, 0,
1655 0, 29, 7, 8, 9, 10, 197, 198, 199, 0,
1656 0, 30, 0, 14, 0, 186, 186, 0, 186, 228,
1657 0, 31, 0, 579, 0, 141, 141, 595, 0, 32,
1658 18, 0, 603, 0, 33, 20, 81, 0, 0, 34,
1659 21, 0, 689, 0, 23, 0, 580, 0, 0, 186,
1660 912, 186, 378, 26, 0, 27, 28, 0, 0, 7,
1661 8, 9, 10, 0, 0, 481, 0, 0, 102, 905,
1662 0, 0, 0, 0, 0, 0, 0, 0, 0, 906,
1663 0, 0, 228, 139, 143, 141, 228, 32, 0, 583,
1664 0, 0, 946, 585, 0, 0, 141, 21, 0, 141,
1665 0, 0, 0, 580, 141, 0, 0, 0, 770, 0,
1666 26, 773, 27, 28, 0, 775, 776, 778, 779, 780,
1667 0, 0, 0, 586, 586, 586, 905, 0, 524, 0,
1668 0, 0, 0, 141, 0, 141, 906, 141, 141, 141,
1669 0, 797, 0, 141, 32, 0, 583, 0, 141, 907,
1670 585, 141, 0, 995, 0, 0, 1104, 0, 0, 280,
1671 8, 9, 10, 0, 0, 0, 729, 81, 0, 0,
1672 0, 0, 0, 826, 0, 0, 0, 0, 0, 280,
1673 125, 126, 10, 0, 0, 747, 0, 0, 0, 0,
1674 0, 0, 0, 854, 0, 0, 0, 21, 0, 0,
1675 854, 0, 0, 0, 231, 228, 228, 228, 228, 0,
1676 0, 0, 27, 298, 0, 0, 0, 21, 0, 1104,
1677 1104, 1104, 0, 0, 231, 0, 0, 0, 0, 0,
1678 0, 0, 27, 298, 0, 0, 232, 102, 0, 0,
1679 0, 0, 186, 160, 32, 7, 8, 9, 10, 11,
1680 12, 13, 0, 0, 0, 0, 14, 0, 0, 0,
1681 0, 0, 228, 228, 32, 141, 0, 0, 0, 15,
1682 16, 0, 17, 18, 19, 0, 393, 395, 20, 141,
1683 141, 0, 595, 21, 482, 0, 22, 23, 24, 874,
1684 25, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1685 0, 603, 29, 647, 0, 0, 0, 141, 0, 0,
1686 0, 0, 30, 0, 0, 0, 0, 0, 280, 8,
1687 9, 10, 31, 0, 0, 0, 0, 0, 0, 0,
1688 32, 125, 126, 0, 0, 33, 226, 1292, 124, 0,
1689 34, 0, 1292, 0, 747, 0, 141, 595, 141, 141,
1690 220, 595, 0, 0, 0, 0, 21, 0, 0, 0,
1691 0, 689, 0, 231, 0, 0, 0, 689, 0, 729,
1692 0, 27, 298, 0, 580, 0, 0, 586, 586, 0,
1693 586, 26, 0, 128, 129, 0, 0, 871, 141, 0,
1694 0, 0, 595, 662, 663, 484, 665, 581, 0, 141,
1695 141, 0, 141, 32, 0, 0, 0, 582, 0, 0,
1696 0, 0, 0, 0, 0, 0, 0, 583, 0, 0,
1697 584, 585, 0, 0, 0, 0, 0, 0, 1355, 0,
1698 132, 0, 0, 81, 0, 81, 1046, 0, 0, 0,
1699 997, 81, 81, 0, 586, 0, 586, 586, 0, 586,
1700 228, 0, 0, 0, 0, 0, 228, 0, 0, 0,
1701 0, 0, 0, 141, 141, 141, 0, 0, 797, 0,
1702 0, 0, 0, 0, 689, 141, 0, 0, 854, 0,
1703 0, 0, 0, 0, 0, 0, 586, 0, 0, 0,
1704 0, 0, 0, -358, 8, 9, -358, -358, 12, 226,
1705 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
1706 647, 0, 1096, 0, 0, 0, 854, 0, 16, 0,
1707 17, -358, 0, 0, 0, 228, 20, 0, 0, 0,
1708 0, -358, 0, 0, 0, 23, 0, 580, 0, 0,
1709 0, 0, 0, 0, 26, 0, 128, 129, 141, 0,
1710 141, 0, 0, 0, 0, 854, 0, 228, 0, 0,
1711 581, 141, 0, 228, 0, 874, 874, 874, 1137, 0,
1712 582, 0, 603, 586, 1143, 0, 0, 0, -358, 0,
1713 583, 689, 0, 584, 585, 0, 49, 0, 0, 7,
1714 125, 126, 10, 689, 0, 13, 0, 0, 0, 228,
1715 0, 228, 0, 141, 141, 595, 0, 0, 0, 0,
1716 0, 0, 49, 49, 0, 148, 0, 49, 0, 0,
1717 0, 0, 49, 0, 0, 0, 689, 21, 689, 0,
1718 0, 0, 0, 0, 0, 49, 0, 49, 0, 0,
1719 26, 0, 27, 28, 874, 0, 586, 0, 586, 0,
1720 0, 0, 0, 0, 0, 0, 145, 228, 0, 586,
1721 234, 0, 0, 871, 871, 871, 146, 0, 729, 0,
1722 228, 0, 0, 997, 32, 0, 0, 0, 0, 147,
1723 125, 126, 228, 0, 198, 199, 0, 0, 0, 0,
1724 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725 0, 586, 586, 586, 0, 81, 0, 0, 0, 375,
1726 0, 854, 20, 375, 375, 228, 49, 228, 0, 0,
1727 49, 23, 234, 580, 49, 0, 0, 148, 148, 148,
1728 26, 0, 128, 129, 0, 0, 0, 0, 0, 854,
1729 0, 49, 871, 0, 0, 0, 581, 0, 0, 141,
1730 141, 0, 141, 0, 0, 0, 582, 0, 49, 49,
1731 148, 0, 0, 0, 0, 0, 583, 0, 234, 584,
1732 585, 7, 8, 9, 10, 0, 6, 13, 7, 8,
1733 9, 10, 11, 12, 13, 0, 0, 49, 0, 14,
1734 0, 0, 0, 0, 0, 0, 141, 141, 141, 141,
1735 595, 0, 0, 16, 141, 17, 18, 0, 0, 21,
1736 729, 20, 0, 0, 0, 0, 21, 0, 0, 0,
1737 23, 49, 26, 410, 27, 28, 874, 874, 874, 26,
1738 0, 27, 28, 0, 0, 29, 0, 0, 176, 0,
1739 0, 0, 729, 0, 0, 30, 0, 0, 177, 0,
1740 0, 0, 0, 0, 0, 31, 32, 141, 0, 0,
1741 0, 178, 141, 32, 81, 0, 0, 0, 33, 0,
1742 0, 0, 0, 0, 0, 0, 0, 1137, 125, 126,
1743 0, 0, 0, 481, 0, 0, 0, 0, 0, 0,
1744 521, 0, 239, 0, 586, 586, 586, 586, 586, 0,
1745 0, 0, 586, 0, 0, 0, 0, 375, 0, 0,
1746 0, 0, 0, 141, 141, 234, 141, 0, 0, 0,
1747 49, 580, 0, 0, 871, 871, 871, 0, 26, 0,
1748 128, 129, 0, 0, 0, 0, 375, 0, 0, 7,
1749 125, 126, 10, 0, 581, 481, 0, 141, 595, 141,
1750 0, 0, 0, 0, 582, 0, 0, 0, 0, 0,
1751 375, 0, 0, 0, 583, 406, 228, 584, 585, 49,
1752 0, 0, 0, 0, 0, 0, 0, 21, 0, 0,
1753 49, 0, 0, 49, 0, 0, 434, 0, 49, 0,
1754 26, 0, 27, 28, 0, 0, 0, 0, 0, 450,
1755 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
1756 0, 586, 586, 0, 586, 0, 31, 49, 0, 49,
1757 0, 148, 148, 148, 32, 0, 0, 49, 0, 33,
1758 524, 0, 49, 0, 0, 49, 7, 8, 9, 10,
1759 385, 12, 13, 0, 0, 951, 647, 14, 0, 0,
1760 0, 49, 0, 0, 874, 0, 0, 0, 0, 0,
1761 0, 16, 0, 17, 18, 0, 0, 0, 0, 20,
1762 0, 0, 0, 0, 21, 0, 0, 0, 23, 0,
1763 76, 521, 0, 0, 521, 0, 0, 26, 0, 27,
1764 28, 0, 0, 0, 0, 0, 0, 0, 0, 521,
1765 521, 521, 0, 30, 0, 0, 76, 76, 0, 76,
1766 0, 76, 0, 31, 521, 0, 76, 874, 874, 874,
1767 0, 32, 0, 0, 0, 0, 33, 0, 0, 76,
1768 0, 76, 0, 0, 0, 228, 0, 0, 0, 0,
1769 141, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 730, 0, 7, 8, 731, 10, 385, 12, 13, 0,
1771 234, 0, 0, 14, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 521, 0, 0, 0, 16, 0, 17,
1773 18, 19, 0, 0, 0, 20, -493, 0, 0, 0,
1774 21, 49, 0, 0, 23, 732, 0, 641, 0, 0,
1775 0, 0, 0, 26, 0, 27, 28, 0, 0, 733,
1776 76, 734, 0, 0, 76, 0, 0, 0, 76, 30,
1777 0, 76, 76, 76, 0, 0, 0, 0, 0, 31,
1778 49, 49, 49, 49, 0, 76, 0, 32, 0, 0,
1779 0, 0, 33, 0, 0, 153, 0, 0, 0, 0,
1780 0, 0, 76, 76, 76, 704, 0, 0, -493, 0,
1781 710, 0, 0, 0, 0, 187, 0, 0, 0, 0,
1782 8, 9, 49, 385, 12, 13, 49, 1409, 0, 0,
1783 14, 76, 0, 49, 49, 751, 49, 0, 0, 0,
1784 0, 757, 0, 0, 16, 0, 17, 18, 0, 0,
1785 0, 0, 20, 765, 766, 0, 767, 0, 0, 0,
1786 0, 640, 0, 0, 641, 76, 0, 49, 0, 49,
1787 26, 0, 128, 129, 49, 49, 49, 1410, 534, 535,
1788 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
1789 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
1790 0, 0, 0, 521, 0, 0, 0, 153, 153, 153,
1791 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
1792 548, 549, 550, 551, 552, 553, 554, 555, 730, 0,
1793 7, 8, 731, 10, 385, 12, 13, 0, 187, 187,
1794 443, 14, 0, 0, 0, 0, 0, 0, 0, 862,
1795 863, 0, 0, 0, 862, 16, 0, 17, 18, 19,
1796 602, 0, 0, 20, 76, 0, 0, 187, 21, 0,
1797 0, 0, 23, 732, 0, 641, 0, 0, 0, 0,
1798 0, 26, 0, 27, 28, 0, 0, 733, 0, 734,
1799 0, 0, 7, 8, 9, 10, 0, 30, 226, 521,
1800 521, 521, 0, 0, 0, 234, 0, 31, 0, 0,
1801 0, 0, 0, 76, 0, 32, 0, 0, 0, 0,
1802 33, 0, 0, 0, 76, 0, 0, 76, 0, 0,
1803 21, 0, 76, 0, 0, 0, 0, 49, 49, 148,
1804 494, 0, 0, 26, 234, 27, 28, 544, 545, 546,
1805 547, 548, 549, 550, 551, 552, 553, 554, 555, 176,
1806 0, 76, 0, 76, 0, 76, 76, 76, 0, 177,
1807 0, 76, 0, 0, 0, 0, 76, 32, 1131, 76,
1808 0, 0, 178, 0, 0, 0, 0, 0, 0, 588,
1809 588, 588, 0, 0, 185, 76, 0, 0, 0, 985,
1810 8, 731, 10, 188, 12, 189, 0, 49, 0, 0,
1811 14, 0, 0, 0, 0, 0, 0, 0, 0, 237,
1812 0, 1016, 241, 1018, 16, 0, 17, 18, 234, 0,
1813 8, 9, 20, 385, 12, 13, 0, 21, 687, 49,
1814 14, 23, 0, 237, 0, 344, 0, 0, 0, 187,
1815 26, 0, 27, 28, 16, 0, 17, 18, 987, 0,
1816 0, 0, 20, 0, 0, 0, 30, 0, 0, 0,
1817 0, 23, 0, 0, 0, 0, 31, 0, 0, 0,
1818 26, 0, 128, 129, 32, 0, 0, 0, 0, 33,
1819 0, 0, 0, 0, 0, 1051, 1052, 187, 1054, 187,
1820 0, 443, 443, 443, 0, 602, 0, 187, 0, 0,
1821 234, 0, 187, 0, 0, 187, 0, 185, 185, 185,
1822 0, 0, 0, 0, 0, 0, 1072, 449, 0, 0,
1823 49, 49, 148, 148, 148, 76, 234, 0, 49, 0,
1824 0, 7, 8, 9, 10, 0, 185, 13, 0, 0,
1825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1826 1131, 1131, 1131, 0, 0, 0, 0, 0, 0, 241,
1827 0, 1106, 0, 0, 76, 76, 76, 76, 0, 21,
1828 0, 0, 0, 237, 0, 0, 0, 7, 8, 9,
1829 10, 49, 26, 481, 27, 28, 49, 0, 49, 0,
1830 0, 0, 0, 0, 0, 0, 0, 0, 439, 0,
1831 0, 0, 0, 0, 0, 0, 76, 0, 440, 0,
1832 76, 0, 0, 0, 0, 21, 32, 76, 76, 836,
1833 76, 441, 0, 1148, 0, 0, 0, 0, 26, 0,
1834 27, 28, 0, 588, 588, 1153, 588, 49, 49, 0,
1835 49, 0, 0, 588, 176, 0, 0, 0, 0, 0,
1836 0, 76, 0, 76, 177, 0, 0, 0, 76, 76,
1837 76, 187, 32, 0, 237, 241, 0, 178, 0, 0,
1838 0, 49, 49, 49, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 7, 8, 9, 10, 188, 12,
1840 189, 0, 0, 0, 0, 14, 0, 0, 0, 0,
1841 909, 0, 909, 909, 0, 588, 0, 0, 0, 16,
1842 0, 17, 18, 0, 0, 0, 0, 20, 185, 1205,
1843 0, 0, 21, 0, 0, 0, 23, 0, 0, 0,
1844 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
1845 0, 1353, 909, 0, 0, 0, 0, 0, 0, 0,
1846 0, 30, 0, 187, 187, 0, 187, 1218, 0, 0,
1847 0, 31, 0, 18, 0, 0, 185, 0, 185, 32,
1848 185, 185, 185, 0, 33, 0, 185, 0, 1131, 0,
1849 0, 185, 0, 0, 185, 0, 0, 0, 0, 0,
1850 602, 0, 0, 0, 187, 534, 535, 536, 537, 538,
1851 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
1852 549, 550, 551, 552, 553, 554, 555, 494, 494, 494,
1853 1300, 76, 76, 76, 1301, 0, 0, 0, 0, 588,
1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1855 0, 1131, 1131, 1131, 0, 7, 8, 9, 10, 197,
1856 198, 199, 0, 0, 0, 0, 14, 0, 0, 1316,
1857 100, 0, 1133, 0, 49, 0, 0, 0, 0, 119,
1858 100, 0, 0, 18, 0, 0, 100, 100, 20, 100,
1859 0, 0, 0, 21, 0, 0, 0, 23, 0, 580,
1860 0, 76, 0, 0, 0, 0, 26, 0, 27, 28,
1861 0, 0, 588, 0, 588, 0, 0, 0, 0, 218,
1862 0, 0, 176, 0, 0, 588, 0, 0, 0, 588,
1863 588, 588, 177, 76, 0, 237, 241, 0, 1368, 0,
1864 32, 0, 1369, 0, 0, 1356, 0, 0, 0, 0,
1865 185, 543, 544, 545, 546, 547, 548, 549, 550, 551,
1866 552, 553, 554, 555, 1387, 1388, 0, 909, 909, 1105,
1867 0, 0, 0, 0, 0, 0, 0, 0, 368, 0,
1868 119, 0, 0, 100, 0, 0, 0, 100, 100, 185,
1869 0, 185, 185, 0, 100, 0, 100, 100, 100, 0,
1870 0, 100, 100, 100, 0, 0, 0, 0, 1105, 0,
1871 0, 7, 8, 9, 10, 385, 12, 13, 0, 0,
1872 0, 0, 14, 0, 76, 76, 76, 76, 76, 0,
1873 0, 185, 76, 0, 0, 0, 16, 187, 17, 18,
1874 0, 0, 185, 185, 20, 185, 0, 0, 0, 21,
1875 0, 0, 0, 23, 1133, 1133, 1133, 0, 0, 0,
1876 0, 0, 26, 0, 27, 28, 985, 986, 9, 10,
1877 241, 0, 0, 0, 0, 464, 100, 0, 30, 0,
1878 0, 0, 0, 185, 0, 76, 0, 0, 31, 0,
1879 76, 0, 76, 0, 0, 100, 32, 0, 0, 0,
1880 0, 33, 0, 0, 21, 8, 9, 0, 188, 12,
1881 189, 0, 0, 836, 836, 14, 836, 26, 0, 27,
1882 28, 0, 0, 0, 0, 987, 0, 0, 0, 16,
1883 0, 17, 18, 176, 100, 0, 0, 20, 0, 0,
1884 0, 76, 76, 177, 76, 0, 23, 0, 0, 0,
1885 0, 32, 0, 0, 0, 26, 178, 128, 129, 0,
1886 909, 909, 1105, 1105, 1105, 0, 0, 0, 909, 0,
1887 0, 0, 0, 0, 0, 76, 76, 76, 0, 0,
1888 0, 100, 0, 100, 100, 0, 0, 0, 0, 0,
1889 1105, 1105, 1105, 0, 0, 0, 0, 0, 7, 8,
1890 9, 10, 188, 12, 189, 0, 0, 0, 0, 14,
1891 100, 0, 0, 0, 237, 241, 237, 1285, 1286, 9,
1892 10, 187, 0, 16, 0, 17, 18, 0, 0, 0,
1893 0, 20, 0, 0, 100, 0, 21, 0, 0, 0,
1894 23, 0, 0, 0, 0, 0, 185, 185, 1103, 26,
1895 100, 27, 28, 237, 100, 21, 0, 100, 0, 0,
1896 0, 0, 100, 0, 0, 30, 0, 0, 26, 0,
1897 27, 28, 0, 0, 0, 31, 1287, 909, 909, 0,
1898 909, 0, 1133, 32, 176, 0, 0, 1103, 33, 0,
1899 0, 0, 0, 0, 177, 0, 0, 0, 0, 0,
1900 0, 0, 32, 0, 0, 0, 0, 178, 0, 0,
1901 0, 187, 0, 187, 0, 0, 185, 0, 0, 0,
1902 0, 0, 100, 516, 722, 280, 8, 9, 10, 385,
1903 12, 281, 282, 283, 687, 284, 14, 449, 0, 0,
1904 0, 0, 0, 0, 0, 1133, 1133, 1133, 0, 100,
1905 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
1906 288, 289, 290, 21, 291, 292, 0, 23, 76, 580,
1907 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
1908 -286, 0, 0, 299, 0, 0, 0, 0, 0, 300,
1909 0, 0, 867, 0, 0, 1285, 125, 126, 10, 0,
1910 302, 303, 868, 0, 0, 0, 0, 0, 305, 306,
1911 307, 0, 583, 0, 0, 869, 585, 0, 443, 237,
1912 0, 0, 0, 100, 0, 0, 0, 0, 0, 0,
1913 0, 0, 309, 21, 100, 100, 0, 100, 100, 185,
1914 185, 185, 185, 1103, 0, 1217, 26, 185, 27, 28,
1915 0, 0, 0, 0, 1287, 0, 7, 8, 9, 10,
1916 0, 0, 30, 7, 125, 126, 10, 0, 0, 1103,
1917 1103, 1103, 31, 0, 0, 0, 0, 0, 0, 0,
1918 32, 443, 443, 443, 0, 33, 0, 0, 0, 0,
1919 0, 0, 0, 0, 21, 0, 119, 0, 0, 0,
1920 185, 21, 0, 0, 187, 0, 0, 26, 218, 27,
1921 28, 0, 0, 1350, 26, 0, 27, 28, 0, 0,
1922 0, 0, 0, 176, 0, 0, 0, 722, 0, 0,
1923 145, 0, 0, 177, 0, 0, 0, 0, 0, 0,
1924 146, 32, 0, 0, 0, 0, 178, 0, 32, 0,
1925 0, 0, 0, 147, 0, 0, 185, 185, 0, 185,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927 0, 0, 0, 1381, 0, -450, -450, -450, -450, -450,
1928 -450, -450, 0, 0, -450, 722, -450, 0, 100, 0,
1929 185, 0, 185, 0, 0, 0, 0, -450, 0, -450,
1930 0, 0, 0, -450, 0, 0, 0, 0, -450, 0,
1931 0, 0, 0, -450, 0, 0, 0, -450, 0, -450,
1932 0, 100, 100, 100, 0, 0, -450, 0, -450, -450,
1933 -450, -450, -450, 100, -450, -450, -450, -450, -450, -450,
1934 -450, -450, -450, -450, -450, -450, -450, -450, -450, -450,
1935 -450, -450, -450, -450, -450, -450, -450, 0, -450, -450,
1936 -450, 0, -450, -450, -450, -450, -450, -450, 0, -450,
1937 0, 0, 8, 9, 1382, 0, 12, 13, 0, -450,
1938 -450, -450, 14, -450, 0, 8, 9, 0, 385, 12,
1939 13, 0, 0, 1468, 0, 14, 16, 1103, 17, 0,
1940 0, 0, 0, 0, 20, 0, 100, 0, 100, 16,
1941 0, 17, 18, 23, 0, 0, 0, 20, 0, 100,
1942 0, 0, 26, 0, 128, 129, 23, 0, 0, 0,
1943 0, 0, 0, 0, 0, 26, 0, 128, 129, 539,
1944 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
1945 550, 551, 552, 553, 554, 555, 0, 0, 0, 0,
1946 1103, 1103, 1103, 0, 0, 0, 0, 0, 0, 0,
1947 0, 0, 1358, 0, 1228, 1229, 1230, 10, 385, 12,
1948 281, 282, 283, 185, 284, 14, 1231, 0, 1232, 1233,
1949 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15, 16,
1950 285, 17, 18, 19, 0, 286, 287, 20, 0, 288,
1951 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
1952 293, 294, 295, 296, 297, 26, 722, 1242, 298, 674,
1953 0, 1243, 299, 0, 7, 8, 9, 10, 300, 0,
1954 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
1955 303, 304, 0, 100, 0, 0, 0, 305, 306, 307,
1956 0, 0, 0, 0, 308, 0, 1244, 0, 0, 0,
1957 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
1958 1359, 309, 0, 0, 0, 26, 0, 27, 28, 0,
1959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960 0, 439, 0, 0, 0, 0, 0, 100, 100, 0,
1961 100, 440, 0, 0, 0, 0, 0, 0, 0, 32,
1962 0, 0, 0, 0, 441, 1227, 0, 1228, 1229, 1230,
1963 10, 385, 12, 281, 282, 283, 0, 284, 14, 1231,
1964 0, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
1965 1241, 15, 16, 285, 17, 18, 19, 0, 286, 287,
1966 20, 0, 288, 289, 290, 21, 291, 292, 722, 23,
1967 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
1968 1242, 298, 674, 0, 1243, 299, 0, 0, 0, 0,
1969 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
1970 722, 0, 302, 303, 304, 0, 0, 0, 0, 0,
1971 305, 306, 307, 0, 0, 0, 0, 308, 100, 1244,
1972 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 0, 0, 0, 516, 309, 7, 8, 9, 10, 385,
1974 12, 281, 282, 283, 687, 284, 14, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
1977 288, 289, 290, 21, 291, 292, 0, 23, 0, 580,
1978 0, 293, 294, 295, 296, 297, 26, 0, 27, 28,
1979 -286, 0, 0, 299, 0, 0, 0, 0, 0, 300,
1980 0, 0, 1128, 0, 0, 0, 0, 0, 0, 0,
1981 302, 303, 1129, 0, 0, 0, 0, 0, 305, 306,
1982 307, 0, 583, 0, 0, 1130, 585, 686, 0, 280,
1983 8, 9, 10, 385, 12, 281, 282, 283, 687, 284,
1984 14, 0, 309, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 16, 285, 17, 18, 19, 0,
1986 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
1987 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
1988 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
1989 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
1990 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
1991 0, 0, 305, 306, 307, 0, 0, 0, 800, 308,
1992 280, 8, 9, 10, 385, 12, 281, 282, 283, 0,
1993 284, 14, 0, 0, -760, 0, 309, 0, 0, 0,
1994 0, 0, 0, 0, 0, 16, 285, 17, 18, 19,
1995 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
1996 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
1997 297, 26, 0, 27, 298, 1447, 0, -750, 299, 0,
1998 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
1999 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2000 0, 0, 0, 305, 306, 307, 0, 0, 0, 677,
2001 308, 788, 789, 790, 10, 0, 12, 498, 282, 283,
2002 0, 284, 14, 0, 0, 0, 0, 309, 0, 0,
2003 0, 0, 0, 0, 0, 0, 16, 285, 17, 0,
2004 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2005 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2006 296, 297, 26, 0, 791, 792, 678, 0, 0, 299,
2007 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2008 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2009 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
2010 0, 308, 793, 677, 0, 788, 789, 790, 10, 0,
2011 12, 498, 282, 283, 0, 284, 14, 938, 309, 0,
2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2013 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2014 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2015 0, 293, 294, 295, 296, 297, 26, 0, 791, 792,
2016 678, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2017 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2018 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2019 307, 0, 0, 0, 0, 308, 793, 677, 0, 788,
2020 789, 790, 10, 0, 12, 498, 282, 283, 0, 284,
2021 14, 0, 309, 0, 0, 0, 0, 0, 0, 0,
2022 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2023 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2024 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2025 26, 0, 791, 792, 678, 0, 0, 299, 0, 0,
2026 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2027 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2028 0, 0, 305, 306, 307, 0, 0, 0, 677, 308,
2029 788, 789, 790, 10, 0, 12, 498, 282, 283, 0,
2030 284, 14, 0, 0, 0, -454, 309, 0, 0, 0,
2031 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2032 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2033 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2034 297, 26, 0, 791, 792, 678, 0, 0, 299, 0,
2035 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2036 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2037 0, 0, 0, 305, 306, 307, 0, 0, 0, 677,
2038 308, 280, 8, 9, 10, 0, 12, 498, 282, 283,
2039 0, 284, 14, 0, 0, 0, 1261, 309, 0, 0,
2040 0, 0, 0, 0, 0, 0, 16, 285, 17, 0,
2041 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2042 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2043 296, 297, 26, 0, 27, 298, 678, 0, 0, 299,
2044 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2045 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2046 0, 0, 0, 0, 305, 306, 307, 0, 0, 0,
2047 0, 308, 0, 516, 0, 280, 8, 9, 10, 1265,
2048 12, 281, 282, 283, 0, 284, 14, 0, 309, 0,
2049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2050 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2051 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2052 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2053 -286, 0, 0, 299, 0, 0, 0, 0, 0, 300,
2054 0, 0, 517, 0, 0, 0, 0, 0, 0, 0,
2055 302, 303, 518, 0, 0, 0, 0, 0, 305, 306,
2056 307, 0, 0, 0, 677, 519, 280, 8, 9, 10,
2057 0, 12, 498, 282, 283, 0, 284, 14, 0, 0,
2058 0, 0, 309, 0, 0, 0, 0, 0, 0, 0,
2059 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2060 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2061 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2062 298, 678, 0, 0, 299, 0, 0, 0, 0, 0,
2063 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2064 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2065 306, 307, 0, 0, 0, 800, 308, 280, 8, 9,
2066 10, 0, 12, 498, 282, 283, 0, 284, 14, 0,
2067 0, 0, 0, 309, 0, 0, 0, 0, 0, 0,
2068 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2069 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2070 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2071 27, 298, 0, 0, 0, 299, -750, 0, 0, 0,
2072 0, 300, 0, 0, 301, 0, 0, 0, 0, 0,
2073 0, 0, 302, 303, 304, 0, 0, 0, 0, 0,
2074 305, 306, 307, 0, 0, 0, 516, 308, 7, 8,
2075 9, 10, 0, 12, 281, 282, 283, 0, 284, 14,
2076 0, 0, 0, 0, 309, 0, 0, 0, 0, 0,
2077 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2078 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2079 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2080 0, 27, 28, -286, 0, 0, 299, 0, 0, 0,
2081 0, 0, 300, 0, 0, 1419, 0, 0, 0, 0,
2082 0, 0, 0, 302, 303, 1420, 0, 0, 0, 0,
2083 0, 305, 306, 307, 0, 0, 0, 1497, 1421, 280,
2084 8, 9, 10, 0, 12, 281, 282, 283, 0, 284,
2085 14, 0, 0, 0, 0, 309, 0, 0, 0, 0,
2086 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2087 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2088 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2089 26, 0, 27, 298, 0, 0, -173, 299, 0, 0,
2090 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2091 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2092 0, 0, 305, 306, 307, 0, 0, 0, 800, 308,
2093 280, 8, 9, 10, 0, 12, 498, 282, 283, 0,
2094 284, 14, 0, 0, 0, 0, 309, 0, 0, 0,
2095 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2096 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2097 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2098 297, 26, 0, 27, 298, 0, 0, 0, 299, 0,
2099 0, 0, 0, 0, 300, 243, 0, 301, 8, 9,
2100 0, 0, 12, 13, 0, 302, 303, 304, 14, 0,
2101 0, 0, 0, 305, 306, 307, 0, 0, 0, 0,
2102 308, 0, 16, 0, 17, 0, 0, 0, 0, 0,
2103 20, 0, 244, 245, 0, -750, 0, 309, 0, 23,
2104 0, 246, 0, 0, 0, 0, 0, 0, 26, 0,
2105 128, 129, 0, 247, 0, 0, 0, 248, 249, 250,
2106 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2107 261, 262, 263, 264, 265, 266, 267, 268, 0, 0,
2108 269, 270, 271, 0, 0, 272, 0, 886, 273, 280,
2109 8, 9, 10, 0, 12, 498, 282, 283, 0, 284,
2110 14, 0, 0, 0, 274, 0, 0, 0, 0, 0,
2111 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2112 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2113 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2114 26, 0, 27, 298, 0, 0, 0, 299, 0, 0,
2115 0, 0, 0, 300, 0, 0, 301, 0, 0, 0,
2116 0, 0, 0, 0, 302, 303, 304, 0, 0, 0,
2117 0, 0, 305, 306, 307, 0, 0, 0, 888, 308,
2118 280, 8, 9, 10, 0, 12, 498, 282, 283, 0,
2119 284, 14, 0, 0, 0, 0, 309, 0, 0, 0,
2120 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2121 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2122 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2123 297, 26, 0, 27, 298, 0, 0, 0, 299, 0,
2124 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2125 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2126 0, 0, 0, 305, 306, 307, 0, 0, 0, 1432,
2127 308, 280, 8, 9, 10, 0, 12, 498, 282, 283,
2128 0, 284, 14, 0, 0, 0, 0, 309, 0, 0,
2129 0, 0, 0, 0, 0, 0, 16, 285, 17, 0,
2130 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2131 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2132 296, 297, 26, 0, 27, 298, 0, 0, 0, 299,
2133 0, 0, 0, 0, 0, 300, 0, 0, 301, 0,
2134 0, 0, 0, 0, 0, 0, 302, 303, 304, 0,
2135 0, 0, 0, 0, 305, 306, 307, 280, 8, 9,
2136 10, 308, 12, 498, 282, 283, 0, 284, 14, 0,
2137 0, 0, 0, 0, 0, 0, 0, 0, 309, 0,
2138 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2139 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2140 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2141 27, 298, 0, 0, 0, 299, 0, 0, 0, 0,
2142 0, 300, 0, 730, 301, 7, 8, 731, 10, 385,
2143 12, 13, 302, 303, 304, 0, 14, 0, 0, 0,
2144 305, 306, 307, 0, 0, 0, 0, 308, 0, 0,
2145 16, 0, 17, 18, 19, 0, 0, 0, 20, -494,
2146 0, 0, 0, 21, 309, 839, 0, 23, 732, 0,
2147 641, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2148 0, 0, 733, 0, 734, 0, 0, 0, 0, 0,
2149 0, 0, 30, 730, 0, 7, 8, 731, 10, 385,
2150 12, 13, 31, 0, 0, 0, 14, 0, 0, 0,
2151 32, 0, 0, 0, 0, 33, 0, 0, 0, 0,
2152 16, 0, 17, 18, 19, 0, 0, 0, 20, -496,
2153 0, -494, 0, 21, 0, 0, 0, 23, 732, 0,
2154 641, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2155 0, 0, 733, 0, 734, 0, 0, 0, 7, 8,
2156 9, 10, 30, 730, 0, 7, 8, 731, 10, 385,
2157 12, 13, 31, 0, 0, 0, 14, 0, 0, 0,
2158 32, 0, 0, 0, 0, 33, 0, 0, 0, 0,
2159 16, 0, 17, 18, 19, 0, 21, 0, 20, -495,
2160 0, -496, 0, 21, 0, 0, 0, 23, 732, 26,
2161 641, 27, 28, 0, 0, 0, 26, 0, 27, 28,
2162 0, 0, 733, 0, 734, 176, 0, 0, 0, 0,
2163 0, 0, 30, 0, 0, 177, 0, 0, 0, 0,
2164 0, 0, 31, 32, 0, 0, 0, 0, 178, 0,
2165 32, 0, 0, 0, 0, 33, 0, 0, 1228, 1229,
2166 1230, 10, 385, 12, 281, 282, 283, 0, 284, 14,
2167 1231, -495, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239,
2168 1240, 1241, 15, 16, 285, 17, 18, 19, 0, 286,
2169 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2170 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2171 0, 1242, 298, 674, 0, 1243, 299, 0, 0, 0,
2172 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2173 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2174 0, 305, 306, 307, 0, 0, 0, 0, 308, 0,
2175 1244, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2176 0, 0, 0, 0, 1363, 309, 1228, 1229, 1230, 10,
2177 385, 12, 281, 282, 283, 0, 284, 14, 1231, 0,
2178 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241,
2179 15, 16, 285, 17, 18, 19, 0, 286, 287, 20,
2180 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2181 0, 0, 293, 294, 295, 296, 297, 26, 0, 1242,
2182 298, 674, 0, 1243, 299, 0, 0, 0, 0, 0,
2183 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2184 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2185 306, 307, 0, 0, 0, 0, 308, 0, 1244, 0,
2186 1228, 1229, 1230, 10, 385, 12, 281, 282, 283, 0,
2187 284, 14, 1231, 309, 1232, 1233, 1234, 1235, 1236, 1237,
2188 1238, 1239, 1240, 1241, 15, 16, 285, 17, 18, 19,
2189 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2190 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2191 297, 26, 0, 1242, 298, 1474, 0, 1243, 299, 0,
2192 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2193 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2194 0, 0, 0, 305, 306, 307, 0, 0, 0, 0,
2195 308, 0, 1244, 0, 1228, 1229, 1230, 10, 385, 12,
2196 281, 282, 283, 0, 284, 14, 1231, 309, 1232, 1233,
2197 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 15, 16,
2198 285, 17, 18, 19, 0, 286, 287, 20, 0, 288,
2199 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2200 293, 294, 295, 296, 297, 26, 0, 1242, 298, 0,
2201 0, 1243, 299, 0, 0, 0, 0, 0, 300, 0,
2202 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
2203 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
2204 0, 0, 0, 0, 308, 0, 1244, 280, 8, 9,
2205 10, 385, 12, 281, 282, 283, 687, 284, 14, 0,
2206 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2207 0, 0, 16, 285, 17, 18, 19, 0, 286, 287,
2208 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2209 0, 580, 0, 293, 294, 295, 296, 297, 26, 0,
2210 27, 298, 0, 0, 0, 299, 0, 0, 0, 0,
2211 0, 300, 0, 0, 867, 0, 0, 0, 0, 0,
2212 0, 0, 302, 303, 868, 0, 0, 0, 0, 0,
2213 305, 306, 307, 0, 583, 0, 0, 869, 585, 7,
2214 8, 9, 10, 385, 12, 281, 282, 283, 687, 284,
2215 14, 0, 0, 0, 309, 0, 0, 0, 0, 0,
2216 0, 0, 0, 0, 16, 285, 17, 18, 19, 0,
2217 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2218 0, 23, 0, 580, 0, 293, 294, 295, 296, 297,
2219 26, 0, 27, 28, 0, 0, 0, 299, 0, 0,
2220 0, 0, 0, 300, 0, 0, 1128, 0, 0, 0,
2221 0, 0, 0, 0, 302, 303, 1129, 0, 0, 0,
2222 0, 0, 305, 306, 307, 0, 583, 0, 0, 1130,
2223 585, 280, 8, 9, 10, 0, 12, 281, 282, 283,
2224 0, 284, 14, 0, 0, 0, 309, 0, 0, 0,
2225 0, 0, 0, 0, 0, 0, 16, 285, 17, 0,
2226 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2227 291, 292, 0, 23, 0, 580, 0, 293, 294, 295,
2228 296, 297, 26, 0, 27, 298, 0, 0, 0, 0,
2229 0, 0, 0, 0, 0, 300, 0, 0, 867, 0,
2230 0, 0, 0, 0, 0, 0, 302, 303, 868, 0,
2231 0, 0, 0, 0, 305, 306, 307, 0, 583, 0,
2232 0, 869, 585, 7, 8, 9, 10, 0, 12, 281,
2233 282, 283, 0, 284, 14, 0, 0, 0, 309, 0,
2234 0, 0, 0, 0, 0, 0, 0, 0, 16, 285,
2235 17, 0, 19, 0, 286, 287, 20, 0, 288, 289,
2236 290, 21, 291, 292, 0, 23, 0, 580, 0, 293,
2237 294, 295, 296, 297, 26, 0, 27, 28, 0, 0,
2238 0, 0, 0, 0, 0, 0, 0, 300, 0, 0,
2239 1128, 0, 0, 0, 0, 0, 0, 0, 302, 303,
2240 1129, 0, 0, 0, 0, 0, 305, 306, 307, 0,
2241 583, 0, 0, 1130, 585, 280, 8, 9, 10, 0,
2242 12, 498, 282, 283, 0, 284, 14, 0, 0, 0,
2243 309, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2244 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2245 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2246 0, 293, 294, 295, 296, 297, 26, 0, 27, 298,
2247 0, 0, 1340, 299, 0, 0, 0, 0, 0, 300,
2248 0, 0, 301, 0, 0, 0, 0, 0, 0, 0,
2249 302, 303, 304, 0, 0, 0, 0, 0, 305, 306,
2250 307, 0, 0, 0, 0, 308, 280, 8, 9, 10,
2251 385, 12, 281, 282, 283, 0, 284, 14, 0, 0,
2252 0, 0, 309, 0, 0, 0, 0, 0, 0, 0,
2253 0, 16, 285, 17, 18, 19, 0, 286, 287, 20,
2254 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2255 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2256 298, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2257 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2258 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2259 306, 307, 280, 8, 9, 10, 308, 12, 281, 282,
2260 283, 0, 284, 14, 0, 0, 0, 0, 0, 0,
2261 0, 0, 0, 309, 0, 0, 0, 16, 285, 17,
2262 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2263 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2264 295, 296, 297, 26, 0, 27, 298, 0, 0, 0,
2265 299, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2266 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2267 0, 0, 0, 0, 0, 305, 306, 307, 280, 8,
2268 9, 10, 308, 12, 498, 282, 283, 0, 284, 14,
2269 0, 0, 0, 0, 0, 0, 0, 0, 0, 309,
2270 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2271 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2272 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2273 0, 27, 298, 0, 0, 0, 299, 0, 0, 0,
2274 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2275 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2276 0, 305, 306, 307, 280, 8, 9, 10, 308, 12,
2277 498, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2278 0, 0, 0, 0, 0, 309, 0, 0, 0, 16,
2279 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2280 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2281 293, 294, 295, 296, 297, 26, 0, 27, 298, 531,
2282 0, 0, 0, 0, 0, 0, 0, 0, 300, 0,
2283 0, 301, 0, 0, 0, 0, 0, 0, 0, 302,
2284 303, 304, 0, 0, 0, 0, 0, 305, 306, 307,
2285 280, 8, 9, 10, 532, 12, 498, 282, 283, 0,
2286 284, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2287 0, 309, 0, 0, 0, 16, 285, 17, 0, 19,
2288 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2289 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2290 297, 26, 0, 27, 298, 0, 0, 0, 0, 0,
2291 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2292 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2293 0, 0, 0, 305, 306, 307, 0, 0, 0, 0,
2294 308, 568, 280, 8, 9, 10, 0, 12, 498, 282,
2295 283, 0, 284, 14, 0, 0, 0, 309, 0, 0,
2296 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
2297 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2298 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2299 295, 296, 297, 26, 0, 27, 298, 0, 0, 0,
2300 299, 0, 0, 0, 0, 0, 300, 0, 0, 517,
2301 0, 0, 0, 0, 0, 0, 0, 302, 303, 518,
2302 0, 0, 0, 0, 0, 305, 306, 307, 1090, 8,
2303 9, 10, 519, 12, 498, 282, 283, 0, 284, 14,
2304 0, 0, 0, 0, 0, 0, 0, 0, 0, 309,
2305 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2306 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2307 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2308 0, 27, 298, 0, 0, 0, 299, 0, 0, 0,
2309 0, 0, 300, 0, 0, 301, 0, 0, 0, 0,
2310 0, 0, 0, 302, 303, 304, 0, 0, 0, 0,
2311 0, 305, 306, 307, 7, 8, 9, 10, 308, 12,
2312 498, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2313 0, 0, 0, 0, 0, 309, 0, 0, 0, 16,
2314 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2315 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2316 293, 294, 295, 296, 297, 26, 0, 27, 28, 0,
2317 0, 0, 299, 0, 0, 0, 0, 0, 300, 0,
2318 0, 1419, 0, 0, 0, 0, 0, 0, 0, 302,
2319 303, 1420, 0, 0, 0, 0, 0, 305, 306, 307,
2320 280, 8, 9, 10, 1421, 12, 498, 282, 283, 0,
2321 284, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2322 0, 309, 0, 0, 0, 16, 285, 17, 0, 19,
2323 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2324 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2325 297, 26, 0, 27, 298, 0, 0, 0, 0, 0,
2326 0, 0, 0, 0, 300, 0, 0, 301, 0, 0,
2327 0, 0, 0, 0, 0, 302, 303, 304, 0, 0,
2328 0, 0, 0, 305, 306, 307, 280, 8, 9, 10,
2329 499, 12, 498, 282, 283, 0, 284, 14, 0, 0,
2330 0, 0, 0, 0, 0, 0, 0, 309, 0, 0,
2331 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2332 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2333 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2334 298, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2335 300, 0, 0, 301, 0, 0, 0, 0, 0, 0,
2336 0, 302, 303, 304, 0, 0, 0, 0, 0, 305,
2337 306, 307, 280, 8, 9, 10, 502, 12, 498, 282,
2338 283, 0, 284, 14, 0, 0, 0, 0, 0, 0,
2339 0, 0, 0, 309, 0, 0, 0, 16, 285, 17,
2340 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2341 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2342 295, 296, 297, 26, 0, 27, 298, 0, 0, 0,
2343 0, 0, 0, 0, 0, 0, 300, 0, 0, 301,
2344 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
2345 0, 0, 0, 0, 0, 305, 306, 307, 280, 8,
2346 9, 10, 308, 12, 498, 282, 283, 0, 284, 14,
2347 0, 0, 0, 0, 0, 0, 0, 0, 0, 309,
2348 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2349 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2350 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2351 0, 27, 298, 0, 0, 0, 0, 0, 0, 0,
2352 0, 0, 300, 0, 0, 517, 0, 0, 0, 0,
2353 0, 0, 0, 302, 303, 518, 0, 0, 0, 0,
2354 0, 305, 306, 307, 7, 8, 9, 10, 519, 12,
2355 281, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2356 0, 0, 0, 0, 0, 309, 0, 0, 0, 16,
2357 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2358 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2359 293, 294, 295, 296, 297, 26, 0, 27, 28, 0,
2360 0, 0, 0, 0, 0, 0, 0, 0, 300, 0,
2361 0, 1419, 0, 0, 0, 0, 0, 0, 0, 302,
2362 303, 1420, 0, 0, 0, 0, 0, 305, 306, 307,
2363 0, 0, 0, 0, 1421, 540, 541, 542, 543, 544,
2364 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2365 555, 309, 534, 535, 536, 537, 538, 539, 540, 541,
2366 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2367 552, 553, 554, 555, 534, 535, 536, 537, 538, 539,
2368 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
2369 550, 551, 552, 553, 554, 555, 0, 0, 0, 0,
2370 1181, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2371 551, 552, 553, 554, 555, 620, 0, 0, 1464, 534,
2372 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
2373 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2374 555, 1482, 534, 535, 536, 537, 538, 539, 540, 541,
2375 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2376 552, 553, 554, 555, 534, 535, 536, 537, 538, 539,
2377 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
2378 550, 551, 552, 553, 554, 555, 534, 535, 536, 537,
2379 538, 539, 540, 541, 542, 543, 544, 545, 0, 547,
2380 548, 549, 550, 551, 552, 553, 554, 555, 541, 542,
2381 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2385 static const short yycheck
[] = { 4,
2386 155, 53, 4, 145, 146, 425, 328, 669, 78, 672,
2387 4, 447, 23, 4, 78, 384, 124, 88, 384, 90,
2388 4, 334, 384, 192, 231, 420, 468, 529, 14, 82,
2389 35, 659, 122, 35, 828, 40, 30, 31, 40, 284,
2390 285, 35, 4, 352, 35, 735, 40, 737, 33, 40,
2391 55, 35, 60, 192, 744, 4, 40, 652, 227, 1245,
2392 200, 201, 201, 1407, 135, 70, 131, 11, 131, 132,
2393 140, 316, 52, 35, 1322, 4, 752, 82, 40, 4,
2394 1252, 86, 758, 88, 11, 90, 35, 1259, 82, 11,
2395 1, 40, 1408, 1406, 127, 81, 12, 37, 1424, 132,
2396 105, 106, 3, 4, 5, 1, 35, 276, 58, 7,
2397 35, 40, 44, 54, 1, 40, 186, 1443, 104, 455,
2398 75, 222, 77, 59, 109, 9, 55, 334, 523, 134,
2399 135, 1444, 137, 74, 38, 62, 472, 0, 9, 37,
2400 134, 12, 74, 59, 1151, 1152, 62, 58, 98, 585,
2401 54, 145, 146, 54, 159, 56, 57, 82, 1165, 328,
2402 335, 336, 58, 1479, 108, 159, 62, 4, 5, 109,
2403 150, 58, 134, 109, 1500, 62, 47, 61, 242, 501,
2404 1524, 108, 176, 177, 74, 134, 108, 195, 59, 865,
2405 61, 62, 108, 64, 27, 203, 60, 159, 31, 95,
2406 584, 62, 0, 183, 75, 134, 77, 591, 95, 134,
2407 159, 48, 59, 47, 60, 25, 391, 392, 59, 56,
2408 57, 1407, 93, 94, 59, 33, 1539, 60, 48, 671,
2409 159, 64, 54, 47, 159, 60, 1484, 108, 59, 1411,
2410 62, 93, 228, 80, 60, 109, 33, 108, 58, 33,
2411 878, 1045, 62, 881, 75, 59, 77, 14, 413, 93,
2412 325, 108, 325, 109, 196, 22, 337, 108, 321, 1249,
2413 12, 1251, 277, 108, 364, 54, 109, 1284, 673, 93,
2414 642, 1453, 74, 62, 109, 95, 1293, 1294, 47, 1296,
2415 603, 919, 920, 109, 108, 74, 972, 439, 440, 3,
2416 4, 5, 6, 308, 108, 900, 63, 93, 984, 47,
2417 47, 451, 452, 452, 59, 378, 321, 59, 384, 459,
2418 62, 354, 64, 632, 329, 694, 64, 321, 694, 1501,
2419 75, 471, 337, 338, 93, 387, 60, 41, 146, 147,
2420 58, 1017, 62, 1019, 338, 378, 64, 93, 334, 25,
2421 490, 27, 56, 57, 74, 93, 93, 94, 145, 146,
2422 147, 145, 146, 147, 12, 122, 573, 433, 690, 47,
2423 178, 108, 35, 3, 4, 5, 338, 40, 74, 384,
2424 286, 287, 58, 388, 88, 47, 62, 144, 47, 338,
2425 384, 178, 54, 384, 178, 301, 321, 1191, 304, 4,
2426 5, 307, 904, 74, 310, 469, 93, 415, 314, 338,
2427 830, 59, 74, 338, 62, 93, 322, 62, 48, 95,
2428 4, 5, 47, 1430, 1431, 496, 56, 57, 433, 74,
2429 866, 93, 607, 107, 93, 94, 3, 4, 5, 433,
2430 4, 5, 62, 48, 62, 439, 440, 59, 60, 108,
2431 458, 56, 57, 1081, 1082, 59, 74, 54, 445, 384,
2432 64, 54, 219, 220, 469, 47, 453, 469, 93, 94,
2433 54, 75, 56, 57, 231, 469, 1166, 74, 8, 9,
2434 47, 74, 64, 108, 14, 869, 70, 54, 108, 56,
2435 57, 496, 56, 57, 499, 47, 80, 502, 25, 47,
2436 308, 506, 507, 508, 509, 510, 36, 469, 433, 60,
2437 94, 93, 565, 54, 519, 45, 64, 47, 584, 25,
2438 469, 27, 31, 907, 529, 591, 93, 532, 970, 461,
2439 47, 62, 901, 57, 47, 901, 25, 47, 27, 901,
2440 935, 93, 94, 300, 469, 93, 94, 59, 60, 3,
2441 4, 5, 58, 7, 8, 9, 62, 609, 62, 564,
2442 565, 874, 946, 93, 635, 59, 60, 47, 47, 58,
2443 74, 565, 712, 62, 4, 54, 93, 94, 47, 584,
2444 93, 94, 36, 93, 58, 342, 591, 581, 582, 95,
2445 584, 83, 84, 768, 351, 74, 648, 591, 650, 651,
2446 54, 47, 56, 57, 58, 35, 95, 364, 777, 595,
2447 40, 517, 518, 93, 93, 47, 1036, 1037, 719, 1055,
2448 721, 729, 4, 5, 93, 726, 871, 9, 694, 640,
2449 635, 74, 440, 441, 109, 55, 54, 57, 690, 58,
2450 565, 47, 93, 54, 649, 59, 60, 93, 653, 103,
2451 104, 105, 439, 440, 441, 439, 440, 441, 47, 584,
2452 671, 93, 47, 74, 54, 165, 591, 874, 192, 108,
2453 1112, 735, 54, 737, 56, 57, 200, 201, 54, 743,
2454 744, 54, 753, 754, 74, 756, 752, 93, 70, 694,
2455 742, 499, 758, 54, 502, 59, 60, 54, 80, 54,
2456 694, 74, 1144, 227, 93, 426, 1126, 62, 93, 466,
2457 518, 519, 433, 4, 5, 1135, 1136, 47, 1102, 74,
2458 1140, 47, 897, 75, 532, 3, 4, 5, 1050, 108,
2459 735, 47, 737, 735, 94, 737, 54, 108, 743, 744,
2460 108, 735, 744, 737, 62, 165, 1130, 752, 753, 754,
2461 744, 756, 276, 758, 47, 11, 74, 48, 752, 109,
2462 25, 1181, 27, 93, 758, 56, 57, 93, 93, 694,
2463 59, 60, 192, 735, 531, 737, 497, 93, 56, 57,
2464 200, 201, 744, 591, 1051, 1052, 735, 1054, 737, 80,
2465 3, 4, 5, 58, 3, 744, 60, 62, 111, 865,
2466 93, 47, 80, 869, 328, 1467, 738, 739, 54, 94,
2467 735, 94, 737, 742, 743, 747, 573, 1447, 62, 744,
2468 59, 60, 827, 111, 1487, 93, 831, 752, 74, 74,
2469 95, 93, 74, 758, 12, 901, 1011, 1012, 1013, 74,
2470 561, 907, 912, 56, 57, 58, 27, 93, 74, 27,
2471 31, 1271, 59, 31, 859, 3, 4, 5, 6, 11,
2472 865, 109, 59, 1493, 869, 389, 967, 968, 969, 47,
2473 108, 865, 108, 867, 868, 869, 108, 598, 59, 60,
2474 946, 59, 60, 640, 62, 108, 64, 74, 874, 1309,
2475 765, 766, 767, 41, 54, 652, 901, 60, 903, 904,
2476 108, 111, 907, 109, 4, 5, 972, 901, 56, 57,
2477 901, 905, 906, 907, 54, 93, 94, 54, 984, 4,
2478 5, 678, 62, 975, 109, 62, 996, 451, 452, 1251,
2479 108, 108, 996, 839, 74, 459, 111, 74, 1333, 27,
2480 865, 946, 74, 1007, 869, 74, 54, 471, 48, 74,
2481 1345, 1017, 946, 1019, 959, 111, 56, 57, 1100, 1101,
2482 965, 867, 868, 771, 4, 5, 490, 972, 388, 389,
2483 111, 56, 57, 54, 108, 108, 901, 108, 972, 984,
2484 80, 62, 907, 8, 9, 58, 1128, 1129, 1059, 14,
2485 984, 108, 54, 74, 8, 111, 93, 4, 5, 47,
2486 64, 59, 1007, 93, 109, 1007, 60, 54, 48, 36,
2487 108, 36, 1017, 1007, 1019, 64, 56, 57, 64, 64,
2488 45, 946, 60, 1017, 444, 1019, 1201, 62, 108, 1424,
2489 108, 451, 452, 108, 1104, 455, 1102, 4, 5, 459,
2490 80, 48, 3, 4, 5, 1007, 975, 972, 1443, 56,
2491 57, 27, 472, 108, 1059, 31, 988, 93, 1007, 984,
2492 868, 869, 994, 995, 1130, 64, 998, 999, 1437, 64,
2493 1002, 1437, 64, 80, 111, 1470, 59, 38, 39, 108,
2494 41, 75, 1007, 59, 60, 62, 610, 54, 64, 56,
2495 57, 108, 1017, 54, 1019, 56, 57, 1102, 1162, 907,
2496 108, 1112, 1166, 824, 825, 1500, 1100, 1101, 1102, 1529,
2497 831, 108, 108, 1508, 3, 4, 5, 75, 1123, 1441,
2498 907, 1123, 75, 907, 845, 1130, 847, 651, 849, 1123,
2499 4, 5, 75, 890, 1128, 1129, 1130, 108, 946, 1123,
2500 86, 62, 88, 900, 90, 108, 62, 3, 4, 5,
2501 6, 1057, 59, 108, 62, 111, 3, 4, 5, 946,
2502 108, 1166, 946, 108, 1166, 54, 690, 56, 57, 58,
2503 94, 892, 1166, 47, 1123, 111, 88, 1102, 74, 47,
2504 54, 108, 56, 57, 109, 41, 4, 5, 712, 135,
2505 610, 137, 48, 108, 111, 108, 70, 1249, 1123, 1251,
2506 56, 57, 111, 108, 1166, 1130, 80, 54, 929, 56,
2507 57, 108, 64, 108, 59, 715, 90, 1166, 109, 93,
2508 94, 64, 1128, 1129, 80, 59, 59, 108, 108, 649,
2509 93, 651, 88, 93, 93, 93, 54, 109, 56, 57,
2510 1245, 1166, 109, 1245, 108, 1250, 108, 1252, 8, 749,
2511 1252, 1245, 70, 777, 1259, 108, 111, 1259, 1252, 4,
2512 5, 1416, 80, 1268, 9, 1259, 108, 108, 1252, 108,
2513 690, 108, 1441, 111, 109, 1259, 108, 1419, 1420, 108,
2514 1037, 33, 108, 3, 4, 5, 108, 7, 8, 9,
2515 64, 108, 712, 1101, 1102, 715, 1245, 108, 108, 105,
2516 106, 54, 111, 1252, 4, 5, 108, 108, 62, 54,
2517 1259, 56, 57, 1100, 1101, 1102, 1100, 1101, 1102, 47,
2518 1245, 1129, 1130, 743, 108, 70, 108, 1252, 47, 749,
2519 108, 96, 62, 62, 1259, 80, 56, 57, 60, 1245,
2520 9, 1128, 1129, 1130, 1128, 1129, 1130, 60, 48, 94,
2521 60, 16, 108, 299, 111, 93, 56, 57, 108, 1291,
2522 1292, 108, 108, 1120, 108, 108, 93, 86, 87, 1126,
2523 60, 1437, 91, 92, 93, 94, 60, 93, 4, 5,
2524 80, 93, 8, 9, 3, 4, 5, 17, 14, 60,
2525 1442, 337, 107, 1114, 97, 1116, 1401, 1118, 60, 108,
2526 108, 1406, 1407, 1408, 1406, 1407, 1411, 1401, 11, 1411,
2527 36, 30, 1406, 1407, 1408, 108, 1421, 1411, 60, 45,
2528 108, 47, 1406, 1355, 60, 1419, 1420, 1411, 54, 60,
2529 56, 57, 1437, 93, 59, 54, 64, 56, 57, 1444,
2530 108, 108, 1444, 1437, 70, 426, 60, 108, 1453, 11,
2531 1444, 1453, 433, 60, 80, 11, 60, 1406, 1407, 1453,
2532 1444, 0, 1411, 0, 90, 0, 2, 93, 94, 1453,
2533 412, 3, 4, 5, 1479, 7, 1401, 977, 978, 425,
2534 426, 1406, 1407, 1408, 1241, 1479, 1411, 433, 3, 4,
2535 5, 1212, 7, 8, 9, 1444, 1501, 354, 30, 1501,
2536 901, 159, 308, 1466, 1453, 37, 1006, 1501, 3, 4,
2537 5, 159, 1437, 1419, 1420, 743, 497, 1501, 1112, 1444,
2538 92, 36, 54, 1332, 56, 57, 137, 1539, 1453, 678,
2539 176, 177, 178, 1250, 1539, 221, 890, 1539, 279, 885,
2540 1472, 56, 57, 1144, 970, 1539, 1007, 743, 1356, 1164,
2541 496, 497, 1501, 48, 1479, 1539, 616, 977, 978, 883,
2542 565, 56, 57, 183, 325, 122, 1252, 1324, 1124, 1356,
2543 1508, 1456, 1356, 1487, 1520, 1518, 1501, 954, 1268, -1,
2544 561, -1, -1, 529, -1, 531, 1006, -1, 534, 535,
2545 1539, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2546 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2547 591, -1, 1420, 1421, 1539, 561, -1, 598, 3, 4,
2548 5, 6, -1, -1, 430, 4, 5, -1, -1, -1,
2549 9, -1, 1419, 1420, 1421, 1419, 1420, 1421, -1, -1,
2550 -1, 7, 8, 9, -1, 591, -1, -1, 14, -1,
2551 -1, -1, 598, 3, 4, 5, 41, 1157, 1158, -1,
2552 1160, 1161, 47, 1163, -1, 31, -1, -1, 47, 54,
2553 36, 56, 57, 619, 620, 54, -1, 56, 57, 45,
2554 3, 4, 5, 6, -1, 70, 9, -1, -1, 635,
2555 -1, 70, -1, 499, 60, 80, 502, -1, -1, -1,
2556 506, 80, -1, 88, -1, 90, 56, 57, 93, 94,
2557 -1, 90, -1, 519, 93, 94, -1, -1, 41, 3,
2558 4, 5, -1, -1, 47, -1, 532, 1251, -1, -1,
2559 536, 54, 678, 56, 57, -1, -1, 1157, 1158, -1,
2560 1160, 1161, -1, 1163, 3, 4, 5, 70, 3, 4,
2561 5, 6, 3, 4, 5, -1, 562, 80, -1, -1,
2562 -1, -1, 568, -1, -1, 88, -1, 90, -1, -1,
2563 93, 94, 56, 57, -1, 3, 4, 5, 6, -1,
2564 -1, 1281, 1282, -1, -1, -1, 41, -1, 734, 435,
2565 771, 437, -1, 439, 440, 441, -1, 56, 57, 54,
2566 -1, 56, 57, -1, 450, 56, 57, 753, 754, -1,
2567 756, -1, -1, 41, -1, -1, 7, 8, 9, -1,
2568 -1, -1, -1, 14, -1, 771, 54, -1, 56, 57,
2569 1250, 1251, 60, 88, 62, 80, 81, 82, 83, 84,
2570 31, -1, 70, 824, 825, 36, -1, 793, -1, -1,
2571 831, -1, 80, -1, 45, 4, 5, -1, -1, -1,
2572 88, 1281, 1282, -1, 845, 93, 847, -1, 849, 60,
2573 -1, -1, -1, -1, -1, 1375, 1376, 1377, 824, 825,
2574 -1, -1, -1, -1, 830, 831, -1, 3, 4, 5,
2575 6, 7, 8, 9, -1, 44, 12, -1, 14, 845,
2576 -1, 847, -1, 849, -1, 54, 78, 56, 57, -1,
2577 -1, 892, 28, -1, 30, 31, -1, 1441, -1, -1,
2578 36, -1, -1, -1, -1, 41, -1, 1427, 1428, 45,
2579 102, 47, -1, -1, -1, -1, 882, -1, 54, -1,
2580 56, 57, 3, 4, 5, 6, 892, -1, 929, -1,
2581 -1, -1, -1, -1, 70, 1375, 1376, 1377, 904, 131,
2582 -1, -1, -1, -1, 80, 946, -1, -1, 140, -1,
2583 -1, 917, 88, -1, 90, -1, -1, 93, 94, -1,
2584 41, -1, -1, 929, 4, -1, -1, -1, -1, 327,
2585 328, 329, 1492, 54, 14, 56, 57, -1, -1, 60,
2586 946, -1, -1, -1, 24, -1, -1, 1427, 1428, 70,
2587 30, 31, -1, 33, 186, 35, -1, -1, -1, 80,
2588 40, 3, 4, 5, 6, -1, -1, 88, -1, 835,
2589 -1, -1, 93, 53, -1, 55, -1, -1, -1, -1,
2590 -1, 987, -1, 63, -1, -1, -1, 219, -1, -1,
2591 70, -1, -1, -1, -1, 701, 702, -1, 704, 41,
2592 -1, 81, 82, 869, -1, -1, 48, -1, -1, -1,
2593 242, -1, 1492, -1, 56, 57, -1, 3, 4, 5,
2594 6, 7, 8, 9, 104, -1, -1, -1, 14, -1,
2595 1036, 1037, -1, -1, 1040, -1, 742, -1, 80, -1,
2596 -1, -1, 28, -1, 30, 31, 88, 127, -1, -1,
2597 36, -1, 132, 1059, 134, 41, -1, -1, 138, 45,
2598 -1, 141, 142, -1, -1, 145, 146, 147, 54, -1,
2599 56, 57, -1, 1114, 60, 1116, -1, 1118, -1, 159,
2600 -1, -1, -1, -1, 70, 76, 77, 78, 79, 80,
2601 81, 82, 83, 84, 80, -1, 176, 177, 178, 965,
2602 -1, 333, 88, 3, 4, 5, 6, 93, 1114, 9,
2603 1116, -1, 1118, -1, -1, 7, 8, 9, -1, -1,
2604 1126, -1, 14, -1, -1, 205, -1, -1, -1, 1135,
2605 1136, -1, -1, -1, 1140, -1, -1, -1, 710, 31,
2606 220, 41, -1, -1, 36, -1, -1, 47, 228, 1155,
2607 1156, -1, -1, 45, 54, -1, 56, 57, -1, 239,
2608 -1, -1, 394, -1, -1, -1, 3, 4, 5, 6,
2609 70, 1212, 9, -1, -1, 1181, -1, -1, -1, 751,
2610 80, -1, -1, 581, 582, 757, -1, -1, 88, -1,
2611 90, -1, -1, 93, 94, -1, -1, 277, 278, 905,
2612 906, 907, -1, -1, 41, -1, 1212, -1, 7, 8,
2613 9, -1, -1, -1, -1, 14, -1, 54, -1, 56,
2614 57, -1, -1, -1, -1, 3, 4, 5, 6, -1,
2615 1236, -1, 31, 70, 466, -1, -1, 36, -1, -1,
2616 946, 321, -1, 80, -1, 325, 45, 327, 328, 329,
2617 648, 88, 650, 651, -1, 653, 93, -1, 338, -1,
2618 -1, 493, -1, 41, 1130, 1271, -1, -1, -1, 975,
2619 48, -1, -1, -1, 354, -1, -1, -1, 56, 57,
2620 -1, 1287, -1, -1, -1, -1, -1, -1, 860, -1,
2621 862, -1, 690, -1, -1, -1, -1, -1, 378, -1,
2622 -1, -1, 4, 1309, 384, -1, -1, 387, 388, -1,
2623 88, 1177, 1178, 1179, 1180, 1356, -1, -1, 398, -1,
2624 -1, 401, -1, 1189, -1, -1, 406, -1, 30, 31,
2625 -1, -1, -1, 35, -1, -1, -1, -1, 40, 78,
2626 79, 80, 81, 82, 83, 84, 578, -1, -1, -1,
2627 1356, -1, -1, 55, -1, 435, -1, 437, -1, 439,
2628 440, 441, 594, -1, -1, 445, -1, 1373, 1374, -1,
2629 450, -1, -1, 453, 1240, -1, 1382, -1, -1, 777,
2630 -1, 3, 4, 5, 6, -1, -1, -1, -1, 469,
2631 -1, -1, 1098, 1099, 1100, 1101, 1102, -1, -1, -1,
2632 1106, -1, -1, 1409, -1, 3, 4, 5, 6, 7,
2633 8, 9, -1, -1, -1, -1, 14, -1, -1, 41,
2634 -1, -1, 1128, 1129, 1130, -1, 48, 507, 508, 509,
2635 510, -1, 134, 31, 56, 57, 138, -1, 36, -1,
2636 142, -1, -1, 41, 1016, -1, 1018, 45, -1, 47,
2637 -1, -1, 850, 1159, 852, -1, 54, 159, 56, 57,
2638 -1, -1, -1, -1, -1, 863, 88, -1, -1, 867,
2639 868, -1, 70, -1, 176, 177, 1342, -1, -1, -1,
2640 -1, -1, 80, -1, 564, 565, -1, 567, -1, -1,
2641 88, -1, 90, 4, 5, 93, 94, 8, 9, 579,
2642 1072, 581, 582, 14, 584, -1, -1, 905, 906, 1215,
2643 1216, 591, 1218, -1, -1, 595, -1, 28, -1, 30,
2644 -1, -1, -1, 1529, -1, 36, -1, -1, -1, 609,
2645 -1, -1, -1, -1, 45, 1401, -1, 239, -1, -1,
2646 -1, 1407, 1408, 54, -1, 56, 57, 58, -1, -1,
2647 3, 4, 5, 6, -1, 1421, 9, -1, -1, -1,
2648 -1, -1, -1, -1, -1, -1, -1, -1, 648, 649,
2649 650, 651, 652, 653, -1, -1, 1148, -1, -1, -1,
2650 -1, 1153, 93, -1, -1, -1, -1, -1, 41, -1,
2651 -1, -1, 1, -1, 3, 4, 5, 6, -1, 8,
2652 -1, 54, -1, 56, 57, -1, -1, -1, -1, -1,
2653 690, -1, -1, 1479, 694, -1, -1, 70, -1, -1,
2654 -1, 701, 702, -1, 704, -1, -1, 80, -1, 1495,
2655 -1, -1, 41, 1205, -1, 88, 338, -1, -1, 48,
2656 93, 873, -1, 875, -1, 54, -1, 56, 57, -1,
2657 1356, 1517, 732, -1, -1, 735, -1, 737, 1524, -1,
2658 -1, -1, 742, 743, 744, -1, 4, 5, -1, 7,
2659 8, 9, 752, -1, 12, -1, 14, -1, 758, 88,
2660 912, -1, -1, -1, -1, 765, 766, 767, -1, -1,
2661 28, -1, 30, 31, -1, -1, 398, 777, 36, 401,
2662 1098, 1099, 1100, 1101, 406, -1, -1, 45, 1106, 47,
2663 -1, -1, -1, 1419, 1420, 1421, 54, -1, 56, 57,
2664 -1, -1, -1, -1, -1, -1, -1, -1, 1300, 1301,
2665 1128, 1129, 70, 435, -1, 437, -1, -1, -1, -1,
2666 -1, -1, 80, -1, 1316, -1, -1, 827, 450, 4,
2667 5, -1, 90, 8, 9, 93, 94, -1, -1, 14,
2668 -1, -1, -1, -1, 996, -1, -1, 469, -1, -1,
2669 850, -1, 852, 28, -1, 30, -1, -1, -1, 859,
2670 -1, 36, -1, 863, -1, 865, -1, 867, 868, 869,
2671 45, -1, -1, -1, 874, -1, 1368, 1369, -1, 54,
2672 -1, 56, 57, -1, 4, 5, -1, -1, 8, 9,
2673 -1, -1, -1, -1, 14, 1387, 1388, 1215, 1216, -1,
2674 1218, 901, 4, 903, -1, 905, 906, 907, 28, -1,
2675 30, -1, 14, -1, 105, 106, 36, -1, 93, -1,
2676 -1, 23, 24, -1, -1, 45, 1078, 47, 30, 31,
2677 -1, 33, -1, 35, 54, -1, 56, 57, 40, 3,
2678 4, 5, 6, -1, -1, 9, 946, -1, -1, -1,
2679 70, 53, 1104, 55, -1, -1, -1, -1, -1, 959,
2680 80, 63, -1, -1, -1, -1, -1, -1, 70, -1,
2681 90, -1, 972, 93, 94, 975, -1, 41, -1, -1,
2682 82, -1, -1, 47, 984, -1, -1, -1, -1, -1,
2683 54, -1, 56, 57, -1, -1, -1, 997, -1, -1,
2684 -1, -1, -1, -1, -1, -1, 70, 1007, -1, -1,
2685 1162, 3, 4, 5, 6, -1, 80, 1017, -1, 1019,
2686 -1, -1, -1, -1, 88, 127, 90, 649, -1, 93,
2687 94, -1, 134, -1, -1, -1, 138, 4, 5, -1,
2688 142, 8, 9, 145, 146, 147, -1, 14, -1, 41,
2689 -1, 1051, 1052, -1, 1054, -1, 48, 159, -1, -1,
2690 -1, 28, -1, 30, 56, 57, -1, -1, -1, 36,
2691 -1, -1, 694, -1, 176, 177, 178, -1, 45, 701,
2692 702, -1, 704, -1, -1, -1, -1, 54, 80, 56,
2693 57, -1, -1, -1, -1, -1, 88, -1, 1098, 1099,
2694 1100, 1101, 1102, 205, -1, -1, 1106, -1, -1, -1,
2695 -1, -1, -1, 735, -1, 737, -1, 308, -1, -1,
2696 742, 743, 744, -1, -1, -1, -1, -1, 1128, 1129,
2697 1130, -1, -1, -1, -1, -1, -1, 239, -1, -1,
2698 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
2699 9, -1, -1, -1, -1, 14, -1, -1, -1, 1159,
2700 -1, -1, -1, -1, 1164, -1, 1166, -1, 27, 28,
2701 -1, 30, 31, 32, -1, 277, 278, 36, -1, -1,
2702 -1, -1, 41, -1, -1, 44, 45, 46, -1, 48,
2703 -1, -1, -1, 384, -1, 54, -1, 56, 57, -1,
2704 -1, 60, 3, 4, 5, 6, 7, 8, 9, -1,
2705 -1, 70, -1, 14, -1, 1215, 1216, -1, 1218, 321,
2706 -1, 80, -1, 325, -1, 327, 328, 329, -1, 88,
2707 31, -1, 334, -1, 93, 36, 338, -1, -1, 98,
2708 41, -1, 433, -1, 45, -1, 47, -1, -1, 1249,
2709 1250, 1251, 354, 54, -1, 56, 57, -1, -1, 3,
2710 4, 5, 6, -1, -1, 9, -1, -1, 1268, 70,
2711 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
2712 -1, -1, 384, 905, 906, 387, 388, 88, -1, 90,
2713 -1, -1, 93, 94, -1, -1, 398, 41, -1, 401,
2714 -1, -1, -1, 47, 406, -1, -1, -1, 499, -1,
2715 54, 502, 56, 57, -1, 506, 507, 508, 509, 510,
2716 -1, -1, -1, 327, 328, 329, 70, -1, 519, -1,
2717 -1, -1, -1, 435, -1, 437, 80, 439, 440, 441,
2718 -1, 532, -1, 445, 88, -1, 90, -1, 450, 93,
2719 94, 453, -1, 975, -1, -1, 1356, -1, -1, 3,
2720 4, 5, 6, -1, -1, -1, 468, 469, -1, -1,
2721 -1, -1, -1, 564, -1, -1, -1, -1, -1, 3,
2722 4, 5, 6, -1, -1, 1007, -1, -1, -1, -1,
2723 -1, -1, -1, 584, -1, -1, -1, 41, -1, -1,
2724 591, -1, -1, -1, 48, 507, 508, 509, 510, -1,
2725 -1, -1, 56, 57, -1, -1, -1, 41, -1, 1419,
2726 1420, 1421, -1, -1, 48, -1, -1, -1, -1, -1,
2727 -1, -1, 56, 57, -1, -1, 80, 1437, -1, -1,
2728 -1, -1, 1442, 1, 88, 3, 4, 5, 6, 7,
2729 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
2730 -1, -1, 564, 565, 88, 567, -1, -1, -1, 27,
2731 28, -1, 30, 31, 32, -1, 1098, 1099, 36, 581,
2732 582, -1, 584, 41, 1106, -1, 44, 45, 46, 591,
2733 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2734 -1, 603, 60, 694, -1, -1, -1, 609, -1, -1,
2735 -1, -1, 70, -1, -1, -1, -1, -1, 3, 4,
2736 5, 6, 80, -1, -1, -1, -1, -1, -1, -1,
2737 88, 4, 5, -1, -1, 93, 9, 1159, 640, -1,
2738 98, -1, 1164, -1, 1166, -1, 648, 649, 650, 651,
2739 652, 653, -1, -1, -1, -1, 41, -1, -1, -1,
2740 -1, 752, -1, 48, -1, -1, -1, 758, -1, 671,
2741 -1, 56, 57, -1, 47, -1, -1, 581, 582, -1,
2742 584, 54, -1, 56, 57, -1, -1, 591, 690, -1,
2743 -1, -1, 694, 1215, 1216, 80, 1218, 70, -1, 701,
2744 702, -1, 704, 88, -1, -1, -1, 80, -1, -1,
2745 -1, -1, -1, -1, -1, -1, -1, 90, -1, -1,
2746 93, 94, -1, -1, -1, -1, -1, -1, 1250, -1,
2747 732, -1, -1, 735, -1, 737, 827, -1, -1, -1,
2748 742, 743, 744, -1, 648, -1, 650, 651, -1, 653,
2749 752, -1, -1, -1, -1, -1, 758, -1, -1, -1,
2750 -1, -1, -1, 765, 766, 767, -1, -1, 859, -1,
2751 -1, -1, -1, -1, 865, 777, -1, -1, 869, -1,
2752 -1, -1, -1, -1, -1, -1, 690, -1, -1, -1,
2753 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
2754 -1, -1, -1, -1, 14, -1, -1, -1, -1, -1,
2755 901, -1, 903, -1, -1, -1, 907, -1, 28, -1,
2756 30, 31, -1, -1, -1, 827, 36, -1, -1, -1,
2757 -1, 41, -1, -1, -1, 45, -1, 47, -1, -1,
2758 -1, -1, -1, -1, 54, -1, 56, 57, 850, -1,
2759 852, -1, -1, -1, -1, 946, -1, 859, -1, -1,
2760 70, 863, -1, 865, -1, 867, 868, 869, 959, -1,
2761 80, -1, 874, 777, 965, -1, -1, -1, 88, -1,
2762 90, 972, -1, 93, 94, -1, 4, -1, -1, 3,
2763 4, 5, 6, 984, -1, 9, -1, -1, -1, 901,
2764 -1, 903, -1, 905, 906, 907, -1, -1, -1, -1,
2765 -1, -1, 30, 31, -1, 33, -1, 35, -1, -1,
2766 -1, -1, 40, -1, -1, -1, 1017, 41, 1019, -1,
2767 -1, -1, -1, -1, -1, 53, -1, 55, -1, -1,
2768 54, -1, 56, 57, 946, -1, 850, -1, 852, -1,
2769 -1, -1, -1, -1, -1, -1, 70, 959, -1, 863,
2770 78, -1, -1, 867, 868, 869, 80, -1, 970, -1,
2771 972, -1, -1, 975, 88, -1, -1, -1, -1, 93,
2772 4, 5, 984, -1, 8, 9, -1, -1, -1, -1,
2773 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2774 -1, 905, 906, 907, -1, 1007, -1, -1, -1, 127,
2775 -1, 1102, 36, 131, 132, 1017, 134, 1019, -1, -1,
2776 138, 45, 140, 47, 142, -1, -1, 145, 146, 147,
2777 54, -1, 56, 57, -1, -1, -1, -1, -1, 1130,
2778 -1, 159, 946, -1, -1, -1, 70, -1, -1, 1051,
2779 1052, -1, 1054, -1, -1, -1, 80, -1, 176, 177,
2780 178, -1, -1, -1, -1, -1, 90, -1, 186, 93,
2781 94, 3, 4, 5, 6, -1, 1, 9, 3, 4,
2782 5, 6, 7, 8, 9, -1, -1, 205, -1, 14,
2783 -1, -1, -1, -1, -1, -1, 1098, 1099, 1100, 1101,
2784 1102, -1, -1, 28, 1106, 30, 31, -1, -1, 41,
2785 1112, 36, -1, -1, -1, -1, 41, -1, -1, -1,
2786 45, 239, 54, 48, 56, 57, 1128, 1129, 1130, 54,
2787 -1, 56, 57, -1, -1, 60, -1, -1, 70, -1,
2788 -1, -1, 1144, -1, -1, 70, -1, -1, 80, -1,
2789 -1, -1, -1, -1, -1, 80, 88, 1159, -1, -1,
2790 -1, 93, 1164, 88, 1166, -1, -1, -1, 93, -1,
2791 -1, -1, -1, -1, -1, -1, -1, 1268, 4, 5,
2792 -1, -1, -1, 9, -1, -1, -1, -1, -1, -1,
2793 308, -1, 80, -1, 1098, 1099, 1100, 1101, 1102, -1,
2794 -1, -1, 1106, -1, -1, -1, -1, 325, -1, -1,
2795 -1, -1, -1, 1215, 1216, 333, 1218, -1, -1, -1,
2796 338, 47, -1, -1, 1128, 1129, 1130, -1, 54, -1,
2797 56, 57, -1, -1, -1, -1, 354, -1, -1, 3,
2798 4, 5, 6, -1, 70, 9, -1, 1249, 1250, 1251,
2799 -1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
2800 378, -1, -1, -1, 90, 153, 1268, 93, 94, 387,
2801 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
2802 398, -1, -1, 401, -1, -1, 174, -1, 406, -1,
2803 54, -1, 56, 57, -1, -1, -1, -1, -1, 187,
2804 -1, -1, -1, -1, -1, -1, 70, -1, -1, -1,
2805 -1, 1215, 1216, -1, 1218, -1, 80, 435, -1, 437,
2806 -1, 439, 440, 441, 88, -1, -1, 445, -1, 93,
2807 1421, -1, 450, -1, -1, 453, 3, 4, 5, 6,
2808 7, 8, 9, -1, -1, 12, 1437, 14, -1, -1,
2809 -1, 469, -1, -1, 1356, -1, -1, -1, -1, -1,
2810 -1, 28, -1, 30, 31, -1, -1, -1, -1, 36,
2811 -1, -1, -1, -1, 41, -1, -1, -1, 45, -1,
2812 4, 499, -1, -1, 502, -1, -1, 54, -1, 56,
2813 57, -1, -1, -1, -1, -1, -1, -1, -1, 517,
2814 518, 519, -1, 70, -1, -1, 30, 31, -1, 33,
2815 -1, 35, -1, 80, 532, -1, 40, 1419, 1420, 1421,
2816 -1, 88, -1, -1, -1, -1, 93, -1, -1, 53,
2817 -1, 55, -1, -1, -1, 1437, -1, -1, -1, -1,
2818 1442, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2819 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2820 578, -1, -1, 14, -1, -1, -1, -1, -1, -1,
2821 -1, -1, -1, 591, -1, -1, -1, 28, -1, 30,
2822 31, 32, -1, -1, -1, 36, 37, -1, -1, -1,
2823 41, 609, -1, -1, 45, 46, -1, 48, -1, -1,
2824 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
2825 134, 62, -1, -1, 138, -1, -1, -1, 142, 70,
2826 -1, 145, 146, 147, -1, -1, -1, -1, -1, 80,
2827 648, 649, 650, 651, -1, 159, -1, 88, -1, -1,
2828 -1, -1, 93, -1, -1, 33, -1, -1, -1, -1,
2829 -1, -1, 176, 177, 178, 443, -1, -1, 109, -1,
2830 448, -1, -1, -1, -1, 53, -1, -1, -1, -1,
2831 4, 5, 690, 7, 8, 9, 694, 12, -1, -1,
2832 14, 205, -1, 701, 702, 473, 704, -1, -1, -1,
2833 -1, 479, -1, -1, 28, -1, 30, 31, -1, -1,
2834 -1, -1, 36, 491, 492, -1, 494, -1, -1, -1,
2835 -1, 45, -1, -1, 48, 239, -1, 735, -1, 737,
2836 54, -1, 56, 57, 742, 743, 744, 62, 63, 64,
2837 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2838 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2839 -1, -1, -1, 771, -1, -1, -1, 145, 146, 147,
2840 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2841 77, 78, 79, 80, 81, 82, 83, 84, 1, -1,
2842 3, 4, 5, 6, 7, 8, 9, -1, 176, 177,
2843 178, 14, -1, -1, -1, -1, -1, -1, -1, 587,
2844 588, -1, -1, -1, 592, 28, -1, 30, 31, 32,
2845 334, -1, -1, 36, 338, -1, -1, 205, 41, -1,
2846 -1, -1, 45, 46, -1, 48, -1, -1, -1, -1,
2847 -1, 54, -1, 56, 57, -1, -1, 60, -1, 62,
2848 -1, -1, 3, 4, 5, 6, -1, 70, 9, 867,
2849 868, 869, -1, -1, -1, 873, -1, 80, -1, -1,
2850 -1, -1, -1, 387, -1, 88, -1, -1, -1, -1,
2851 93, -1, -1, -1, 398, -1, -1, 401, -1, -1,
2852 41, -1, 406, -1, -1, -1, -1, 905, 906, 907,
2853 278, -1, -1, 54, 912, 56, 57, 73, 74, 75,
2854 76, 77, 78, 79, 80, 81, 82, 83, 84, 70,
2855 -1, 435, -1, 437, -1, 439, 440, 441, -1, 80,
2856 -1, 445, -1, -1, -1, -1, 450, 88, 946, 453,
2857 -1, -1, 93, -1, -1, -1, -1, -1, -1, 327,
2858 328, 329, -1, -1, 53, 469, -1, -1, -1, 3,
2859 4, 5, 6, 7, 8, 9, -1, 975, -1, -1,
2860 14, -1, -1, -1, -1, -1, -1, -1, -1, 78,
2861 -1, 759, 81, 761, 28, -1, 30, 31, 996, -1,
2862 4, 5, 36, 7, 8, 9, -1, 41, 12, 1007,
2863 14, 45, -1, 102, -1, 104, -1, -1, -1, 387,
2864 54, -1, 56, 57, 28, -1, 30, 31, 62, -1,
2865 -1, -1, 36, -1, -1, -1, 70, -1, -1, -1,
2866 -1, 45, -1, -1, -1, -1, 80, -1, -1, -1,
2867 54, -1, 56, 57, 88, -1, -1, -1, -1, 93,
2868 -1, -1, -1, -1, -1, 833, 834, 435, 836, 437,
2869 -1, 439, 440, 441, -1, 579, -1, 445, -1, -1,
2870 1078, -1, 450, -1, -1, 453, -1, 176, 177, 178,
2871 -1, -1, -1, -1, -1, -1, 864, 186, -1, -1,
2872 1098, 1099, 1100, 1101, 1102, 609, 1104, -1, 1106, -1,
2873 -1, 3, 4, 5, 6, -1, 205, 9, -1, -1,
2874 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2875 1128, 1129, 1130, -1, -1, -1, -1, -1, -1, 228,
2876 -1, 909, -1, -1, 648, 649, 650, 651, -1, 41,
2877 -1, -1, -1, 242, -1, -1, -1, 3, 4, 5,
2878 6, 1159, 54, 9, 56, 57, 1164, -1, 1166, -1,
2879 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2880 -1, -1, -1, -1, -1, -1, 690, -1, 80, -1,
2881 694, -1, -1, -1, -1, 41, 88, 701, 702, 567,
2882 704, 93, -1, 971, -1, -1, -1, -1, 54, -1,
2883 56, 57, -1, 581, 582, 983, 584, 1215, 1216, -1,
2884 1218, -1, -1, 591, 70, -1, -1, -1, -1, -1,
2885 -1, 735, -1, 737, 80, -1, -1, -1, 742, 743,
2886 744, 609, 88, -1, 333, 334, -1, 93, -1, -1,
2887 -1, 1249, 1250, 1251, -1, -1, -1, -1, -1, -1,
2888 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
2889 9, -1, -1, -1, -1, 14, -1, -1, -1, -1,
2890 648, -1, 650, 651, -1, 653, -1, -1, -1, 28,
2891 -1, 30, 31, -1, -1, -1, -1, 36, 387, 1067,
2892 -1, -1, 41, -1, -1, -1, 45, -1, -1, -1,
2893 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
2894 -1, 60, 690, -1, -1, -1, -1, -1, -1, -1,
2895 -1, 70, -1, 701, 702, -1, 704, 1105, -1, -1,
2896 -1, 80, -1, 31, -1, -1, 435, -1, 437, 88,
2897 439, 440, 441, -1, 93, -1, 445, -1, 1356, -1,
2898 -1, 450, -1, -1, 453, -1, -1, -1, -1, -1,
2899 874, -1, -1, -1, 742, 63, 64, 65, 66, 67,
2900 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2901 78, 79, 80, 81, 82, 83, 84, 765, 766, 767,
2902 1168, 905, 906, 907, 1172, -1, -1, -1, -1, 777,
2903 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2904 -1, 1419, 1420, 1421, -1, 3, 4, 5, 6, 7,
2905 8, 9, -1, -1, -1, -1, 14, -1, -1, 1207,
2906 14, -1, 946, -1, 1442, -1, -1, -1, -1, 23,
2907 24, -1, -1, 31, -1, -1, 30, 31, 36, 33,
2908 -1, -1, -1, 41, -1, -1, -1, 45, -1, 47,
2909 -1, 975, -1, -1, -1, -1, 54, -1, 56, 57,
2910 -1, -1, 850, -1, 852, -1, -1, -1, -1, 63,
2911 -1, -1, 70, -1, -1, 863, -1, -1, -1, 867,
2912 868, 869, 80, 1007, -1, 594, 595, -1, 1276, -1,
2913 88, -1, 1280, -1, -1, 93, -1, -1, -1, -1,
2914 609, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2915 81, 82, 83, 84, 1302, 1303, -1, 905, 906, 907,
2916 -1, -1, -1, -1, -1, -1, -1, -1, 122, -1,
2917 124, -1, -1, 127, -1, -1, -1, 131, 132, 648,
2918 -1, 650, 651, -1, 138, -1, 140, 141, 142, -1,
2919 -1, 145, 146, 147, -1, -1, -1, -1, 946, -1,
2920 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2921 -1, -1, 14, -1, 1098, 1099, 1100, 1101, 1102, -1,
2922 -1, 690, 1106, -1, -1, -1, 28, 975, 30, 31,
2923 -1, -1, 701, 702, 36, 704, -1, -1, -1, 41,
2924 -1, -1, -1, 45, 1128, 1129, 1130, -1, -1, -1,
2925 -1, -1, 54, -1, 56, 57, 3, 4, 5, 6,
2926 729, -1, -1, -1, -1, 219, 220, -1, 70, -1,
2927 -1, -1, -1, 742, -1, 1159, -1, -1, 80, -1,
2928 1164, -1, 1166, -1, -1, 239, 88, -1, -1, -1,
2929 -1, 93, -1, -1, 41, 4, 5, -1, 7, 8,
2930 9, -1, -1, 1051, 1052, 14, 1054, 54, -1, 56,
2931 57, -1, -1, -1, -1, 62, -1, -1, -1, 28,
2932 -1, 30, 31, 70, 278, -1, -1, 36, -1, -1,
2933 -1, 1215, 1216, 80, 1218, -1, 45, -1, -1, -1,
2934 -1, 88, -1, -1, -1, 54, 93, 56, 57, -1,
2935 1098, 1099, 1100, 1101, 1102, -1, -1, -1, 1106, -1,
2936 -1, -1, -1, -1, -1, 1249, 1250, 1251, -1, -1,
2937 -1, 325, -1, 327, 328, -1, -1, -1, -1, -1,
2938 1128, 1129, 1130, -1, -1, -1, -1, -1, 3, 4,
2939 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2940 354, -1, -1, -1, 873, 874, 875, 3, 4, 5,
2941 6, 1159, -1, 28, -1, 30, 31, -1, -1, -1,
2942 -1, 36, -1, -1, 378, -1, 41, -1, -1, -1,
2943 45, -1, -1, -1, -1, -1, 905, 906, 907, 54,
2944 394, 56, 57, 912, 398, 41, -1, 401, -1, -1,
2945 -1, -1, 406, -1, -1, 70, -1, -1, 54, -1,
2946 56, 57, -1, -1, -1, 80, 62, 1215, 1216, -1,
2947 1218, -1, 1356, 88, 70, -1, -1, 946, 93, -1,
2948 -1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
2949 -1, -1, 88, -1, -1, -1, -1, 93, -1, -1,
2950 -1, 1249, -1, 1251, -1, -1, 975, -1, -1, -1,
2951 -1, -1, 466, 1, 468, 3, 4, 5, 6, 7,
2952 8, 9, 10, 11, 12, 13, 14, 996, -1, -1,
2953 -1, -1, -1, -1, -1, 1419, 1420, 1421, -1, 493,
2954 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
2955 38, 39, 40, 41, 42, 43, -1, 45, 1442, 47,
2956 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
2957 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
2958 -1, -1, 70, -1, -1, 3, 4, 5, 6, -1,
2959 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
2960 88, -1, 90, -1, -1, 93, 94, -1, 1356, 1078,
2961 -1, -1, -1, 567, -1, -1, -1, -1, -1, -1,
2962 -1, -1, 110, 41, 578, 579, -1, 581, 582, 1098,
2963 1099, 1100, 1101, 1102, -1, 1104, 54, 1106, 56, 57,
2964 -1, -1, -1, -1, 62, -1, 3, 4, 5, 6,
2965 -1, -1, 70, 3, 4, 5, 6, -1, -1, 1128,
2966 1129, 1130, 80, -1, -1, -1, -1, -1, -1, -1,
2967 88, 1419, 1420, 1421, -1, 93, -1, -1, -1, -1,
2968 -1, -1, -1, -1, 41, -1, 640, -1, -1, -1,
2969 1159, 41, -1, -1, 1442, -1, -1, 54, 652, 56,
2970 57, -1, -1, 60, 54, -1, 56, 57, -1, -1,
2971 -1, -1, -1, 70, -1, -1, -1, 671, -1, -1,
2972 70, -1, -1, 80, -1, -1, -1, -1, -1, -1,
2973 80, 88, -1, -1, -1, -1, 93, -1, 88, -1,
2974 -1, -1, -1, 93, -1, -1, 1215, 1216, -1, 1218,
2975 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2976 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
2977 8, 9, -1, -1, 12, 729, 14, -1, 732, -1,
2978 1249, -1, 1251, -1, -1, -1, -1, 25, -1, 27,
2979 -1, -1, -1, 31, -1, -1, -1, -1, 36, -1,
2980 -1, -1, -1, 41, -1, -1, -1, 45, -1, 47,
2981 -1, 765, 766, 767, -1, -1, 54, -1, 56, 57,
2982 58, 59, 60, 777, 62, 63, 64, 65, 66, 67,
2983 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2984 78, 79, 80, 81, 82, 83, 84, -1, 86, 87,
2985 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2986 -1, -1, 4, 5, 102, -1, 8, 9, -1, 107,
2987 108, 109, 14, 111, -1, 4, 5, -1, 7, 8,
2988 9, -1, -1, 12, -1, 14, 28, 1356, 30, -1,
2989 -1, -1, -1, -1, 36, -1, 850, -1, 852, 28,
2990 -1, 30, 31, 45, -1, -1, -1, 36, -1, 863,
2991 -1, -1, 54, -1, 56, 57, 45, -1, -1, -1,
2992 -1, -1, -1, -1, -1, 54, -1, 56, 57, 68,
2993 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2994 79, 80, 81, 82, 83, 84, -1, -1, -1, -1,
2995 1419, 1420, 1421, -1, -1, -1, -1, -1, -1, -1,
2996 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
2997 9, 10, 11, 1442, 13, 14, 15, -1, 17, 18,
2998 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2999 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3000 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3001 49, 50, 51, 52, 53, 54, 970, 56, 57, 58,
3002 -1, 60, 61, -1, 3, 4, 5, 6, 67, -1,
3003 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3004 79, 80, -1, 997, -1, -1, -1, 86, 87, 88,
3005 -1, -1, -1, -1, 93, -1, 95, -1, -1, -1,
3006 -1, -1, 41, -1, -1, -1, -1, -1, -1, -1,
3007 109, 110, -1, -1, -1, 54, -1, 56, 57, -1,
3008 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3009 -1, 70, -1, -1, -1, -1, -1, 1051, 1052, -1,
3010 1054, 80, -1, -1, -1, -1, -1, -1, -1, 88,
3011 -1, -1, -1, -1, 93, 1, -1, 3, 4, 5,
3012 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3013 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3014 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3015 36, -1, 38, 39, 40, 41, 42, 43, 1112, 45,
3016 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3017 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3018 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3019 1144, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3020 86, 87, 88, -1, -1, -1, -1, 93, 1162, 95,
3021 1164, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3022 -1, -1, -1, 1, 110, 3, 4, 5, 6, 7,
3023 8, 9, 10, 11, 12, 13, 14, -1, -1, -1,
3024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3025 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3026 38, 39, 40, 41, 42, 43, -1, 45, -1, 47,
3027 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3028 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3029 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3030 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3031 88, -1, 90, -1, -1, 93, 94, 1, -1, 3,
3032 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3033 14, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3034 -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
3035 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3036 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3037 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3038 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3039 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3040 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3041 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3042 13, 14, -1, -1, 108, -1, 110, -1, -1, -1,
3043 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3044 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3045 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3046 53, 54, -1, 56, 57, 58, -1, 60, 61, -1,
3047 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3048 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3049 -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
3050 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3051 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3052 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3053 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3054 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3055 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3056 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3057 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3058 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3059 -1, 93, 94, 1, -1, 3, 4, 5, 6, -1,
3060 8, 9, 10, 11, -1, 13, 14, 109, 110, -1,
3061 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3062 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3063 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3064 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3065 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3066 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3067 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3068 88, -1, -1, -1, -1, 93, 94, 1, -1, 3,
3069 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3070 14, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3071 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3072 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3073 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3074 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3075 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3076 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3077 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3078 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3079 13, 14, -1, -1, -1, 109, 110, -1, -1, -1,
3080 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3081 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3082 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3083 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3084 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3085 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3086 -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
3087 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3088 -1, 13, 14, -1, -1, -1, 109, 110, -1, -1,
3089 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3090 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3091 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3092 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3093 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3094 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3095 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3096 -1, 93, -1, 1, -1, 3, 4, 5, 6, 101,
3097 8, 9, 10, 11, -1, 13, 14, -1, 110, -1,
3098 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3099 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3100 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3101 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3102 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3103 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3104 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3105 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3106 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3107 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3108 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3109 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3110 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3111 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3112 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3113 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3114 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3115 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3116 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3117 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3118 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3119 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3120 56, 57, -1, -1, -1, 61, 62, -1, -1, -1,
3121 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3122 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3123 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3124 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3125 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3126 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3127 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3128 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3129 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3130 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3131 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3132 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3133 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3134 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3135 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3136 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3137 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3138 54, -1, 56, 57, -1, -1, 60, 61, -1, -1,
3139 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3140 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3141 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3142 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3143 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3144 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3145 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3146 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3147 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3148 -1, -1, -1, -1, 67, 1, -1, 70, 4, 5,
3149 -1, -1, 8, 9, -1, 78, 79, 80, 14, -1,
3150 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3151 93, -1, 28, -1, 30, -1, -1, -1, -1, -1,
3152 36, -1, 38, 39, -1, 108, -1, 110, -1, 45,
3153 -1, 47, -1, -1, -1, -1, -1, -1, 54, -1,
3154 56, 57, -1, 59, -1, -1, -1, 63, 64, 65,
3155 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3156 76, 77, 78, 79, 80, 81, 82, 83, -1, -1,
3157 86, 87, 88, -1, -1, 91, -1, 1, 94, 3,
3158 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3159 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3160 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3161 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3162 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3163 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3164 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3165 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3166 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3167 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3168 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3169 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3170 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3171 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3172 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3173 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3174 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3175 -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
3176 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3177 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3178 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3179 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3180 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3181 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3182 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3183 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3184 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3185 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3186 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3187 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3188 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3189 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3190 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3191 -1, 67, -1, 1, 70, 3, 4, 5, 6, 7,
3192 8, 9, 78, 79, 80, -1, 14, -1, -1, -1,
3193 86, 87, 88, -1, -1, -1, -1, 93, -1, -1,
3194 28, -1, 30, 31, 32, -1, -1, -1, 36, 37,
3195 -1, -1, -1, 41, 110, 111, -1, 45, 46, -1,
3196 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3197 -1, -1, 60, -1, 62, -1, -1, -1, -1, -1,
3198 -1, -1, 70, 1, -1, 3, 4, 5, 6, 7,
3199 8, 9, 80, -1, -1, -1, 14, -1, -1, -1,
3200 88, -1, -1, -1, -1, 93, -1, -1, -1, -1,
3201 28, -1, 30, 31, 32, -1, -1, -1, 36, 37,
3202 -1, 109, -1, 41, -1, -1, -1, 45, 46, -1,
3203 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3204 -1, -1, 60, -1, 62, -1, -1, -1, 3, 4,
3205 5, 6, 70, 1, -1, 3, 4, 5, 6, 7,
3206 8, 9, 80, -1, -1, -1, 14, -1, -1, -1,
3207 88, -1, -1, -1, -1, 93, -1, -1, -1, -1,
3208 28, -1, 30, 31, 32, -1, 41, -1, 36, 37,
3209 -1, 109, -1, 41, -1, -1, -1, 45, 46, 54,
3210 48, 56, 57, -1, -1, -1, 54, -1, 56, 57,
3211 -1, -1, 60, -1, 62, 70, -1, -1, -1, -1,
3212 -1, -1, 70, -1, -1, 80, -1, -1, -1, -1,
3213 -1, -1, 80, 88, -1, -1, -1, -1, 93, -1,
3214 88, -1, -1, -1, -1, 93, -1, -1, 3, 4,
3215 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3216 15, 109, 17, 18, 19, 20, 21, 22, 23, 24,
3217 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3218 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3219 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3220 -1, 56, 57, 58, -1, 60, 61, -1, -1, -1,
3221 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3222 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3223 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3224 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3225 -1, -1, -1, -1, 109, 110, 3, 4, 5, 6,
3226 7, 8, 9, 10, 11, -1, 13, 14, 15, -1,
3227 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3228 27, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3229 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3230 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3231 57, 58, -1, 60, 61, -1, -1, -1, -1, -1,
3232 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3233 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3234 87, 88, -1, -1, -1, -1, 93, -1, 95, -1,
3235 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3236 13, 14, 15, 110, 17, 18, 19, 20, 21, 22,
3237 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3238 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3239 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3240 53, 54, -1, 56, 57, 58, -1, 60, 61, -1,
3241 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3242 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3243 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3244 93, -1, 95, -1, 3, 4, 5, 6, 7, 8,
3245 9, 10, 11, -1, 13, 14, 15, 110, 17, 18,
3246 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3247 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3248 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3249 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3250 -1, 60, 61, -1, -1, -1, -1, -1, 67, -1,
3251 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3252 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3253 -1, -1, -1, -1, 93, -1, 95, 3, 4, 5,
3254 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3255 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3256 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3257 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3258 -1, 47, -1, 49, 50, 51, 52, 53, 54, -1,
3259 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3260 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3261 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3262 86, 87, 88, -1, 90, -1, -1, 93, 94, 3,
3263 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3264 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3265 -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
3266 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3267 -1, 45, -1, 47, -1, 49, 50, 51, 52, 53,
3268 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3269 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3270 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3271 -1, -1, 86, 87, 88, -1, 90, -1, -1, 93,
3272 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3273 -1, 13, 14, -1, -1, -1, 110, -1, -1, -1,
3274 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3275 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3276 42, 43, -1, 45, -1, 47, -1, 49, 50, 51,
3277 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3278 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3279 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3280 -1, -1, -1, -1, 86, 87, 88, -1, 90, -1,
3281 -1, 93, 94, 3, 4, 5, 6, -1, 8, 9,
3282 10, 11, -1, 13, 14, -1, -1, -1, 110, -1,
3283 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3284 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3285 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3286 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3287 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3288 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3289 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3290 90, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3291 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3292 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3293 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3294 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3295 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3296 -1, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3297 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3298 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3299 88, -1, -1, -1, -1, 93, 3, 4, 5, 6,
3300 7, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3301 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3302 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3303 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3304 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3305 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3306 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3307 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3308 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3309 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3310 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3311 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3312 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3313 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3314 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3315 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3316 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3317 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3318 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3319 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3320 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3321 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3322 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3323 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3324 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3325 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3326 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3327 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3328 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3329 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3330 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3331 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
3332 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3333 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3334 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3335 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3336 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3337 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3338 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3339 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3340 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3341 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3342 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3343 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3344 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3345 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3346 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3347 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3348 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3349 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3350 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3351 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3352 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3353 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3354 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3355 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3356 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3357 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3358 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3359 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3360 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3361 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3362 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3363 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3364 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3365 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3366 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3367 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3368 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3369 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3370 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3371 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3372 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3373 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3374 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3375 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3376 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3377 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3378 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3379 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3380 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3381 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3382 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3383 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3384 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3385 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3386 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3387 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3388 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3389 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3390 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3391 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3392 -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3393 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3394 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3395 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3396 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3397 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3398 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3399 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3400 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3401 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3402 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3403 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3404 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3405 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3406 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3407 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3408 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3409 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
3410 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3411 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3412 -1, -1, -1, -1, 93, 69, 70, 71, 72, 73,
3413 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3414 84, 110, 63, 64, 65, 66, 67, 68, 69, 70,
3415 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3416 81, 82, 83, 84, 63, 64, 65, 66, 67, 68,
3417 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3418 79, 80, 81, 82, 83, 84, -1, -1, -1, -1,
3419 111, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3420 80, 81, 82, 83, 84, 59, -1, -1, 107, 63,
3421 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3422 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3423 84, 62, 63, 64, 65, 66, 67, 68, 69, 70,
3424 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3425 81, 82, 83, 84, 63, 64, 65, 66, 67, 68,
3426 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3427 79, 80, 81, 82, 83, 84, 63, 64, 65, 66,
3428 67, 68, 69, 70, 71, 72, 73, 74, -1, 76,
3429 77, 78, 79, 80, 81, 82, 83, 84, 70, 71,
3430 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3433 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3434 #line 3 "/usr/lib/bison.simple"
3436 /* Skeleton output parser for bison,
3437 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3439 This program is free software; you can redistribute it and/or modify
3440 it under the terms of the GNU General Public License as published by
3441 the Free Software Foundation; either version 2, or (at your option)
3444 This program is distributed in the hope that it will be useful,
3445 but WITHOUT ANY WARRANTY; without even the implied warranty of
3446 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3447 GNU General Public License for more details.
3449 You should have received a copy of the GNU General Public License
3450 along with this program; if not, write to the Free Software
3451 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3453 /* As a special exception, when this file is copied by Bison into a
3454 Bison output file, you may use that output file without restriction.
3455 This special exception was added by the Free Software Foundation
3456 in version 1.24 of Bison. */
3460 #define alloca __builtin_alloca
3461 #else /* not GNU C. */
3462 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3464 #else /* not sparc */
3465 #if defined (MSDOS) && !defined (__TURBOC__)
3467 #else /* not MSDOS, or __TURBOC__ */
3471 #else /* not MSDOS, __TURBOC__, or _AIX */
3475 void *alloca (unsigned int);
3477 #else /* not __cplusplus */
3479 #endif /* not __cplusplus */
3481 #endif /* not _AIX */
3482 #endif /* not MSDOS, or __TURBOC__ */
3483 #endif /* not sparc. */
3484 #endif /* not GNU C. */
3485 #endif /* alloca not defined. */
3487 /* This is the parser code that is written into each bison parser
3488 when the %semantic_parser declaration is not specified in the grammar.
3489 It was written by Richard Stallman by simplifying the hairy parser
3490 used when %semantic_parser is specified. */
3492 /* Note: there must be only one dollar sign in this file.
3493 It is replaced by the list of actions, each action
3494 as one case of the switch. */
3496 #define yyerrok (yyerrstatus = 0)
3497 #define yyclearin (yychar = YYEMPTY)
3500 #define YYACCEPT return(0)
3501 #define YYABORT return(1)
3502 #define YYERROR goto yyerrlab1
3503 /* Like YYERROR except do call yyerror.
3504 This remains here temporarily to ease the
3505 transition to the new meaning of YYERROR, for GCC.
3506 Once GCC version 2 has supplanted version 1, this can go. */
3507 #define YYFAIL goto yyerrlab
3508 #define YYRECOVERING() (!!yyerrstatus)
3509 #define YYBACKUP(token, value) \
3511 if (yychar == YYEMPTY && yylen == 1) \
3512 { yychar = (token), yylval = (value); \
3513 yychar1 = YYTRANSLATE (yychar); \
3518 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3522 #define YYERRCODE 256
3525 #define YYLEX yylex()
3531 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3533 #define YYLEX yylex(&yylval, &yylloc)
3535 #else /* not YYLSP_NEEDED */
3537 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3539 #define YYLEX yylex(&yylval)
3541 #endif /* not YYLSP_NEEDED */
3544 /* If nonreentrant, generate the variables here */
3548 int yychar
; /* the lookahead symbol */
3549 YYSTYPE yylval
; /* the semantic value of the */
3550 /* lookahead symbol */
3553 YYLTYPE yylloc
; /* location data for the lookahead */
3557 int yynerrs
; /* number of parse errors so far */
3558 #endif /* not YYPURE */
3561 int yydebug
; /* nonzero means print parse trace */
3562 /* Since this is uninitialized, it does not stop multiple parsers
3566 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3569 #define YYINITDEPTH 200
3572 /* YYMAXDEPTH is the maximum size the stacks can grow to
3573 (effective only if the built-in stack extension method is used). */
3580 #define YYMAXDEPTH 10000
3583 /* Prevent warning if -Wstrict-prototypes. */
3588 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3589 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3590 #else /* not GNU C or C++ */
3593 /* This is the most reliable way to avoid incompatibilities
3594 in available built-in functions on various systems. */
3596 __yy_memcpy (to
, from
, count
)
3601 register char *f
= from
;
3602 register char *t
= to
;
3603 register int i
= count
;
3609 #else /* __cplusplus */
3611 /* This is the most reliable way to avoid incompatibilities
3612 in available built-in functions on various systems. */
3614 __yy_memcpy (char *to
, char *from
, int count
)
3616 register char *f
= from
;
3617 register char *t
= to
;
3618 register int i
= count
;
3627 #line 196 "/usr/lib/bison.simple"
3629 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3630 into yyparse. The argument should have type void *.
3631 It should actually point to an object.
3632 Grammar actions can access the variable by casting it
3633 to the proper pointer type. */
3635 #ifdef YYPARSE_PARAM
3637 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3638 #define YYPARSE_PARAM_DECL
3639 #else /* not __cplusplus */
3640 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3641 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3642 #endif /* not __cplusplus */
3643 #else /* not YYPARSE_PARAM */
3644 #define YYPARSE_PARAM_ARG
3645 #define YYPARSE_PARAM_DECL
3646 #endif /* not YYPARSE_PARAM */
3649 yyparse(YYPARSE_PARAM_ARG
)
3652 register int yystate
;
3654 register short *yyssp
;
3655 register YYSTYPE
*yyvsp
;
3656 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3657 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3659 short yyssa
[YYINITDEPTH
]; /* the state stack */
3660 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3662 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3663 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3666 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3667 YYLTYPE
*yyls
= yylsa
;
3670 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3672 #define YYPOPSTACK (yyvsp--, yyssp--)
3675 int yystacksize
= YYINITDEPTH
;
3686 YYSTYPE yyval
; /* the variable used to return */
3687 /* semantic values from the action */
3694 fprintf(stderr
, "Starting parse\n");
3700 yychar
= YYEMPTY
; /* Cause a token to be read. */
3702 /* Initialize stack pointers.
3703 Waste one element of value and location stack
3704 so that they stay on the same level as the state stack.
3705 The wasted elements are never initialized. */
3713 /* Push a new state, which is found in yystate . */
3714 /* In all cases, when you get here, the value and location stacks
3715 have just been pushed. so pushing a state here evens the stacks. */
3720 if (yyssp
>= yyss
+ yystacksize
- 1)
3722 /* Give user a chance to reallocate the stack */
3723 /* Use copies of these so that the &'s don't force the real ones into memory. */
3724 YYSTYPE
*yyvs1
= yyvs
;
3725 short *yyss1
= yyss
;
3727 YYLTYPE
*yyls1
= yyls
;
3730 /* Get the current used size of the three stacks, in elements. */
3731 int size
= yyssp
- yyss
+ 1;
3734 /* Each stack pointer address is followed by the size of
3735 the data in use in that stack, in bytes. */
3737 /* This used to be a conditional around just the two extra args,
3738 but that might be undefined if yyoverflow is a macro. */
3739 yyoverflow("parser stack overflow",
3740 &yyss1
, size
* sizeof (*yyssp
),
3741 &yyvs1
, size
* sizeof (*yyvsp
),
3742 &yyls1
, size
* sizeof (*yylsp
),
3745 yyoverflow("parser stack overflow",
3746 &yyss1
, size
* sizeof (*yyssp
),
3747 &yyvs1
, size
* sizeof (*yyvsp
),
3751 yyss
= yyss1
; yyvs
= yyvs1
;
3755 #else /* no yyoverflow */
3756 /* Extend the stack our own way. */
3757 if (yystacksize
>= YYMAXDEPTH
)
3759 yyerror("parser stack overflow");
3763 if (yystacksize
> YYMAXDEPTH
)
3764 yystacksize
= YYMAXDEPTH
;
3765 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3766 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3767 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3768 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3770 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3771 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3773 #endif /* no yyoverflow */
3775 yyssp
= yyss
+ size
- 1;
3776 yyvsp
= yyvs
+ size
- 1;
3778 yylsp
= yyls
+ size
- 1;
3783 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3786 if (yyssp
>= yyss
+ yystacksize
- 1)
3792 fprintf(stderr
, "Entering state %d\n", yystate
);
3798 /* Do appropriate processing given the current state. */
3799 /* Read a lookahead token if we need one and don't already have one. */
3802 /* First try to decide what to do without reference to lookahead token. */
3804 yyn
= yypact
[yystate
];
3808 /* Not known => get a lookahead token if don't already have one. */
3810 /* yychar is either YYEMPTY or YYEOF
3811 or a valid token in external form. */
3813 if (yychar
== YYEMPTY
)
3817 fprintf(stderr
, "Reading a token: ");
3822 /* Convert token to internal form (in yychar1) for indexing tables with */
3824 if (yychar
<= 0) /* This means end of input. */
3827 yychar
= YYEOF
; /* Don't call YYLEX any more */
3831 fprintf(stderr
, "Now at end of input.\n");
3836 yychar1
= YYTRANSLATE(yychar
);
3841 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
3842 /* Give the individual parser a way to print the precise meaning
3843 of a token, for further debugging info. */
3845 YYPRINT (stderr
, yychar
, yylval
);
3847 fprintf (stderr
, ")\n");
3853 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
3858 /* yyn is what to do for this token type in this state.
3859 Negative => reduce, -yyn is rule number.
3860 Positive => shift, yyn is new state.
3861 New state is final state => don't bother to shift,
3862 just return success.
3863 0, or most negative number => error. */
3878 /* Shift the lookahead token. */
3882 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
3885 /* Discard the token being shifted unless it is eof. */
3886 if (yychar
!= YYEOF
)
3894 /* count tokens shifted since error; after three, turn off error status. */
3895 if (yyerrstatus
) yyerrstatus
--;
3900 /* Do the default action for the current state. */
3903 yyn
= yydefact
[yystate
];
3907 /* Do a reduction. yyn is the number of a rule to reduce with. */
3911 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
3918 fprintf (stderr
, "Reducing via rule %d (line %d), ",
3921 /* Print the symbols being reduced, and their result. */
3922 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
3923 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
3924 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
3933 { finish_translation_unit (); ;
3937 { yyval
.ttype
= NULL_TREE
; ;
3941 { yyval
.ttype
= NULL_TREE
; ;
3945 { yyval
.ttype
= NULL_TREE
; ;
3949 { have_extern_spec
= 1;
3950 used_extern_spec
= 0;
3951 yyval
.ttype
= NULL_TREE
; ;
3955 { have_extern_spec
= 0; ;
3959 { yyval
.itype
= pedantic
;
3964 { if (pending_lang_change
) do_pending_lang_change(); ;
3968 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
3969 pop_everything (); ;
3973 { if (pending_inlines
) do_pending_inlines (); ;
3977 { if (pending_inlines
) do_pending_inlines (); ;
3981 { if (pending_inlines
) do_pending_inlines (); ;
3985 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
3986 assemble_asm (yyvsp
[-2].ttype
); ;
3990 { pop_lang_context (); ;
3994 { if (pending_inlines
) do_pending_inlines ();
3995 pop_lang_context (); ;
3999 { if (pending_inlines
) do_pending_inlines ();
4000 pop_lang_context (); ;
4004 { push_namespace (yyvsp
[-1].ttype
); ;
4008 { pop_namespace (); ;
4012 { push_namespace (NULL_TREE
); ;
4016 { pop_namespace (); ;
4020 { do_namespace_alias (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4024 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4029 /* If no declaration was found, the using-directive is
4030 invalid. Since that was not reported, we need the
4031 identifier for the error message. */
4032 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4033 yyvsp
[-1].ttype
= lastiddecl
;
4034 do_using_directive (yyvsp
[-1].ttype
);
4039 { pedantic
= yyvsp
[-1].itype
; ;
4043 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4047 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4051 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4055 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4059 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4063 { push_lang_context (yyvsp
[0].ttype
); ;
4067 { if (current_lang_name
!= yyvsp
[0].ttype
)
4068 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4069 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4073 { begin_template_parm_list (); ;
4077 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4081 { begin_specialization();
4082 yyval
.ttype
= NULL_TREE
; ;
4086 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4090 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4094 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4098 { yyval
.ttype
= NULL_TREE
; ;
4102 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4106 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4110 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4114 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4118 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4122 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4126 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4130 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4135 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4136 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4137 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4139 error ("invalid default template argument");
4140 yyvsp
[0].ttype
= error_mark_node
;
4142 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4148 if (yyvsp
[-1].ttype
)
4149 end_template_decl ();
4151 end_specialization ();
4157 if (yyvsp
[-1].ttype
)
4158 end_template_decl ();
4160 end_specialization ();
4170 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
4175 { pedwarn ("empty declaration"); ;
4181 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4183 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4188 { yyval
.itype
= 0; ;
4192 { yyval
.itype
= 1; ;
4196 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4208 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4212 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4216 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4217 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4222 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4226 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4230 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4231 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4236 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4240 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4244 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4245 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4250 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4254 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4258 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4259 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4264 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4269 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4274 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4279 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4284 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4289 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4293 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4297 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4301 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4305 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4306 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4310 if (yychar
== YYEMPTY
)
4312 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4316 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4320 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4321 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4325 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4326 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4330 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4334 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4335 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4339 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4344 if (! current_function_parms_stored
)
4345 store_parm_decls ();
4346 yyval
.ttype
= yyvsp
[0].ttype
;
4351 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4355 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4359 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4364 if (yyvsp
[0].itype
== 0)
4365 error ("no base initializers given following ':'");
4367 /* Always keep the BLOCK node associated with the outermost
4368 pair of curley braces of a function. These are needed
4369 for correct operation of dwarfout.c. */
4376 if (! current_function_parms_stored
)
4377 store_parm_decls ();
4379 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4381 /* Make a contour for the initializer list. */
4384 expand_start_bindings (0);
4386 else if (current_class_type
== NULL_TREE
)
4387 error ("base initializers not allowed for non-member functions");
4388 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4389 error ("only constructors take base initializers");
4394 { yyval
.itype
= 0; ;
4398 { yyval
.itype
= 1; ;
4403 if (current_class_name
)
4404 pedwarn ("anachronistic old style base class initializer");
4405 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4411 if (current_class_name
)
4412 pedwarn ("anachronistic old style base class initializer");
4413 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4418 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4422 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4426 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4430 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4434 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4439 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4444 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4445 yyungetc (';', 1); ;
4449 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4450 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4454 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4458 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4462 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4463 yyungetc (';', 1); ;
4467 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4468 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4472 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4476 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4480 { begin_explicit_instantiation(); ;
4484 { end_explicit_instantiation(); ;
4489 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4490 if (yyval
.ttype
!= error_mark_node
)
4491 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4497 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4498 if (yyval
.ttype
!= error_mark_node
)
4499 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4505 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4506 if (yyval
.ttype
!= error_mark_node
)
4507 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4513 /* Handle `Class<Class<Type>>' without space in the `>>' */
4514 pedwarn ("`>>' should be `> >' in template class name");
4520 { yyval
.ttype
= NULL_TREE
; ;
4524 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4528 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4532 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4536 { yyval
.code
= NEGATE_EXPR
; ;
4540 { yyval
.code
= CONVERT_EXPR
; ;
4544 { yyval
.code
= PREINCREMENT_EXPR
; ;
4548 { yyval
.code
= PREDECREMENT_EXPR
; ;
4552 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4556 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4560 { error ("ANSI C++ forbids an empty condition for `%s'",
4562 yyval
.ttype
= integer_zero_node
; ;
4566 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4570 { error ("ANSI C++ forbids an empty condition for `%s'",
4572 yyval
.ttype
= integer_zero_node
; ;
4576 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4580 { yyval
.ttype
= NULL_TREE
; ;
4584 { yyval
.ttype
= condition_conversion (yyval
.ttype
); ;
4588 { yyval
.ttype
= NULL_TREE
; ;
4594 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4595 if (TREE_CODE (d
) == TYPE_DECL
) {
4596 tree s
= TREE_TYPE (d
);
4597 if (TREE_CODE (s
) == RECORD_TYPE
)
4598 cp_error ("definition of class `%T' in condition", s
);
4599 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4600 cp_error ("definition of enum `%T' in condition", s
);
4603 current_declspecs
= yyvsp
[-4].ftype
.t
;
4604 yyvsp
[0].itype
= suspend_momentary ();
4605 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
4606 yyvsp
[-1].ttype
, /*prefix_attributes*/ NULL_TREE
);
4612 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4613 resume_momentary (yyvsp
[-2].itype
);
4614 yyval
.ttype
= yyvsp
[-1].ttype
;
4615 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4616 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4621 { yyval
.ttype
= begin_compound_stmt (1); ;
4625 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
4629 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4630 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4634 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4635 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4639 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4643 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4647 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4651 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4655 { yyval
.ttype
= yyvsp
[0].ttype
;
4656 pedantic
= yyvsp
[-1].itype
; ;
4660 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4663 #line 1000 "parse.y"
4664 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4667 #line 1002 "parse.y"
4668 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4671 #line 1004 "parse.y"
4672 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
4675 #line 1007 "parse.y"
4677 pedwarn ("ANSI C++ forbids `&&'");
4678 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
4681 #line 1011 "parse.y"
4682 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4685 #line 1013 "parse.y"
4686 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4689 #line 1015 "parse.y"
4690 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4693 #line 1017 "parse.y"
4694 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4695 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4698 #line 1023 "parse.y"
4699 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4700 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4703 #line 1026 "parse.y"
4704 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4705 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4708 #line 1029 "parse.y"
4709 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4710 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4713 #line 1032 "parse.y"
4714 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4715 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4718 #line 1035 "parse.y"
4719 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4720 NULL_TREE
, yyvsp
[-3].itype
);
4721 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4724 #line 1039 "parse.y"
4725 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-4].itype
);
4726 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4729 #line 1042 "parse.y"
4730 { yyval
.ttype
= build_new (yyvsp
[-3].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-4].itype
);
4731 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4734 #line 1045 "parse.y"
4735 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4736 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4739 #line 1049 "parse.y"
4740 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4743 #line 1051 "parse.y"
4744 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4745 if (yychar
== YYEMPTY
)
4749 #line 1055 "parse.y"
4750 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4751 if (yychar
== YYEMPTY
)
4755 #line 1059 "parse.y"
4756 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4759 #line 1061 "parse.y"
4760 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4763 #line 1066 "parse.y"
4764 { yyval
.itype
= begin_new_placement (); ;
4767 #line 1068 "parse.y"
4768 { yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-3].itype
); ;
4771 #line 1070 "parse.y"
4772 { cp_pedwarn ("old style placement syntax, use () instead");
4773 yyval
.itype
= begin_new_placement (); ;
4776 #line 1073 "parse.y"
4777 { yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-3].itype
); ;
4780 #line 1078 "parse.y"
4781 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4784 #line 1080 "parse.y"
4785 { yyval
.ttype
= NULL_TREE
; ;
4788 #line 1082 "parse.y"
4790 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
4791 yyval
.ttype
= error_mark_node
;
4795 #line 1090 "parse.y"
4798 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4799 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
4800 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
4801 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
4803 yyval
.ttype
= yyvsp
[0].ttype
;
4807 #line 1104 "parse.y"
4808 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
4809 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4810 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4813 #line 1108 "parse.y"
4814 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
4815 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4816 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4819 #line 1116 "parse.y"
4820 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
4823 #line 1118 "parse.y"
4825 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
4826 nreverse (yyvsp
[-2].ttype
));
4828 pedwarn ("ANSI C++ forbids constructor-expressions");
4829 /* Indicate that this was a GNU C constructor expression. */
4830 TREE_HAS_CONSTRUCTOR (init
) = 1;
4832 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
4836 #line 1134 "parse.y"
4837 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4840 #line 1136 "parse.y"
4841 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
4844 #line 1138 "parse.y"
4845 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4848 #line 1140 "parse.y"
4849 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4852 #line 1142 "parse.y"
4853 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4856 #line 1144 "parse.y"
4857 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4860 #line 1146 "parse.y"
4861 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4864 #line 1148 "parse.y"
4865 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4868 #line 1150 "parse.y"
4869 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4872 #line 1152 "parse.y"
4873 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4876 #line 1154 "parse.y"
4877 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4880 #line 1156 "parse.y"
4881 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4884 #line 1158 "parse.y"
4885 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4888 #line 1160 "parse.y"
4889 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4892 #line 1162 "parse.y"
4893 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4896 #line 1164 "parse.y"
4897 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4900 #line 1166 "parse.y"
4901 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4904 #line 1168 "parse.y"
4905 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4908 #line 1170 "parse.y"
4909 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4912 #line 1172 "parse.y"
4913 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4916 #line 1174 "parse.y"
4917 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
4918 if (yyval
.ttype
!= error_mark_node
)
4919 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
4922 #line 1178 "parse.y"
4923 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
4926 #line 1180 "parse.y"
4927 { yyval
.ttype
= build_throw (NULL_TREE
); ;
4930 #line 1182 "parse.y"
4931 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
4934 #line 1200 "parse.y"
4935 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4938 #line 1209 "parse.y"
4939 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1); ;
4942 #line 1213 "parse.y"
4943 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4946 #line 1215 "parse.y"
4947 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4950 #line 1220 "parse.y"
4951 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4954 #line 1222 "parse.y"
4955 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4958 #line 1225 "parse.y"
4959 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4962 #line 1237 "parse.y"
4963 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
4966 #line 1239 "parse.y"
4967 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4970 #line 1241 "parse.y"
4971 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4974 #line 1246 "parse.y"
4975 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4978 #line 1248 "parse.y"
4979 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4982 #line 1256 "parse.y"
4983 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
4986 #line 1261 "parse.y"
4988 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
4989 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
4991 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
4995 #line 1270 "parse.y"
4997 if (processing_template_decl
)
4998 push_obstacks (&permanent_obstack
, &permanent_obstack
);
4999 yyval
.ttype
= combine_strings (yyval
.ttype
);
5000 if (processing_template_decl
)
5005 #line 1278 "parse.y"
5006 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5009 #line 1280 "parse.y"
5010 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5011 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5014 #line 1283 "parse.y"
5015 { yyval
.ttype
= error_mark_node
; ;
5018 #line 1285 "parse.y"
5019 { if (current_function_decl
== 0)
5021 error ("braced-group within expression allowed only inside a function");
5025 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5026 yyval
.ttype
= begin_stmt_expr ();
5030 #line 1295 "parse.y"
5031 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5034 #line 1297 "parse.y"
5035 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5038 #line 1299 "parse.y"
5039 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5042 #line 1301 "parse.y"
5043 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5046 #line 1303 "parse.y"
5047 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5050 #line 1305 "parse.y"
5051 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5054 #line 1308 "parse.y"
5055 { yyval
.ttype
= finish_this_expr (); ;
5058 #line 1310 "parse.y"
5060 tree type
= NULL_TREE
;
5061 tree id
= yyval
.ttype
;
5063 /* This is a C cast in C++'s `functional' notation. */
5064 if (yyvsp
[-1].ttype
== error_mark_node
)
5066 yyval
.ttype
= error_mark_node
;
5070 if (yyvsp
[-1].ttype
== NULL_TREE
)
5072 error ("cannot cast null list to type `%s'",
5073 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5074 yyval
.ttype
= error_mark_node
;
5079 /* type is not set! (mrs) */
5080 if (type
== error_mark_node
)
5081 yyval
.ttype
= error_mark_node
;
5085 if (id
== ridpointers
[(int) RID_CONST
])
5086 type
= build_type_variant (integer_type_node
, 1, 0);
5087 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5088 type
= build_type_variant (integer_type_node
, 0, 1);
5090 /* should not be able to get here (mrs) */
5091 else if (id
== ridpointers
[(int) RID_FRIEND
])
5093 error ("cannot cast expression to `friend' type");
5094 yyval
.ttype
= error_mark_node
;
5098 else my_friendly_abort (79);
5099 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5104 #line 1355 "parse.y"
5105 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5106 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5107 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5110 #line 1359 "parse.y"
5111 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5112 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5113 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5116 #line 1363 "parse.y"
5117 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5118 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5119 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5122 #line 1367 "parse.y"
5123 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5124 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5125 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5128 #line 1371 "parse.y"
5129 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5132 #line 1373 "parse.y"
5133 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5134 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5135 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5138 #line 1377 "parse.y"
5139 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5142 #line 1379 "parse.y"
5144 got_scope
= NULL_TREE
;
5145 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5146 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5148 yyval
.ttype
= yyvsp
[0].ttype
;
5152 #line 1387 "parse.y"
5153 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5156 #line 1389 "parse.y"
5157 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5160 #line 1391 "parse.y"
5161 { yyval
.ttype
= finish_globally_qualified_member_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5164 #line 1393 "parse.y"
5166 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5170 #line 1397 "parse.y"
5171 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5174 #line 1399 "parse.y"
5175 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5178 #line 1401 "parse.y"
5179 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5182 #line 1403 "parse.y"
5183 { if (processing_template_decl
)
5184 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5186 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5189 #line 1408 "parse.y"
5190 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5193 #line 1410 "parse.y"
5194 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5197 #line 1412 "parse.y"
5198 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5201 #line 1414 "parse.y"
5202 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5205 #line 1417 "parse.y"
5206 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5209 #line 1419 "parse.y"
5210 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5213 #line 1421 "parse.y"
5215 yyval
.ttype
= error_mark_node
;
5219 #line 1466 "parse.y"
5220 { yyval
.itype
= 0; ;
5223 #line 1468 "parse.y"
5224 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5227 #line 1473 "parse.y"
5228 { yyval
.itype
= 0; ;
5231 #line 1475 "parse.y"
5232 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5235 #line 1480 "parse.y"
5236 { yyval
.ttype
= boolean_true_node
; ;
5239 #line 1482 "parse.y"
5240 { yyval
.ttype
= boolean_false_node
; ;
5243 #line 1489 "parse.y"
5244 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5247 #line 1494 "parse.y"
5249 if (! current_function_parms_stored
)
5250 store_parm_decls ();
5252 /* Always keep the BLOCK node associated with the outermost
5253 pair of curley braces of a function. These are needed
5254 for correct operation of dwarfout.c. */
5259 #line 1507 "parse.y"
5260 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5263 #line 1509 "parse.y"
5265 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5266 got_object
= TREE_TYPE (yyval
.ttype
);
5270 #line 1517 "parse.y"
5272 resume_momentary (yyvsp
[-1].itype
);
5273 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5274 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5278 #line 1523 "parse.y"
5280 resume_momentary (yyvsp
[-1].itype
);
5281 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5285 #line 1528 "parse.y"
5286 { resume_momentary (yyvsp
[-1].itype
); ;
5289 #line 1530 "parse.y"
5291 shadow_tag (yyvsp
[-1].ftype
.t
);
5292 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5296 #line 1535 "parse.y"
5297 { warning ("empty declaration"); ;
5300 #line 1537 "parse.y"
5301 { pedantic
= yyvsp
[-1].itype
; ;
5304 #line 1551 "parse.y"
5305 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5306 NULL_TREE
, NULL_TREE
); ;
5309 #line 1554 "parse.y"
5310 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5314 #line 1561 "parse.y"
5315 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5316 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5319 #line 1564 "parse.y"
5320 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5321 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5324 #line 1567 "parse.y"
5325 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5326 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5329 #line 1570 "parse.y"
5330 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5331 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5334 #line 1573 "parse.y"
5335 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5336 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5339 #line 1589 "parse.y"
5340 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5341 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5344 #line 1592 "parse.y"
5345 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5346 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5349 #line 1595 "parse.y"
5350 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5351 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5354 #line 1598 "parse.y"
5355 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5356 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5359 #line 1601 "parse.y"
5360 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5361 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5364 #line 1604 "parse.y"
5365 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5366 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5367 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5370 #line 1611 "parse.y"
5371 { if (extra_warnings
)
5372 warning ("`%s' is not at beginning of declaration",
5373 IDENTIFIER_POINTER (yyval
.ttype
));
5374 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5377 #line 1616 "parse.y"
5378 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5381 #line 1618 "parse.y"
5382 { if (extra_warnings
)
5383 warning ("`%s' is not at beginning of declaration",
5384 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5385 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5388 #line 1623 "parse.y"
5389 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5392 #line 1625 "parse.y"
5393 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5396 #line 1635 "parse.y"
5397 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5400 #line 1637 "parse.y"
5401 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5404 #line 1639 "parse.y"
5405 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5406 TREE_STATIC (yyval
.ttype
) = 1; ;
5409 #line 1642 "parse.y"
5410 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5411 warning ("`%s' is not at beginning of declaration",
5412 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5413 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5414 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5417 #line 1648 "parse.y"
5418 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5421 #line 1650 "parse.y"
5422 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5425 #line 1661 "parse.y"
5426 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5427 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5430 #line 1664 "parse.y"
5431 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5432 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5435 #line 1667 "parse.y"
5436 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5437 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5440 #line 1670 "parse.y"
5441 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5442 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5445 #line 1676 "parse.y"
5446 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5449 #line 1678 "parse.y"
5450 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5453 #line 1688 "parse.y"
5454 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5457 #line 1690 "parse.y"
5458 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5461 #line 1692 "parse.y"
5462 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5463 yyval
.ftype
.new_type_flag
= 0; ;
5466 #line 1695 "parse.y"
5467 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5468 yyval
.ftype
.new_type_flag
= 0; ;
5471 #line 1698 "parse.y"
5472 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5474 yyval
.ftype
.new_type_flag
= 0;
5475 if (IS_AGGR_TYPE (type
))
5477 sorry ("sigof type specifier");
5478 yyval
.ftype
.t
= type
;
5482 error ("`sigof' applied to non-aggregate expression");
5483 yyval
.ftype
.t
= error_mark_node
;
5488 #line 1713 "parse.y"
5489 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5491 yyval
.ftype
.new_type_flag
= 0;
5492 if (IS_AGGR_TYPE (type
))
5494 sorry ("sigof type specifier");
5495 yyval
.ftype
.t
= type
;
5499 error("`sigof' applied to non-aggregate type");
5500 yyval
.ftype
.t
= error_mark_node
;
5505 #line 1733 "parse.y"
5506 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5509 #line 1735 "parse.y"
5510 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5513 #line 1756 "parse.y"
5514 { yyval
.ttype
= NULL_TREE
; ;
5517 #line 1758 "parse.y"
5518 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5521 #line 1763 "parse.y"
5522 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
5523 yyvsp
[-1].ttype
, prefix_attributes
); ;
5526 #line 1767 "parse.y"
5527 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5530 #line 1769 "parse.y"
5531 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
5532 yyvsp
[0].ttype
, prefix_attributes
);
5533 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5536 #line 1782 "parse.y"
5537 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
5538 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
5541 #line 1787 "parse.y"
5542 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1,
5543 LOOKUP_ONLYCONVERTING
);
5544 yyval
.itype
= yyvsp
[-2].itype
; ;
5547 #line 1791 "parse.y"
5549 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
5550 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5553 #line 1798 "parse.y"
5554 { yyval
.itype
= yyvsp
[0].itype
; ;
5557 #line 1802 "parse.y"
5558 { yyval
.itype
= yyvsp
[0].itype
; ;
5561 #line 1807 "parse.y"
5562 { /* Set things up as initdcl0_innards expects. */
5563 yyval
.ttype
= yyvsp
[-1].ttype
;
5564 yyvsp
[-1].ttype
= NULL_TREE
; ;
5567 #line 1811 "parse.y"
5571 #line 1813 "parse.y"
5573 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
5574 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5577 #line 1822 "parse.y"
5578 { yyval
.ttype
= NULL_TREE
; ;
5581 #line 1824 "parse.y"
5582 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5585 #line 1829 "parse.y"
5586 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5589 #line 1831 "parse.y"
5590 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5593 #line 1836 "parse.y"
5594 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5597 #line 1841 "parse.y"
5598 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5601 #line 1843 "parse.y"
5602 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5605 #line 1848 "parse.y"
5606 { yyval
.ttype
= NULL_TREE
; ;
5609 #line 1850 "parse.y"
5610 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5613 #line 1852 "parse.y"
5614 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5617 #line 1854 "parse.y"
5618 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5621 #line 1856 "parse.y"
5622 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5625 #line 1872 "parse.y"
5626 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5629 #line 1874 "parse.y"
5630 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5633 #line 1879 "parse.y"
5634 { yyval
.ttype
= NULL_TREE
; ;
5637 #line 1881 "parse.y"
5638 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5641 #line 1889 "parse.y"
5642 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5643 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5646 #line 1892 "parse.y"
5647 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
5648 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5651 #line 1895 "parse.y"
5652 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
5653 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5656 #line 1898 "parse.y"
5657 { yyval
.ttype
= NULL_TREE
; ;
5660 #line 1905 "parse.y"
5661 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5664 #line 1907 "parse.y"
5665 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5668 #line 1910 "parse.y"
5669 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5672 #line 1912 "parse.y"
5673 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
5676 #line 1914 "parse.y"
5677 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5680 #line 1919 "parse.y"
5681 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
5683 reinit_parse_for_function (); ;
5686 #line 1925 "parse.y"
5688 int nested
= (hack_decl_function_context
5689 (current_function_decl
) != NULL_TREE
);
5690 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
5691 process_next_inline (yyvsp
[-3].ttype
);
5695 #line 1932 "parse.y"
5696 { process_next_inline (yyvsp
[-2].ttype
); ;
5699 #line 1934 "parse.y"
5700 { process_next_inline (yyvsp
[-2].ttype
); ;
5703 #line 1946 "parse.y"
5704 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5707 #line 1948 "parse.y"
5708 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
5711 #line 1953 "parse.y"
5712 { do_pending_defargs (); ;
5715 #line 1955 "parse.y"
5716 { do_pending_defargs (); ;
5719 #line 1960 "parse.y"
5720 { yyvsp
[0].itype
= suspend_momentary ();
5721 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
5724 #line 1963 "parse.y"
5725 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5726 yyval
.ftype
.new_type_flag
= 1;
5727 resume_momentary ((int) yyvsp
[-4].itype
);
5728 check_for_missing_semicolon (yyvsp
[-3].ttype
); ;
5731 #line 1968 "parse.y"
5732 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
), NULL_TREE
);
5733 yyval
.ftype
.new_type_flag
= 1;
5734 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5737 #line 1972 "parse.y"
5738 { yyvsp
[0].itype
= suspend_momentary ();
5739 yyval
.ttype
= start_enum (make_anon_name ()); ;
5742 #line 1975 "parse.y"
5743 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
5744 resume_momentary ((int) yyvsp
[-5].itype
);
5745 check_for_missing_semicolon (yyvsp
[-3].ttype
);
5746 yyval
.ftype
.new_type_flag
= 1; ;
5749 #line 1980 "parse.y"
5750 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()), NULL_TREE
);
5751 yyval
.ftype
.new_type_flag
= 1;
5752 check_for_missing_semicolon (yyval
.ftype
.t
); ;
5755 #line 1984 "parse.y"
5756 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5757 yyval
.ftype
.new_type_flag
= 0; ;
5760 #line 1987 "parse.y"
5761 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5762 yyval
.ftype
.new_type_flag
= 0; ;
5765 #line 1990 "parse.y"
5766 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
5767 yyval
.ftype
.new_type_flag
= 0; ;
5770 #line 1995 "parse.y"
5774 if (yychar
== YYEMPTY
)
5776 semi
= yychar
== ';';
5778 yyval
.ttype
= finish_class_definition (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
5782 #line 2005 "parse.y"
5783 { finish_default_args (); ;
5786 #line 2007 "parse.y"
5787 { yyval
.ftype
.t
= yyvsp
[-3].ttype
;
5788 yyval
.ftype
.new_type_flag
= 1;
5789 begin_inline_definitions (); ;
5792 #line 2011 "parse.y"
5794 yyval
.ftype
.new_type_flag
= 0;
5795 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
5797 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
5798 yyval
.ftype
.t
= error_mark_node
;
5802 yyval
.ftype
.t
= yyvsp
[0].ttype
;
5803 /* struct B: public A; is not accepted by the WP grammar. */
5804 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
5805 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
5806 cp_error ("base clause without member specification for `%#T'",
5812 #line 2038 "parse.y"
5813 { if (pedantic
&& !in_system_header
)
5814 pedwarn ("comma at end of enumerator list"); ;
5817 #line 2045 "parse.y"
5818 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5821 #line 2047 "parse.y"
5822 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5825 #line 2049 "parse.y"
5826 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
5829 #line 2051 "parse.y"
5830 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5833 #line 2056 "parse.y"
5834 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5837 #line 2061 "parse.y"
5838 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5841 #line 2066 "parse.y"
5843 current_aggr
= yyvsp
[-2].ttype
;
5844 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5848 #line 2071 "parse.y"
5850 current_aggr
= yyvsp
[-3].ttype
;
5851 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5855 #line 2076 "parse.y"
5857 current_aggr
= yyvsp
[-2].ttype
;
5858 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
5862 #line 2081 "parse.y"
5863 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5866 #line 2083 "parse.y"
5867 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
5870 #line 2088 "parse.y"
5871 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 0); ;
5874 #line 2093 "parse.y"
5875 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5878 #line 2096 "parse.y"
5880 yyval
.ttype
= yyvsp
[-1].ttype
;
5882 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5886 #line 2102 "parse.y"
5888 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
5889 if (TREE_INT_CST_LOW (current_aggr
) == union_type
5890 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
5891 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
5892 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
5893 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
5894 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
5897 if (IS_AGGR_TYPE (yyval
.ttype
) && CLASSTYPE_USE_TEMPLATE (yyval
.ttype
))
5899 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval
.ttype
)
5900 && TYPE_SIZE (yyval
.ttype
) == NULL_TREE
)
5902 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval
.ttype
);
5903 if (processing_template_decl
)
5904 push_template_decl (TYPE_MAIN_DECL (yyval
.ttype
));
5906 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval
.ttype
))
5907 cp_error ("specialization after instantiation of `%T'", yyval
.ttype
);
5909 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
5914 #line 2131 "parse.y"
5915 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), NULL_TREE
, 0);
5916 yyungetc ('{', 1); ;
5919 #line 2142 "parse.y"
5920 { yyval
.ttype
= NULL_TREE
; ;
5923 #line 2144 "parse.y"
5924 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
5927 #line 2146 "parse.y"
5928 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5931 #line 2152 "parse.y"
5932 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5935 #line 2157 "parse.y"
5937 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
5938 if (! is_aggr_type (type
, 1))
5939 yyval
.ttype
= NULL_TREE
;
5940 else if (current_aggr
== signature_type_node
5941 && (! type
) && (! IS_SIGNATURE (type
)))
5943 error ("class name not allowed as base signature");
5944 yyval
.ttype
= NULL_TREE
;
5946 else if (current_aggr
== signature_type_node
)
5948 sorry ("signature inheritance, base type `%s' ignored",
5949 IDENTIFIER_POINTER (yyval
.ttype
));
5950 yyval
.ttype
= build_tree_list (access_public_node
, type
);
5952 else if (type
&& IS_SIGNATURE (type
))
5954 error ("signature name not allowed as base class");
5955 yyval
.ttype
= NULL_TREE
;
5958 yyval
.ttype
= build_tree_list (access_default_node
, type
);
5962 #line 2182 "parse.y"
5964 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
5965 if (current_aggr
== signature_type_node
)
5966 error ("access and source specifiers not allowed in signature");
5967 if (! IS_AGGR_TYPE (type
))
5968 yyval
.ttype
= NULL_TREE
;
5969 else if (current_aggr
== signature_type_node
5970 && (! type
) && (! IS_SIGNATURE (type
)))
5972 error ("class name not allowed as base signature");
5973 yyval
.ttype
= NULL_TREE
;
5975 else if (current_aggr
== signature_type_node
)
5977 sorry ("signature inheritance, base type `%s' ignored",
5978 IDENTIFIER_POINTER (yyval
.ttype
));
5979 yyval
.ttype
= build_tree_list (access_public_node
, type
);
5981 else if (type
&& IS_SIGNATURE (type
))
5983 error ("signature name not allowed as base class");
5984 yyval
.ttype
= NULL_TREE
;
5987 yyval
.ttype
= build_tree_list (yyval
.ttype
, type
);
5991 #line 2212 "parse.y"
5992 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
5995 #line 2215 "parse.y"
5997 if (current_aggr
== signature_type_node
)
5999 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6001 sorry ("`sigof' as base signature specifier");
6002 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6006 error ("`sigof' applied to non-aggregate expression");
6007 yyval
.ttype
= error_mark_node
;
6012 error ("`sigof' in struct or class declaration");
6013 yyval
.ttype
= error_mark_node
;
6018 #line 2236 "parse.y"
6020 if (current_aggr
== signature_type_node
)
6022 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6024 sorry ("`sigof' as base signature specifier");
6025 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6029 error ("`sigof' applied to non-aggregate expression");
6030 yyval
.ttype
= error_mark_node
;
6035 error ("`sigof' in struct or class declaration");
6036 yyval
.ttype
= error_mark_node
;
6041 #line 2261 "parse.y"
6042 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6043 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6044 yyval
.ttype
= access_default_virtual_node
; ;
6047 #line 2265 "parse.y"
6049 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6050 error ("multiple access specifiers");
6051 else if (yyvsp
[-1].ttype
== access_public_node
)
6052 yyval
.ttype
= access_public_virtual_node
;
6053 else if (yyvsp
[-1].ttype
== access_protected_node
)
6054 yyval
.ttype
= access_protected_virtual_node
;
6055 else /* $2 == access_private_node */
6056 yyval
.ttype
= access_private_virtual_node
;
6060 #line 2276 "parse.y"
6061 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6062 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6063 else if (yyval
.ttype
== access_public_node
)
6064 yyval
.ttype
= access_public_virtual_node
;
6065 else if (yyval
.ttype
== access_protected_node
)
6066 yyval
.ttype
= access_protected_virtual_node
;
6067 else if (yyval
.ttype
== access_private_node
)
6068 yyval
.ttype
= access_private_virtual_node
;
6070 error ("multiple `virtual' specifiers");
6074 #line 2291 "parse.y"
6075 { yyvsp
[-1].ttype
= begin_class_definition (yyvsp
[-1].ttype
); ;
6078 #line 2296 "parse.y"
6080 yyval
.ttype
= build_self_reference ();
6084 #line 2303 "parse.y"
6085 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6088 #line 2305 "parse.y"
6090 if (current_aggr
== signature_type_node
)
6091 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6093 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6094 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6098 #line 2313 "parse.y"
6100 tree visspec
= yyvsp
[-2].ttype
;
6102 if (current_aggr
== signature_type_node
)
6104 error ("access specifier not allowed in signature");
6105 visspec
= access_public_node
;
6107 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6111 #line 2324 "parse.y"
6113 if (current_aggr
== signature_type_node
)
6114 error ("access specifier not allowed in signature");
6118 #line 2334 "parse.y"
6119 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6123 #line 2337 "parse.y"
6124 { /* In pushdecl, we created a reverse list of names
6125 in this binding level. Make sure that the chain
6126 of what we're trying to add isn't the item itself
6127 (which can happen with what pushdecl's doing). */
6128 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6130 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6131 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6133 yyval
.ttype
= yyvsp
[0].ttype
;
6138 #line 2353 "parse.y"
6142 #line 2355 "parse.y"
6143 { error ("missing ';' before right brace");
6144 yyungetc ('}', 0); ;
6147 #line 2360 "parse.y"
6148 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6151 #line 2362 "parse.y"
6152 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6155 #line 2364 "parse.y"
6156 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6159 #line 2366 "parse.y"
6160 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6163 #line 2368 "parse.y"
6164 { yyval
.ttype
= NULL_TREE
; ;
6167 #line 2370 "parse.y"
6168 { yyval
.ttype
= yyvsp
[0].ttype
;
6169 pedantic
= yyvsp
[-1].itype
; ;
6172 #line 2373 "parse.y"
6173 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6176 #line 2375 "parse.y"
6178 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
6179 grok_x_components (yyvsp
[-1].ftype
.t
, NULL_TREE
);
6180 if (TYPE_CONTEXT (TREE_VALUE (yyvsp
[-1].ftype
.t
)) != current_class_type
)
6181 /* The component was in fact a friend
6183 yyvsp
[-1].ftype
.t
= NULL_TREE
;
6184 yyval
.ttype
= finish_member_template_decl (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
);
6188 #line 2391 "parse.y"
6189 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6192 #line 2393 "parse.y"
6193 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6196 #line 2395 "parse.y"
6197 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6198 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6201 #line 2398 "parse.y"
6202 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6203 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6206 #line 2401 "parse.y"
6207 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6210 #line 2403 "parse.y"
6211 { yyval
.ttype
= NULL_TREE
; ;
6214 #line 2414 "parse.y"
6215 { tree specs
, attrs
;
6216 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6217 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6218 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6221 #line 2419 "parse.y"
6222 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6223 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6226 #line 2422 "parse.y"
6227 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6230 #line 2428 "parse.y"
6231 { yyval
.ttype
= NULL_TREE
; ;
6234 #line 2431 "parse.y"
6236 /* In this context, void_type_node encodes
6237 friends. They have been recorded elsewhere. */
6238 if (yyval
.ttype
== void_type_node
)
6239 yyval
.ttype
= yyvsp
[0].ttype
;
6241 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6245 #line 2443 "parse.y"
6246 { yyval
.ttype
= NULL_TREE
; ;
6249 #line 2446 "parse.y"
6251 /* In this context, void_type_node encodes
6252 friends. They have been recorded elsewhere. */
6253 if (yyval
.ttype
== void_type_node
)
6254 yyval
.ttype
= yyvsp
[0].ttype
;
6256 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6260 #line 2468 "parse.y"
6261 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6262 &prefix_attributes
);
6263 yyvsp
[-4].ttype
= current_declspecs
;
6264 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6265 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6268 #line 2474 "parse.y"
6269 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6270 &prefix_attributes
);
6271 yyvsp
[-4].ttype
= current_declspecs
;
6272 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6273 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6276 #line 2483 "parse.y"
6277 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6278 &prefix_attributes
);
6279 yyvsp
[-4].ttype
= current_declspecs
;
6280 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6281 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6284 #line 2489 "parse.y"
6285 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6286 &prefix_attributes
);
6287 yyvsp
[-4].ttype
= current_declspecs
;
6288 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6289 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6292 #line 2495 "parse.y"
6293 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6294 &prefix_attributes
);
6295 yyvsp
[-4].ttype
= current_declspecs
;
6296 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6297 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6300 #line 2501 "parse.y"
6301 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6302 &prefix_attributes
);
6303 yyvsp
[-3].ttype
= current_declspecs
;
6304 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6305 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6308 #line 2510 "parse.y"
6309 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6310 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6313 #line 2513 "parse.y"
6314 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6315 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6318 #line 2519 "parse.y"
6319 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6320 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6323 #line 2522 "parse.y"
6324 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6325 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6328 #line 2525 "parse.y"
6329 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6330 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6333 #line 2536 "parse.y"
6334 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6337 #line 2541 "parse.y"
6338 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
); ;
6341 #line 2543 "parse.y"
6342 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
); ;
6345 #line 2549 "parse.y"
6346 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6347 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6350 #line 2552 "parse.y"
6351 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6352 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6355 #line 2557 "parse.y"
6358 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6359 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6360 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6361 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6365 #line 2568 "parse.y"
6366 { yyval
.ttype
= NULL_TREE
; ;
6369 #line 2570 "parse.y"
6370 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6373 #line 2575 "parse.y"
6374 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6375 yyval
.ftype
.new_type_flag
= 0; ;
6378 #line 2578 "parse.y"
6379 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6380 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6383 #line 2587 "parse.y"
6384 { yyval
.itype
= suspend_momentary (); ;
6387 #line 2592 "parse.y"
6388 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6391 #line 2598 "parse.y"
6392 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6395 #line 2600 "parse.y"
6396 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6399 #line 2602 "parse.y"
6400 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6403 #line 2604 "parse.y"
6404 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6407 #line 2611 "parse.y"
6408 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6411 #line 2613 "parse.y"
6412 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6415 #line 2615 "parse.y"
6416 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6419 #line 2617 "parse.y"
6420 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6423 #line 2619 "parse.y"
6424 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6425 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6429 #line 2627 "parse.y"
6431 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6433 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6434 if (current_class_type
6435 && TYPE_BEING_DEFINED (current_class_type
)
6436 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6438 /* Remember that this name has been used in the class
6439 definition, as per [class.scope0] */
6440 pushdecl_class_level (yyval
.ttype
);
6444 yyval
.ttype
= yyvsp
[0].ttype
;
6448 #line 2644 "parse.y"
6450 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6451 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6453 yyval
.ttype
= yyvsp
[0].ttype
;
6454 got_scope
= NULL_TREE
;
6458 #line 2657 "parse.y"
6459 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6462 #line 2662 "parse.y"
6463 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6466 #line 2667 "parse.y"
6467 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6470 #line 2669 "parse.y"
6471 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6474 #line 2671 "parse.y"
6475 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6478 #line 2673 "parse.y"
6479 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6482 #line 2675 "parse.y"
6483 { push_nested_class (yyvsp
[-1].ttype
, 3);
6484 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6485 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6488 #line 2686 "parse.y"
6489 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6492 #line 2688 "parse.y"
6493 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6496 #line 2690 "parse.y"
6497 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6500 #line 2692 "parse.y"
6501 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6504 #line 2694 "parse.y"
6505 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6506 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6510 #line 2702 "parse.y"
6511 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6514 #line 2704 "parse.y"
6515 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6518 #line 2706 "parse.y"
6519 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6522 #line 2708 "parse.y"
6523 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6526 #line 2710 "parse.y"
6527 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6528 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6532 #line 2718 "parse.y"
6533 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6536 #line 2720 "parse.y"
6537 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6540 #line 2722 "parse.y"
6541 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6544 #line 2724 "parse.y"
6545 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6548 #line 2726 "parse.y"
6549 { if (OP0 (yyval
.ttype
) != current_class_type
)
6551 push_nested_class (OP0 (yyval
.ttype
), 3);
6552 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
6557 #line 2733 "parse.y"
6558 { got_scope
= NULL_TREE
;
6559 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6560 if (yyvsp
[-1].ttype
!= current_class_type
)
6562 push_nested_class (yyvsp
[-1].ttype
, 3);
6563 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
6568 #line 2745 "parse.y"
6569 { got_scope
= NULL_TREE
;
6570 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6573 #line 2748 "parse.y"
6574 { got_scope
= NULL_TREE
;
6575 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6578 #line 2754 "parse.y"
6579 { got_scope
= NULL_TREE
;
6580 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6583 #line 2757 "parse.y"
6584 { got_scope
= NULL_TREE
;
6585 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6588 #line 2764 "parse.y"
6589 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6592 #line 2769 "parse.y"
6593 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6596 #line 2771 "parse.y"
6597 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6600 #line 2773 "parse.y"
6601 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6604 #line 2785 "parse.y"
6605 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6608 #line 2787 "parse.y"
6609 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6612 #line 2794 "parse.y"
6614 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6616 yyval
.ttype
= lastiddecl
;
6617 /* Remember that this name has been used in the class
6618 definition, as per [class.scope0] */
6619 if (current_class_type
6620 && TYPE_BEING_DEFINED (current_class_type
)
6621 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
6622 pushdecl_class_level (yyval
.ttype
);
6624 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6628 #line 2808 "parse.y"
6630 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6631 yyval
.ttype
= lastiddecl
;
6632 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6636 #line 2814 "parse.y"
6638 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6639 yyval
.ttype
= lastiddecl
;
6640 got_scope
= yyval
.ttype
;
6644 #line 2820 "parse.y"
6645 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
6648 #line 2836 "parse.y"
6649 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6652 #line 2841 "parse.y"
6654 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6655 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6656 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6657 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6660 yyval
.ttype
= yyvsp
[0].ttype
;
6661 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6662 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6667 #line 2854 "parse.y"
6668 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
6671 #line 2856 "parse.y"
6672 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6675 #line 2858 "parse.y"
6676 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6679 #line 2863 "parse.y"
6681 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6682 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6686 #line 2868 "parse.y"
6688 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6689 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6690 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6691 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6694 yyval
.ttype
= yyvsp
[0].ttype
;
6695 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6696 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6701 #line 2881 "parse.y"
6702 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6705 #line 2883 "parse.y"
6706 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6709 #line 2888 "parse.y"
6711 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6712 yyvsp
[-1].ttype
= lastiddecl
;
6714 /* Retrieve the type for the identifier, which might involve
6715 some computation. */
6716 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
6718 if (yyval
.ttype
== error_mark_node
)
6719 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
6723 #line 2900 "parse.y"
6725 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
6726 yyval
.ttype
= lastiddecl
;
6727 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
6731 #line 2906 "parse.y"
6732 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
6735 #line 2910 "parse.y"
6737 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6738 yyval
.ttype
= lastiddecl
;
6739 got_scope
= yyval
.ttype
;
6743 #line 2919 "parse.y"
6744 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6747 #line 2924 "parse.y"
6749 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6750 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6752 yyval
.ttype
= yyvsp
[0].ttype
;
6753 got_scope
= NULL_TREE
;
6757 #line 2933 "parse.y"
6758 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6761 #line 2938 "parse.y"
6762 { got_scope
= NULL_TREE
; ;
6765 #line 2940 "parse.y"
6766 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
6769 #line 2947 "parse.y"
6770 { got_scope
= void_type_node
; ;
6773 #line 2953 "parse.y"
6774 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6777 #line 2955 "parse.y"
6778 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6781 #line 2957 "parse.y"
6782 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6785 #line 2959 "parse.y"
6786 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
6789 #line 2961 "parse.y"
6790 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
6791 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
6795 #line 2965 "parse.y"
6796 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6797 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6801 #line 2974 "parse.y"
6802 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6805 #line 2976 "parse.y"
6806 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6809 #line 2982 "parse.y"
6810 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6813 #line 2984 "parse.y"
6814 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6817 #line 2986 "parse.y"
6818 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
6821 #line 2988 "parse.y"
6822 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
6825 #line 2990 "parse.y"
6826 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6829 #line 2992 "parse.y"
6830 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6833 #line 2994 "parse.y"
6834 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
6837 #line 2996 "parse.y"
6838 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
6841 #line 2998 "parse.y"
6842 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
6843 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
6847 #line 3002 "parse.y"
6848 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6849 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6853 #line 3011 "parse.y"
6854 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6857 #line 3015 "parse.y"
6858 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6861 #line 3017 "parse.y"
6862 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6865 #line 3019 "parse.y"
6866 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6869 #line 3021 "parse.y"
6870 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6873 #line 3023 "parse.y"
6874 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6877 #line 3025 "parse.y"
6878 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6881 #line 3027 "parse.y"
6882 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6885 #line 3029 "parse.y"
6886 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6889 #line 3031 "parse.y"
6890 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
6893 #line 3054 "parse.y"
6895 pedwarn ("ANSI C++ forbids label declarations"); ;
6898 #line 3065 "parse.y"
6900 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
6902 tree label
= shadow_label (TREE_VALUE (link
));
6903 C_DECLARED_LABEL_FLAG (label
) = 1;
6904 declare_nonlocal_label (label
);
6909 #line 3079 "parse.y"
6913 #line 3085 "parse.y"
6914 { yyval
.ttype
= begin_compound_stmt (0); ;
6917 #line 3087 "parse.y"
6918 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
6921 #line 3092 "parse.y"
6923 yyval
.ttype
= begin_if_stmt ();
6924 cond_stmt_keyword
= "if";
6928 #line 3097 "parse.y"
6929 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6932 #line 3099 "parse.y"
6933 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
6936 #line 3104 "parse.y"
6937 { yyval
.ttype
= begin_compound_stmt (0); ;
6940 #line 3106 "parse.y"
6941 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
6944 #line 3111 "parse.y"
6948 #line 3117 "parse.y"
6952 #line 3119 "parse.y"
6953 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
6956 #line 3121 "parse.y"
6957 { begin_else_clause (); ;
6960 #line 3123 "parse.y"
6962 finish_else_clause (yyvsp
[-3].ttype
);
6967 #line 3128 "parse.y"
6968 { finish_if_stmt (); ;
6971 #line 3130 "parse.y"
6973 yyval
.ttype
= begin_while_stmt ();
6974 cond_stmt_keyword
= "while";
6978 #line 3135 "parse.y"
6979 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6982 #line 3137 "parse.y"
6983 { finish_while_stmt (yyvsp
[-3].ttype
); ;
6986 #line 3139 "parse.y"
6987 { yyval
.ttype
= begin_do_stmt (); ;
6990 #line 3141 "parse.y"
6992 finish_do_body (yyvsp
[-2].ttype
);
6993 cond_stmt_keyword
= "do";
6997 #line 3146 "parse.y"
6998 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7001 #line 3148 "parse.y"
7002 { yyval
.ttype
= begin_for_stmt (); ;
7005 #line 3150 "parse.y"
7006 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7009 #line 3152 "parse.y"
7010 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7013 #line 3154 "parse.y"
7014 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7017 #line 3156 "parse.y"
7018 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7021 #line 3158 "parse.y"
7022 { begin_switch_stmt (); ;
7025 #line 3160 "parse.y"
7026 { yyval
.ttype
= finish_switch_cond (yyvsp
[-1].ttype
); ;
7029 #line 3162 "parse.y"
7030 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7033 #line 3164 "parse.y"
7034 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7037 #line 3167 "parse.y"
7038 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7041 #line 3170 "parse.y"
7042 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7045 #line 3173 "parse.y"
7046 { finish_break_stmt (); ;
7049 #line 3175 "parse.y"
7050 { finish_continue_stmt (); ;
7053 #line 3177 "parse.y"
7054 { finish_return_stmt (NULL_TREE
); ;
7057 #line 3179 "parse.y"
7058 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7061 #line 3181 "parse.y"
7063 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7068 #line 3187 "parse.y"
7070 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7075 #line 3193 "parse.y"
7076 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7079 #line 3197 "parse.y"
7080 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7083 #line 3199 "parse.y"
7086 pedwarn ("ANSI C++ forbids computed gotos");
7087 finish_goto_stmt (yyvsp
[-1].ttype
);
7091 #line 3205 "parse.y"
7092 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7095 #line 3207 "parse.y"
7099 #line 3209 "parse.y"
7100 { error ("label must be followed by statement");
7105 #line 3213 "parse.y"
7109 #line 3219 "parse.y"
7111 if (! current_function_parms_stored
)
7112 store_parm_decls ();
7113 expand_start_early_try_stmts ();
7117 #line 3225 "parse.y"
7119 expand_start_all_catch ();
7120 expand_start_catch (NULL
);
7124 #line 3230 "parse.y"
7126 int nested
= (hack_decl_function_context
7127 (current_function_decl
) != NULL_TREE
);
7128 expand_end_all_catch ();
7129 expand_end_catch ();
7130 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7134 #line 3241 "parse.y"
7135 { yyval
.ttype
= begin_try_block (); ;
7138 #line 3243 "parse.y"
7139 { finish_try_block (yyvsp
[-1].ttype
); ;
7142 #line 3245 "parse.y"
7143 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7146 #line 3255 "parse.y"
7147 { yyval
.ttype
= begin_handler(); ;
7150 #line 3257 "parse.y"
7151 { finish_handler_parms (yyvsp
[-1].ttype
); ;
7154 #line 3259 "parse.y"
7155 { finish_handler (yyvsp
[-3].ttype
); ;
7158 #line 3269 "parse.y"
7159 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7162 #line 3285 "parse.y"
7163 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7164 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7165 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7168 #line 3292 "parse.y"
7171 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7172 if (label
&& ! minimal_parse_mode
)
7173 expand_label (label
);
7177 #line 3299 "parse.y"
7181 #line 3301 "parse.y"
7185 #line 3303 "parse.y"
7189 #line 3308 "parse.y"
7190 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7193 #line 3311 "parse.y"
7195 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7199 #line 3320 "parse.y"
7200 { emit_line_note (input_filename
, lineno
);
7201 yyval
.ttype
= NULL_TREE
; ;
7204 #line 3323 "parse.y"
7205 { emit_line_note (input_filename
, lineno
); ;
7208 #line 3328 "parse.y"
7209 { yyval
.ttype
= NULL_TREE
; ;
7212 #line 3331 "parse.y"
7213 { yyval
.ttype
= NULL_TREE
; ;
7216 #line 3338 "parse.y"
7217 { yyval
.ttype
= NULL_TREE
; ;
7220 #line 3345 "parse.y"
7221 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7224 #line 3350 "parse.y"
7225 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7228 #line 3355 "parse.y"
7229 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7232 #line 3357 "parse.y"
7233 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7236 #line 3368 "parse.y"
7238 yyval
.ttype
= empty_parms();
7242 #line 3373 "parse.y"
7243 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
7244 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7247 #line 3381 "parse.y"
7248 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7251 #line 3383 "parse.y"
7252 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7255 #line 3386 "parse.y"
7256 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7259 #line 3388 "parse.y"
7260 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7261 yyvsp
[-1].ftype
.t
), 1); ;
7264 #line 3391 "parse.y"
7265 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7268 #line 3393 "parse.y"
7270 /* This helps us recover from really nasty
7271 parse errors, for example, a missing right
7273 yyerror ("possibly missing ')'");
7274 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7280 #line 3403 "parse.y"
7282 /* This helps us recover from really nasty
7283 parse errors, for example, a missing right
7285 yyerror ("possibly missing ')'");
7286 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7287 yyvsp
[-1].ftype
.t
), 0);
7293 #line 3418 "parse.y"
7294 { maybe_snarf_defarg (); ;
7297 #line 3420 "parse.y"
7298 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7301 #line 3431 "parse.y"
7302 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7303 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7306 #line 3434 "parse.y"
7307 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7308 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7311 #line 3437 "parse.y"
7312 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7313 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7316 #line 3440 "parse.y"
7317 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7320 #line 3442 "parse.y"
7321 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7324 #line 3448 "parse.y"
7325 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7326 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7329 #line 3458 "parse.y"
7330 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7331 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7332 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7335 #line 3462 "parse.y"
7336 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7337 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7340 #line 3465 "parse.y"
7341 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
7342 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7345 #line 3468 "parse.y"
7346 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7347 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7348 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7351 #line 3472 "parse.y"
7352 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7353 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7354 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7357 #line 3476 "parse.y"
7358 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7359 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7360 yyval
.ftype
.new_type_flag
= 0; ;
7363 #line 3483 "parse.y"
7364 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7365 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7368 #line 3486 "parse.y"
7369 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7370 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7373 #line 3497 "parse.y"
7374 { see_typename (); ;
7377 #line 3502 "parse.y"
7379 error ("type specifier omitted for parameter");
7380 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7384 #line 3507 "parse.y"
7386 error ("type specifier omitted for parameter");
7387 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7388 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7389 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7390 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7391 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7395 #line 3519 "parse.y"
7396 { yyval
.ttype
= NULL_TREE
; ;
7399 #line 3521 "parse.y"
7400 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7403 #line 3523 "parse.y"
7404 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
7407 #line 3528 "parse.y"
7408 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
7411 #line 3534 "parse.y"
7413 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
7414 yyval
.ttype
= yyvsp
[0].ttype
;
7418 #line 3542 "parse.y"
7419 { yyval
.ttype
= NULL_TREE
; ;
7422 #line 3544 "parse.y"
7423 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7426 #line 3546 "parse.y"
7427 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7430 #line 3548 "parse.y"
7431 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7432 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7436 #line 3555 "parse.y"
7437 { got_scope
= NULL_TREE
; ;
7440 #line 3560 "parse.y"
7441 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
7444 #line 3562 "parse.y"
7445 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
7448 #line 3564 "parse.y"
7449 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
7452 #line 3566 "parse.y"
7453 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
7456 #line 3568 "parse.y"
7457 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
7460 #line 3570 "parse.y"
7461 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
7464 #line 3572 "parse.y"
7465 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
7468 #line 3574 "parse.y"
7469 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
7472 #line 3576 "parse.y"
7473 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
7476 #line 3578 "parse.y"
7477 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
7480 #line 3580 "parse.y"
7481 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7484 #line 3582 "parse.y"
7485 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
7488 #line 3584 "parse.y"
7489 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
7492 #line 3586 "parse.y"
7493 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7496 #line 3588 "parse.y"
7497 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
7500 #line 3590 "parse.y"
7501 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
7504 #line 3592 "parse.y"
7505 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7508 #line 3594 "parse.y"
7509 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7512 #line 3596 "parse.y"
7513 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
7516 #line 3598 "parse.y"
7517 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
7520 #line 3600 "parse.y"
7521 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
7524 #line 3602 "parse.y"
7525 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
7528 #line 3604 "parse.y"
7529 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
7532 #line 3606 "parse.y"
7533 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
7536 #line 3608 "parse.y"
7537 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7540 #line 3610 "parse.y"
7541 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
7544 #line 3612 "parse.y"
7545 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
7548 #line 3614 "parse.y"
7549 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
7552 #line 3616 "parse.y"
7553 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
7556 #line 3618 "parse.y"
7557 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
7560 #line 3620 "parse.y"
7561 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
7564 #line 3622 "parse.y"
7565 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
7568 #line 3624 "parse.y"
7569 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
7572 #line 3627 "parse.y"
7573 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7576 #line 3629 "parse.y"
7577 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
7580 /* the action file gets copied in in place of this dollarsign */
7581 #line 498 "/usr/lib/bison.simple"
7592 short *ssp1
= yyss
- 1;
7593 fprintf (stderr
, "state stack now");
7594 while (ssp1
!= yyssp
)
7595 fprintf (stderr
, " %d", *++ssp1
);
7596 fprintf (stderr
, "\n");
7606 yylsp
->first_line
= yylloc
.first_line
;
7607 yylsp
->first_column
= yylloc
.first_column
;
7608 yylsp
->last_line
= (yylsp
-1)->last_line
;
7609 yylsp
->last_column
= (yylsp
-1)->last_column
;
7614 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
7615 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
7619 /* Now "shift" the result of the reduction.
7620 Determine what state that goes to,
7621 based on the state we popped back to
7622 and the rule number reduced by. */
7626 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
7627 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
7628 yystate
= yytable
[yystate
];
7630 yystate
= yydefgoto
[yyn
- YYNTBASE
];
7634 yyerrlab
: /* here on detecting error */
7637 /* If not already recovering from an error, report this error. */
7641 #ifdef YYERROR_VERBOSE
7642 yyn
= yypact
[yystate
];
7644 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
7651 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7652 for (x
= (yyn
< 0 ? -yyn
: 0);
7653 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7654 if (yycheck
[x
+ yyn
] == x
)
7655 size
+= strlen(yytname
[x
]) + 15, count
++;
7656 msg
= (char *) malloc(size
+ 15);
7659 strcpy(msg
, "parse error");
7664 for (x
= (yyn
< 0 ? -yyn
: 0);
7665 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7666 if (yycheck
[x
+ yyn
] == x
)
7668 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
7669 strcat(msg
, yytname
[x
]);
7678 yyerror ("parse error; also virtual memory exceeded");
7681 #endif /* YYERROR_VERBOSE */
7682 yyerror("parse error");
7686 yyerrlab1
: /* here on error raised explicitly by an action */
7688 if (yyerrstatus
== 3)
7690 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7692 /* return failure if at end of input */
7693 if (yychar
== YYEOF
)
7698 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
7704 /* Else will try to reuse lookahead token
7705 after shifting the error token. */
7707 yyerrstatus
= 3; /* Each real token shifted decrements this */
7711 yyerrdefault
: /* current state does not do anything special for the error token. */
7714 /* This is wrong; only states that explicitly want error tokens
7715 should shift them. */
7716 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7717 if (yyn
) goto yydefault
;
7720 yyerrpop
: /* pop the current state because it cannot handle the error token */
7722 if (yyssp
== yyss
) YYABORT
;
7732 short *ssp1
= yyss
- 1;
7733 fprintf (stderr
, "Error: state stack now");
7734 while (ssp1
!= yyssp
)
7735 fprintf (stderr
, " %d", *++ssp1
);
7736 fprintf (stderr
, "\n");
7742 yyn
= yypact
[yystate
];
7747 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
7766 fprintf(stderr
, "Shifting error token, ");
7777 #line 3632 "parse.y"
7782 debug_yytranslate (value
)
7785 return yytname
[YYTRANSLATE (value
)];