2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
6 #define YYBISON 1 /* Identify Bison output. */
14 #define CV_QUALIFIER 264
32 #define ASM_KEYWORD 282
33 #define GCC_ASM_KEYWORD 283
51 #define TYPENAME_KEYWORD 301
53 #define LEFT_RIGHT 303
56 #define DYNAMIC_CAST 306
57 #define STATIC_CAST 307
58 #define REINTERPRET_CAST 308
59 #define CONST_CAST 309
70 #define ARITHCOMPARE 320
73 #define POINTSAT_STAR 323
77 #define MINUSMINUS 327
78 #define HYPERUNARY 328
79 #define PAREN_STAR_PAREN 329
83 #define TYPENAME_ELLIPSIS 333
84 #define PRE_PARSED_FUNCTION_DECL 334
85 #define EXTERN_LANG_STRING 335
87 #define PRE_PARSED_CLASS_DECL 337
89 #define DEFARG_MARKER 339
90 #define TYPENAME_DEFN 340
91 #define IDENTIFIER_DEFN 341
92 #define PTYPENAME_DEFN 342
93 #define END_OF_LINE 343
94 #define END_OF_SAVED_INPUT 344
98 /* Cause the `yydebug' variable to be defined. */
114 /* Since parsers are distinct for each language, put the language string
115 definition here. (fnf) */
116 char *language_string
= "GNU C++";
118 extern tree void_list_node
;
119 extern struct obstack permanent_obstack
;
125 extern int end_of_file
;
126 extern int current_class_depth
;
128 /* Like YYERROR but do call yyerror. */
129 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
131 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
132 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
134 /* Contains the statement keyword (if/while/do) to include in an
135 error message if the user supplies an empty conditional expression. */
136 static char *cond_stmt_keyword
;
138 static tree empty_parms
PROTO((void));
140 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
141 int have_extern_spec
;
142 int used_extern_spec
;
144 /* Cons up an empty parameter list. */
154 || current_class_type
!= NULL
)
155 parms
= void_list_node
;
163 typedef union {long itype
; tree ttype
; char *strtype
; enum tree_code code
; flagged_type_tree ftype
; } YYSTYPE
;
166 /* List of types and structure classes of the current declaration. */
167 static tree current_declspecs
= NULL_TREE
;
168 /* List of prefix attributes in effect.
169 Prefix attributes are parsed by the reserved_declspecs and declmods
170 rules. They create a list that contains *both* declspecs and attrs. */
171 /* ??? It is not clear yet that all cases where an attribute can now appear in
172 a declspec list have been updated. */
173 static tree prefix_attributes
= NULL_TREE
;
175 /* When defining an aggregate, this is the most recent one being defined. */
176 static tree current_aggr
;
178 /* Tell yyparse how to print a token's value, if yydebug is set. */
180 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
181 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
182 extern tree combine_strings
PROTO((tree
));
185 parse_decl(declarator
, specs_attrs
, attributes
, initialized
, decl
)
194 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
195 if (current_declspecs
196 && TREE_CODE (current_declspecs
) != TREE_LIST
)
197 current_declspecs
= get_decl_list (current_declspecs
);
198 if (have_extern_spec
&& !used_extern_spec
)
200 current_declspecs
= decl_tree_cons (NULL_TREE
,
201 get_identifier ("extern"),
203 used_extern_spec
= 1;
205 sm
= suspend_momentary ();
206 *decl
= start_decl (declarator
, current_declspecs
, initialized
);
207 cplus_decl_attributes (*decl
, attributes
, prefix_attributes
);
221 #define YYFLAG -32768
224 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 390)
226 static const char yytranslate
[] = { 0,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
230 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
231 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
233 65, 76, 66, 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 95, 2, 113, 70, 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, 59, 69, 111, 89, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
247 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
248 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
249 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
250 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
251 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
252 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
253 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
254 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
255 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
256 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
257 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
258 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
259 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
260 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
265 static const short yyprhs
[] = { 0,
266 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
267 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
268 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
269 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
270 119, 123, 125, 129, 131, 132, 135, 138, 142, 144,
271 148, 150, 154, 156, 160, 163, 166, 169, 173, 177,
272 180, 183, 186, 189, 192, 194, 196, 198, 199, 201,
273 204, 205, 207, 212, 216, 220, 221, 230, 236, 237,
274 247, 254, 255, 264, 270, 271, 281, 288, 291, 294,
275 296, 299, 301, 308, 313, 320, 325, 328, 330, 333,
276 336, 338, 341, 343, 346, 349, 354, 357, 361, 362,
277 363, 365, 369, 372, 376, 378, 383, 386, 391, 394,
278 399, 402, 404, 406, 408, 410, 412, 414, 416, 418,
279 420, 422, 424, 425, 432, 433, 440, 441, 447, 448,
280 454, 455, 463, 464, 472, 473, 480, 481, 488, 489,
281 490, 495, 500, 502, 507, 509, 511, 512, 514, 516,
282 520, 522, 524, 526, 528, 530, 532, 534, 536, 538,
283 540, 544, 546, 550, 551, 553, 555, 556, 564, 566,
284 568, 572, 577, 581, 582, 586, 588, 592, 596, 600,
285 604, 606, 608, 610, 613, 616, 619, 622, 625, 628,
286 631, 636, 639, 644, 647, 651, 655, 660, 665, 671,
287 677, 684, 687, 692, 698, 701, 704, 708, 712, 716,
288 718, 722, 725, 729, 734, 736, 739, 745, 747, 751,
289 755, 759, 763, 767, 771, 775, 779, 783, 787, 791,
290 795, 799, 803, 807, 811, 815, 819, 823, 829, 833,
291 837, 839, 842, 846, 848, 850, 852, 854, 856, 857,
292 863, 869, 875, 881, 887, 889, 891, 893, 895, 898,
293 901, 905, 910, 915, 917, 919, 921, 925, 927, 929,
294 931, 933, 937, 941, 945, 946, 951, 956, 959, 964,
295 967, 970, 972, 977, 979, 987, 995, 1003, 1011, 1016,
296 1021, 1024, 1027, 1029, 1034, 1037, 1040, 1046, 1050, 1053,
297 1056, 1062, 1066, 1072, 1076, 1081, 1088, 1091, 1093, 1096,
298 1098, 1101, 1103, 1105, 1107, 1110, 1111, 1114, 1117, 1121,
299 1125, 1129, 1132, 1135, 1138, 1140, 1142, 1144, 1147, 1150,
300 1153, 1156, 1158, 1160, 1162, 1164, 1167, 1170, 1174, 1178,
301 1182, 1187, 1189, 1192, 1195, 1198, 1200, 1202, 1204, 1207,
302 1210, 1213, 1215, 1217, 1220, 1223, 1227, 1229, 1232, 1234,
303 1236, 1238, 1243, 1248, 1253, 1258, 1260, 1262, 1264, 1266,
304 1270, 1272, 1276, 1278, 1282, 1283, 1288, 1289, 1296, 1300,
305 1301, 1307, 1310, 1313, 1316, 1317, 1321, 1325, 1326, 1328,
306 1330, 1333, 1340, 1342, 1346, 1347, 1349, 1354, 1361, 1366,
307 1368, 1370, 1372, 1374, 1376, 1380, 1381, 1384, 1386, 1389,
308 1393, 1398, 1400, 1402, 1406, 1411, 1415, 1421, 1423, 1428,
309 1432, 1436, 1437, 1441, 1445, 1449, 1450, 1453, 1456, 1457,
310 1465, 1470, 1471, 1478, 1482, 1485, 1488, 1491, 1492, 1493,
311 1503, 1505, 1506, 1508, 1509, 1511, 1513, 1516, 1519, 1522,
312 1525, 1528, 1531, 1535, 1540, 1544, 1547, 1551, 1552, 1554,
313 1558, 1561, 1564, 1566, 1568, 1569, 1572, 1576, 1578, 1583,
314 1585, 1589, 1591, 1593, 1598, 1603, 1606, 1609, 1613, 1617,
315 1619, 1620, 1622, 1625, 1630, 1634, 1636, 1639, 1642, 1645,
316 1648, 1651, 1654, 1657, 1659, 1662, 1665, 1669, 1672, 1675,
317 1680, 1685, 1688, 1690, 1696, 1701, 1703, 1704, 1706, 1710,
318 1711, 1713, 1717, 1719, 1721, 1723, 1725, 1730, 1735, 1740,
319 1745, 1750, 1754, 1759, 1764, 1769, 1774, 1778, 1780, 1784,
320 1786, 1790, 1793, 1795, 1802, 1803, 1806, 1808, 1811, 1812,
321 1815, 1820, 1825, 1828, 1833, 1837, 1841, 1844, 1847, 1851,
322 1853, 1855, 1858, 1860, 1862, 1865, 1868, 1873, 1878, 1882,
323 1886, 1889, 1891, 1895, 1899, 1902, 1905, 1909, 1911, 1915,
324 1919, 1922, 1925, 1929, 1931, 1936, 1940, 1945, 1949, 1951,
325 1954, 1957, 1960, 1963, 1966, 1968, 1971, 1976, 1981, 1984,
326 1986, 1988, 1990, 1992, 1995, 2000, 2003, 2006, 2009, 2012,
327 2014, 2017, 2020, 2023, 2026, 2030, 2032, 2035, 2039, 2044,
328 2047, 2050, 2053, 2056, 2059, 2062, 2067, 2070, 2072, 2075,
329 2078, 2082, 2084, 2088, 2091, 2095, 2098, 2101, 2105, 2107,
330 2111, 2116, 2120, 2123, 2126, 2128, 2132, 2135, 2138, 2140,
331 2143, 2147, 2149, 2153, 2155, 2162, 2167, 2172, 2176, 2182,
332 2186, 2190, 2194, 2197, 2199, 2201, 2204, 2207, 2210, 2211,
333 2212, 2213, 2215, 2217, 2220, 2224, 2226, 2229, 2230, 2236,
334 2237, 2238, 2245, 2247, 2248, 2253, 2255, 2257, 2259, 2262,
335 2263, 2264, 2271, 2273, 2274, 2275, 2283, 2284, 2285, 2293,
336 2294, 2295, 2296, 2297, 2312, 2313, 2314, 2324, 2325, 2331,
337 2332, 2340, 2341, 2346, 2349, 2352, 2355, 2359, 2366, 2375,
338 2386, 2399, 2404, 2408, 2411, 2414, 2416, 2418, 2419, 2420,
339 2427, 2428, 2429, 2435, 2437, 2440, 2441, 2442, 2443, 2452,
340 2454, 2456, 2460, 2464, 2467, 2470, 2473, 2476, 2479, 2481,
341 2484, 2485, 2487, 2488, 2490, 2492, 2493, 2495, 2497, 2501,
342 2506, 2508, 2512, 2513, 2515, 2517, 2519, 2522, 2525, 2528,
343 2530, 2532, 2535, 2538, 2541, 2544, 2545, 2549, 2551, 2553,
344 2555, 2558, 2561, 2564, 2569, 2572, 2575, 2578, 2581, 2584,
345 2587, 2589, 2592, 2594, 2597, 2599, 2601, 2602, 2603, 2605,
346 2606, 2611, 2614, 2616, 2618, 2622, 2623, 2627, 2631, 2635,
347 2637, 2640, 2643, 2646, 2649, 2652, 2655, 2658, 2661, 2664,
348 2667, 2670, 2673, 2676, 2679, 2682, 2685, 2688, 2691, 2694,
349 2697, 2700, 2703, 2706, 2710, 2713, 2716, 2719, 2722, 2726,
350 2729, 2732, 2737, 2742, 2746
353 static const short yyrhs
[] = { -1,
354 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
355 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
356 0, 123, 124, 0, 142, 141, 0, 138, 0, 137,
357 0, 121, 94, 208, 110, 61, 0, 129, 59, 117,
358 111, 0, 129, 118, 142, 119, 141, 0, 129, 118,
359 138, 119, 0, 0, 45, 157, 59, 125, 117, 111,
360 0, 0, 45, 59, 126, 117, 111, 0, 45, 157,
361 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
362 61, 0, 120, 124, 0, 47, 300, 0, 47, 314,
363 300, 0, 47, 314, 199, 0, 199, 0, 300, 0,
364 314, 300, 0, 314, 199, 0, 100, 0, 129, 100,
365 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
366 76, 0, 136, 0, 132, 60, 136, 0, 157, 0,
367 0, 257, 133, 0, 46, 133, 0, 130, 257, 133,
368 0, 134, 0, 134, 65, 214, 0, 381, 0, 381,
369 65, 194, 0, 135, 0, 135, 65, 176, 0, 130,
370 124, 0, 130, 1, 0, 225, 61, 0, 218, 224,
371 61, 0, 215, 223, 61, 0, 218, 61, 0, 160,
372 61, 0, 215, 61, 0, 1, 61, 0, 1, 111,
373 0, 61, 0, 209, 0, 153, 0, 0, 152, 0,
374 152, 61, 0, 0, 109, 0, 148, 140, 139, 326,
375 0, 148, 140, 351, 0, 148, 140, 1, 0, 0,
376 305, 5, 94, 144, 372, 110, 287, 384, 0, 305,
377 5, 48, 287, 384, 0, 0, 314, 305, 5, 94,
378 145, 372, 110, 287, 384, 0, 314, 305, 5, 48,
379 287, 384, 0, 0, 305, 172, 94, 146, 372, 110,
380 287, 384, 0, 305, 172, 48, 287, 384, 0, 0,
381 314, 305, 172, 94, 147, 372, 110, 287, 384, 0,
382 314, 305, 172, 48, 287, 384, 0, 215, 212, 0,
383 218, 297, 0, 297, 0, 218, 143, 0, 143, 0,
384 5, 94, 372, 110, 287, 384, 0, 5, 48, 287,
385 384, 0, 172, 94, 372, 110, 287, 384, 0, 172,
386 48, 287, 384, 0, 218, 149, 0, 149, 0, 215,
387 212, 0, 218, 297, 0, 297, 0, 218, 143, 0,
388 143, 0, 25, 3, 0, 151, 242, 0, 151, 94,
389 188, 110, 0, 151, 48, 0, 63, 154, 155, 0,
390 0, 0, 156, 0, 155, 60, 156, 0, 155, 1,
391 0, 94, 188, 110, 0, 48, 0, 158, 94, 188,
392 110, 0, 158, 48, 0, 293, 94, 188, 110, 0,
393 293, 48, 0, 307, 94, 188, 110, 0, 307, 48,
394 0, 3, 0, 4, 0, 5, 0, 57, 0, 58,
395 0, 3, 0, 57, 0, 58, 0, 106, 0, 105,
396 0, 107, 0, 0, 49, 169, 221, 61, 161, 170,
397 0, 0, 49, 169, 215, 212, 162, 170, 0, 0,
398 49, 169, 297, 163, 170, 0, 0, 49, 169, 143,
399 164, 170, 0, 0, 7, 49, 169, 221, 61, 165,
400 170, 0, 0, 7, 49, 169, 215, 212, 166, 170,
401 0, 0, 7, 49, 169, 297, 167, 170, 0, 0,
402 7, 49, 169, 143, 168, 170, 0, 0, 0, 57,
403 75, 174, 173, 0, 4, 75, 174, 173, 0, 172,
404 0, 5, 75, 174, 173, 0, 76, 0, 78, 0,
405 0, 175, 0, 176, 0, 175, 60, 176, 0, 214,
406 0, 194, 0, 80, 0, 79, 0, 87, 0, 88,
407 0, 112, 0, 187, 0, 194, 0, 48, 0, 94,
408 178, 110, 0, 48, 0, 94, 182, 110, 0, 0,
409 182, 0, 1, 0, 0, 362, 212, 226, 235, 65,
410 183, 243, 0, 178, 0, 111, 0, 323, 319, 111,
411 0, 323, 319, 1, 111, 0, 323, 1, 111, 0,
412 0, 59, 186, 184, 0, 335, 0, 194, 60, 194,
413 0, 194, 60, 1, 0, 187, 60, 194, 0, 187,
414 60, 1, 0, 194, 0, 187, 0, 203, 0, 120,
415 193, 0, 81, 193, 0, 71, 193, 0, 89, 193,
416 0, 177, 193, 0, 68, 157, 0, 13, 189, 0,
417 13, 94, 214, 110, 0, 30, 189, 0, 30, 94,
418 214, 110, 0, 205, 286, 0, 205, 286, 191, 0,
419 205, 190, 286, 0, 205, 190, 286, 191, 0, 205,
420 94, 214, 110, 0, 205, 94, 214, 110, 191, 0,
421 205, 190, 94, 214, 110, 0, 205, 190, 94, 214,
422 110, 191, 0, 206, 193, 0, 206, 95, 113, 193,
423 0, 206, 95, 178, 113, 193, 0, 35, 193, 0,
424 36, 193, 0, 94, 188, 110, 0, 59, 188, 111,
425 0, 94, 188, 110, 0, 48, 0, 94, 221, 110,
426 0, 65, 243, 0, 94, 214, 110, 0, 192, 94,
427 214, 110, 0, 189, 0, 192, 189, 0, 192, 59,
428 244, 255, 111, 0, 193, 0, 194, 84, 194, 0,
429 194, 85, 194, 0, 194, 79, 194, 0, 194, 80,
430 194, 0, 194, 81, 194, 0, 194, 82, 194, 0,
431 194, 83, 194, 0, 194, 77, 194, 0, 194, 78,
432 194, 0, 194, 74, 194, 0, 194, 75, 194, 0,
433 194, 76, 194, 0, 194, 73, 194, 0, 194, 72,
434 194, 0, 194, 71, 194, 0, 194, 69, 194, 0,
435 194, 70, 194, 0, 194, 68, 194, 0, 194, 67,
436 194, 0, 194, 66, 367, 63, 194, 0, 194, 65,
437 194, 0, 194, 64, 194, 0, 62, 0, 62, 194,
438 0, 89, 382, 157, 0, 197, 0, 389, 0, 3,
439 0, 57, 0, 58, 0, 0, 6, 75, 196, 174,
440 173, 0, 389, 75, 196, 174, 173, 0, 49, 157,
441 75, 174, 173, 0, 49, 6, 75, 174, 173, 0,
442 49, 389, 75, 174, 173, 0, 195, 0, 4, 0,
443 5, 0, 195, 0, 81, 200, 0, 71, 200, 0,
444 94, 200, 110, 0, 3, 75, 174, 173, 0, 58,
445 75, 175, 173, 0, 299, 0, 195, 0, 201, 0,
446 94, 200, 110, 0, 195, 0, 10, 0, 207, 0,
447 208, 0, 94, 178, 110, 0, 94, 200, 110, 0,
448 94, 1, 110, 0, 0, 94, 204, 327, 110, 0,
449 203, 94, 188, 110, 0, 203, 48, 0, 203, 95,
450 178, 113, 0, 203, 87, 0, 203, 88, 0, 41,
451 0, 9, 94, 188, 110, 0, 303, 0, 51, 75,
452 214, 76, 94, 178, 110, 0, 52, 75, 214, 76,
453 94, 178, 110, 0, 53, 75, 214, 76, 94, 178,
454 110, 0, 54, 75, 214, 76, 94, 178, 110, 0,
455 50, 94, 178, 110, 0, 50, 94, 214, 110, 0,
456 314, 3, 0, 314, 389, 0, 302, 0, 302, 94,
457 188, 110, 0, 302, 48, 0, 210, 198, 0, 210,
458 198, 94, 188, 110, 0, 210, 198, 48, 0, 210,
459 199, 0, 210, 302, 0, 210, 199, 94, 188, 110,
460 0, 210, 199, 48, 0, 210, 302, 94, 188, 110,
461 0, 210, 302, 48, 0, 210, 89, 8, 48, 0,
462 210, 8, 55, 89, 8, 48, 0, 210, 1, 0,
463 40, 0, 314, 40, 0, 39, 0, 314, 206, 0,
464 43, 0, 44, 0, 11, 0, 208, 11, 0, 0,
465 203, 93, 0, 203, 92, 0, 221, 223, 61, 0,
466 215, 223, 61, 0, 218, 224, 61, 0, 215, 61,
467 0, 218, 61, 0, 120, 211, 0, 292, 0, 297,
468 0, 48, 0, 213, 48, 0, 219, 317, 0, 288,
469 317, 0, 221, 317, 0, 219, 0, 288, 0, 219,
470 0, 216, 0, 218, 221, 0, 221, 217, 0, 221,
471 220, 217, 0, 218, 221, 217, 0, 218, 221, 220,
472 0, 218, 221, 220, 217, 0, 7, 0, 217, 222,
473 0, 217, 7, 0, 217, 236, 0, 236, 0, 288,
474 0, 7, 0, 218, 9, 0, 218, 7, 0, 218,
475 236, 0, 236, 0, 221, 0, 288, 221, 0, 221,
476 220, 0, 288, 221, 220, 0, 222, 0, 220, 222,
477 0, 250, 0, 8, 0, 294, 0, 29, 94, 178,
478 110, 0, 29, 94, 214, 110, 0, 31, 94, 178,
479 110, 0, 31, 94, 214, 110, 0, 8, 0, 9,
480 0, 250, 0, 231, 0, 223, 60, 227, 0, 232,
481 0, 224, 60, 227, 0, 233, 0, 225, 60, 227,
482 0, 0, 121, 94, 208, 110, 0, 0, 212, 226,
483 235, 65, 228, 243, 0, 212, 226, 235, 0, 0,
484 226, 235, 65, 230, 243, 0, 226, 235, 0, 212,
485 229, 0, 297, 229, 0, 0, 297, 234, 229, 0,
486 143, 226, 235, 0, 0, 236, 0, 237, 0, 236,
487 237, 0, 32, 94, 94, 238, 110, 110, 0, 239,
488 0, 238, 60, 239, 0, 0, 240, 0, 240, 94,
489 3, 110, 0, 240, 94, 3, 60, 188, 110, 0,
490 240, 94, 188, 110, 0, 157, 0, 7, 0, 8,
491 0, 9, 0, 157, 0, 241, 60, 157, 0, 0,
492 65, 243, 0, 194, 0, 59, 111, 0, 59, 244,
493 111, 0, 59, 244, 60, 111, 0, 1, 0, 243,
494 0, 244, 60, 243, 0, 95, 194, 113, 243, 0,
495 157, 63, 243, 0, 244, 60, 157, 63, 243, 0,
496 99, 0, 245, 140, 139, 326, 0, 245, 140, 351,
497 0, 245, 140, 1, 0, 0, 247, 246, 141, 0,
498 104, 194, 109, 0, 104, 1, 109, 0, 0, 249,
499 248, 0, 249, 1, 0, 0, 14, 157, 59, 251,
500 284, 256, 111, 0, 14, 157, 59, 111, 0, 0,
501 14, 59, 252, 284, 256, 111, 0, 14, 59, 111,
502 0, 14, 157, 0, 14, 312, 0, 46, 307, 0,
503 0, 0, 264, 270, 272, 111, 235, 253, 249, 254,
504 247, 0, 264, 0, 0, 60, 0, 0, 60, 0,
505 37, 0, 257, 7, 0, 257, 8, 0, 257, 9,
506 0, 257, 37, 0, 257, 157, 0, 257, 159, 0,
507 257, 305, 157, 0, 257, 314, 305, 157, 0, 257,
508 314, 157, 0, 257, 171, 0, 257, 305, 171, 0,
509 0, 258, 0, 259, 261, 265, 0, 260, 265, 0,
510 257, 59, 0, 263, 0, 262, 0, 0, 63, 382,
511 0, 63, 382, 266, 0, 267, 0, 266, 60, 382,
512 267, 0, 268, 0, 269, 382, 268, 0, 307, 0,
513 293, 0, 31, 94, 178, 110, 0, 31, 94, 214,
514 110, 0, 38, 382, 0, 7, 382, 0, 269, 38,
515 382, 0, 269, 7, 382, 0, 59, 0, 0, 271,
516 0, 271, 273, 0, 272, 38, 63, 273, 0, 272,
517 38, 63, 0, 274, 0, 273, 274, 0, 275, 61,
518 0, 275, 111, 0, 150, 63, 0, 150, 96, 0,
519 150, 25, 0, 150, 59, 0, 61, 0, 120, 274,
520 0, 130, 274, 0, 130, 215, 61, 0, 215, 276,
521 0, 218, 277, 0, 297, 226, 235, 242, 0, 143,
522 226, 235, 242, 0, 63, 194, 0, 1, 0, 218,
523 149, 226, 235, 242, 0, 149, 226, 235, 242, 0,
524 127, 0, 0, 278, 0, 276, 60, 279, 0, 0,
525 281, 0, 277, 60, 283, 0, 280, 0, 281, 0,
526 282, 0, 283, 0, 292, 226, 235, 242, 0, 4,
527 63, 194, 235, 0, 297, 226, 235, 242, 0, 143,
528 226, 235, 242, 0, 3, 63, 194, 235, 0, 63,
529 194, 235, 0, 292, 226, 235, 242, 0, 4, 63,
530 194, 235, 0, 297, 226, 235, 242, 0, 3, 63,
531 194, 235, 0, 63, 194, 235, 0, 285, 0, 284,
532 60, 285, 0, 157, 0, 157, 65, 194, 0, 362,
533 315, 0, 362, 0, 94, 214, 110, 95, 178, 113,
534 0, 0, 287, 9, 0, 9, 0, 288, 9, 0,
535 0, 289, 178, 0, 289, 94, 188, 110, 0, 289,
536 94, 372, 110, 0, 289, 48, 0, 289, 94, 1,
537 110, 0, 81, 288, 292, 0, 71, 288, 292, 0,
538 81, 292, 0, 71, 292, 0, 313, 287, 292, 0,
539 296, 0, 304, 0, 314, 304, 0, 293, 0, 295,
540 0, 314, 295, 0, 305, 304, 0, 296, 291, 287,
541 384, 0, 296, 95, 290, 113, 0, 296, 95, 113,
542 0, 94, 292, 110, 0, 305, 304, 0, 304, 0,
543 81, 288, 297, 0, 71, 288, 297, 0, 81, 297,
544 0, 71, 297, 0, 313, 287, 297, 0, 202, 0,
545 81, 288, 297, 0, 71, 288, 297, 0, 81, 298,
546 0, 71, 298, 0, 313, 287, 297, 0, 299, 0,
547 202, 291, 287, 384, 0, 94, 298, 110, 0, 202,
548 95, 290, 113, 0, 202, 95, 113, 0, 301, 0,
549 305, 201, 0, 305, 199, 0, 305, 198, 0, 305,
550 195, 0, 305, 198, 0, 301, 0, 314, 301, 0,
551 221, 94, 188, 110, 0, 221, 94, 200, 110, 0,
552 221, 213, 0, 4, 0, 5, 0, 171, 0, 306,
553 0, 305, 306, 0, 305, 49, 311, 55, 0, 4,
554 55, 0, 5, 55, 0, 58, 55, 0, 171, 55,
555 0, 308, 0, 314, 308, 0, 309, 157, 0, 309,
556 171, 0, 309, 311, 0, 309, 49, 311, 0, 310,
557 0, 309, 310, 0, 309, 311, 55, 0, 309, 49,
558 311, 55, 0, 4, 55, 0, 5, 55, 0, 171,
559 55, 0, 57, 55, 0, 3, 55, 0, 58, 55,
560 0, 157, 75, 174, 173, 0, 314, 304, 0, 295,
561 0, 314, 295, 0, 305, 81, 0, 314, 305, 81,
562 0, 55, 0, 81, 287, 315, 0, 81, 287, 0,
563 71, 287, 315, 0, 71, 287, 0, 313, 287, 0,
564 313, 287, 315, 0, 316, 0, 95, 178, 113, 0,
565 316, 95, 290, 113, 0, 81, 288, 317, 0, 81,
566 317, 0, 81, 288, 0, 81, 0, 71, 288, 317,
567 0, 71, 317, 0, 71, 288, 0, 71, 0, 313,
568 287, 0, 313, 287, 317, 0, 318, 0, 94, 317,
569 110, 0, 91, 0, 318, 94, 372, 110, 287, 384,
570 0, 318, 48, 287, 384, 0, 318, 95, 290, 113,
571 0, 318, 95, 113, 0, 94, 373, 110, 287, 384,
572 0, 192, 287, 384, 0, 213, 287, 384, 0, 95,
573 290, 113, 0, 95, 113, 0, 334, 0, 320, 0,
574 319, 334, 0, 319, 320, 0, 1, 61, 0, 0,
575 0, 0, 324, 0, 325, 0, 324, 325, 0, 34,
576 241, 61, 0, 327, 0, 1, 327, 0, 0, 59,
577 328, 321, 184, 322, 0, 0, 0, 15, 330, 321,
578 180, 331, 332, 0, 327, 0, 0, 321, 333, 335,
579 322, 0, 327, 0, 335, 0, 211, 0, 178, 61,
580 0, 0, 0, 329, 16, 336, 332, 337, 322, 0,
581 329, 0, 0, 0, 17, 338, 321, 180, 339, 185,
582 322, 0, 0, 0, 18, 340, 332, 17, 341, 179,
583 61, 0, 0, 0, 0, 0, 19, 342, 94, 365,
584 343, 321, 181, 61, 344, 367, 110, 345, 185, 322,
585 0, 0, 0, 20, 321, 94, 182, 110, 346, 332,
586 347, 322, 0, 0, 21, 194, 63, 348, 334, 0,
587 0, 21, 194, 12, 194, 63, 349, 334, 0, 0,
588 22, 63, 350, 334, 0, 23, 61, 0, 24, 61,
589 0, 25, 61, 0, 25, 178, 61, 0, 121, 366,
590 94, 208, 110, 61, 0, 121, 366, 94, 208, 63,
591 368, 110, 61, 0, 121, 366, 94, 208, 63, 368,
592 63, 368, 110, 61, 0, 121, 366, 94, 208, 63,
593 368, 63, 368, 63, 371, 110, 61, 0, 26, 81,
594 178, 61, 0, 26, 157, 61, 0, 364, 334, 0,
595 364, 111, 0, 61, 0, 354, 0, 0, 0, 96,
596 352, 139, 327, 353, 357, 0, 0, 0, 96, 355,
597 327, 356, 357, 0, 358, 0, 357, 358, 0, 0,
598 0, 0, 97, 359, 321, 363, 360, 327, 361, 322,
599 0, 219, 0, 288, 0, 94, 12, 110, 0, 94,
600 381, 110, 0, 3, 63, 0, 57, 63, 0, 4,
601 63, 0, 5, 63, 0, 367, 61, 0, 211, 0,
602 59, 184, 0, 0, 9, 0, 0, 178, 0, 1,
603 0, 0, 369, 0, 370, 0, 369, 60, 370, 0,
604 11, 94, 178, 110, 0, 11, 0, 371, 60, 11,
605 0, 0, 373, 0, 214, 0, 377, 0, 378, 12,
606 0, 377, 12, 0, 214, 12, 0, 12, 0, 98,
607 0, 377, 98, 0, 214, 98, 0, 377, 63, 0,
608 214, 63, 0, 0, 65, 375, 376, 0, 103, 0,
609 243, 0, 379, 0, 381, 374, 0, 378, 380, 0,
610 378, 383, 0, 378, 383, 65, 243, 0, 377, 60,
611 0, 214, 60, 0, 216, 212, 0, 219, 212, 0,
612 221, 212, 0, 216, 317, 0, 216, 0, 218, 297,
613 0, 381, 0, 381, 374, 0, 379, 0, 214, 0,
614 0, 0, 297, 0, 0, 62, 94, 386, 110, 0,
615 62, 48, 0, 214, 0, 385, 0, 386, 60, 385,
616 0, 0, 81, 287, 387, 0, 71, 287, 387, 0,
617 313, 287, 387, 0, 42, 0, 388, 81, 0, 388,
618 82, 0, 388, 83, 0, 388, 79, 0, 388, 80,
619 0, 388, 71, 0, 388, 69, 0, 388, 70, 0,
620 388, 89, 0, 388, 60, 0, 388, 74, 0, 388,
621 75, 0, 388, 76, 0, 388, 73, 0, 388, 64,
622 0, 388, 65, 0, 388, 77, 0, 388, 78, 0,
623 388, 87, 0, 388, 88, 0, 388, 68, 0, 388,
624 67, 0, 388, 112, 0, 388, 66, 63, 0, 388,
625 72, 0, 388, 92, 0, 388, 84, 0, 388, 48,
626 0, 388, 95, 113, 0, 388, 40, 0, 388, 39,
627 0, 388, 40, 95, 113, 0, 388, 39, 95, 113,
628 0, 388, 362, 387, 0, 388, 1, 0
634 static const short yyrline
[] = { 0,
635 334, 336, 350, 353, 354, 358, 360, 363, 368, 372,
636 378, 380, 383, 386, 390, 393, 395, 397, 400, 402,
637 405, 408, 410, 412, 414, 416, 418, 420, 426, 430,
638 433, 435, 439, 441, 442, 444, 448, 451, 457, 460,
639 462, 467, 470, 474, 477, 480, 492, 496, 514, 524,
640 526, 528, 530, 532, 545, 554, 564, 566, 568, 572,
641 574, 575, 582, 583, 584, 587, 590, 594, 596, 597,
642 600, 602, 605, 608, 610, 614, 624, 626, 636, 645,
643 647, 657, 666, 668, 678, 687, 689, 701, 709, 716,
644 721, 728, 735, 738, 740, 742, 748, 758, 760, 763,
645 766, 768, 771, 775, 784, 787, 789, 793, 806, 826,
646 829, 831, 832, 835, 842, 848, 850, 852, 854, 856,
647 859, 864, 866, 867, 868, 869, 872, 874, 875, 878,
648 880, 881, 884, 889, 889, 893, 893, 896, 896, 899,
649 899, 903, 903, 908, 908, 911, 911, 914, 916, 919,
650 926, 933, 939, 942, 951, 953, 961, 964, 967, 970,
651 974, 977, 980, 983, 985, 987, 989, 993, 996, 999,
652 1004, 1008, 1013, 1017, 1020, 1022, 1026, 1046, 1053, 1056,
653 1058, 1059, 1060, 1063, 1074, 1083, 1087, 1091, 1094, 1096,
654 1100, 1103, 1106, 1110, 1113, 1115, 1117, 1119, 1126, 1139,
655 1141, 1143, 1145, 1151, 1154, 1157, 1160, 1163, 1167, 1170,
656 1173, 1177, 1179, 1183, 1187, 1189, 1193, 1196, 1203, 1206,
657 1208, 1216, 1228, 1234, 1241, 1243, 1245, 1258, 1261, 1263,
658 1265, 1267, 1269, 1271, 1273, 1275, 1277, 1279, 1281, 1283,
659 1285, 1287, 1289, 1291, 1293, 1295, 1297, 1299, 1301, 1305,
660 1307, 1309, 1326, 1329, 1330, 1331, 1332, 1333, 1336, 1339,
661 1342, 1346, 1349, 1351, 1356, 1358, 1359, 1362, 1364, 1366,
662 1368, 1372, 1375, 1379, 1381, 1382, 1383, 1387, 1395, 1396,
663 1397, 1405, 1413, 1421, 1423, 1435, 1465, 1472, 1479, 1481,
664 1490, 1495, 1518, 1562, 1563, 1567, 1571, 1575, 1579, 1581,
665 1585, 1587, 1595, 1597, 1602, 1608, 1612, 1617, 1622, 1624,
666 1629, 1644, 1659, 1670, 1682, 1690, 1699, 1743, 1746, 1750,
667 1753, 1757, 1760, 1765, 1767, 1771, 1784, 1787, 1794, 1801,
668 1806, 1808, 1813, 1815, 1822, 1824, 1828, 1832, 1838, 1842,
669 1845, 1848, 1851, 1861, 1863, 1866, 1870, 1873, 1876, 1879,
670 1882, 1888, 1894, 1896, 1901, 1903, 1912, 1915, 1917, 1920,
671 1926, 1928, 1938, 1942, 1945, 1948, 1953, 1956, 1964, 1966,
672 1968, 1970, 1973, 1976, 1991, 2010, 2013, 2015, 2018, 2020,
673 2023, 2025, 2028, 2030, 2033, 2036, 2040, 2046, 2047, 2058,
674 2065, 2067, 2073, 2077, 2082, 2088, 2089, 2096, 2099, 2103,
675 2106, 2110, 2115, 2118, 2122, 2125, 2127, 2129, 2131, 2138,
676 2140, 2141, 2142, 2146, 2149, 2153, 2156, 2162, 2164, 2167,
677 2170, 2173, 2179, 2182, 2185, 2187, 2189, 2193, 2199, 2207,
678 2209, 2213, 2215, 2220, 2223, 2226, 2228, 2230, 2234, 2238,
679 2243, 2247, 2250, 2255, 2259, 2262, 2265, 2269, 2304, 2310,
680 2319, 2339, 2341, 2344, 2346, 2351, 2353, 2355, 2357, 2359,
681 2363, 2368, 2373, 2379, 2384, 2389, 2391, 2395, 2400, 2403,
682 2410, 2438, 2444, 2446, 2449, 2452, 2454, 2458, 2460, 2464,
683 2490, 2519, 2522, 2523, 2544, 2567, 2569, 2573, 2584, 2598,
684 2687, 2694, 2697, 2705, 2716, 2725, 2729, 2744, 2747, 2752,
685 2754, 2756, 2758, 2760, 2762, 2765, 2767, 2775, 2781, 2783,
686 2786, 2789, 2791, 2802, 2807, 2810, 2815, 2818, 2819, 2830,
687 2833, 2834, 2845, 2847, 2850, 2852, 2855, 2862, 2870, 2877,
688 2883, 2889, 2897, 2901, 2906, 2910, 2913, 2922, 2924, 2928,
689 2931, 2936, 2940, 2945, 2955, 2958, 2962, 2966, 2974, 2979,
690 2985, 2988, 2990, 2992, 2998, 3001, 3003, 3005, 3007, 3011,
691 3014, 3032, 3042, 3044, 3045, 3049, 3054, 3057, 3059, 3061,
692 3063, 3067, 3073, 3076, 3078, 3080, 3082, 3086, 3089, 3092,
693 3094, 3096, 3098, 3102, 3105, 3108, 3110, 3112, 3114, 3121,
694 3132, 3136, 3141, 3145, 3150, 3152, 3156, 3159, 3161, 3165,
695 3167, 3168, 3171, 3173, 3175, 3181, 3196, 3202, 3208, 3222,
696 3224, 3228, 3242, 3244, 3246, 3250, 3256, 3269, 3271, 3275,
697 3286, 3292, 3294, 3295, 3296, 3304, 3309, 3318, 3319, 3323,
698 3326, 3332, 3338, 3341, 3343, 3345, 3347, 3351, 3355, 3359,
699 3362, 3367, 3370, 3372, 3374, 3376, 3378, 3380, 3382, 3384,
700 3388, 3392, 3396, 3400, 3401, 3403, 3405, 3407, 3409, 3411,
701 3413, 3415, 3417, 3425, 3427, 3428, 3429, 3432, 3440, 3445,
702 3452, 3454, 3459, 3461, 3464, 3478, 3481, 3484, 3493, 3505,
703 3516, 3536, 3546, 3549, 3557, 3569, 3572, 3575, 3578, 3594,
704 3597, 3608, 3609, 3613, 3628, 3656, 3668, 3682, 3696, 3709,
705 3728, 3746, 3774, 3782, 3803, 3821, 3834, 3835, 3838, 3838,
706 3841, 3841, 3844, 3844, 3850, 3856, 3859, 3864, 3871, 3880,
707 3889, 3898, 3906, 3919, 3921, 3925, 3927, 3930, 3937, 3940,
708 3948, 3964, 3975, 3987, 3989, 3992, 4002, 4012, 4023, 4025,
709 4027, 4030, 4047, 4053, 4061, 4063, 4065, 4069, 4072, 4073,
710 4081, 4085, 4089, 4092, 4093, 4099, 4102, 4105, 4107, 4111,
711 4116, 4119, 4129, 4134, 4135, 4143, 4149, 4154, 4158, 4163,
712 4167, 4171, 4175, 4180, 4191, 4205, 4209, 4212, 4214, 4218,
713 4222, 4225, 4228, 4230, 4234, 4236, 4243, 4250, 4253, 4256,
714 4260, 4264, 4270, 4274, 4279, 4281, 4284, 4289, 4295, 4306,
715 4309, 4311, 4315, 4320, 4322, 4329, 4332, 4334, 4336, 4342,
716 4347, 4350, 4352, 4354, 4356, 4358, 4360, 4362, 4364, 4366,
717 4368, 4370, 4372, 4374, 4376, 4378, 4380, 4382, 4384, 4386,
718 4388, 4390, 4392, 4394, 4396, 4398, 4400, 4402, 4404, 4406,
719 4408, 4410, 4412, 4415, 4417
724 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
726 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
727 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
728 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
729 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
730 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
731 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
732 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
733 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
734 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
735 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
736 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
737 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
738 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
739 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
740 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
741 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
742 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
743 "@5","template_parm_list","maybe_identifier","template_type_parm","template_template_parm",
744 "template_parm","template_def","datadef","ctor_initializer_opt","maybe_return_init",
745 "eat_saved_input","fndef","constructor_declarator","@6","@7","@8","@9","fn.def1",
746 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
747 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
748 "identifier_defn","explicit_instantiation","@10","@11","@12","@13","@14","@15",
749 "@16","@17","begin_explicit_instantiation","end_explicit_instantiation","template_type",
750 "self_template_type","template_close_bracket","template_arg_list_opt","template_arg_list",
751 "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond",
752 "condition","@18","compstmtend","already_scoped_stmt","@19","nontrivial_exprlist",
753 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
754 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
755 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
756 "primary","@20","new","delete","boolean.literal","string","nodecls","object",
757 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
758 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
759 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
760 "initdcl","@21","initdcl0_innards","@22","initdcl0","notype_initdcl0","nomods_initdcl0",
761 "@23","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
762 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
763 "pending_inlines","defarg_again","pending_defargs","structsp","@24","@25","@26",
764 "@27","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
765 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
766 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
767 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
768 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
769 "component_decl_1","components","notype_components","component_declarator0",
770 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
771 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
772 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
773 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
774 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
775 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
776 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
777 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
778 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
779 "absdcl","direct_abstract_declarator","stmts","errstmt",".pushlevel",".poplevel",
780 "maybe_label_decls","label_decls","label_decl","compstmt_or_error","compstmt",
781 "@28","simple_if","@29","@30","implicitly_scoped_stmt","@31","stmt","simple_stmt",
782 "@32","@33","@34","@35","@36","@37","@38","@39","@40","@41","@42","@43","@44",
783 "@45","@46","function_try_block","@47","@48","try_block","@49","@50","handler_seq",
784 "handler","@51","@52","@53","type_specifier_seq","handler_args","label_colon",
785 "for.init.statement","maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands",
786 "asm_operand","asm_clobbers","parmlist","complex_parmlist","defarg","@54","defarg1",
787 "parms","parms_comma","named_parm","full_parm","parm","see_typename","bad_parm",
788 "exception_specification_opt","ansi_raise_identifier","ansi_raise_identifiers",
789 "conversion_declarator","operator","operator_name", NULL
793 static const short yyr1
[] = { 0,
794 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
795 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
796 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
797 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
798 130, 132, 132, 133, 133, 134, 134, 135, 136, 136,
799 136, 136, 136, 136, 137, 137, 138, 138, 138, 138,
800 138, 138, 138, 138, 138, 139, 139, 140, 140, 140,
801 141, 141, 142, 142, 142, 144, 143, 143, 145, 143,
802 143, 146, 143, 143, 147, 143, 143, 148, 148, 148,
803 148, 148, 149, 149, 149, 149, 150, 150, 150, 150,
804 150, 150, 150, 151, 152, 152, 152, 153, 154, 155,
805 155, 155, 155, 156, 156, 156, 156, 156, 156, 156,
806 156, 157, 157, 157, 157, 157, 158, 158, 158, 159,
807 159, 159, 161, 160, 162, 160, 163, 160, 164, 160,
808 165, 160, 166, 160, 167, 160, 168, 160, 169, 170,
809 171, 171, 171, 172, 173, 173, 174, 174, 175, 175,
810 176, 176, 177, 177, 177, 177, 177, 178, 178, 179,
811 179, 180, 180, 181, 181, 181, 183, 182, 182, 184,
812 184, 184, 184, 186, 185, 185, 187, 187, 187, 187,
813 188, 188, 189, 189, 189, 189, 189, 189, 189, 189,
814 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
815 189, 189, 189, 189, 189, 189, 190, 190, 191, 191,
816 191, 191, 192, 192, 193, 193, 193, 194, 194, 194,
817 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
818 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
819 194, 194, 195, 195, 195, 195, 195, 195, 196, 197,
820 197, 198, 198, 198, 199, 199, 199, 200, 200, 200,
821 200, 201, 201, 202, 202, 202, 202, 203, 203, 203,
822 203, 203, 203, 203, 204, 203, 203, 203, 203, 203,
823 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
824 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
825 203, 203, 203, 203, 203, 203, 203, 205, 205, 206,
826 206, 207, 207, 208, 208, 209, 210, 210, 211, 211,
827 211, 211, 211, 211, 212, 212, 213, 213, 214, 214,
828 214, 214, 214, 215, 215, 216, 216, 216, 216, 216,
829 216, 217, 217, 217, 217, 217, 218, 218, 218, 218,
830 218, 218, 219, 219, 219, 219, 220, 220, 221, 221,
831 221, 221, 221, 221, 221, 222, 222, 222, 223, 223,
832 224, 224, 225, 225, 226, 226, 228, 227, 227, 230,
833 229, 229, 231, 232, 234, 233, 233, 235, 235, 236,
834 236, 237, 238, 238, 239, 239, 239, 239, 239, 240,
835 240, 240, 240, 241, 241, 242, 242, 243, 243, 243,
836 243, 243, 244, 244, 244, 244, 244, 245, 246, 246,
837 246, 247, 247, 248, 248, 249, 249, 249, 251, 250,
838 250, 252, 250, 250, 250, 250, 250, 253, 254, 250,
839 250, 255, 255, 256, 256, 257, 257, 257, 257, 257,
840 258, 259, 260, 260, 260, 260, 260, 261, 262, 262,
841 262, 263, 264, 264, 265, 265, 265, 266, 266, 267,
842 267, 268, 268, 268, 268, 269, 269, 269, 269, 270,
843 271, 272, 272, 272, 272, 273, 273, 274, 274, 274,
844 274, 274, 274, 274, 274, 274, 274, 275, 275, 275,
845 275, 275, 275, 275, 275, 275, 276, 276, 276, 277,
846 277, 277, 278, 278, 279, 279, 280, 280, 281, 281,
847 281, 281, 282, 282, 283, 283, 283, 284, 284, 285,
848 285, 286, 286, 286, 287, 287, 288, 288, 289, 290,
849 291, 291, 291, 291, 292, 292, 292, 292, 292, 292,
850 293, 293, 294, 294, 294, 295, 296, 296, 296, 296,
851 296, 296, 297, 297, 297, 297, 297, 297, 298, 298,
852 298, 298, 298, 298, 299, 299, 299, 299, 299, 299,
853 300, 300, 301, 301, 302, 302, 303, 303, 303, 304,
854 304, 304, 305, 305, 305, 306, 306, 306, 306, 307,
855 307, 308, 308, 308, 308, 309, 309, 309, 309, 310,
856 310, 310, 310, 310, 310, 311, 312, 312, 312, 313,
857 313, 314, 315, 315, 315, 315, 315, 315, 315, 316,
858 316, 317, 317, 317, 317, 317, 317, 317, 317, 317,
859 317, 317, 318, 318, 318, 318, 318, 318, 318, 318,
860 318, 318, 318, 319, 319, 319, 319, 320, 321, 322,
861 323, 323, 324, 324, 325, 326, 326, 328, 327, 330,
862 331, 329, 332, 333, 332, 334, 334, 335, 335, 336,
863 337, 335, 335, 338, 339, 335, 340, 341, 335, 342,
864 343, 344, 345, 335, 346, 347, 335, 348, 335, 349,
865 335, 350, 335, 335, 335, 335, 335, 335, 335, 335,
866 335, 335, 335, 335, 335, 335, 335, 352, 353, 351,
867 355, 356, 354, 357, 357, 359, 360, 361, 358, 362,
868 362, 363, 363, 364, 364, 364, 364, 365, 365, 365,
869 366, 366, 367, 367, 367, 368, 368, 369, 369, 370,
870 371, 371, 372, 372, 372, 373, 373, 373, 373, 373,
871 373, 373, 373, 373, 373, 375, 374, 376, 376, 377,
872 377, 377, 377, 377, 378, 378, 379, 379, 379, 379,
873 379, 379, 380, 380, 381, 381, 382, 383, 383, 384,
874 384, 384, 385, 386, 386, 387, 387, 387, 387, 388,
875 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
876 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
877 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
878 389, 389, 389, 389, 389
881 static const short yyr2
[] = { 0,
882 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
883 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
884 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
885 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
886 3, 1, 3, 1, 0, 2, 2, 3, 1, 3,
887 1, 3, 1, 3, 2, 2, 2, 3, 3, 2,
888 2, 2, 2, 2, 1, 1, 1, 0, 1, 2,
889 0, 1, 4, 3, 3, 0, 8, 5, 0, 9,
890 6, 0, 8, 5, 0, 9, 6, 2, 2, 1,
891 2, 1, 6, 4, 6, 4, 2, 1, 2, 2,
892 1, 2, 1, 2, 2, 4, 2, 3, 0, 0,
893 1, 3, 2, 3, 1, 4, 2, 4, 2, 4,
894 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
895 1, 1, 0, 6, 0, 6, 0, 5, 0, 5,
896 0, 7, 0, 7, 0, 6, 0, 6, 0, 0,
897 4, 4, 1, 4, 1, 1, 0, 1, 1, 3,
898 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
899 3, 1, 3, 0, 1, 1, 0, 7, 1, 1,
900 3, 4, 3, 0, 3, 1, 3, 3, 3, 3,
901 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
902 4, 2, 4, 2, 3, 3, 4, 4, 5, 5,
903 6, 2, 4, 5, 2, 2, 3, 3, 3, 1,
904 3, 2, 3, 4, 1, 2, 5, 1, 3, 3,
905 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
906 3, 3, 3, 3, 3, 3, 3, 5, 3, 3,
907 1, 2, 3, 1, 1, 1, 1, 1, 0, 5,
908 5, 5, 5, 5, 1, 1, 1, 1, 2, 2,
909 3, 4, 4, 1, 1, 1, 3, 1, 1, 1,
910 1, 3, 3, 3, 0, 4, 4, 2, 4, 2,
911 2, 1, 4, 1, 7, 7, 7, 7, 4, 4,
912 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
913 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
914 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
915 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
916 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
917 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
918 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
919 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
920 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
921 5, 2, 2, 2, 0, 3, 3, 0, 1, 1,
922 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
923 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
924 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
925 3, 0, 3, 3, 3, 0, 2, 2, 0, 7,
926 4, 0, 6, 3, 2, 2, 2, 0, 0, 9,
927 1, 0, 1, 0, 1, 1, 2, 2, 2, 2,
928 2, 2, 3, 4, 3, 2, 3, 0, 1, 3,
929 2, 2, 1, 1, 0, 2, 3, 1, 4, 1,
930 3, 1, 1, 4, 4, 2, 2, 3, 3, 1,
931 0, 1, 2, 4, 3, 1, 2, 2, 2, 2,
932 2, 2, 2, 1, 2, 2, 3, 2, 2, 4,
933 4, 2, 1, 5, 4, 1, 0, 1, 3, 0,
934 1, 3, 1, 1, 1, 1, 4, 4, 4, 4,
935 4, 3, 4, 4, 4, 4, 3, 1, 3, 1,
936 3, 2, 1, 6, 0, 2, 1, 2, 0, 2,
937 4, 4, 2, 4, 3, 3, 2, 2, 3, 1,
938 1, 2, 1, 1, 2, 2, 4, 4, 3, 3,
939 2, 1, 3, 3, 2, 2, 3, 1, 3, 3,
940 2, 2, 3, 1, 4, 3, 4, 3, 1, 2,
941 2, 2, 2, 2, 1, 2, 4, 4, 2, 1,
942 1, 1, 1, 2, 4, 2, 2, 2, 2, 1,
943 2, 2, 2, 2, 3, 1, 2, 3, 4, 2,
944 2, 2, 2, 2, 2, 4, 2, 1, 2, 2,
945 3, 1, 3, 2, 3, 2, 2, 3, 1, 3,
946 4, 3, 2, 2, 1, 3, 2, 2, 1, 2,
947 3, 1, 3, 1, 6, 4, 4, 3, 5, 3,
948 3, 3, 2, 1, 1, 2, 2, 2, 0, 0,
949 0, 1, 1, 2, 3, 1, 2, 0, 5, 0,
950 0, 6, 1, 0, 4, 1, 1, 1, 2, 0,
951 0, 6, 1, 0, 0, 7, 0, 0, 7, 0,
952 0, 0, 0, 14, 0, 0, 9, 0, 5, 0,
953 7, 0, 4, 2, 2, 2, 3, 6, 8, 10,
954 12, 4, 3, 2, 2, 1, 1, 0, 0, 6,
955 0, 0, 5, 1, 2, 0, 0, 0, 8, 1,
956 1, 3, 3, 2, 2, 2, 2, 2, 1, 2,
957 0, 1, 0, 1, 1, 0, 1, 1, 3, 4,
958 1, 3, 0, 1, 1, 1, 2, 2, 2, 1,
959 1, 2, 2, 2, 2, 0, 3, 1, 1, 1,
960 2, 2, 2, 4, 2, 2, 2, 2, 2, 2,
961 1, 2, 1, 2, 1, 1, 0, 0, 1, 0,
962 4, 2, 1, 1, 3, 0, 3, 3, 3, 1,
963 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
964 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
965 2, 2, 2, 3, 2, 2, 2, 2, 3, 2,
969 static const short yydefact
[] = { 3,
970 13, 13, 5, 0, 4, 0, 256, 600, 601, 0,
971 358, 370, 547, 0, 11, 12, 0, 0, 0, 10,
972 456, 810, 0, 0, 0, 149, 632, 257, 258, 65,
973 0, 0, 797, 0, 37, 0, 0, 14, 0, 8,
974 0, 17, 16, 71, 92, 68, 0, 602, 153, 275,
975 254, 276, 578, 0, 345, 0, 344, 363, 0, 383,
976 362, 400, 369, 0, 469, 468, 475, 474, 473, 451,
977 357, 563, 371, 564, 395, 274, 589, 561, 0, 603,
978 545, 0, 0, 255, 63, 64, 157, 606, 157, 607,
979 157, 259, 149, 122, 123, 124, 125, 126, 442, 445,
980 0, 628, 0, 446, 0, 0, 0, 0, 123, 124,
981 125, 126, 24, 0, 0, 0, 0, 0, 0, 0,
982 447, 610, 0, 616, 0, 0, 0, 0, 0, 0,
983 30, 0, 0, 39, 0, 157, 608, 0, 0, 576,
984 0, 0, 0, 575, 0, 0, 0, 0, 275, 0,
985 549, 0, 274, 545, 29, 0, 27, 3, 38, 0,
986 56, 55, 72, 15, 0, 398, 0, 0, 416, 69,
987 61, 609, 549, 0, 545, 62, 0, 0, 0, 88,
988 0, 379, 335, 560, 336, 572, 0, 545, 360, 359,
989 60, 91, 346, 0, 381, 361, 89, 352, 376, 377,
990 347, 365, 367, 356, 378, 0, 57, 401, 457, 458,
991 459, 460, 472, 131, 130, 132, 461, 462, 466, 0,
992 0, 475, 797, 471, 490, 491, 548, 364, 0, 385,
993 601, 0, 630, 153, 593, 594, 590, 566, 604, 0,
994 565, 562, 0, 845, 841, 840, 838, 820, 825, 826,
995 0, 832, 831, 817, 818, 816, 835, 824, 821, 822,
996 823, 827, 828, 814, 815, 811, 812, 813, 837, 829,
997 830, 819, 836, 0, 833, 740, 363, 741, 806, 259,
998 256, 547, 279, 324, 0, 0, 0, 0, 320, 318,
999 292, 322, 323, 0, 0, 0, 0, 0, 258, 251,
1000 0, 0, 164, 163, 0, 165, 166, 0, 0, 167,
1001 0, 0, 158, 159, 0, 225, 0, 228, 162, 278,
1002 193, 0, 0, 280, 281, 0, 161, 342, 363, 343,
1003 595, 303, 294, 0, 0, 0, 0, 157, 0, 444,
1004 0, 439, 0, 629, 627, 0, 168, 169, 0, 0,
1005 0, 405, 3, 22, 0, 624, 620, 621, 623, 625,
1006 622, 122, 123, 124, 0, 125, 126, 612, 613, 617,
1007 614, 611, 266, 267, 0, 265, 33, 34, 0, 592,
1008 591, 32, 31, 41, 0, 358, 139, 0, 0, 363,
1009 137, 0, 0, 574, 0, 573, 253, 270, 0, 582,
1010 269, 0, 581, 0, 277, 586, 0, 0, 13, 0,
1011 149, 9, 9, 0, 397, 399, 104, 75, 109, 728,
1012 0, 67, 66, 74, 107, 0, 0, 105, 70, 588,
1013 0, 0, 553, 0, 800, 0, 558, 0, 557, 0,
1014 0, 0, 0, 545, 398, 393, 0, 59, 549, 545,
1015 571, 0, 349, 350, 0, 58, 394, 354, 353, 355,
1016 348, 368, 385, 384, 463, 467, 465, 0, 470, 476,
1017 0, 0, 366, 396, 545, 76, 0, 0, 0, 0,
1018 545, 82, 546, 577, 601, 631, 153, 0, 0, 834,
1019 839, 365, 545, 545, 0, 545, 844, 157, 0, 0,
1020 0, 200, 0, 0, 202, 215, 216, 0, 0, 0,
1021 0, 0, 252, 199, 196, 195, 197, 0, 0, 0,
1022 0, 0, 278, 0, 0, 0, 194, 155, 156, 272,
1023 0, 198, 0, 0, 226, 0, 0, 0, 0, 0,
1024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1025 0, 0, 0, 0, 0, 0, 0, 288, 290, 291,
1026 328, 327, 0, 0, 0, 0, 0, 204, 543, 0,
1027 212, 325, 317, 0, 0, 797, 306, 309, 310, 0,
1028 0, 337, 649, 645, 654, 0, 549, 545, 545, 545,
1029 339, 652, 0, 599, 341, 0, 0, 340, 305, 0,
1030 301, 319, 321, 596, 0, 302, 152, 154, 0, 147,
1031 0, 363, 145, 540, 454, 538, 441, 0, 0, 372,
1032 0, 0, 373, 374, 375, 411, 412, 413, 410, 0,
1033 403, 406, 0, 3, 0, 615, 157, 618, 28, 36,
1034 35, 45, 0, 0, 0, 49, 53, 42, 796, 791,
1035 0, 342, 363, 45, 343, 795, 51, 150, 135, 133,
1036 150, 151, 273, 580, 579, 277, 583, 0, 19, 21,
1037 71, 0, 110, 326, 0, 678, 73, 676, 422, 0,
1038 418, 417, 192, 0, 191, 550, 587, 0, 770, 771,
1039 0, 765, 363, 0, 764, 766, 798, 780, 0, 0,
1040 585, 556, 555, 0, 0, 570, 0, 392, 380, 569,
1041 0, 800, 559, 351, 382, 398, 464, 600, 601, 797,
1042 0, 797, 602, 477, 478, 480, 797, 483, 482, 0,
1043 513, 601, 0, 504, 0, 0, 516, 0, 103, 98,
1044 0, 153, 517, 520, 0, 496, 0, 101, 0, 398,
1045 800, 763, 157, 157, 605, 157, 800, 763, 545, 79,
1046 545, 85, 843, 842, 806, 806, 806, 0, 0, 0,
1047 0, 599, 0, 0, 0, 0, 363, 0, 0, 0,
1048 284, 0, 282, 283, 0, 223, 160, 256, 600, 601,
1049 257, 258, 0, 0, 423, 452, 0, 250, 249, 755,
1050 754, 0, 247, 246, 244, 245, 243, 242, 241, 238,
1051 239, 240, 236, 237, 231, 232, 233, 234, 235, 229,
1052 230, 0, 0, 0, 0, 0, 0, 206, 220, 0,
1053 0, 205, 545, 545, 0, 545, 542, 639, 0, 0,
1054 0, 0, 0, 308, 0, 312, 0, 314, 0, 648,
1055 647, 644, 643, 796, 0, 0, 663, 0, 0, 800,
1056 338, 800, 650, 545, 763, 549, 649, 645, 0, 0,
1057 545, 0, 0, 0, 0, 0, 260, 150, 143, 141,
1058 150, 0, 455, 0, 454, 190, 189, 188, 187, 405,
1059 0, 0, 25, 0, 26, 619, 0, 47, 44, 45,
1060 0, 40, 0, 0, 649, 645, 0, 787, 545, 790,
1061 792, 0, 788, 789, 46, 461, 0, 140, 150, 150,
1062 138, 18, 20, 386, 127, 115, 128, 129, 0, 108,
1063 111, 0, 0, 0, 0, 677, 669, 419, 0, 106,
1064 554, 551, 769, 786, 775, 773, 0, 552, 768, 785,
1065 774, 772, 767, 799, 782, 793, 783, 776, 781, 802,
1066 0, 390, 568, 567, 389, 487, 0, 486, 797, 797,
1067 797, 0, 545, 763, 512, 505, 517, 506, 398, 398,
1068 502, 503, 500, 501, 545, 763, 256, 600, 0, 385,
1069 99, 508, 518, 523, 524, 385, 385, 0, 0, 385,
1070 97, 509, 521, 385, 497, 498, 499, 398, 0, 448,
1071 78, 0, 0, 0, 0, 84, 0, 800, 763, 800,
1072 763, 808, 807, 809, 261, 293, 201, 203, 299, 300,
1073 0, 0, 0, 0, 283, 286, 0, 0, 0, 0,
1074 224, 0, 287, 289, 218, 217, 208, 0, 207, 222,
1075 0, 0, 636, 634, 0, 637, 549, 213, 0, 0,
1076 157, 315, 0, 0, 0, 646, 642, 653, 545, 662,
1077 660, 661, 651, 800, 0, 658, 0, 597, 598, 0,
1078 304, 148, 150, 150, 146, 541, 539, 443, 0, 404,
1079 402, 256, 0, 23, 626, 48, 43, 50, 54, 648,
1080 644, 649, 645, 0, 561, 0, 545, 650, 52, 136,
1081 134, 0, 113, 0, 117, 0, 119, 0, 121, 0,
1082 729, 671, 0, 420, 649, 645, 0, 278, 0, 595,
1083 794, 0, 0, 803, 804, 0, 0, 387, 0, 0,
1084 0, 489, 488, 481, 800, 0, 507, 416, 416, 800,
1085 0, 0, 0, 398, 398, 0, 398, 398, 0, 398,
1086 0, 416, 0, 436, 545, 263, 262, 264, 545, 81,
1087 0, 87, 0, 0, 0, 0, 0, 0, 426, 0,
1088 424, 227, 248, 0, 209, 210, 219, 221, 635, 633,
1089 640, 638, 0, 214, 0, 0, 307, 311, 313, 800,
1090 656, 545, 657, 144, 142, 440, 0, 407, 409, 648,
1091 644, 566, 650, 114, 112, 0, 0, 0, 0, 0,
1092 180, 670, 0, 672, 673, 421, 0, 598, 784, 778,
1093 779, 777, 0, 801, 391, 0, 484, 485, 479, 94,
1094 545, 511, 515, 96, 545, 398, 398, 532, 416, 256,
1095 600, 0, 519, 525, 526, 385, 385, 416, 416, 0,
1096 416, 522, 510, 0, 800, 800, 545, 545, 0, 0,
1097 0, 0, 425, 0, 0, 211, 641, 316, 262, 659,
1098 800, 0, 116, 118, 120, 736, 730, 734, 414, 0,
1099 679, 0, 256, 600, 601, 680, 694, 697, 700, 669,
1100 0, 0, 0, 0, 0, 0, 257, 726, 731, 0,
1101 751, 0, 688, 0, 0, 363, 0, 665, 686, 693,
1102 664, 687, 727, 0, 674, 283, 805, 388, 800, 800,
1103 531, 528, 530, 0, 0, 398, 398, 398, 527, 529,
1104 514, 438, 0, 437, 432, 77, 83, 800, 800, 295,
1105 296, 297, 298, 427, 544, 655, 408, 669, 735, 0,
1106 675, 668, 183, 744, 746, 747, 669, 669, 669, 0,
1107 0, 0, 712, 714, 715, 716, 0, 0, 0, 745,
1108 0, 334, 752, 0, 689, 332, 385, 0, 333, 0,
1109 385, 0, 0, 0, 181, 667, 666, 690, 725, 724,
1110 93, 95, 398, 398, 537, 416, 416, 0, 0, 450,
1111 80, 86, 0, 415, 0, 0, 684, 683, 0, 0,
1112 0, 0, 708, 0, 717, 0, 723, 732, 0, 330,
1113 331, 0, 0, 0, 329, 182, 669, 536, 534, 533,
1114 535, 435, 434, 428, 68, 71, 0, 737, 172, 0,
1115 681, 695, 0, 698, 671, 749, 701, 0, 179, 0,
1116 363, 0, 0, 0, 713, 722, 0, 0, 691, 0,
1117 433, 0, 0, 0, 0, 669, 0, 670, 0, 750,
1118 669, 748, 705, 385, 710, 709, 733, 756, 0, 670,
1119 431, 0, 430, 742, 743, 738, 173, 682, 184, 670,
1120 186, 685, 170, 0, 0, 0, 669, 398, 0, 0,
1121 0, 757, 758, 718, 692, 429, 670, 671, 696, 0,
1122 699, 176, 0, 175, 706, 0, 711, 0, 756, 0,
1123 0, 739, 185, 171, 702, 670, 177, 0, 0, 719,
1124 759, 0, 707, 0, 760, 0, 0, 0, 178, 761,
1125 0, 720, 703, 0, 0, 0, 762, 721, 670, 704,
1129 static const short yydefgoto
[] = { 1561,
1130 409, 2, 410, 160, 670, 311, 165, 3, 4, 38,
1131 634, 353, 737, 375, 40, 738, 385, 645, 898, 646,
1132 647, 648, 42, 43, 421, 168, 164, 44, 739, 752,
1133 1019, 758, 1021, 46, 740, 741, 169, 170, 422, 673,
1134 930, 931, 614, 932, 218, 47, 920, 919, 661, 658,
1135 1084, 1083, 881, 878, 135, 918, 48, 49, 530, 312,
1136 313, 314, 315, 1312, 1505, 1451, 1523, 1460, 1544, 1222,
1137 1500, 1518, 347, 870, 316, 567, 832, 317, 318, 348,
1138 320, 338, 51, 236, 377, 398, 52, 53, 321, 525,
1139 322, 323, 324, 325, 423, 326, 1313, 463, 589, 327,
1140 1314, 55, 201, 651, 328, 202, 503, 203, 181, 194,
1141 59, 445, 464, 1236, 446, 1137, 182, 195, 60, 230,
1142 415, 61, 62, 630, 631, 632, 1290, 428, 795, 796,
1143 1445, 1446, 1410, 1344, 1264, 63, 618, 341, 1164, 1345,
1144 1040, 884, 64, 65, 66, 67, 222, 68, 69, 70,
1145 224, 724, 725, 726, 727, 226, 471, 472, 745, 746,
1146 747, 992, 1002, 993, 1253, 994, 995, 1254, 1255, 615,
1147 616, 568, 860, 330, 431, 432, 175, 183, 72, 73,
1148 74, 184, 185, 152, 76, 131, 331, 332, 333, 78,
1149 334, 80, 729, 122, 123, 124, 479, 104, 81, 335,
1150 837, 838, 855, 592, 1317, 1318, 1417, 1291, 1223, 1224,
1151 1225, 677, 1319, 937, 1320, 1367, 1476, 1419, 1453, 1321,
1152 1322, 1437, 1490, 1368, 1477, 1369, 1479, 1370, 1481, 1542,
1153 1556, 1507, 1536, 1464, 1509, 1424, 424, 674, 1219, 1323,
1154 1381, 1467, 1287, 1288, 1358, 1474, 1517, 1462, 1448, 1324,
1155 1457, 1384, 802, 1511, 1512, 1513, 1551, 694, 695, 959,
1156 1133, 1232, 696, 697, 698, 955, 699, 145, 957, 701,
1157 1135, 1136, 497, 83, 84
1160 static const short yypact
[] = { 109,
1161 112,-32768,-32768, 5661,-32768, 138, 128, 311, 398, 131,
1162 197,-32768,-32768, 809,-32768,-32768, 115, 166, 209,-32768,
1163 -32768,-32768, 1396, 1537, 1868, 188,-32768, 232, 415,-32768,
1164 2213, 2213,-32768, 4290,-32768, 5661, 237,-32768, 261, 288,
1165 5820,-32768,-32768, 246, 1170, 337, 394, 360,-32768,-32768,
1166 -32768,-32768, 354, 1841,-32768, 4415,-32768, 1632, 495,-32768,
1167 434,-32768,-32768, 1377,-32768,-32768, 406,-32768,-32768, 459,
1168 4536,-32768,-32768,-32768, 116,-32768,-32768,-32768, 829,-32768,
1169 -32768, 295, 6138, 405,-32768,-32768, 9195,-32768, 9195,-32768,
1170 9195,-32768,-32768,-32768, 311, 398, 232, 438, 420, 500,
1171 360,-32768, 790,-32768, 295, 9195, 9195, 472,-32768,-32768,
1172 -32768,-32768,-32768, 49, 522, 498, 570, 610, 532, 540,
1173 -32768,-32768, 1300,-32768, 1104, 311, 398, 224, 232, 438,
1174 -32768, 1288, 1024, 524, 10589, 9195,-32768, 9195, 3028,-32768,
1175 1016, 812, 3028,-32768, 1492, 3559, 3559, 4290, 506, 525,
1176 548, 549, 556,-32768,-32768, 639,-32768, 564,-32768, 3446,
1177 138,-32768,-32768,-32768, 575, 434, 708, 126, 380, 655,
1178 -32768,-32768, 607, 94,-32768,-32768, 4075, 4075, 4612, 932,
1179 641,-32768,-32768, 387,-32768,-32768, 2008,-32768,-32768,-32768,
1180 -32768,-32768, 1632, 646,-32768, 434, 932,-32768,-32768,-32768,
1181 2341, 1632,-32768, 434,-32768, 4846,-32768,-32768,-32768,-32768,
1182 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 360, 1521,
1183 1555, 406,-32768,-32768,-32768,-32768,-32768, 817, 295, 518,
1184 698, 667,-32768, 284,-32768,-32768,-32768,-32768,-32768, 4096,
1185 -32768,-32768, 471,-32768, 634, 640,-32768,-32768,-32768,-32768,
1186 681,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1187 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1188 -32768,-32768,-32768, 638,-32768,-32768, 817, 4536, 624,-32768,
1189 -32768, 661,-32768,-32768, 9810, 9897, 9984, 9984,-32768,-32768,
1190 -32768,-32768,-32768, 669, 686, 690, 692, 696, 438, 9282,
1191 1492, 9984,-32768,-32768, 9984,-32768,-32768, 9984, 7308,-32768,
1192 9984, 446, 719,-32768, 9984,-32768, 9369,-32768, 10640,-32768,
1193 1550, 2689, 9456,-32768, 776, 3663,-32768, 1347, 2424, 2070,
1194 -32768, 289,-32768, 3290, 1813, 446, 446, 9195, 10589,-32768,
1195 1492, 678, 1492,-32768,-32768, 691, 743, 6188, 714, 730,
1196 735, 946, 564,-32768, 224,-32768,-32768,-32768,-32768,-32768,
1197 -32768, 522, 498, 570, 1492, 610, 532, 746, 540,-32768,
1198 824,-32768, 311, 398, 811,-32768,-32768,-32768, 1024,-32768,
1199 -32768,-32768,-32768,-32768, 3860,-32768,-32768, 4846, 5100, 1732,
1200 -32768, 446, 381,-32768, 794,-32768,-32768,-32768, 3028,-32768,
1201 -32768, 3028,-32768, 772,-32768,-32768, 4096, 50, 777, 783,
1202 -32768,-32768,-32768, 639,-32768, 434,-32768,-32768,-32768,-32768,
1203 167,-32768,-32768,-32768,-32768, 7400, 9282,-32768,-32768,-32768,
1204 9282, 796,-32768, 5312, 172, 4572,-32768, 4572,-32768, 4739,
1205 4739, 4612, 797,-32768, 434,-32768, 4846,-32768, 806,-32768,
1206 -32768, 4774, 2341, 1632, 4846,-32768,-32768,-32768,-32768, 434,
1207 2341,-32768, 518,-32768,-32768, 360,-32768, 1521,-32768, 1752,
1208 2763, 62, 817,-32768,-32768,-32768, 853, 858, 882, 863,
1209 -32768,-32768,-32768,-32768, 1119,-32768, 326, 828, 834,-32768,
1210 -32768, 817,-32768,-32768, 800,-32768,-32768, 9195, 9282, 661,
1211 7308,-32768, 349, 7308,-32768,-32768,-32768, 9195, 4671, 4671,
1212 4671, 4671, 10722,-32768,-32768,-32768,-32768, 832, 10071, 10071,
1213 7308, 838, 506, 842, 897, 848,-32768,-32768,-32768,-32768,
1214 9195,-32768, 6933, 7308,-32768, 9282, 9282, 7492, 9282, 9282,
1215 9282, 9282, 9282, 9282, 9282, 9282, 9282, 9282, 9282, 9282,
1216 9282, 9282, 9282, 9282, 9282, 9282, 9282,-32768,-32768,-32768,
1217 -32768,-32768, 9282, 9282, 9282, 9195, 2307, 550, 931, 8131,
1218 -32768,-32768,-32768, 907, 667, 958, 402, 443, 463, 3427,
1219 812,-32768, 2498, 2498,-32768, 2922, 859, 879, 936,-32768,
1220 -32768, 455, 8638, 1163,-32768, 991, 295,-32768,-32768, 9282,
1221 -32768,-32768,-32768,-32768, 60,-32768,-32768,-32768, 446,-32768,
1222 4846, 2428,-32768, 920, 934,-32768,-32768, 1492, 746,-32768,
1223 7860, 7952,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 158,
1224 -32768, 912, 880, 564, 948, 956, 9195,-32768,-32768,-32768,
1225 -32768, 1784, 188, 977, 408, 951, 953,-32768,-32768, 1853,
1226 10645, 1853, 3781, 1377, 6077,-32768, 960,-32768,-32768,-32768,
1227 -32768,-32768,-32768,-32768,-32768, 924,-32768, 975,-32768,-32768,
1228 246, 53, 389, 974, 897,-32768,-32768,-32768,-32768, 6838,
1229 10722,-32768, 743, 940, 6188,-32768,-32768, 952,-32768,-32768,
1230 957, 154, 10382, 965,-32768, 204, 10438, 981, 998, 467,
1231 -32768,-32768,-32768, 4572, 4572,-32768, 4774, 1012,-32768,-32768,
1232 955, 172,-32768, 2341,-32768, 434,-32768, 498, 570,-32768,
1233 992,-32768, 540, 1025,-32768,-32768, 169,-32768,-32768, 1564,
1234 -32768, 1130, 673,-32768, 9282, 10321,-32768, 10321, 312, 312,
1235 228, 499, 2843, 10483, 3949,-32768, 183, 312, 1026, 434,
1236 172, 1134, 9195, 9195,-32768, 9195, 172, 1134,-32768,-32768,
1237 -32768,-32768,-32768,-32768, 632, 632, 632, 446, 980, 982,
1238 9549, 936, 983, 989, 994, 1030, 2824, 1035, 1036, 1040,
1239 -32768, 1009,-32768,-32768, 1019,-32768,-32768, 1059, 563, 682,
1240 215, 335, 9282, 1069,-32768, 1074, 1027, 10722, 10722,-32768,
1241 -32768, 1077, 5227, 5852, 5722, 3615, 2589, 4148, 4801, 3186,
1242 3186, 3186, 2116, 2116, 1161, 1161, 630, 630, 630,-32768,
1243 -32768, 1037, 1039, 1044, 1047, 1054, 4671, 550,-32768, 7400,
1244 9282,-32768,-32768,-32768, 9282,-32768,-32768, 1073, 9984, 1057,
1245 1088, 1107, 1131,-32768, 9282,-32768, 9282,-32768, 9282, 3157,
1246 -32768, 3157,-32768, 133, 1078, 1085,-32768, 1071, 4671, 172,
1247 -32768, 172, 3878,-32768, 1134, 1087, 8830, 8830, 6537, 1091,
1248 9369, 1094, 2560, 1813, 1003, 1099,-32768,-32768,-32768,-32768,
1249 -32768, 9282, 1492, 1101, 934,-32768, 10722,-32768, 10722, 946,
1250 1100, 9636,-32768, 1106,-32768,-32768, 446,-32768,-32768, 1881,
1251 3860,-32768, 4671, 9195, 1705, 1705, 10250,-32768,-32768,-32768,
1252 -32768, 2008,-32768,-32768,-32768, 830, 9282,-32768,-32768,-32768,
1253 -32768,-32768,-32768,-32768, 522,-32768, 610, 532, 9282, 1160,
1254 -32768, 536, 546, 558, 897,-32768,-32768,-32768, 83,-32768,
1255 -32768,-32768,-32768,-32768,-32768,-32768, 8734,-32768,-32768,-32768,
1256 -32768,-32768,-32768,-32768,-32768, 998, 1156,-32768,-32768,-32768,
1257 4671,-32768,-32768,-32768, 1162,-32768, 9195,-32768,-32768,-32768,
1258 -32768, 1339,-32768, 1134, 10722,-32768, 2173,-32768, 434, 434,
1259 -32768,-32768,-32768,-32768,-32768, 1134, 285, 781, 9282, 518,
1260 -32768, 1173,-32768,-32768,-32768, 485, 711, 829, 812, 849,
1261 312, 1174,-32768, 1028,-32768,-32768,-32768, 434, 5160,-32768,
1262 -32768, 1127, 446, 446, 446,-32768, 1139, 172, 1134, 172,
1263 1134,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1264 1146, 1165, 1166, 1169, 924,-32768, 6447, 7400, 7028, 1143,
1265 -32768, 9282,-32768,-32768,-32768,-32768, 391, 1154,-32768,-32768,
1266 1155, 162, 483, 483, 1158, 483,-32768,-32768, 9984, 1261,
1267 9195,-32768, 1172, 1176, 1177,-32768,-32768,-32768,-32768,-32768,
1268 -32768,-32768,-32768, 172, 1178,-32768, 1159,-32768,-32768, 3164,
1269 -32768,-32768,-32768,-32768,-32768, 10722,-32768,-32768, 1168,-32768,
1270 -32768, 217, 1189,-32768,-32768,-32768,-32768,-32768,-32768, 1960,
1271 1960, 2319, 2319, 10250,-32768, 2008,-32768, 2633, 10640,-32768,
1272 -32768, 1190,-32768, 389,-32768, 9282,-32768, 9282,-32768, 9282,
1273 -32768, 76, 7120,-32768, 8923, 8923, 6650, 88, 1191, 317,
1274 -32768, 7400, 7212,-32768,-32768, 223, 7400,-32768, 1192, 1199,
1275 1752,-32768,-32768,-32768, 172, 1200,-32768, 1215, 1215, 172,
1276 1202, 9282, 9282, 5537, 434, 2984, 434, 434, 1317, 434,
1277 3220, 1215, 5489,-32768,-32768,-32768, 1259,-32768,-32768,-32768,
1278 1205,-32768, 1206, 9282, 9282, 9282, 9282, 7400,-32768, 1254,
1279 -32768,-32768, 10722, 9282,-32768, 391,-32768,-32768,-32768,-32768,
1280 -32768,-32768, 1211,-32768, 1277, 446,-32768,-32768,-32768, 172,
1281 -32768,-32768,-32768,-32768,-32768,-32768, 9282,-32768,-32768, 1960,
1282 1960,-32768, 2633,-32768,-32768, 1216, 1217, 1218, 1232, 1492,
1283 -32768,-32768, 6398, 1297,-32768,-32768, 1222, 1656,-32768,-32768,
1284 -32768,-32768, 4671,-32768,-32768, 7400,-32768,-32768,-32768,-32768,
1285 -32768,-32768,-32768,-32768,-32768, 5537, 5537,-32768, 1215, 623,
1286 787, 9282,-32768,-32768,-32768, 518, 518, 1215, 1215, 1119,
1287 1215,-32768,-32768, 5959, 172, 172,-32768,-32768, 1226, 1228,
1288 1229, 1230,-32768, 7400, 1234,-32768,-32768,-32768,-32768,-32768,
1289 172, 1240,-32768,-32768,-32768,-32768, 1232,-32768,-32768, 724,
1290 -32768, 227, 1290, 869, 1070,-32768,-32768,-32768,-32768,-32768,
1291 9282, 1298, 1299, 1306, 9016, 421, 633,-32768,-32768, 9108,
1292 1364, 1315,-32768, 3515, 10544, 3084, 6286,-32768,-32768, 1371,
1293 -32768,-32768,-32768, 8242,-32768, 491,-32768,-32768, 172, 172,
1294 -32768,-32768,-32768, 9282, 9282, 5537, 434, 434,-32768,-32768,
1295 -32768,-32768, 8044,-32768,-32768,-32768,-32768, 172, 172,-32768,
1296 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1492,
1297 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 897, 1294,
1298 1295, 5382,-32768,-32768,-32768,-32768, 1329, 9282, 1330,-32768,
1299 897,-32768,-32768, 1309,-32768,-32768, 518, 750,-32768, 799,
1300 518, 9723, 856, 248,-32768,-32768,-32768,-32768,-32768,-32768,
1301 -32768,-32768, 5537, 5537,-32768, 1215, 1215, 1284, 10676, 1307,
1302 -32768,-32768, 1319,-32768, 561, 561,-32768,-32768, 1394, 6746,
1303 9195, 9282,-32768, 8352,-32768, 1354,-32768,-32768, 639,-32768,
1304 -32768, 10158, 10158, 7584,-32768,-32768, 897,-32768,-32768,-32768,
1305 -32768,-32768,-32768,-32768, 337, 246, 4946,-32768,-32768, 9195,
1306 -32768,-32768, 8544,-32768, 76,-32768,-32768, 1358,-32768, 1312,
1307 121, 4846, 10699, 8352,-32768,-32768, 1232, 81,-32768, 145,
1308 -32768, 1313, 1314, 897, 1316, 897, 8448,-32768, 586,-32768,
1309 -32768,-32768,-32768, 518,-32768,-32768, 1232, 1414, 1366,-32768,
1310 -32768, 167,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1311 -32768,-32768,-32768, 9282, 1368, 7676, 897, 434, 8352, 1343,
1312 161, 1373,-32768,-32768,-32768,-32768,-32768, 76,-32768, 1337,
1313 -32768,-32768, 1378,-32768,-32768, 1375,-32768, 9282, 1414, 1389,
1314 1414,-32768,-32768,-32768,-32768,-32768,-32768, 1348, 179,-32768,
1315 -32768, 7768,-32768, 7400,-32768, 1448, 1400, 1352,-32768,-32768,
1316 260,-32768,-32768, 1453, 1405, 8448,-32768,-32768,-32768,-32768,
1320 static const short yypgoto
[] = {-32768,
1321 1476,-32768, -320,-32768, 1067, 55, 54, 1479,-32768, 320,
1322 -32768,-32768, 339, 1138,-32768, 21,-32768,-32768, -614,-32768,
1323 -32768, 584,-32768, 1326, -668, 44, -660, 1334, 65,-32768,
1324 -32768,-32768,-32768,-32768, 755,-32768,-32768,-32768,-32768,-32768,
1325 -32768, 390, 231,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1326 -32768,-32768,-32768,-32768, 1410, -623, 5509, 160, -100, -62,
1327 1372, -517,-32768, 652,-32768, 90,-32768, -1352,-32768, -1361,
1328 -45,-32768, 1416, 1238, -244,-32768, -785, 3520, 736, 3721,
1329 3203, 1236,-32768, -69, -28, 163, -71, -24,-32768,-32768,
1330 -32768, -304,-32768, -155,-32768,-32768, -1234, -31, -326, 1524,
1331 30, 1239, -109, 45, 229, -180, -4, -82, -658, 202,
1332 -32768, -21, 7,-32768, -195,-32768,-32768,-32768,-32768,-32768,
1333 568, -40, 17,-32768, 622,-32768,-32768, -1011, -390, 840,
1334 -32768,-32768,-32768,-32768,-32768, -54,-32768,-32768,-32768,-32768,
1335 -32768, 642, -359,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1336 1321,-32768, 393, 557,-32768,-32768,-32768,-32768, 519, -692,
1337 -32768,-32768,-32768,-32768,-32768,-32768, 791,-32768, 375, 926,
1338 662, 971, 3646, 24, 27, -437, 1367, 2269, -453,-32768,
1339 6,-32768, 5036, -125, 388, -51, 3595, 1231,-32768, 4683,
1340 1552, 1280, -19, -106,-32768, 1438, -48,-32768, 4383, 2452,
1341 -276,-32768, 2422,-32768,-32768, 245, -869, -957,-32768,-32768,
1342 341, 79, -293,-32768,-32768,-32768,-32768, -1312,-32768, -1184,
1343 -1364,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1344 -32768,-32768,-32768,-32768,-32768,-32768, 102,-32768,-32768,-32768,
1345 -32768,-32768, 106, -1236,-32768,-32768,-32768, -53,-32768,-32768,
1346 -32768,-32768, -1370, 52,-32768, 43,-32768, -713, -539, 626,
1347 -32768,-32768,-32768,-32768, -378,-32768, -376, -151,-32768, -428,
1348 352,-32768, 486,-32768, -217
1352 #define YYLAST 10807
1355 static const short yytable
[] = { 58,
1356 408, 457, 594, 205, 121, 935, 656, 237, 657, 151,
1357 923, 711, 454, 787, 480, 196, 728, 204, 372, 102,
1358 400, 403, 180, 166, 41, 654, 336, 71, 337, 279,
1359 603, 58, 633, 54, 474, 682, 58, 921, 1012, 915,
1360 502, 505, 1049, 976, 1017, 978, 856, 473, 56, 1458,
1361 1359, 193, 1005, 856, 139, 143, 41, 37, 36, 71,
1362 572, 41, 380, 572, 71, 54, 228, 1122, 45, 237,
1363 54, 470, 535, 392, 371, 1382, 378, 208, 277, 174,
1364 56, 383, 329, 453, 329, 56, 329, 241, 1478, 37,
1365 36, 572, 461, 1480, 37, 36, 492, 1475, 289, 749,
1366 45, 329, 329, 381, 382, 45, 278, 354, -1, 1220,
1367 344, -2, 1501, 355, 27, 237, -90, 606, 459, 462,
1368 192, 151, 151, 151, 1469, 416, 418, 678, 199, 200,
1369 390, 329, 1397, 329, 14, -275, 1242, 1243, 205, 1400,
1370 -90, 433, 1123, 1488, 943, 1491, 205, 205, 492, 858,
1371 1263, 1075, 204, 1524, 151, 58, 1533, 21, 71, 668,
1372 460, 204, 924, 1498, 388, 943, 24, 675, 582, 399,
1373 402, 1548, 750, 205, -90, 970, 772, 174, -90, 389,
1374 483, -275, -275, 71, -326, 1456, 1221, 434, 419, 54,
1375 1489, 1501, 944, 1124, 1525, 945, 150, -268, 85, 387,
1376 436, 438, 87, -326, 56, 92, 971, 419, 106, 582,
1377 174, -90, 208, 944, 771, 949, 945, 890, -796, 933,
1378 208, 420, 205, 1529, 45, 676, 281, 373, 374, 10,
1379 946, 785, 57, 700, 241, 607, 608, 1333, 234, 1465,
1380 420, 1546, 786, 1006, 100, 93, 1339, 1340, 86, 1341,
1381 1359, 946, 981, 114, 1082, 771, 577, 1085, 672, 107,
1382 1146, 1185, 134, 950, 57, 22, 951, 891, 569, 57,
1383 1530, 1188, 1151, 228, 205, 609, 1207, -125, 27, 1486,
1384 28, 299, 1233, 964, 900, 1096, 982, 1362, 1547, 136,
1385 983, 662, 663, 1007, 217, 1110, 1111, 578, 8, 9,
1386 603, 952, 108, 378, 329, 1171, 136, 1173, 1362, 401,
1387 404, 276, 33, 894, 400, 403, 636, 277, 656, 1554,
1388 956, 157, 1011, 984, 1527, 228, 1208, 641, 1016, 856,
1389 156, 481, 1234, 329, 612, 205, 599, 1363, 15, 16,
1390 241, 150, 39, -385, 714, 278, 158, 1152, 196, 204,
1391 640, 129, 130, 368, 163, 155, 659, 480, 1436, 87,
1392 162, 167, 71, 57, -589, 88, 594, 856, 611, 1555,
1393 459, 462, -385, 761, 39, 397, -385, 482, 459, 39,
1394 653, 936, 600, 389, 193, 89, 1099, 159, 57, 137,
1395 462, 925, 718, 719, 1440, 1441, 582, -126, 205, 205,
1396 1276, -549, 487, 610, 416, 644, 205, 856, 655, 462,
1397 -589, -589, 460, 204, 172, 151, 151, 151, 205, 762,
1398 460, 153, -385, 94, 109, 110, -589, 425, 1077, 693,
1399 1371, 1071, 208, 1072, -549, 768, 926, 205, 829, 1050,
1400 531, 716, 771, 27, 426, 927, 928, -549, 173, 844,
1401 465, 467, 90, 709, 171, 830, 528, 655, 529, 1204,
1402 1205, 715, 478, 704, 705, 19, 58, 901, 223, 137,
1403 1005, 524, 91, 427, 8, 485, 208, 111, 112, 280,
1404 -549, 449, 929, 902, 831, 1184, 126, 127, 1413, 138,
1405 846, 483, 137, 329, 71, 845, 329, 1415, 1416, 329,
1406 743, 1378, 864, 329, 777, 777, 777, 777, 877, -335,
1407 848, 15, 16, 569, 960, 744, 329, 225, 728, 343,
1408 1502, 528, 656, 529, 657, 736, 329, 129, 130, 329,
1409 340, 514, 1515, 153, 153, 153, 847, 27, -277, 129,
1410 130, 654, 1519, -335, 15, 16, 985, -335, 865, 866,
1411 276, 486, 357, 833, 206, 207, 849, 205, 342, 1532,
1412 961, 329, 277, 834, 856, 352, 153, 57, 966, 603,
1413 968, 204, 89, 619, 897, 972, 356, 835, 1543, 879,
1414 -335, 653, 629, 1115, -277, -277, 360, 856, 693, 1170,
1415 278, 1172, 986, 1117, 361, 619, 492, 829, 205, 384,
1416 -271, 1560, 241, 401, 404, 1119, 850, 852, 1449, 655,
1417 196, 1506, 204, 652, 830, -268, 655, 88, 908, 1193,
1418 913, 914, 121, 372, 358, -123, 535, 126, 127, 1116,
1419 742, 459, 329, 1503, 405, 126, 127, 89, 205, 1118,
1420 483, 1121, 173, 831, 91, 1201, 193, 1179, 1181, 284,
1421 228, 1120, 204, 934, 1450, 1388, 606, 1393, 406, 205,
1422 933, 914, 652, 524, 359, -584, 524, 1025, 414, 94,
1423 109, 110, 477, 460, -7, 416, 126, 127, 27, 1504,
1424 129, 130, 401, 782, 136, 1334, 27, 728, 129, 130,
1425 1013, 1014, 653, 1015, 493, 1380, 524, 87, 717, 57,
1426 447, 448, 493, 196, 494, 455, 456, 136, 22, 416,
1427 417, 991, 494, 556, 557, 429, 1240, 979, 980, 430,
1428 655, 1244, 205, 111, 112, 772, 1008, 27, 488, 129,
1429 130, 58, 1181, 58, 489, -336, 90, 15, 16, 193,
1430 58, 1229, 1231, 490, -124, 475, 1235, 653, 329, 329,
1431 491, 329, 90, 653, 499, 872, 91, 346, 350, 71,
1432 509, 71, 508, 794, 510, 743, 511, 977, 71, -336,
1433 512, 1280, 91, -336, 743, 655, 1189, 1190, 531, 1192,
1434 744, 655, 744, 1360, 1361, 1471, 572, 1273, 617, 744,
1435 736, 476, 736, 8, 9, 276, 1095, 126, 127, 736,
1436 620, 1492, 621, 126, 127, 842, -336, 990, 1000, 447,
1437 1430, 94, 95, 96, 652, 126, 127, 1141, 1142, 1143,
1438 637, 652, 777, 623, 199, 200, 1052, 153, 153, 153,
1439 14, 7, 8, 231, 10, 88, 1346, 1347, 343, 624,
1440 237, 88, 343, 1153, 625, 1328, 129, 130, 343, 1335,
1441 129, 130, 1356, 21, 777, 89, 129, 130, 455, 1431,
1442 653, 89, 24, 27, 693, 97, 98, 99, 129, 130,
1443 22, 639, 899, -102, 486, 15, 16, 232, 638, 241,
1444 233, 666, 151, 1354, 916, 28, 29, -6, 655, -44,
1445 850, 852, 655, 669, -44, 742, 653, 742, 777, 329,
1446 1401, 1402, 653, 742, 742, -44, 706, -102, 687, 233,
1447 794, -102, 1166, 1167, 1168, 447, 1435, 33, 710, 1411,
1448 1412, 644, 151, 88, 655, 652, 237, 753, 1100, 1101,
1449 655, 1365, 754, 872, 126, 127, 755, 756, 416, 416,
1450 763, 781, 693, 89, -102, 991, 764, 783, 94, 109,
1451 110, 784, 626, 627, 628, 676, 777, 786, 15, 16,
1452 522, 841, 329, -385, 57, 843, 57, 416, 1155, 653,
1453 655, 857, 859, 57, 1157, 1158, 400, 403, 1155, 1160,
1454 652, 653, 1158, 861, 882, 27, 652, 129, 130, 772,
1455 893, -385, -385, 883, 8, 9, -385, 655, 1196, 400,
1456 403, 833, 111, 112, 58, 892, 8, 9, 895, 655,
1457 896, 834, 708, 21, 653, 903, 653, 904, 7, 126,
1458 127, 10, 506, 507, 917, 835, 281, 373, 374, 10,
1459 401, 782, 71, -271, 237, 922, 419, 515, 743, 343,
1460 516, 990, 655, 517, 655, -795, 527, 129, 130, 940,
1461 532, 343, -100, 744, 15, 16, 329, 22, 571, 129,
1462 130, 941, 958, 736, 232, 22, 942, 963, 656, 150,
1463 1473, 233, 28, 29, 948, 1418, 962, 151, 151, 151,
1464 28, 299, 686, 486, 969, 967, -100, 1428, 1009, 1026,
1465 -100, 1027, 1028, 652, 934, 1279, 233, 652, 1029, 653,
1466 151, 151, 151, 1030, 33, 1031, 115, 116, 117, 1129,
1467 1032, 1033, 33, 416, 416, 1034, 416, 416, 1035, 416,
1468 629, -122, 693, -100, 90, 1210, 1211, 655, 1036, 652,
1469 899, 1038, 1366, 1039, 772, 652, 1041, 8, 9, 1042,
1470 386, 12, 13, 1418, 91, 689, 1043, 14, 1210, 1211,
1471 655, 1044, 522, 1549, 1045, 522, 1046, 234, 58, 774,
1472 118, 119, 17, 1047, 18, 19, 759, 1057, 742, 1059,
1473 21, -545, 522, 90, -545, 652, 1060, 973, 1062, 24,
1474 1496, 1061, 1418, 1070, 90, 522, 71, 1068, 27, 801,
1475 129, 130, 743, 91, 1069, 457, 15, 16, 678, 1076,
1476 1078, -385, 652, 1079, 91, 416, 416, 744, 1081, 1091,
1477 861, 1088, 760, 1418, 652, 823, 1094, 736, 1316, 1114,
1478 1132, 840, -545, 974, -545, -545, 1138, -545, 777, -385,
1479 -385, 690, 1156, 1161, 1337, 1338, 1165, 57, -545, 1174,
1480 -545, 553, 554, 555, 556, 557, 71, 652, 1169, 652,
1481 1022, 1023, 1024, 1182, 515, 516, -545, -545, 1175, 1176,
1482 -545, 205, 1177, 1186, 1187, 401, 404, 1315, 1195, 1180,
1483 1191, 1203, -545, 1468, 196, 204, 1311, 1310, 1206, 426,
1484 492, 1197, 1387, 965, 1387, 1198, 1199, 1202, 401, 1227,
1485 281, 373, 374, 10, 153, 416, 416, 416, 1209, 1214,
1486 1228, 1237, 362, 363, 364, 1316, 400, 403, 1238, 1241,
1487 193, 1245, 1316, -626, 1267, 1268, 1274, 1010, 487, 1316,
1488 126, 1260, 742, 1277, 1278, 1283, 1284, 1285, 1286, 22,
1489 1220, 1326, 652, 71, 153, 1350, 232, 1351, 1352, 1353,
1490 71, 115, 718, 719, 28, 299, 1355, 71, 365, 1357,
1491 126, 127, 1364, 1180, 1315, 652, 366, 367, 239, 1374,
1492 1373, 1315, 416, 416, 1310, 343, 1375, 151, 1315, 721,
1493 1311, 1310, 1383, 129, 130, 1385, 33, 1311, 1310, 94,
1494 95, 96, 239, 209, 210, 211, 1398, 1420, 1421, 1425,
1495 1427, 57, 1442, 27, 582, 118, 119, 486, 94, 109,
1496 110, 27, 1429, 129, 130, 1444, 205, 151, 151, 151,
1497 1454, 239, 1447, 212, 1466, 1316, 1461, 583, 1482, 1316,
1498 239, 1483, 1494, 1495, 1510, 1497, 1514, 584, 1521, 329,
1499 1484, 27, 1531, 97, 98, 213, 1528, 585, 1535, 1537,
1500 586, 587, 653, 71, 278, 1461, 1534, 71, 1316, 1540,
1501 1289, 57, 111, 112, 113, 704, 705, 1545, 1550, 1316,
1502 1552, 1553, 1508, 1557, 1315, 1558, 239, 416, 1315, 1562,
1503 655, 1563, 1316, 278, 1310, 1, 71, 1311, 1310, 671,
1504 5, 214, 215, 216, 1097, 412, 1055, 71, 1470, 153,
1505 153, 153, 635, 413, 94, 109, 110, 1315, 1001, 239,
1506 71, 1461, 339, 1215, 1316, 1452, 1311, 1310, 1315, 393,
1507 1559, 1090, 153, 153, 153, 498, 1390, 1311, 1310, 939,
1508 522, 1315, 239, 94, 95, 96, 1089, 1163, 1144, 278,
1509 1311, 1310, 71, 1239, 1003, 1262, 1379, 828, 57, 115,
1510 116, 117, 469, 885, 1087, 57, 1148, 1149, 111, 112,
1511 450, 1316, 57, 1315, 1129, 79, 579, 94, 95, 96,
1512 370, 1396, 1311, 1310, 1325, 103, 115, 718, 719, 343,
1513 1516, 1493, 1487, 1541, 1058, 1162, 132, 97, 98, 71,
1514 1539, 1131, 141, 141, 1327, 141, 0, 79, 0, 0,
1515 1414, 27, 79, 118, 119, 401, 1227, 558, 0, 0,
1516 1315, 0, 515, 516, 0, 187, 0, 79, 0, 1311,
1517 1310, 97, 98, 239, 0, 220, 0, 0, 1139, 0,
1518 118, 119, 103, 650, 0, 0, 0, 0, 0, 349,
1519 351, 0, 0, 243, 103, 0, 559, 560, 198, 199,
1520 200, 561, 562, 563, 564, 14, 0, 0, 57, 276,
1521 0, 0, 57, 0, 0, 0, 103, 0, 0, 0,
1522 0, 0, 0, 19, 684, 0, 0, -277, 21, 0,
1523 0, 691, 650, 0, 239, 652, 0, 24, 276, 132,
1524 0, 57, -277, -277, 132, 0, 79, -277, 0, 0,
1525 141, 0, 57, 395, 141, 0, 0, 141, 141, 141,
1526 0, 0, 0, -277, 0, 57, 0, 7, 8, 9,
1527 10, 79, 0, 13, 0, -277, -277, 0, -277, 0,
1528 -277, 1248, 1249, 0, 1258, 1259, 0, 1261, 187, 187,
1529 187, 0, 0, 0, 276, 0, 769, 57, 198, 199,
1530 200, 0, 0, 0, 0, 14, 22, 239, 0, -277,
1531 -277, 0, 582, -277, 115, 718, 719, 187, 720, 27,
1532 0, 28, 29, 19, 0, -277, 0, 0, 21, 0,
1533 0, 0, 468, 0, 239, 905, 0, 24, 522, 153,
1534 103, 0, 721, 0, 57, 906, 362, 363, 364, 722,
1535 0, 141, 660, 33, 1194, 585, 0, 0, 907, 587,
1536 822, 0, 824, 825, 0, 0, 27, 0, 118, 119,
1537 0, 0, 0, 1331, 1332, 601, 8, 9, 0, 153,
1538 153, 153, 0, 0, 650, 1269, 1270, 1271, 1272, 103,
1539 495, 650, 526, 0, 0, 1275, 0, 876, 27, 0,
1540 366, 367, 683, 7, 8, 9, 10, 0, 0, 683,
1541 0, 289, 602, 0, 22, 7, 8, 9, 10, 239,
1542 515, 516, 0, 0, 0, 0, 0, 27, 0, 129,
1543 130, 126, 127, 103, 0, 239, 0, 580, 0, 495,
1544 495, 596, 22, 94, 109, 110, 0, 209, 210, 211,
1545 79, 0, 0, 0, 22, 27, 0, 28, 29, 0,
1546 582, 176, 0, 1405, 1406, 1407, 132, 27, 649, 28,
1547 29, 177, 128, 0, 683, 0, 0, 212, 0, 0,
1548 0, 178, 27, 905, 129, 130, 0, 0, 0, 33,
1549 132, 0, 0, 906, 179, 650, 103, 111, 112, 187,
1550 103, 33, 0, 585, 0, 0, 907, 587, 0, 0,
1551 141, 0, 0, 141, 0, 0, 1377, 692, 141, 0,
1552 0, 0, 7, 8, 9, 10, 0, 0, 227, 0,
1553 1438, 1439, 0, 0, 0, 0, 0, 0, 683, 0,
1554 683, 683, 0, 0, 0, 0, 0, 187, 0, 187,
1555 650, 187, 187, 187, 0, 0, 650, 0, 187, 0,
1556 0, 22, 0, 187, 0, 0, 187, 582, 683, 0,
1557 7, 8, 9, 10, 27, 683, 28, 29, 0, 0,
1558 0, 0, 79, 0, 770, 0, 0, 773, 0, 1426,
1559 905, 775, 776, 778, 779, 780, 0, 0, 0, 0,
1560 906, 0, 0, 0, 526, 527, 0, 0, 33, 22,
1561 585, 0, 0, 907, 587, 0, 232, 797, 0, 0,
1562 103, 103, 103, 103, 28, 29, 0, 0, 1051, 0,
1563 0, 801, 1459, 8, 9, 1526, 0, 12, 227, 0,
1564 0, 0, 1063, 14, 1064, 522, 1065, 0, 233, 826,
1565 0, 0, 0, 0, 0, 0, 33, 0, 17, 0,
1566 18, 1459, 0, 650, 0, 0, 21, 650, 0, 854,
1567 0, 0, 0, 0, 0, 24, 854, 582, 103, 0,
1568 495, 0, 0, 0, 27, 0, 129, 130, 0, 1093,
1569 0, 0, 580, 0, 495, 495, 0, 596, 0, 650,
1570 583, 0, 0, 0, 873, 650, 0, 0, 875, 0,
1571 584, 0, 239, 0, 239, 1520, 0, 1459, 0, 0,
1572 585, 0, 187, 586, 587, 0, 1112, 515, 516, 0,
1573 0, 0, 0, 0, 0, 987, 988, 9, 10, 1538,
1574 0, 0, 0, 0, 0, 650, 683, 0, 0, 0,
1575 0, 239, 0, 801, 551, 552, 553, 554, 555, 556,
1576 557, 187, 912, 187, 187, 220, 596, 0, 0, 0,
1577 0, 0, 650, 0, 22, 7, 126, 127, 10, 0,
1578 649, 13, 0, 0, 650, 0, 0, 27, 0, 28,
1579 29, 0, 0, 1147, 0, 989, 0, 0, 0, 0,
1580 0, 0, 0, 177, 187, 0, 683, 0, 912, 0,
1581 0, 0, 0, 178, 22, 187, 187, 650, 187, 650,
1582 683, 33, 683, 0, 683, 0, 179, 27, 0, 28,
1583 29, 0, 0, 0, 0, 692, 0, 239, 0, 0,
1584 0, 692, 0, 31, 132, 0, 0, 79, 0, 79,
1585 0, 0, 0, 32, 998, 79, 79, 0, 0, 0,
1586 0, 33, 0, 103, 0, 0, 34, 683, 0, 103,
1587 8, 9, 0, 0, 12, 13, 495, 495, 495, 0,
1588 14, 7, 8, 9, 10, 0, 0, 13, 495, 0,
1589 0, 0, 0, 0, 0, 17, 0, 18, 0, 0,
1590 0, 0, 650, 21, 683, 0, 0, 458, 199, 200,
1591 1048, 0, 24, 1216, 14, 1217, 0, 1218, 0, 239,
1592 22, 27, 683, 129, 130, 650, 582, 0, 0, 0,
1593 0, 0, 19, 27, 0, 28, 29, 21, 103, 0,
1594 0, 0, 797, 0, 0, 239, 24, 0, 692, 1102,
1595 0, 0, 854, 0, 0, 0, 0, 0, 0, 1103,
1596 827, 495, 0, 495, 0, 0, 0, 33, 0, 585,
1597 103, 0, 1104, 587, 495, 0, 103, 0, 873, 873,
1598 873, 0, 0, 0, 649, 1080, 1098, 126, 127, 0,
1599 854, 199, 200, 0, 198, 199, 200, 14, 239, 0,
1600 0, 14, 0, 0, 1282, 437, 439, 443, 0, 0,
1601 0, 0, 103, 0, 103, 82, 187, 187, 1106, 19,
1602 21, 0, 0, 0, 21, 105, 0, 0, 0, 24,
1603 854, 582, 0, 24, 0, 125, 133, 0, 27, 0,
1604 129, 130, 142, 142, 1134, 142, 0, 82, 880, 0,
1605 1140, 0, 82, 0, 583, 0, 0, 692, 1106, 0,
1606 0, 126, 127, 0, 584, 142, 13, 82, 0, 692,
1607 0, 0, 103, 0, 585, 221, 0, 593, 587, 0,
1608 0, 0, 229, 0, 0, 103, 0, 0, 998, 0,
1609 0, 683, 0, 683, 229, 683, 0, 103, 0, 0,
1610 0, 0, 692, 0, 692, 582, 0, 0, 0, 0,
1611 1159, 0, 27, 0, 129, 130, 0, 0, 0, 0,
1612 79, 0, 281, 8, 9, 10, 0, 0, 583, 0,
1613 103, 0, 103, 0, 0, 0, 0, 0, 584, 379,
1614 0, 0, 0, 0, 0, 0, 82, 0, 585, 0,
1615 142, 586, 587, 0, 142, 0, 0, 142, 142, 142,
1616 0, 22, 0, 0, 495, 495, 0, 495, 232, 0,
1617 0, 82, 0, 0, 0, 0, 28, 299, 0, 0,
1618 0, 0, 683, 0, 0, 0, 0, 854, 142, 142,
1619 142, 0, 0, 0, 0, 7, 8, 9, 10, 0,
1620 233, 483, 0, 0, 0, 0, 0, 0, 33, 0,
1621 854, 187, 187, 187, 187, 1106, 0, 142, 0, 187,
1622 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1623 554, 555, 556, 557, 22, 0, 1106, 1106, 1106, 0,
1624 582, 0, 0, 0, 0, 650, 0, 27, 0, 28,
1625 29, 142, 8, 9, 0, 0, 12, 13, 0, 0,
1626 0, 0, 14, 905, 702, 0, 703, 187, 437, 439,
1627 443, 0, 141, 906, 79, 0, 0, 17, 0, 18,
1628 713, 33, 0, 585, 0, 21, 907, 587, 0, 229,
1629 142, 0, 0, 0, 24, 0, 0, 0, 0, 0,
1630 0, 0, 0, 27, 0, 129, 130, 565, 0, 591,
1631 595, 598, 0, 0, 0, 0, 1134, 0, 0, 0,
1632 0, 187, 187, 731, 187, 7, 8, 732, 10, 386,
1633 12, 13, 0, 229, 0, 0, 14, 581, 0, 142,
1634 142, 597, 566, 0, 103, 0, 605, 0, 0, 0,
1635 82, 17, 0, 18, 19, 20, 0, 0, 0, 21,
1636 -492, 0, 0, 0, 22, 0, 379, 683, 24, 733,
1637 0, 643, 0, 0, 0, 0, 0, 27, 0, 28,
1638 29, 0, 0, 734, 0, 735, 0, 126, 127, 0,
1639 0, 199, 200, 31, 0, 0, 229, 14, 0, 142,
1640 229, 0, 0, 32, 0, 987, 988, 9, 10, 0,
1641 142, 33, 0, 142, 0, 0, 34, 0, 142, 0,
1642 21, 0, 0, 0, 0, 187, 912, 187, 0, 24,
1643 0, 582, 0, -492, 0, 0, 0, 0, 27, 0,
1644 129, 130, 0, 0, 22, 0, 0, 142, 0, 142,
1645 0, 142, 142, 142, 583, 0, 0, 27, 142, 28,
1646 29, 0, 0, 142, 584, 989, 142, 0, 0, 0,
1647 0, 0, 0, 177, 585, 0, 0, 586, 587, 0,
1648 0, 730, 82, 178, 0, 8, 9, 0, 386, 12,
1649 13, 33, 0, 689, 0, 14, 179, 0, 0, 0,
1650 0, 0, 0, 1106, 0, 0, 0, 0, 0, 0,
1651 17, 0, 18, 19, 0, 0, 0, 526, 21, 0,
1652 229, 229, 229, 229, 0, 0, 0, 24, 0, 582,
1653 649, 0, 702, 703, 0, 713, 27, 0, 129, 130,
1654 0, 0, 0, 1106, 1106, 1106, 1250, 1251, 9, 10,
1655 0, 0, 583, 0, 0, 0, 0, 0, 103, 0,
1656 0, 0, 584, 0, 851, 853, 0, 0, 0, 0,
1657 0, 996, 585, 187, 0, 586, 587, 0, 229, 690,
1658 142, 0, 0, 0, 0, 22, 0, 0, 0, 0,
1659 7, 126, 127, 10, 142, 142, 227, 597, 27, 0,
1660 28, 29, 0, 0, 874, 0, 1252, 0, 0, 0,
1661 0, 0, 0, 0, 177, 0, 605, 0, 0, 0,
1662 0, 0, 142, 0, 178, 0, 0, 0, 0, 22,
1663 0, 910, 33, 591, 595, 0, 598, 179, 0, 0,
1664 0, 0, 27, 0, 28, 29, 7, 8, 9, 10,
1665 198, 199, 200, 125, 0, 0, 0, 14, 31, 0,
1666 0, 142, 597, 142, 142, 221, 597, 0, 32, 0,
1667 0, 0, 0, 0, 595, 19, 33, 0, 0, 0,
1668 21, 34, 0, 0, 730, 22, 0, 0, 0, 24,
1669 0, 582, 0, 0, 0, 0, 0, 0, 27, 0,
1670 28, 29, 0, 0, 142, 0, 0, 0, 597, 0,
1671 0, 0, 0, 0, 177, 142, 142, 0, 142, 0,
1672 126, 127, 0, 0, 178, 227, 281, 8, 9, 10,
1673 0, 0, 33, 437, 439, 443, 0, 1392, 0, 0,
1674 0, 0, 0, 0, 133, 0, 0, 82, 0, 82,
1675 0, 0, 0, 0, 999, 82, 82, 0, 595, 0,
1676 0, 0, 0, 229, 582, 22, 50, 0, 0, 229,
1677 0, 27, 232, 129, 130, 443, 142, 142, 142, 0,
1678 28, 299, 1250, 126, 127, 10, 0, 583, 142, 0,
1679 0, 0, 0, 50, 50, 0, 149, 584, 50, 0,
1680 0, 0, 0, 50, 486, 996, 0, 585, 0, 0,
1681 586, 587, 33, 0, 0, 0, 50, 0, 50, 0,
1682 0, 22, 549, 550, 551, 552, 553, 554, 555, 556,
1683 557, 1066, 0, 1067, 27, 0, 28, 29, 229, 0,
1684 0, 235, 1252, 0, 1073, 0, 0, 0, 851, 853,
1685 31, 0, 281, 8, 9, 10, 0, 0, 0, 0,
1686 32, 142, 0, 142, 0, 0, 0, 0, 33, 0,
1687 229, 0, 0, 34, 142, 0, 229, 0, 874, 874,
1688 874, 0, 0, 0, 0, 605, 851, 853, 0, 0,
1689 376, 22, 0, 0, 376, 376, 0, 50, 232, 0,
1690 0, 50, 0, 235, 0, 50, 28, 299, 149, 149,
1691 149, 0, 229, 0, 229, 0, 142, 142, 597, 0,
1692 0, 0, 50, 0, 0, 0, 0, 0, 702, 703,
1693 437, 439, 443, 0, 0, 0, 713, 0, 33, 50,
1694 50, 149, 0, 0, 0, 0, 0, 0, 0, 235,
1695 0, 0, 0, 437, 439, 443, 0, 0, 874, 0,
1696 0, 0, 0, 0, 0, 0, 0, 0, 50, 0,
1697 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
1698 0, 0, 0, 730, 1256, 229, 0, 0, 999, 281,
1699 126, 127, 10, 0, 0, 0, 0, 229, 0, 0,
1700 0, 0, 50, 0, 0, 0, 6, 0, 7, 8,
1701 9, 10, 11, 12, 13, 0, 0, 0, 0, 14,
1702 82, 0, 0, 0, 0, 0, 0, 0, 22, 0,
1703 229, 0, 229, 0, 17, 232, 18, 19, 702, 703,
1704 0, 713, 21, 28, 299, 0, 0, 22, 0, 0,
1705 0, 24, 0, 0, 411, 0, 0, 0, 0, 0,
1706 27, 0, 28, 29, 142, 142, 30, 142, 0, 0,
1707 0, 523, 0, 0, 0, 33, 31, 7, 8, 9,
1708 10, 1066, 1067, 851, 853, 0, 32, 0, 376, 1073,
1709 0, 0, 0, 0, 33, 0, 235, 0, 0, 34,
1710 0, 50, 0, 0, 0, 0, 851, 853, 0, 0,
1711 0, 142, 142, 142, 142, 597, 22, 376, 0, 142,
1712 0, 7, 126, 127, 10, 730, 0, 13, 0, 27,
1713 0, 28, 29, 0, 0, 1386, 874, 874, 874, 0,
1714 0, 376, 0, 0, 0, 177, 0, 0, 0, 0,
1715 50, 0, 730, 0, 0, 178, 0, 0, 77, 0,
1716 22, 50, 0, 33, 50, 0, 0, 142, 179, 50,
1717 0, 0, 142, 27, 82, 28, 29, 0, 0, 0,
1718 0, 0, 0, 0, 0, 77, 77, 0, 77, 146,
1719 77, 1066, 1067, 0, 1073, 77, 0, 0, 50, 147,
1720 50, 0, 149, 149, 149, 0, 0, 33, 77, 50,
1721 77, 0, 148, 0, 50, 0, 0, 50, 0, 0,
1722 443, 142, 142, 573, 142, 281, 373, 374, 10, 0,
1723 574, 0, 0, 50, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 229, 543, 544, 545, 546, 547,
1725 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
1726 437, 439, 443, 523, 22, 0, 523, 0, 0, 0,
1727 0, 575, 0, 0, 0, 0, 0, 27, 0, 28,
1728 299, 523, 523, 523, 0, 0, 240, 0, 0, 77,
1729 0, 0, 0, 77, 0, 0, 523, 77, 0, 0,
1730 77, 77, 77, 0, 0, 0, 0, 0, 0, 0,
1731 0, 576, 0, 0, 77, 0, 0, 0, 0, 0,
1732 0, 0, 0, 0, 0, 142, 597, 142, 0, 0,
1733 0, 77, 77, 77, 0, 0, 0, 0, 0, 0,
1734 0, 0, 235, 7, 8, 9, 10, 198, 199, 200,
1735 0, 0, 0, 0, 14, 523, 0, 0, 0, 407,
1736 77, 0, 0, 0, 0, 0, 0, 319, 0, 319,
1737 0, 319, 19, 50, 0, 0, 0, 21, 0, 0,
1738 435, 0, 22, 0, 0, 0, 24, 0, 582, 0,
1739 0, 0, 0, 452, 77, 27, 0, 28, 29, 0,
1740 0, 0, 0, 874, 0, 0, 0, 588, 588, 588,
1741 0, 905, 50, 50, 50, 50, 319, 0, 319, 0,
1742 0, 906, 0, 8, 9, 0, 386, 12, 13, 33,
1743 0, 585, 0, 14, 907, 587, 0, 0, 0, 0,
1744 0, 126, 127, 874, 874, 874, 483, 0, 17, 0,
1745 18, 19, 0, 0, 0, 50, 21, 0, 229, 50,
1746 0, 0, 0, 0, 0, 642, 50, 50, 643, 50,
1747 0, 0, 0, 142, 27, 0, 129, 130, 0, 0,
1748 0, 0, 0, 0, 0, 582, 0, 0, 0, 604,
1749 0, 0, 27, 77, 129, 130, 0, 0, 50, 0,
1750 50, 0, 0, 0, 0, 50, 50, 50, 583, 731,
1751 0, 7, 8, 732, 10, 386, 12, 13, 584, 0,
1752 0, 0, 14, 0, 0, 0, 0, 0, 585, 0,
1753 0, 586, 587, 523, 0, 0, 0, 17, 0, 18,
1754 19, 20, 77, 0, 0, 21, -493, 0, 0, 0,
1755 22, 0, 0, 77, 24, 733, 77, 643, 0, 0,
1756 0, 77, 0, 27, 0, 28, 29, 0, 0, 734,
1757 0, 735, 0, 0, 0, 0, 0, 0, 0, 31,
1758 513, 0, 0, 0, 0, 0, 0, 0, 0, 32,
1759 77, 0, 77, 0, 77, 77, 77, 33, 0, 0,
1760 0, 77, 34, 0, 0, 0, 77, 0, 0, 77,
1761 0, 0, 0, 0, 0, 0, 0, 0, 319, -493,
1762 0, 0, 0, 0, 0, 77, 0, 0, 0, 523,
1763 523, 523, 0, 0, 0, 235, 0, 7, 8, 9,
1764 10, 0, 0, 13, 0, 0, 0, 0, 0, 707,
1765 0, 0, 0, 0, 0, 712, 0, 0, 7, 126,
1766 127, 10, 588, 588, 483, 588, 0, 50, 50, 149,
1767 0, 0, 871, 0, 235, 0, 22, 0, 0, 0,
1768 751, 0, 0, 0, 0, 0, 757, 0, 0, 27,
1769 0, 28, 29, 0, 0, 0, 0, 22, 765, 766,
1770 0, 767, 0, 0, 0, 177, 681, 685, 0, 1128,
1771 27, 0, 28, 29, 685, 178, 0, 0, 0, 0,
1772 0, 0, 0, 33, 0, 0, 31, 0, 179, 588,
1773 0, 588, 588, 0, 588, 604, 32, 0, 0, 50,
1774 0, 0, 0, 0, 33, 0, 0, 0, 0, 34,
1775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1776 235, 0, 0, 0, 0, 77, 0, 0, 0, 0,
1777 0, 50, 588, 0, 0, 0, 0, 0, 319, 685,
1778 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1779 555, 556, 557, 0, 862, 863, 0, 0, 0, 862,
1780 0, 0, 0, 0, 77, 77, 77, 77, 0, 0,
1781 0, 319, 0, 681, 0, 0, 798, 799, 0, 803,
1782 804, 805, 806, 807, 808, 809, 810, 811, 812, 813,
1783 814, 815, 816, 817, 818, 819, 820, 821, 0, 0,
1784 0, 0, 235, 685, 0, 685, 685, 77, 0, 0,
1785 0, 77, 7, 126, 127, 10, 588, 0, 77, 77,
1786 0, 77, 50, 50, 149, 149, 149, 0, 235, 0,
1787 50, 0, 0, 685, 0, 0, 0, 0, 0, 0,
1788 685, 0, 0, 0, 0, 0, 0, 1128, 1128, 1128,
1789 77, 22, 77, 0, 0, 0, 0, 77, 77, 77,
1790 0, 887, 889, 0, 27, 0, 28, 29, 0, 0,
1791 0, 0, 0, 0, 0, 0, 0, 319, 50, 0,
1792 146, 0, 0, 50, 0, 50, 0, 0, 0, 588,
1793 147, 588, 0, 0, 0, 0, 0, 0, 33, 0,
1794 0, 0, 588, 148, 0, 0, 871, 871, 871, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1796 681, 0, 0, 0, 1018, 0, 1020, 0, 0, 0,
1797 0, 0, 50, 50, 0, 50, 154, 7, 8, 9,
1798 10, 189, 12, 190, 588, 588, 588, 0, 14, 0,
1799 0, 0, 0, 0, 0, 0, 188, 0, 0, 0,
1800 0, 0, 0, 17, 0, 18, 19, 0, 0, 0,
1801 0, 21, 0, 0, 0, 975, 22, 0, 0, 0,
1802 24, 0, 0, 0, 0, 0, 871, 0, 604, 27,
1803 0, 28, 29, 319, 319, 191, 319, 0, 1053, 1054,
1804 0, 1056, 0, 0, 0, 31, 0, 0, 0, 0,
1805 0, 685, 0, 0, 0, 32, 0, 0, 0, 77,
1806 77, 77, 0, 33, 0, 0, 0, 0, 34, 1074,
1807 0, 0, 0, 1037, 0, 0, 50, 50, 50, 0,
1808 0, 0, 0, 0, 0, 0, 0, 0, 154, 154,
1809 154, 0, 0, 0, 0, 0, 0, 0, 0, 8,
1810 9, 1130, 0, 12, 227, 0, 0, 0, 0, 14,
1811 681, 685, 0, 0, 1108, 0, 0, 0, 0, 188,
1812 188, 444, 0, 0, 17, 685, 18, 685, 0, 685,
1813 0, 77, 21, 0, 7, 8, 9, 10, 0, 0,
1814 227, 24, 0, 0, 0, 0, 0, 0, 188, 0,
1815 27, 0, 129, 130, 1128, 0, 0, 0, 0, 0,
1816 0, 0, 1086, 77, 0, 0, 0, 0, 0, 0,
1817 0, 0, 685, 22, 7, 8, 9, 10, 1145, 588,
1818 588, 588, 588, 588, 319, 0, 27, 588, 28, 29,
1819 1150, 0, 0, 0, 1128, 1128, 1128, 1109, 0, 0,
1820 0, 0, 177, 0, 871, 871, 871, 0, 0, 685,
1821 0, 0, 178, 22, 0, 0, 0, 0, 0, 0,
1822 33, 496, 0, 0, 50, 179, 27, 685, 28, 29,
1823 0, 0, 0, 0, 8, 9, 0, 0, 12, 13,
1824 0, 0, 440, 0, 14, 0, 0, 0, 0, 0,
1825 0, 0, 441, 0, 77, 77, 77, 77, 77, 17,
1826 33, 18, 77, 0, 0, 442, 0, 21, 0, 1154,
1827 590, 590, 590, 0, 1200, 0, 24, 0, 0, 1130,
1828 1130, 1130, 0, 0, 0, 27, 0, 129, 130, 588,
1829 588, 0, 588, 0, 0, 0, 186, 0, 0, 0,
1830 0, 7, 8, 9, 10, 0, 0, 13, 0, 0,
1831 77, 0, 1213, 0, 0, 77, 0, 77, 681, 681,
1832 0, 238, 1183, 0, 242, 0, 0, 0, 0, 0,
1833 188, 0, 0, 0, 0, 0, 7, 8, 9, 10,
1834 22, 319, 483, 0, 0, 238, 0, 345, 0, 0,
1835 0, 0, 0, 27, 0, 28, 29, 0, 0, 0,
1836 0, 0, 0, 0, 77, 77, 0, 77, 0, 440,
1837 1265, 0, 0, 0, 1266, 22, 0, 0, 188, 441,
1838 188, 0, 444, 444, 444, 0, 0, 33, 27, 188,
1839 28, 29, 442, 0, 188, 0, 685, 188, 685, 0,
1840 685, 0, 0, 681, 177, 0, 0, 1281, 7, 8,
1841 9, 10, 681, 681, 178, 0, 0, 681, 0, 186,
1842 186, 186, 33, 0, 0, 0, 0, 179, 0, 451,
1843 0, 0, 1246, 1247, 546, 547, 548, 549, 550, 551,
1844 552, 553, 554, 555, 556, 557, 1329, 22, 186, 0,
1845 1330, 0, 0, 0, 0, 0, 0, 0, 681, 0,
1846 27, 0, 28, 29, 0, 0, 0, 0, 77, 77,
1847 77, 242, 1348, 1349, 0, 0, 177, 0, 0, 0,
1848 0, 0, 0, 0, 0, 238, 178, 685, 0, 0,
1849 0, 0, 0, 0, 33, 0, 0, 0, 0, 179,
1850 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
1851 9, 836, 386, 12, 13, 0, 681, 1472, 0, 14,
1852 0, 0, 0, 0, 0, 590, 590, 0, 590, 0,
1853 0, 0, 1336, 0, 17, 590, 18, 19, 0, 0,
1854 0, 0, 21, 0, 0, 0, 1130, 0, 0, 0,
1855 0, 24, 0, 188, 681, 0, 0, 0, 0, 0,
1856 27, 0, 129, 130, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 238, 242, 0, 0,
1858 0, 1372, 0, 0, 0, 0, 1130, 1130, 1130, 0,
1859 0, 0, 909, 0, 909, 909, 0, 590, 0, 75,
1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861 0, 0, 0, 0, 1403, 1404, 77, 0, 0, 0,
1862 0, 0, 0, 1409, 0, 0, 140, 144, 0, 0,
1863 186, 75, 0, 0, 0, 909, 75, 0, 0, 0,
1864 0, 0, 0, 0, 0, 0, 188, 188, 0, 188,
1865 0, 197, 0, 0, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 8, 9, 0, 189, 12, 190, 0,
1867 0, 0, 685, 14, 0, 0, 0, 0, 186, 0,
1868 186, 0, 186, 186, 186, 188, 0, 0, 17, 186,
1869 18, 19, 0, 0, 186, 0, 21, 186, 0, 0,
1870 0, 0, 1463, 0, 0, 24, 0, 496, 496, 496,
1871 0, 0, 0, 0, 27, 0, 129, 130, 0, 590,
1872 731, 0, 7, 8, 732, 10, 386, 12, 13, 0,
1873 391, 0, 0, 14, 394, 0, 0, 0, 396, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
1875 18, 19, 20, 0, 0, 75, 21, -495, 0, 0,
1876 0, 22, 0, 0, 0, 24, 733, 0, 643, 0,
1877 0, 0, 140, 144, 27, 0, 28, 29, 0, 0,
1878 734, 0, 735, 0, 0, 0, 0, 0, 0, 0,
1879 31, 0, 590, 0, 590, 0, 0, 0, 0, 0,
1880 32, 0, 0, 0, 0, 590, 0, 0, 33, 590,
1881 590, 590, 0, 34, 0, 0, 0, 0, 0, 0,
1882 0, 0, 0, 0, 681, 0, 0, 0, 0, 0,
1883 -495, 0, 0, 0, 0, 484, 0, 0, 238, 242,
1884 0, 0, 0, 0, 0, 0, 0, 909, 909, 1107,
1885 0, 0, 0, 186, 540, 541, 542, 543, 544, 545,
1886 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
1887 556, 557, 688, 0, 281, 8, 9, 10, 386, 12,
1888 282, 283, 284, 689, 285, 14, 0, 0, 0, 1107,
1889 0, 0, 186, 0, 186, 186, 0, 0, 0, 0,
1890 17, 286, 18, 19, 20, 0, 287, 288, 21, 0,
1891 289, 290, 291, 22, 292, 293, 0, 24, 0, 188,
1892 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
1893 0, 0, 0, 300, 613, 186, 0, 0, 0, 301,
1894 0, 0, 302, 0, 0, 0, 186, 186, 0, 186,
1895 303, 304, 305, 1422, 0, 0, 0, 0, 306, 307,
1896 308, 0, 0, 0, 0, 309, 0, 0, 0, 690,
1897 0, 0, 242, 0, 0, 0, 0, 0, 0, 0,
1898 0, -763, 0, 310, 0, 186, 0, 0, 0, 0,
1899 0, 0, 0, 0, 664, 836, 836, 665, 836, 0,
1900 0, 0, 667, 0, 1423, 536, 537, 538, 539, 540,
1901 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
1902 551, 552, 553, 554, 555, 556, 557, 0, 0, 0,
1903 0, 394, 0, 396, 0, 0, 0, 0, 0, 0,
1904 0, 0, 909, 909, 1107, 1107, 1107, 484, 0, 731,
1905 909, 7, 8, 732, 10, 386, 12, 13, 0, 0,
1906 0, 0, 14, 0, 0, 0, 748, 1107, 1107, 1107,
1907 0, 0, 0, 0, 0, 0, 0, 17, 0, 18,
1908 19, 20, 101, 0, 0, 21, -494, 0, 0, 0,
1909 22, 0, 120, 101, 24, 733, 0, 643, 188, 101,
1910 101, 0, 101, 27, 0, 28, 29, 0, 0, 734,
1911 0, 735, 0, 0, 0, 238, 242, 238, 0, 31,
1912 0, 0, 0, 0, 0, 0, 0, 0, 19, 32,
1913 0, 0, 219, 0, 0, 0, 0, 33, 0, 0,
1914 0, 0, 34, 0, 0, 0, 0, 186, 186, 1105,
1915 0, 0, 909, 909, 238, 909, 0, 0, 0, -494,
1916 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
1917 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
1918 556, 557, 0, 0, 0, 0, 0, 0, 0, 1105,
1919 0, 369, 0, 120, 0, 0, 101, 0, 0, 0,
1920 101, 101, 0, 0, 0, 0, 0, 101, 0, 101,
1921 101, 101, 0, 0, 101, 101, 101, 0, 0, 186,
1922 0, 6, 0, 7, 8, 9, 10, 11, 12, 13,
1923 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
1924 451, 0, 0, 0, 0, 0, 911, 15, 16, 17,
1925 0, 18, 19, 20, 0, 0, 188, 21, 188, 0,
1926 0, 0, 22, 0, 0, 23, 24, 25, 0, 26,
1927 0, 0, 0, 0, 0, 27, 0, 28, 29, 0,
1928 0, 30, 0, 0, 0, 0, 0, 0, 466, 101,
1929 0, 31, 954, 0, 0, 0, 0, 0, 0, 664,
1930 665, 32, 667, 0, 0, 0, 0, 0, 101, 33,
1931 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
1932 35, 0, 238, 0, 0, 0, 0, 0, 0, 0,
1933 0, 748, 0, 748, 444, 0, 0, 0, 997, 1004,
1934 748, 0, 186, 186, 186, 186, 1105, 101, 1212, 0,
1935 186, 542, 543, 544, 545, 546, 547, 548, 549, 550,
1936 551, 552, 553, 554, 555, 556, 557, 1105, 1105, 1105,
1937 0, 0, 0, 0, 444, 444, 444, 0, 0, 0,
1938 161, 0, 7, 8, 9, 10, 11, 12, 13, 0,
1939 0, 0, 0, 14, 101, 0, 101, 101, 186, 0,
1940 0, 0, 0, 0, 188, 0, 15, 16, 17, 0,
1941 18, 19, 20, 0, 0, 0, 21, 0, 0, 0,
1942 0, 22, 0, 101, 23, 24, 25, 0, 26, 0,
1943 0, 0, 0, 0, 27, 0, 28, 29, 0, 0,
1944 30, 0, 0, 0, 0, 0, 0, 101, 0, 0,
1945 31, 0, 186, 186, 0, 186, 0, 0, 0, 0,
1946 32, 0, 0, 101, 0, 0, 0, 101, 33, 0,
1947 101, 0, 0, 34, 0, 101, 0, 0, 0, 35,
1948 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
1949 551, 552, 553, 554, 555, 556, 557, 0, 0, 0,
1950 140, 144, 0, 0, 0, 0, 0, 0, 0, 0,
1951 0, 0, 0, 0, 0, 0, 0, 0, 0, 1342,
1952 0, -449, -449, -449, -449, -449, -449, -449, 0, 0,
1953 -449, 0, -449, 0, 0, 0, 101, 0, 723, 0,
1954 0, 0, 0, -449, 0, -449, -449, 0, 0, 0,
1955 -449, 0, 0, 0, 0, -449, 186, 0, 186, 0,
1956 -449, 0, 0, 101, -449, 0, -449, 0, 0, 0,
1957 0, 0, 997, -449, 0, -449, -449, -449, -449, -449,
1958 0, -449, -449, -449, -449, -449, -449, -449, -449, -449,
1959 -449, -449, -449, -449, -449, -449, -449, -449, -449, -449,
1960 -449, -449, -449, -449, 748, -449, -449, -449, 0, -449,
1961 -449, -449, -449, -449, -449, 0, -449, -449, 0, 0,
1962 0, 0, 1343, 0, 0, 0, 0, -449, -449, -449,
1963 0, -449, 0, 0, 1105, 0, 0, 101, 0, -357,
1964 8, 9, -357, -357, 12, 227, 0, 0, 101, 101,
1965 14, 101, 101, 0, 0, 0, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 17, 0, 18, -357, 0,
1967 0, 0, 0, 21, 1105, 1105, 1105, 0, -357, 0,
1968 0, 0, 24, 0, 582, 0, 0, 0, 0, 0,
1969 0, 27, 0, 129, 130, 394, 396, 0, 244, 0,
1970 0, 8, 9, 484, 186, 12, 13, 583, 0, 0,
1971 120, 14, 0, 0, 0, 0, 0, 584, 0, 0,
1972 0, 0, 219, 0, 0, -357, 17, 585, 18, 0,
1973 586, 587, 0, 0, 21, 0, 245, 246, 0, 0,
1974 0, 723, 0, 24, 0, 247, 0, 0, 0, 0,
1975 0, 1257, 27, 0, 129, 130, 1257, 248, 748, 0,
1976 0, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1977 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
1978 268, 269, 0, 0, 270, 271, 272, 0, 0, 273,
1979 0, 0, 274, 0, 0, 0, 0, 0, 723, 0,
1980 0, 101, 0, 0, 0, 664, 665, 622, 667, 275,
1981 0, 536, 537, 538, 539, 540, 541, 542, 543, 544,
1982 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1983 555, 556, 557, 101, 101, 101, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 101, 1394, 0, 1293, 1294,
1985 1295, 10, 386, 12, 282, 283, 284, 0, 285, 14,
1986 1296, 0, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304,
1987 1305, 1306, 15, 16, 17, 286, 18, 19, 20, 0,
1988 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
1989 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
1990 27, 0, 1307, 299, 676, 0, 1308, 300, 0, 0,
1991 1391, 0, 0, 301, 0, 0, 302, 0, 101, 0,
1992 101, 0, 0, 0, 303, 304, 305, 0, 0, 0,
1993 0, 101, 306, 307, 308, 0, 0, 0, 0, 309,
1994 0, 1309, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 1395, 310, 1292, 0,
1996 1293, 1294, 1295, 10, 386, 12, 282, 283, 284, 0,
1997 285, 14, 1296, 0, 1297, 1298, 1299, 1300, 1301, 1302,
1998 1303, 1304, 1305, 1306, 15, 16, 17, 286, 18, 19,
1999 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2000 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2001 297, 298, 27, 0, 1307, 299, 676, 0, 1308, 300,
2002 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2003 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2004 723, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2005 0, 309, 0, 1309, 0, 0, 0, 0, 0, 0,
2006 0, 0, 0, 0, 0, 0, 0, 101, 0, 310,
2007 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2008 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2009 556, 557, 0, 0, 0, 0, 0, 518, 0, 281,
2010 8, 9, 10, 386, 12, 282, 283, 284, 689, 285,
2011 14, 0, 0, 0, 0, 0, 0, 0, 0, 1178,
2012 0, 101, 101, 0, 101, 17, 286, 18, 19, 20,
2013 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2014 293, 0, 24, 0, 582, 0, 294, 295, 296, 297,
2015 298, 27, 0, 28, 299, -285, 0, 0, 300, 0,
2016 0, 0, 0, 0, 301, 0, 0, 867, 0, 0,
2017 0, 0, 0, 0, 0, 303, 304, 868, 0, 0,
2018 0, 0, 723, 306, 307, 308, 0, 585, 0, 0,
2019 869, 587, 0, 0, 690, 0, 0, 0, 0, 0,
2020 0, 0, 0, 0, 0, 0, 0, 0, 310, 723,
2021 518, 0, 7, 8, 9, 10, 386, 12, 282, 283,
2022 284, 689, 285, 14, 0, 0, 0, 101, 0, 101,
2023 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2024 18, 19, 20, 0, 287, 288, 21, 0, 289, 290,
2025 291, 22, 292, 293, 0, 24, 0, 582, 0, 294,
2026 295, 296, 297, 298, 27, 0, 28, 29, -285, 0,
2027 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2028 1125, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2029 1126, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2030 585, 0, 0, 1127, 587, 0, 800, 690, 281, 8,
2031 9, 10, 386, 12, 282, 283, 284, 0, 285, 14,
2032 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2033 0, 0, 0, 0, 17, 286, 18, 19, 20, 0,
2034 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2035 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2036 27, 0, 28, 299, 1455, 0, -753, 300, 0, 0,
2037 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2038 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2039 0, 0, 306, 307, 308, 0, 0, 0, 679, 309,
2040 788, 789, 790, 10, 0, 12, 500, 283, 284, 0,
2041 285, 14, 0, 0, 0, 0, 0, 310, 0, 0,
2042 0, 0, 0, 0, 0, 0, 17, 286, 18, 0,
2043 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2044 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2045 297, 298, 27, 0, 791, 792, 680, 0, 0, 300,
2046 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2047 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2048 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2049 0, 309, 793, 679, 0, 788, 789, 790, 10, 0,
2050 12, 500, 283, 284, 0, 285, 14, 0, 938, 310,
2051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2052 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2053 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2054 0, 0, 294, 295, 296, 297, 298, 27, 0, 791,
2055 792, 680, 0, 0, 300, 0, 0, 0, 0, 0,
2056 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2057 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2058 307, 308, 0, 0, 0, 0, 309, 793, 679, 0,
2059 788, 789, 790, 10, 0, 12, 500, 283, 284, 0,
2060 285, 14, 0, 0, 310, 0, 0, 0, 0, 0,
2061 0, 0, 0, 0, 0, 0, 17, 286, 18, 0,
2062 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2063 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2064 297, 298, 27, 0, 791, 792, 680, 0, 0, 300,
2065 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2066 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2067 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2068 679, 309, 788, 789, 790, 10, 0, 12, 500, 283,
2069 284, 0, 285, 14, 0, 0, 0, 0, -453, 310,
2070 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2071 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2072 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2073 295, 296, 297, 298, 27, 0, 791, 792, 680, 0,
2074 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2075 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2076 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2077 0, 0, 679, 309, 281, 8, 9, 10, 0, 12,
2078 500, 283, 284, 0, 285, 14, 0, 0, 0, 0,
2079 1226, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2080 17, 286, 18, 0, 20, 0, 287, 288, 21, 0,
2081 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2082 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
2083 680, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2084 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2085 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2086 308, 0, 0, 0, 0, 309, 0, 0, 518, 0,
2087 281, 8, 9, 10, 1230, 12, 282, 283, 284, 0,
2088 285, 14, 0, 310, 0, 0, 0, 0, 0, 0,
2089 0, 0, 0, 0, 0, 0, 17, 286, 18, 0,
2090 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2091 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2092 297, 298, 27, 0, 28, 299, -285, 0, 0, 300,
2093 0, 0, 0, 0, 0, 301, 0, 0, 519, 0,
2094 0, 0, 0, 0, 0, 0, 303, 304, 520, 0,
2095 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2096 679, 521, 281, 8, 9, 10, 0, 12, 500, 283,
2097 284, 0, 285, 14, 0, 0, 0, 0, 0, 310,
2098 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2099 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2100 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2101 295, 296, 297, 298, 27, 0, 28, 299, 680, 0,
2102 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2103 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2104 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2105 0, 0, 800, 309, 281, 8, 9, 10, 0, 12,
2106 500, 283, 284, 0, 285, 14, 0, 0, 0, 0,
2107 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2108 17, 286, 18, 0, 20, 0, 287, 288, 21, 0,
2109 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2110 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
2111 0, 0, 0, 300, -753, 0, 0, 0, 0, 301,
2112 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2113 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2114 308, 0, 0, 0, 518, 309, 7, 8, 9, 10,
2115 0, 12, 282, 283, 284, 0, 285, 14, 0, 0,
2116 0, 0, 0, 310, 0, 0, 0, 0, 0, 0,
2117 0, 0, 17, 286, 18, 0, 20, 0, 287, 288,
2118 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2119 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2120 28, 29, -285, 0, 0, 300, 0, 0, 0, 0,
2121 0, 301, 0, 0, 1432, 0, 0, 0, 0, 0,
2122 0, 0, 303, 304, 1433, 0, 0, 0, 0, 0,
2123 306, 307, 308, 0, 0, 0, 1522, 1434, 281, 8,
2124 9, 10, 0, 12, 282, 283, 284, 0, 285, 14,
2125 0, 0, 0, 0, 0, 310, 0, 0, 0, 0,
2126 0, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2127 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2128 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2129 27, 0, 28, 299, 0, 0, -174, 300, 0, 0,
2130 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2131 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2132 0, 0, 306, 307, 308, 0, 0, 0, 800, 309,
2133 281, 8, 9, 10, 0, 12, 500, 283, 284, 0,
2134 285, 14, 0, 0, 0, 0, 0, 310, 0, 0,
2135 0, 0, 0, 0, 0, 0, 17, 286, 18, 0,
2136 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2137 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2138 297, 298, 27, 0, 28, 299, 0, 0, 0, 300,
2139 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2140 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2141 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2142 886, 309, 281, 8, 9, 10, 0, 12, 500, 283,
2143 284, 0, 285, 14, 0, 0, 0, -753, 0, 310,
2144 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2145 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2146 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2147 295, 296, 297, 298, 27, 0, 28, 299, 0, 0,
2148 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2149 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2150 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2151 0, 0, 888, 309, 281, 8, 9, 10, 0, 12,
2152 500, 283, 284, 0, 285, 14, 0, 0, 0, 0,
2153 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2154 17, 286, 18, 0, 20, 0, 287, 288, 21, 0,
2155 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2156 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
2157 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2158 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2159 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2160 308, 0, 0, 0, 1408, 309, 281, 8, 9, 10,
2161 0, 12, 500, 283, 284, 0, 285, 14, 0, 0,
2162 0, 0, 0, 310, 0, 0, 0, 0, 0, 0,
2163 0, 0, 17, 286, 18, 0, 20, 0, 287, 288,
2164 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2165 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2166 28, 299, 0, 0, 0, 300, 0, 0, 0, 0,
2167 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2168 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2169 306, 307, 308, 281, 8, 9, 10, 309, 12, 500,
2170 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2171 0, 0, 0, 0, 0, 310, 0, 0, 0, 17,
2172 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2173 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2174 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2175 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2176 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2177 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2178 0, 0, 0, 0, 309, 0, 0, 0, 0, 0,
2179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2180 0, 0, 310, 839, 1293, 1294, 1295, 10, 386, 12,
2181 282, 283, 284, 0, 285, 14, 1296, 0, 1297, 1298,
2182 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 15, 16,
2183 17, 286, 18, 19, 20, 0, 287, 288, 21, 0,
2184 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2185 0, 294, 295, 296, 297, 298, 27, 0, 1307, 299,
2186 676, 0, 1308, 300, 0, 0, 0, 0, 0, 301,
2187 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2188 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2189 308, 0, 0, 0, 0, 309, 0, 1309, 0, 0,
2190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2191 0, 0, 1399, 310, 1293, 1294, 1295, 10, 386, 12,
2192 282, 283, 284, 0, 285, 14, 1296, 0, 1297, 1298,
2193 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 15, 16,
2194 17, 286, 18, 19, 20, 0, 287, 288, 21, 0,
2195 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2196 0, 294, 295, 296, 297, 298, 27, 0, 1307, 299,
2197 676, 0, 1308, 300, 0, 0, 0, 0, 0, 301,
2198 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2199 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2200 308, 0, 0, 0, 0, 309, 0, 1309, 0, 0,
2201 1293, 1294, 1295, 10, 386, 12, 282, 283, 284, 0,
2202 285, 14, 1296, 310, 1297, 1298, 1299, 1300, 1301, 1302,
2203 1303, 1304, 1305, 1306, 15, 16, 17, 286, 18, 19,
2204 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2205 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2206 297, 298, 27, 0, 1307, 299, 1499, 0, 1308, 300,
2207 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2208 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2209 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2210 0, 309, 0, 1309, 0, 0, 1293, 1294, 1295, 10,
2211 386, 12, 282, 283, 284, 0, 285, 14, 1296, 310,
2212 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306,
2213 15, 16, 17, 286, 18, 19, 20, 0, 287, 288,
2214 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2215 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2216 1307, 299, 0, 0, 1308, 300, 0, 0, 0, 0,
2217 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2218 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2219 306, 307, 308, 0, 0, 0, 0, 309, 0, 1309,
2220 281, 8, 9, 10, 386, 12, 282, 283, 284, 689,
2221 285, 14, 0, 0, 0, 310, 0, 0, 0, 0,
2222 0, 0, 0, 0, 0, 0, 17, 286, 18, 19,
2223 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2224 292, 293, 0, 24, 0, 582, 0, 294, 295, 296,
2225 297, 298, 27, 0, 28, 299, 0, 0, 0, 300,
2226 0, 0, 0, 0, 0, 301, 0, 0, 867, 0,
2227 0, 0, 0, 0, 0, 0, 303, 304, 868, 0,
2228 0, 0, 0, 0, 306, 307, 308, 0, 585, 0,
2229 0, 869, 587, 0, 0, 690, 7, 8, 9, 10,
2230 386, 12, 282, 283, 284, 689, 285, 14, 0, 310,
2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 17, 286, 18, 19, 20, 0, 287, 288,
2233 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2234 0, 582, 0, 294, 295, 296, 297, 298, 27, 0,
2235 28, 29, 0, 0, 0, 300, 0, 0, 0, 0,
2236 0, 301, 0, 0, 1125, 0, 0, 0, 0, 0,
2237 0, 0, 303, 304, 1126, 0, 0, 0, 0, 0,
2238 306, 307, 308, 0, 585, 0, 0, 1127, 587, 0,
2239 0, 690, 281, 8, 9, 10, 0, 12, 282, 283,
2240 284, 0, 285, 14, 0, 310, 0, 0, 0, 0,
2241 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2242 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2243 291, 22, 292, 293, 0, 24, 0, 582, 0, 294,
2244 295, 296, 297, 298, 27, 0, 28, 299, 0, 0,
2245 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2246 867, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2247 868, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2248 585, 0, 0, 869, 587, 7, 8, 9, 10, 0,
2249 12, 282, 283, 284, 0, 285, 14, 0, 0, 0,
2250 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2251 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2252 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2253 582, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2254 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2255 301, 0, 0, 1125, 0, 0, 0, 0, 0, 0,
2256 0, 303, 304, 1126, 0, 0, 0, 0, 0, 306,
2257 307, 308, 0, 585, 0, 0, 1127, 587, 281, 8,
2258 9, 10, 0, 12, 500, 283, 284, 0, 285, 14,
2259 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2260 0, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2261 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2262 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2263 27, 0, 28, 299, 0, 0, 1376, 300, 0, 0,
2264 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2265 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2266 0, 0, 306, 307, 308, 0, 0, 0, 0, 309,
2267 281, 8, 9, 10, 386, 12, 282, 283, 284, 0,
2268 285, 14, 0, 0, 0, 0, 0, 310, 0, 0,
2269 0, 0, 0, 0, 0, 0, 17, 286, 18, 19,
2270 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2271 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2272 297, 298, 27, 0, 28, 299, 0, 0, 0, 0,
2273 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2274 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2275 0, 0, 0, 0, 306, 307, 308, 281, 8, 9,
2276 10, 309, 12, 282, 283, 284, 0, 285, 14, 0,
2277 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2278 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2279 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2280 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2281 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2282 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2283 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2284 0, 306, 307, 308, 281, 8, 9, 10, 309, 12,
2285 500, 283, 284, 0, 285, 14, 0, 0, 0, 0,
2286 0, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2287 17, 286, 18, 0, 20, 0, 287, 288, 21, 0,
2288 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2289 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
2290 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2291 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2292 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2293 308, 281, 8, 9, 10, 309, 12, 500, 283, 284,
2294 0, 285, 14, 0, 0, 0, 0, 0, 0, 0,
2295 0, 0, 0, 310, 0, 0, 0, 17, 286, 18,
2296 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2297 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2298 296, 297, 298, 27, 0, 28, 299, 533, 0, 0,
2299 0, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2300 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2301 0, 0, 0, 0, 0, 306, 307, 308, 281, 8,
2302 9, 10, 534, 12, 500, 283, 284, 0, 285, 14,
2303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2304 310, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2305 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2306 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2307 27, 0, 28, 299, 0, 0, 0, 0, 0, 0,
2308 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2309 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2310 0, 0, 306, 307, 308, 0, 0, 0, 0, 309,
2311 570, 281, 8, 9, 10, 0, 12, 500, 283, 284,
2312 0, 285, 14, 0, 0, 0, 0, 310, 0, 0,
2313 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2314 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2315 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2316 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2317 300, 0, 0, 0, 0, 0, 301, 0, 0, 519,
2318 0, 0, 0, 0, 0, 0, 0, 303, 304, 520,
2319 0, 0, 0, 0, 0, 306, 307, 308, 1092, 8,
2320 9, 10, 521, 12, 500, 283, 284, 0, 285, 14,
2321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2322 310, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2323 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2324 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2325 27, 0, 28, 299, 0, 0, 0, 300, 0, 0,
2326 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2327 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2328 0, 0, 306, 307, 308, 7, 8, 9, 10, 309,
2329 12, 500, 283, 284, 0, 285, 14, 0, 0, 0,
2330 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2331 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2332 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2333 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2334 29, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2335 301, 0, 0, 1432, 0, 0, 0, 0, 0, 0,
2336 0, 303, 304, 1433, 0, 0, 0, 0, 0, 306,
2337 307, 308, 281, 8, 9, 10, 1434, 12, 500, 283,
2338 284, 0, 285, 14, 0, 0, 0, 0, 0, 0,
2339 0, 0, 0, 0, 310, 0, 0, 0, 17, 286,
2340 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2341 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2342 295, 296, 297, 298, 27, 0, 28, 299, 0, 0,
2343 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2344 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2345 305, 0, 0, 0, 0, 0, 306, 307, 308, 281,
2346 8, 9, 10, 501, 12, 500, 283, 284, 0, 285,
2347 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2348 0, 310, 0, 0, 0, 17, 286, 18, 0, 20,
2349 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2350 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2351 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2352 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2353 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2354 0, 0, 0, 306, 307, 308, 281, 8, 9, 10,
2355 504, 12, 500, 283, 284, 0, 285, 14, 0, 0,
2356 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2357 0, 0, 17, 286, 18, 0, 20, 0, 287, 288,
2358 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2359 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2360 28, 299, 0, 0, 0, 0, 0, 0, 0, 0,
2361 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2362 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2363 306, 307, 308, 281, 8, 9, 10, 309, 12, 500,
2364 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2365 0, 0, 0, 0, 0, 310, 0, 0, 0, 17,
2366 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2367 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2368 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2369 0, 0, 0, 0, 0, 0, 0, 0, 301, 0,
2370 0, 519, 0, 0, 0, 0, 0, 0, 0, 303,
2371 304, 520, 0, 0, 0, 0, 0, 306, 307, 308,
2372 7, 8, 9, 10, 521, 12, 282, 283, 284, 0,
2373 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2374 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2375 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2376 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2377 297, 298, 27, 0, 28, 29, 0, 0, 0, 0,
2378 0, 0, 0, 0, 0, 301, 0, 0, 1432, 0,
2379 0, 0, 0, 0, 0, 0, 303, 304, 1433, 0,
2380 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2381 0, 1434, 7, 8, 9, 10, 386, 12, 13, 0,
2382 0, 689, 0, 14, 0, 0, 0, 0, 0, 310,
2383 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
2384 18, 19, 0, 0, 0, 0, 21, 0, 0, 0,
2385 0, 22, 0, 0, 0, 24, 0, 582, 0, 0,
2386 0, 0, 0, 0, 27, 0, 28, 29, 0, 0,
2387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2388 1102, 731, 0, 7, 8, 732, 10, 386, 12, 13,
2389 1103, 0, 0, 0, 14, 0, 0, 0, 33, 0,
2390 585, 0, 0, 1104, 587, 0, 0, 690, 0, 17,
2391 0, 18, 19, 20, 0, 0, 0, 21, 0, 0,
2392 0, 0, 22, 0, 0, 0, 24, 733, 0, 643,
2393 0, 0, 0, 0, 0, 27, 0, 28, 29, 0,
2394 0, 734, 0, 735, 7, 8, 9, 10, 198, 199,
2395 200, 31, 0, 0, 0, 14, 0, 0, 0, 0,
2396 0, 32, 0, 0, 0, 0, 0, 0, 0, 33,
2397 0, 0, 0, 19, 34, 0, 0, 0, 21, 0,
2398 0, 0, 0, 22, 0, 0, 0, 24, 0, 582,
2399 0, 0, 0, 0, 0, 0, 27, 0, 28, 29,
2400 7, 8, 9, 10, 386, 12, 13, 0, 0, 953,
2401 0, 14, 905, 0, 0, 0, 0, 0, 0, 0,
2402 0, 0, 906, 0, 0, 0, 17, 0, 18, 19,
2403 33, 0, 585, 0, 21, 947, 587, 0, 0, 22,
2404 0, 0, 0, 24, 0, 987, 8, 732, 10, 189,
2405 12, 190, 27, 0, 28, 29, 14, 0, 0, 0,
2406 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
2407 0, 17, 0, 18, 19, 0, 0, 0, 32, 21,
2408 0, 0, 0, 0, 22, 0, 33, 0, 24, 0,
2409 0, 34, 0, 0, 0, 0, 0, 27, 0, 28,
2410 29, 0, 0, 0, 0, 989, 7, 8, 9, 10,
2411 189, 12, 190, 31, 0, 0, 0, 14, 0, 0,
2412 0, 0, 0, 32, 0, 0, 0, 0, 0, 0,
2413 0, 33, 17, 0, 18, 19, 34, 0, 0, 0,
2414 21, 0, 0, 0, 0, 22, 0, 0, 0, 24,
2415 0, 7, 8, 9, 10, 386, 12, 13, 27, 0,
2416 28, 29, 14, 0, 1389, 0, 0, 0, 0, 0,
2417 0, 0, 0, 0, 31, 0, 0, 17, 0, 18,
2418 19, 0, 0, 0, 32, 21, 0, 0, 0, 0,
2419 22, 0, 33, 0, 24, 0, 0, 34, 0, 0,
2420 0, 0, 0, 27, 0, 28, 29, 7, 8, 9,
2421 10, 189, 12, 190, 0, 0, 0, 0, 14, 31,
2422 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,
2423 0, 0, 0, 17, 0, 18, 19, 33, 0, 0,
2424 0, 21, 34, 0, 0, 0, 22, 0, 0, 0,
2425 24, 0, 0, 0, 0, 0, 0, 0, 0, 27,
2426 0, 28, 29, 536, 537, 538, 539, 540, 541, 542,
2427 543, 544, 545, 546, 547, 31, 549, 550, 551, 552,
2428 553, 554, 555, 556, 557, 32, 0, 0, 0, 0,
2429 0, 0, 0, 33, 0, 0, 0, 0, 34, 536,
2430 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
2431 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2432 557, 1485, 536, 537, 538, 539, 540, 541, 542, 543,
2433 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
2434 554, 555, 556, 557, 1443, 536, 537, 538, 539, 540,
2435 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2436 551, 552, 553, 554, 555, 556, 557
2439 static const short yycheck
[] = { 4,
2440 156, 197, 329, 58, 24, 674, 385, 79, 385, 34,
2441 671, 449, 193, 531, 232, 56, 470, 58, 125, 14,
2442 146, 147, 54, 45, 4, 385, 89, 4, 91, 83,
2443 335, 36, 353, 4, 230, 426, 41, 661, 752, 654,
2444 285, 286, 828, 736, 758, 738, 586, 228, 4, 1420,
2445 1287, 56, 745, 593, 31, 32, 36, 4, 4, 36,
2446 11, 41, 132, 11, 41, 36, 71, 937, 4, 141,
2447 41, 223, 317, 136, 123, 1310, 128, 61, 83, 53,
2448 36, 133, 87, 193, 89, 41, 91, 82, 1453, 36,
2449 36, 11, 202, 1455, 41, 41, 277, 1450, 39, 38,
2450 36, 106, 107, 132, 133, 41, 83, 59, 0, 34,
2451 105, 0, 1477, 65, 55, 187, 1, 335, 201, 202,
2452 56, 146, 147, 148, 1437, 166, 1, 421, 8, 9,
2453 135, 136, 1317, 138, 14, 48, 1148, 1149, 193, 1324,
2454 25, 48, 60, 63, 12, 1, 201, 202, 329, 587,
2455 1162, 865, 193, 1506, 179, 160, 1518, 37, 135, 110,
2456 201, 202, 110, 1476, 135, 12, 46, 1, 48, 146,
2457 147, 1542, 111, 228, 59, 7, 503, 151, 63, 135,
2458 9, 94, 95, 160, 59, 1420, 111, 94, 63, 160,
2459 110, 1556, 60, 111, 1507, 63, 34, 110, 61, 135,
2460 177, 178, 75, 59, 160, 75, 38, 63, 94, 48,
2461 184, 96, 196, 60, 94, 12, 63, 60, 65, 673,
2462 204, 96, 277, 63, 160, 59, 3, 4, 5, 6,
2463 98, 525, 4, 62, 229, 336, 337, 1249, 79, 1424,
2464 96, 63, 110, 61, 14, 49, 1258, 1259, 111, 1261,
2465 1487, 98, 25, 23, 878, 94, 326, 881, 414, 94,
2466 974, 1047, 75, 60, 36, 42, 63, 110, 322, 41,
2467 110, 110, 986, 278, 329, 338, 60, 63, 55, 1464,
2468 57, 58, 60, 712, 644, 900, 59, 61, 110, 75,
2469 63, 392, 393, 111, 64, 919, 920, 326, 4, 5,
2470 605, 98, 94, 355, 309, 1019, 75, 1021, 61, 147,
2471 148, 83, 89, 634, 440, 441, 365, 322, 697, 60,
2472 697, 61, 751, 96, 1509, 330, 110, 379, 757, 869,
2473 94, 48, 110, 338, 339, 390, 48, 111, 27, 28,
2474 335, 179, 4, 32, 454, 322, 59, 63, 389, 390,
2475 379, 57, 58, 123, 109, 36, 388, 575, 111, 75,
2476 41, 25, 339, 135, 48, 55, 693, 907, 339, 110,
2477 453, 454, 61, 48, 36, 145, 65, 94, 461, 41,
2478 385, 675, 94, 339, 389, 75, 904, 100, 160, 55,
2479 473, 3, 4, 5, 1406, 1407, 48, 63, 453, 454,
2480 1186, 48, 243, 339, 445, 385, 461, 947, 385, 492,
2481 94, 95, 453, 454, 55, 440, 441, 442, 473, 94,
2482 461, 34, 111, 3, 4, 5, 110, 48, 866, 434,
2483 1300, 860, 416, 862, 48, 498, 48, 492, 48, 830,
2484 60, 463, 94, 55, 65, 57, 58, 94, 95, 48,
2485 220, 221, 55, 447, 61, 65, 76, 434, 78, 1083,
2486 1084, 455, 232, 440, 441, 32, 471, 60, 63, 55,
2487 1163, 309, 75, 94, 4, 5, 460, 57, 58, 75,
2488 94, 95, 94, 76, 94, 95, 4, 5, 1358, 75,
2489 48, 9, 55, 498, 471, 94, 501, 1367, 1368, 504,
2490 471, 81, 48, 508, 509, 510, 511, 512, 609, 25,
2491 48, 27, 28, 567, 48, 471, 521, 59, 972, 49,
2492 1478, 76, 901, 78, 901, 471, 531, 57, 58, 534,
2493 111, 301, 1490, 146, 147, 148, 94, 55, 48, 57,
2494 58, 901, 1500, 59, 27, 28, 48, 63, 94, 95,
2495 322, 81, 55, 71, 60, 61, 94, 612, 59, 1517,
2496 94, 566, 567, 81, 1104, 94, 179, 339, 720, 874,
2497 722, 612, 75, 343, 637, 727, 55, 95, 1536, 611,
2498 96, 586, 352, 48, 94, 95, 55, 1127, 593, 1018,
2499 567, 1020, 94, 48, 55, 365, 777, 48, 653, 76,
2500 110, 1559, 597, 441, 442, 48, 583, 584, 48, 586,
2501 651, 1481, 653, 385, 65, 110, 593, 55, 650, 1057,
2502 652, 653, 642, 730, 55, 63, 871, 4, 5, 94,
2503 471, 714, 637, 48, 110, 4, 5, 75, 693, 94,
2504 9, 935, 95, 94, 75, 1074, 651, 1038, 1039, 11,
2505 655, 94, 693, 673, 94, 1314, 874, 1316, 110, 714,
2506 1114, 693, 434, 501, 55, 110, 504, 768, 94, 3,
2507 4, 5, 6, 714, 111, 716, 4, 5, 55, 94,
2508 57, 58, 520, 521, 75, 63, 55, 1141, 57, 58,
2509 753, 754, 697, 756, 71, 63, 534, 75, 468, 471,
2510 60, 61, 71, 744, 81, 60, 61, 75, 42, 750,
2511 3, 743, 81, 84, 85, 61, 1145, 739, 740, 113,
2512 697, 1150, 777, 57, 58, 1052, 748, 55, 95, 57,
2513 58, 736, 1123, 738, 95, 25, 55, 27, 28, 744,
2514 745, 1132, 1133, 63, 63, 48, 1137, 752, 753, 754,
2515 113, 756, 55, 758, 94, 593, 75, 106, 107, 736,
2516 75, 738, 94, 533, 75, 736, 75, 738, 745, 59,
2517 75, 1200, 75, 63, 745, 752, 1053, 1054, 60, 1056,
2518 736, 758, 738, 60, 61, 1446, 11, 1178, 111, 745,
2519 736, 94, 738, 4, 5, 567, 897, 4, 5, 745,
2520 110, 1470, 60, 4, 5, 575, 96, 743, 744, 60,
2521 61, 3, 4, 5, 586, 4, 5, 969, 970, 971,
2522 75, 593, 827, 110, 8, 9, 831, 440, 441, 442,
2523 14, 3, 4, 5, 6, 55, 1265, 1266, 49, 110,
2524 912, 55, 49, 63, 110, 1236, 57, 58, 49, 63,
2525 57, 58, 1281, 37, 859, 75, 57, 58, 60, 61,
2526 865, 75, 46, 55, 869, 57, 58, 59, 57, 58,
2527 42, 61, 642, 25, 81, 27, 28, 49, 55, 874,
2528 81, 110, 907, 1274, 654, 57, 58, 111, 865, 60,
2529 867, 868, 869, 111, 65, 736, 901, 738, 903, 904,
2530 1329, 1330, 907, 744, 745, 76, 110, 59, 113, 81,
2531 680, 63, 1013, 1014, 1015, 60, 61, 89, 113, 1348,
2532 1349, 901, 947, 55, 901, 697, 998, 75, 905, 906,
2533 907, 63, 75, 771, 4, 5, 55, 75, 979, 980,
2534 113, 110, 947, 75, 96, 977, 113, 110, 3, 4,
2535 5, 110, 7, 8, 9, 59, 961, 110, 27, 28,
2536 309, 55, 967, 32, 736, 8, 738, 1008, 990, 974,
2537 947, 113, 94, 745, 996, 997, 1102, 1103, 1000, 1001,
2538 752, 986, 1004, 48, 65, 55, 758, 57, 58, 1316,
2539 111, 60, 61, 60, 4, 5, 65, 974, 1061, 1125,
2540 1126, 71, 57, 58, 1009, 94, 4, 5, 61, 986,
2541 55, 81, 445, 37, 1019, 65, 1021, 65, 3, 4,
2542 5, 6, 287, 288, 65, 95, 3, 4, 5, 6,
2543 868, 869, 1009, 110, 1106, 61, 63, 302, 1009, 49,
2544 305, 977, 1019, 308, 1021, 65, 311, 57, 58, 110,
2545 315, 49, 25, 1009, 27, 28, 1061, 42, 323, 57,
2546 58, 110, 65, 1009, 49, 42, 110, 113, 1447, 907,
2547 1447, 81, 57, 58, 110, 1369, 65, 1102, 1103, 1104,
2548 57, 58, 431, 81, 60, 94, 59, 1381, 63, 110,
2549 63, 110, 110, 865, 1114, 1196, 81, 869, 110, 1104,
2550 1125, 1126, 1127, 110, 89, 76, 3, 4, 5, 947,
2551 76, 76, 89, 1154, 1155, 76, 1157, 1158, 110, 1160,
2552 890, 63, 1127, 96, 55, 1102, 1103, 1104, 110, 901,
2553 900, 63, 63, 60, 1461, 907, 110, 4, 5, 63,
2554 7, 8, 9, 1437, 75, 12, 110, 14, 1125, 1126,
2555 1127, 113, 501, 1544, 111, 504, 110, 998, 1163, 508,
2556 57, 58, 29, 110, 31, 32, 48, 95, 1009, 113,
2557 37, 9, 521, 55, 12, 947, 89, 48, 48, 46,
2558 1474, 75, 1476, 113, 55, 534, 1163, 110, 55, 538,
2559 57, 58, 1163, 75, 110, 1391, 27, 28, 1492, 113,
2560 110, 32, 974, 110, 75, 1246, 1247, 1163, 110, 110,
2561 48, 111, 94, 1507, 986, 564, 111, 1163, 1223, 60,
2562 65, 570, 60, 94, 62, 63, 65, 65, 1233, 60,
2563 61, 98, 60, 60, 1256, 1257, 110, 1009, 76, 94,
2564 78, 81, 82, 83, 84, 85, 1223, 1019, 110, 1021,
2565 765, 766, 767, 111, 519, 520, 94, 95, 94, 94,
2566 98, 1316, 94, 110, 110, 1103, 1104, 1223, 8, 1039,
2567 113, 113, 110, 1429, 1315, 1316, 1223, 1223, 111, 65,
2568 1461, 110, 1314, 716, 1316, 110, 110, 110, 1126, 1127,
2569 3, 4, 5, 6, 907, 1336, 1337, 1338, 110, 110,
2570 110, 110, 3, 4, 5, 1310, 1432, 1433, 110, 110,
2571 1315, 110, 1317, 55, 110, 110, 63, 750, 1159, 1324,
2572 4, 5, 1163, 113, 48, 110, 110, 110, 97, 42,
2573 34, 110, 1104, 1310, 947, 110, 49, 110, 110, 110,
2574 1317, 3, 4, 5, 57, 58, 113, 1324, 49, 110,
2575 4, 5, 63, 1123, 1310, 1127, 57, 58, 79, 61,
2576 63, 1317, 1403, 1404, 1310, 49, 61, 1392, 1324, 31,
2577 1317, 1317, 9, 57, 58, 61, 89, 1324, 1324, 3,
2578 4, 5, 103, 7, 8, 9, 16, 94, 94, 61,
2579 61, 1163, 109, 55, 48, 57, 58, 81, 3, 4,
2580 5, 55, 94, 57, 58, 99, 1461, 1432, 1433, 1434,
2581 17, 132, 94, 37, 61, 1420, 1421, 71, 61, 1424,
2582 141, 110, 110, 110, 11, 110, 61, 81, 61, 1434,
2583 1462, 55, 60, 57, 58, 59, 94, 91, 61, 65,
2584 94, 95, 1447, 1420, 1421, 1450, 110, 1424, 1453, 61,
2585 1220, 1223, 57, 58, 59, 1432, 1433, 110, 11, 1464,
2586 61, 110, 1484, 11, 1420, 61, 187, 1508, 1424, 0,
2587 1447, 0, 1477, 1450, 1420, 0, 1453, 1424, 1424, 413,
2588 2, 105, 106, 107, 901, 160, 835, 1464, 1445, 1102,
2589 1103, 1104, 355, 160, 3, 4, 5, 1453, 744, 220,
2590 1477, 1506, 93, 1114, 1509, 1416, 1453, 1453, 1464, 138,
2591 1556, 890, 1125, 1126, 1127, 280, 1315, 1464, 1464, 680,
2592 869, 1477, 243, 3, 4, 5, 885, 1009, 972, 1506,
2593 1477, 1477, 1509, 1141, 744, 1161, 1306, 567, 1310, 3,
2594 4, 5, 222, 618, 883, 1317, 979, 980, 57, 58,
2595 184, 1556, 1324, 1509, 1392, 4, 326, 3, 4, 5,
2596 123, 1317, 1509, 1509, 1224, 14, 3, 4, 5, 49,
2597 1492, 1470, 1467, 1531, 839, 1008, 25, 57, 58, 1556,
2598 1529, 956, 31, 32, 1233, 34, -1, 36, -1, -1,
2599 1360, 55, 41, 57, 58, 1433, 1434, 48, -1, -1,
2600 1556, -1, 867, 868, -1, 54, -1, 56, -1, 1556,
2601 1556, 57, 58, 334, -1, 64, -1, -1, 967, -1,
2602 57, 58, 71, 385, -1, -1, -1, -1, -1, 106,
2603 107, -1, -1, 82, 83, -1, 87, 88, 7, 8,
2604 9, 92, 93, 94, 95, 14, -1, -1, 1420, 1421,
2605 -1, -1, 1424, -1, -1, -1, 105, -1, -1, -1,
2606 -1, -1, -1, 32, 427, -1, -1, 12, 37, -1,
2607 -1, 434, 434, -1, 395, 1447, -1, 46, 1450, 128,
2608 -1, 1453, 27, 28, 133, -1, 135, 32, -1, -1,
2609 139, -1, 1464, 142, 143, -1, -1, 146, 147, 148,
2610 -1, -1, -1, 48, -1, 1477, -1, 3, 4, 5,
2611 6, 160, -1, 9, -1, 60, 61, -1, 63, -1,
2612 65, 1154, 1155, -1, 1157, 1158, -1, 1160, 177, 178,
2613 179, -1, -1, -1, 1506, -1, 499, 1509, 7, 8,
2614 9, -1, -1, -1, -1, 14, 42, 468, -1, 94,
2615 95, -1, 48, 98, 3, 4, 5, 206, 7, 55,
2616 -1, 57, 58, 32, -1, 110, -1, -1, 37, -1,
2617 -1, -1, 221, -1, 495, 71, -1, 46, 1127, 1392,
2618 229, -1, 31, -1, 1556, 81, 3, 4, 5, 38,
2619 -1, 240, 61, 89, 1059, 91, -1, -1, 94, 95,
2620 563, -1, 565, 566, -1, -1, 55, -1, 57, 58,
2621 -1, -1, -1, 1246, 1247, 3, 4, 5, -1, 1432,
2622 1433, 1434, -1, -1, 586, 1174, 1175, 1176, 1177, 278,
2623 279, 593, 309, -1, -1, 1184, -1, 600, 55, -1,
2624 57, 58, 427, 3, 4, 5, 6, -1, -1, 434,
2625 -1, 39, 40, -1, 42, 3, 4, 5, 6, 580,
2626 1125, 1126, -1, -1, -1, -1, -1, 55, -1, 57,
2627 58, 4, 5, 322, -1, 596, -1, 326, -1, 328,
2628 329, 330, 42, 3, 4, 5, -1, 7, 8, 9,
2629 339, -1, -1, -1, 42, 55, -1, 57, 58, -1,
2630 48, 61, -1, 1336, 1337, 1338, 355, 55, 385, 57,
2631 58, 71, 45, -1, 499, -1, -1, 37, -1, -1,
2632 -1, 81, 55, 71, 57, 58, -1, -1, -1, 89,
2633 379, -1, -1, 81, 94, 697, 385, 57, 58, 388,
2634 389, 89, -1, 91, -1, -1, 94, 95, -1, -1,
2635 399, -1, -1, 402, -1, -1, 1305, 434, 407, -1,
2636 -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
2637 1403, 1404, -1, -1, -1, -1, -1, -1, 563, -1,
2638 565, 566, -1, -1, -1, -1, -1, 436, -1, 438,
2639 752, 440, 441, 442, -1, -1, 758, -1, 447, -1,
2640 -1, 42, -1, 452, -1, -1, 455, 48, 593, -1,
2641 3, 4, 5, 6, 55, 600, 57, 58, -1, -1,
2642 -1, -1, 471, -1, 501, -1, -1, 504, -1, 1378,
2643 71, 508, 509, 510, 511, 512, -1, -1, -1, -1,
2644 81, -1, -1, -1, 521, 1310, -1, -1, 89, 42,
2645 91, -1, -1, 94, 95, -1, 49, 534, -1, -1,
2646 509, 510, 511, 512, 57, 58, -1, -1, 831, -1,
2647 -1, 1420, 1421, 4, 5, 1508, -1, 8, 9, -1,
2648 -1, -1, 845, 14, 847, 1434, 849, -1, 81, 566,
2649 -1, -1, -1, -1, -1, -1, 89, -1, 29, -1,
2650 31, 1450, -1, 865, -1, -1, 37, 869, -1, 586,
2651 -1, -1, -1, -1, -1, 46, 593, 48, 567, -1,
2652 569, -1, -1, -1, 55, -1, 57, 58, -1, 892,
2653 -1, -1, 581, -1, 583, 584, -1, 586, -1, 901,
2654 71, -1, -1, -1, 593, 907, -1, -1, 597, -1,
2655 81, -1, 873, -1, 875, 1504, -1, 1506, -1, -1,
2656 91, -1, 611, 94, 95, -1, 929, 1432, 1433, -1,
2657 -1, -1, -1, -1, -1, 3, 4, 5, 6, 1528,
2658 -1, -1, -1, -1, -1, 947, 771, -1, -1, -1,
2659 -1, 912, -1, 1542, 79, 80, 81, 82, 83, 84,
2660 85, 650, 651, 652, 653, 654, 655, -1, -1, -1,
2661 -1, -1, 974, -1, 42, 3, 4, 5, 6, -1,
2662 697, 9, -1, -1, 986, -1, -1, 55, -1, 57,
2663 58, -1, -1, 61, -1, 63, -1, -1, -1, -1,
2664 -1, -1, -1, 71, 693, -1, 831, -1, 697, -1,
2665 -1, -1, -1, 81, 42, 704, 705, 1019, 707, 1021,
2666 845, 89, 847, -1, 849, -1, 94, 55, -1, 57,
2667 58, -1, -1, -1, -1, 752, -1, 998, -1, -1,
2668 -1, 758, -1, 71, 733, -1, -1, 736, -1, 738,
2669 -1, -1, -1, 81, 743, 744, 745, -1, -1, -1,
2670 -1, 89, -1, 752, -1, -1, 94, 892, -1, 758,
2671 4, 5, -1, -1, 8, 9, 765, 766, 767, -1,
2672 14, 3, 4, 5, 6, -1, -1, 9, 777, -1,
2673 -1, -1, -1, -1, -1, 29, -1, 31, -1, -1,
2674 -1, -1, 1104, 37, 929, -1, -1, 7, 8, 9,
2675 827, -1, 46, 1116, 14, 1118, -1, 1120, -1, 1080,
2676 42, 55, 947, 57, 58, 1127, 48, -1, -1, -1,
2677 -1, -1, 32, 55, -1, 57, 58, 37, 827, -1,
2678 -1, -1, 859, -1, -1, 1106, 46, -1, 865, 71,
2679 -1, -1, 869, -1, -1, -1, -1, -1, -1, 81,
2680 94, 850, -1, 852, -1, -1, -1, 89, -1, 91,
2681 859, -1, 94, 95, 863, -1, 865, -1, 867, 868,
2682 869, -1, -1, -1, 901, 874, 903, 4, 5, -1,
2683 907, 8, 9, -1, 7, 8, 9, 14, 1159, -1,
2684 -1, 14, -1, -1, 1207, 177, 178, 179, -1, -1,
2685 -1, -1, 901, -1, 903, 4, 905, 906, 907, 32,
2686 37, -1, -1, -1, 37, 14, -1, -1, -1, 46,
2687 947, 48, -1, 46, -1, 24, 25, -1, 55, -1,
2688 57, 58, 31, 32, 961, 34, -1, 36, 61, -1,
2689 967, -1, 41, -1, 71, -1, -1, 974, 947, -1,
2690 -1, 4, 5, -1, 81, 54, 9, 56, -1, 986,
2691 -1, -1, 961, -1, 91, 64, -1, 94, 95, -1,
2692 -1, -1, 71, -1, -1, 974, -1, -1, 977, -1,
2693 -1, 1116, -1, 1118, 83, 1120, -1, 986, -1, -1,
2694 -1, -1, 1019, -1, 1021, 48, -1, -1, -1, -1,
2695 999, -1, 55, -1, 57, 58, -1, -1, -1, -1,
2696 1009, -1, 3, 4, 5, 6, -1, -1, 71, -1,
2697 1019, -1, 1021, -1, -1, -1, -1, -1, 81, 128,
2698 -1, -1, -1, -1, -1, -1, 135, -1, 91, -1,
2699 139, 94, 95, -1, 143, -1, -1, 146, 147, 148,
2700 -1, 42, -1, -1, 1053, 1054, -1, 1056, 49, -1,
2701 -1, 160, -1, -1, -1, -1, 57, 58, -1, -1,
2702 -1, -1, 1207, -1, -1, -1, -1, 1104, 177, 178,
2703 179, -1, -1, -1, -1, 3, 4, 5, 6, -1,
2704 81, 9, -1, -1, -1, -1, -1, -1, 89, -1,
2705 1127, 1100, 1101, 1102, 1103, 1104, -1, 206, -1, 1108,
2706 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2707 82, 83, 84, 85, 42, -1, 1125, 1126, 1127, -1,
2708 48, -1, -1, -1, -1, 1447, -1, 55, -1, 57,
2709 58, 240, 4, 5, -1, -1, 8, 9, -1, -1,
2710 -1, -1, 14, 71, 436, -1, 438, 1156, 440, 441,
2711 442, -1, 1161, 81, 1163, -1, -1, 29, -1, 31,
2712 452, 89, -1, 91, -1, 37, 94, 95, -1, 278,
2713 279, -1, -1, -1, 46, -1, -1, -1, -1, -1,
2714 -1, -1, -1, 55, -1, 57, 58, 59, -1, 328,
2715 329, 330, -1, -1, -1, -1, 1233, -1, -1, -1,
2716 -1, 1210, 1211, 1, 1213, 3, 4, 5, 6, 7,
2717 8, 9, -1, 322, -1, -1, 14, 326, -1, 328,
2718 329, 330, 94, -1, 1233, -1, 335, -1, -1, -1,
2719 339, 29, -1, 31, 32, 33, -1, -1, -1, 37,
2720 38, -1, -1, -1, 42, -1, 355, 1392, 46, 47,
2721 -1, 49, -1, -1, -1, -1, -1, 55, -1, 57,
2722 58, -1, -1, 61, -1, 63, -1, 4, 5, -1,
2723 -1, 8, 9, 71, -1, -1, 385, 14, -1, 388,
2724 389, -1, -1, 81, -1, 3, 4, 5, 6, -1,
2725 399, 89, -1, 402, -1, -1, 94, -1, 407, -1,
2726 37, -1, -1, -1, -1, 1314, 1315, 1316, -1, 46,
2727 -1, 48, -1, 111, -1, -1, -1, -1, 55, -1,
2728 57, 58, -1, -1, 42, -1, -1, 436, -1, 438,
2729 -1, 440, 441, 442, 71, -1, -1, 55, 447, 57,
2730 58, -1, -1, 452, 81, 63, 455, -1, -1, -1,
2731 -1, -1, -1, 71, 91, -1, -1, 94, 95, -1,
2732 -1, 470, 471, 81, -1, 4, 5, -1, 7, 8,
2733 9, 89, -1, 12, -1, 14, 94, -1, -1, -1,
2734 -1, -1, -1, 1392, -1, -1, -1, -1, -1, -1,
2735 29, -1, 31, 32, -1, -1, -1, 1434, 37, -1,
2736 509, 510, 511, 512, -1, -1, -1, 46, -1, 48,
2737 1447, -1, 704, 705, -1, 707, 55, -1, 57, 58,
2738 -1, -1, -1, 1432, 1433, 1434, 3, 4, 5, 6,
2739 -1, -1, 71, -1, -1, -1, -1, -1, 1447, -1,
2740 -1, -1, 81, -1, 583, 584, -1, -1, -1, -1,
2741 -1, 743, 91, 1462, -1, 94, 95, -1, 567, 98,
2742 569, -1, -1, -1, -1, 42, -1, -1, -1, -1,
2743 3, 4, 5, 6, 583, 584, 9, 586, 55, -1,
2744 57, 58, -1, -1, 593, -1, 63, -1, -1, -1,
2745 -1, -1, -1, -1, 71, -1, 605, -1, -1, -1,
2746 -1, -1, 611, -1, 81, -1, -1, -1, -1, 42,
2747 -1, 650, 89, 652, 653, -1, 655, 94, -1, -1,
2748 -1, -1, 55, -1, 57, 58, 3, 4, 5, 6,
2749 7, 8, 9, 642, -1, -1, -1, 14, 71, -1,
2750 -1, 650, 651, 652, 653, 654, 655, -1, 81, -1,
2751 -1, -1, -1, -1, 693, 32, 89, -1, -1, -1,
2752 37, 94, -1, -1, 673, 42, -1, -1, -1, 46,
2753 -1, 48, -1, -1, -1, -1, -1, -1, 55, -1,
2754 57, 58, -1, -1, 693, -1, -1, -1, 697, -1,
2755 -1, -1, -1, -1, 71, 704, 705, -1, 707, -1,
2756 4, 5, -1, -1, 81, 9, 3, 4, 5, 6,
2757 -1, -1, 89, 905, 906, 907, -1, 94, -1, -1,
2758 -1, -1, -1, -1, 733, -1, -1, 736, -1, 738,
2759 -1, -1, -1, -1, 743, 744, 745, -1, 777, -1,
2760 -1, -1, -1, 752, 48, 42, 4, -1, -1, 758,
2761 -1, 55, 49, 57, 58, 947, 765, 766, 767, -1,
2762 57, 58, 3, 4, 5, 6, -1, 71, 777, -1,
2763 -1, -1, -1, 31, 32, -1, 34, 81, 36, -1,
2764 -1, -1, -1, 41, 81, 977, -1, 91, -1, -1,
2765 94, 95, 89, -1, -1, -1, 54, -1, 56, -1,
2766 -1, 42, 77, 78, 79, 80, 81, 82, 83, 84,
2767 85, 850, -1, 852, 55, -1, 57, 58, 827, -1,
2768 -1, 79, 63, -1, 863, -1, -1, -1, 867, 868,
2769 71, -1, 3, 4, 5, 6, -1, -1, -1, -1,
2770 81, 850, -1, 852, -1, -1, -1, -1, 89, -1,
2771 859, -1, -1, 94, 863, -1, 865, -1, 867, 868,
2772 869, -1, -1, -1, -1, 874, 905, 906, -1, -1,
2773 128, 42, -1, -1, 132, 133, -1, 135, 49, -1,
2774 -1, 139, -1, 141, -1, 143, 57, 58, 146, 147,
2775 148, -1, 901, -1, 903, -1, 905, 906, 907, -1,
2776 -1, -1, 160, -1, -1, -1, -1, -1, 1100, 1101,
2777 1102, 1103, 1104, -1, -1, -1, 1108, -1, 89, 177,
2778 178, 179, -1, -1, -1, -1, -1, -1, -1, 187,
2779 -1, -1, -1, 1125, 1126, 1127, -1, -1, 947, -1,
2780 -1, -1, -1, -1, -1, -1, -1, -1, 206, -1,
2781 -1, -1, 961, -1, -1, -1, -1, -1, -1, -1,
2782 -1, -1, -1, 972, 1156, 974, -1, -1, 977, 3,
2783 4, 5, 6, -1, -1, -1, -1, 986, -1, -1,
2784 -1, -1, 240, -1, -1, -1, 1, -1, 3, 4,
2785 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
2786 1009, -1, -1, -1, -1, -1, -1, -1, 42, -1,
2787 1019, -1, 1021, -1, 29, 49, 31, 32, 1210, 1211,
2788 -1, 1213, 37, 57, 58, -1, -1, 42, -1, -1,
2789 -1, 46, -1, -1, 49, -1, -1, -1, -1, -1,
2790 55, -1, 57, 58, 1053, 1054, 61, 1056, -1, -1,
2791 -1, 309, -1, -1, -1, 89, 71, 3, 4, 5,
2792 6, 1100, 1101, 1102, 1103, -1, 81, -1, 326, 1108,
2793 -1, -1, -1, -1, 89, -1, 334, -1, -1, 94,
2794 -1, 339, -1, -1, -1, -1, 1125, 1126, -1, -1,
2795 -1, 1100, 1101, 1102, 1103, 1104, 42, 355, -1, 1108,
2796 -1, 3, 4, 5, 6, 1114, -1, 9, -1, 55,
2797 -1, 57, 58, -1, -1, 61, 1125, 1126, 1127, -1,
2798 -1, 379, -1, -1, -1, 71, -1, -1, -1, -1,
2799 388, -1, 1141, -1, -1, 81, -1, -1, 4, -1,
2800 42, 399, -1, 89, 402, -1, -1, 1156, 94, 407,
2801 -1, -1, 1161, 55, 1163, 57, 58, -1, -1, -1,
2802 -1, -1, -1, -1, -1, 31, 32, -1, 34, 71,
2803 36, 1210, 1211, -1, 1213, 41, -1, -1, 436, 81,
2804 438, -1, 440, 441, 442, -1, -1, 89, 54, 447,
2805 56, -1, 94, -1, 452, -1, -1, 455, -1, -1,
2806 1392, 1210, 1211, 1, 1213, 3, 4, 5, 6, -1,
2807 8, -1, -1, 471, -1, -1, -1, -1, -1, -1,
2808 -1, -1, -1, -1, 1233, 71, 72, 73, 74, 75,
2809 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2810 1432, 1433, 1434, 501, 42, -1, 504, -1, -1, -1,
2811 -1, 49, -1, -1, -1, -1, -1, 55, -1, 57,
2812 58, 519, 520, 521, -1, -1, 81, -1, -1, 135,
2813 -1, -1, -1, 139, -1, -1, 534, 143, -1, -1,
2814 146, 147, 148, -1, -1, -1, -1, -1, -1, -1,
2815 -1, 89, -1, -1, 160, -1, -1, -1, -1, -1,
2816 -1, -1, -1, -1, -1, 1314, 1315, 1316, -1, -1,
2817 -1, 177, 178, 179, -1, -1, -1, -1, -1, -1,
2818 -1, -1, 580, 3, 4, 5, 6, 7, 8, 9,
2819 -1, -1, -1, -1, 14, 593, -1, -1, -1, 154,
2820 206, -1, -1, -1, -1, -1, -1, 87, -1, 89,
2821 -1, 91, 32, 611, -1, -1, -1, 37, -1, -1,
2822 175, -1, 42, -1, -1, -1, 46, -1, 48, -1,
2823 -1, -1, -1, 188, 240, 55, -1, 57, 58, -1,
2824 -1, -1, -1, 1392, -1, -1, -1, 328, 329, 330,
2825 -1, 71, 650, 651, 652, 653, 136, -1, 138, -1,
2826 -1, 81, -1, 4, 5, -1, 7, 8, 9, 89,
2827 -1, 91, -1, 14, 94, 95, -1, -1, -1, -1,
2828 -1, 4, 5, 1432, 1433, 1434, 9, -1, 29, -1,
2829 31, 32, -1, -1, -1, 693, 37, -1, 1447, 697,
2830 -1, -1, -1, -1, -1, 46, 704, 705, 49, 707,
2831 -1, -1, -1, 1462, 55, -1, 57, 58, -1, -1,
2832 -1, -1, -1, -1, -1, 48, -1, -1, -1, 335,
2833 -1, -1, 55, 339, 57, 58, -1, -1, 736, -1,
2834 738, -1, -1, -1, -1, 743, 744, 745, 71, 1,
2835 -1, 3, 4, 5, 6, 7, 8, 9, 81, -1,
2836 -1, -1, 14, -1, -1, -1, -1, -1, 91, -1,
2837 -1, 94, 95, 771, -1, -1, -1, 29, -1, 31,
2838 32, 33, 388, -1, -1, 37, 38, -1, -1, -1,
2839 42, -1, -1, 399, 46, 47, 402, 49, -1, -1,
2840 -1, 407, -1, 55, -1, 57, 58, -1, -1, 61,
2841 -1, 63, -1, -1, -1, -1, -1, -1, -1, 71,
2842 300, -1, -1, -1, -1, -1, -1, -1, -1, 81,
2843 436, -1, 438, -1, 440, 441, 442, 89, -1, -1,
2844 -1, 447, 94, -1, -1, -1, 452, -1, -1, 455,
2845 -1, -1, -1, -1, -1, -1, -1, -1, 338, 111,
2846 -1, -1, -1, -1, -1, 471, -1, -1, -1, 867,
2847 868, 869, -1, -1, -1, 873, -1, 3, 4, 5,
2848 6, -1, -1, 9, -1, -1, -1, -1, -1, 444,
2849 -1, -1, -1, -1, -1, 450, -1, -1, 3, 4,
2850 5, 6, 583, 584, 9, 586, -1, 905, 906, 907,
2851 -1, -1, 593, -1, 912, -1, 42, -1, -1, -1,
2852 475, -1, -1, -1, -1, -1, 481, -1, -1, 55,
2853 -1, 57, 58, -1, -1, -1, -1, 42, 493, 494,
2854 -1, 496, -1, -1, -1, 71, 426, 427, -1, 947,
2855 55, -1, 57, 58, 434, 81, -1, -1, -1, -1,
2856 -1, -1, -1, 89, -1, -1, 71, -1, 94, 650,
2857 -1, 652, 653, -1, 655, 581, 81, -1, -1, 977,
2858 -1, -1, -1, -1, 89, -1, -1, -1, -1, 94,
2859 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2860 998, -1, -1, -1, -1, 611, -1, -1, -1, -1,
2861 -1, 1009, 693, -1, -1, -1, -1, -1, 498, 499,
2862 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2863 83, 84, 85, -1, 589, 590, -1, -1, -1, 594,
2864 -1, -1, -1, -1, 650, 651, 652, 653, -1, -1,
2865 -1, 531, -1, 533, -1, -1, 536, 537, -1, 539,
2866 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
2867 550, 551, 552, 553, 554, 555, 556, 557, -1, -1,
2868 -1, -1, 1080, 563, -1, 565, 566, 693, -1, -1,
2869 -1, 697, 3, 4, 5, 6, 777, -1, 704, 705,
2870 -1, 707, 1100, 1101, 1102, 1103, 1104, -1, 1106, -1,
2871 1108, -1, -1, 593, -1, -1, -1, -1, -1, -1,
2872 600, -1, -1, -1, -1, -1, -1, 1125, 1126, 1127,
2873 736, 42, 738, -1, -1, -1, -1, 743, 744, 745,
2874 -1, 621, 622, -1, 55, -1, 57, 58, -1, -1,
2875 -1, -1, -1, -1, -1, -1, -1, 637, 1156, -1,
2876 71, -1, -1, 1161, -1, 1163, -1, -1, -1, 850,
2877 81, 852, -1, -1, -1, -1, -1, -1, 89, -1,
2878 -1, -1, 863, 94, -1, -1, 867, 868, 869, -1,
2879 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2880 680, -1, -1, -1, 759, -1, 761, -1, -1, -1,
2881 -1, -1, 1210, 1211, -1, 1213, 34, 3, 4, 5,
2882 6, 7, 8, 9, 905, 906, 907, -1, 14, -1,
2883 -1, -1, -1, -1, -1, -1, 54, -1, -1, -1,
2884 -1, -1, -1, 29, -1, 31, 32, -1, -1, -1,
2885 -1, 37, -1, -1, -1, 735, 42, -1, -1, -1,
2886 46, -1, -1, -1, -1, -1, 947, -1, 874, 55,
2887 -1, 57, 58, 753, 754, 61, 756, -1, 833, 834,
2888 -1, 836, -1, -1, -1, 71, -1, -1, -1, -1,
2889 -1, 771, -1, -1, -1, 81, -1, -1, -1, 905,
2890 906, 907, -1, 89, -1, -1, -1, -1, 94, 864,
2891 -1, -1, -1, 793, -1, -1, 1314, 1315, 1316, -1,
2892 -1, -1, -1, -1, -1, -1, -1, -1, 146, 147,
2893 148, -1, -1, -1, -1, -1, -1, -1, -1, 4,
2894 5, 947, -1, 8, 9, -1, -1, -1, -1, 14,
2895 830, 831, -1, -1, 909, -1, -1, -1, -1, 177,
2896 178, 179, -1, -1, 29, 845, 31, 847, -1, 849,
2897 -1, 977, 37, -1, 3, 4, 5, 6, -1, -1,
2898 9, 46, -1, -1, -1, -1, -1, -1, 206, -1,
2899 55, -1, 57, 58, 1392, -1, -1, -1, -1, -1,
2900 -1, -1, 882, 1009, -1, -1, -1, -1, -1, -1,
2901 -1, -1, 892, 42, 3, 4, 5, 6, 973, 1100,
2902 1101, 1102, 1103, 1104, 904, -1, 55, 1108, 57, 58,
2903 985, -1, -1, -1, 1432, 1433, 1434, 917, -1, -1,
2904 -1, -1, 71, -1, 1125, 1126, 1127, -1, -1, 929,
2905 -1, -1, 81, 42, -1, -1, -1, -1, -1, -1,
2906 89, 279, -1, -1, 1462, 94, 55, 947, 57, 58,
2907 -1, -1, -1, -1, 4, 5, -1, -1, 8, 9,
2908 -1, -1, 71, -1, 14, -1, -1, -1, -1, -1,
2909 -1, -1, 81, -1, 1100, 1101, 1102, 1103, 1104, 29,
2910 89, 31, 1108, -1, -1, 94, -1, 37, -1, 989,
2911 328, 329, 330, -1, 1069, -1, 46, -1, -1, 1125,
2912 1126, 1127, -1, -1, -1, 55, -1, 57, 58, 1210,
2913 1211, -1, 1213, -1, -1, -1, 54, -1, -1, -1,
2914 -1, 3, 4, 5, 6, -1, -1, 9, -1, -1,
2915 1156, -1, 1107, -1, -1, 1161, -1, 1163, 1038, 1039,
2916 -1, 79, 1042, -1, 82, -1, -1, -1, -1, -1,
2917 388, -1, -1, -1, -1, -1, 3, 4, 5, 6,
2918 42, 1061, 9, -1, -1, 103, -1, 105, -1, -1,
2919 -1, -1, -1, 55, -1, 57, 58, -1, -1, -1,
2920 -1, -1, -1, -1, 1210, 1211, -1, 1213, -1, 71,
2921 1165, -1, -1, -1, 1169, 42, -1, -1, 436, 81,
2922 438, -1, 440, 441, 442, -1, -1, 89, 55, 447,
2923 57, 58, 94, -1, 452, -1, 1116, 455, 1118, -1,
2924 1120, -1, -1, 1123, 71, -1, -1, 1202, 3, 4,
2925 5, 6, 1132, 1133, 81, -1, -1, 1137, -1, 177,
2926 178, 179, 89, -1, -1, -1, -1, 94, -1, 187,
2927 -1, -1, 1152, 1153, 74, 75, 76, 77, 78, 79,
2928 80, 81, 82, 83, 84, 85, 1241, 42, 206, -1,
2929 1245, -1, -1, -1, -1, -1, -1, -1, 1178, -1,
2930 55, -1, 57, 58, -1, -1, -1, -1, 1314, 1315,
2931 1316, 229, 1267, 1268, -1, -1, 71, -1, -1, -1,
2932 -1, -1, -1, -1, -1, 243, 81, 1207, -1, -1,
2933 -1, -1, -1, -1, 89, -1, -1, -1, -1, 94,
2934 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4,
2935 5, 569, 7, 8, 9, -1, 1236, 12, -1, 14,
2936 -1, -1, -1, -1, -1, 583, 584, -1, 586, -1,
2937 -1, -1, 1252, -1, 29, 593, 31, 32, -1, -1,
2938 -1, -1, 37, -1, -1, -1, 1392, -1, -1, -1,
2939 -1, 46, -1, 611, 1274, -1, -1, -1, -1, -1,
2940 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
2941 -1, -1, -1, -1, -1, -1, 334, 335, -1, -1,
2942 -1, 1301, -1, -1, -1, -1, 1432, 1433, 1434, -1,
2943 -1, -1, 650, -1, 652, 653, -1, 655, -1, 4,
2944 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2945 -1, -1, -1, -1, 1334, 1335, 1462, -1, -1, -1,
2946 -1, -1, -1, 1343, -1, -1, 31, 32, -1, -1,
2947 388, 36, -1, -1, -1, 693, 41, -1, -1, -1,
2948 -1, -1, -1, -1, -1, -1, 704, 705, -1, 707,
2949 -1, 56, -1, -1, -1, -1, -1, -1, -1, -1,
2950 -1, -1, -1, 4, 5, -1, 7, 8, 9, -1,
2951 -1, -1, 1392, 14, -1, -1, -1, -1, 436, -1,
2952 438, -1, 440, 441, 442, 743, -1, -1, 29, 447,
2953 31, 32, -1, -1, 452, -1, 37, 455, -1, -1,
2954 -1, -1, 1422, -1, -1, 46, -1, 765, 766, 767,
2955 -1, -1, -1, -1, 55, -1, 57, 58, -1, 777,
2956 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2957 135, -1, -1, 14, 139, -1, -1, -1, 143, -1,
2958 -1, -1, -1, -1, -1, -1, -1, -1, 29, -1,
2959 31, 32, 33, -1, -1, 160, 37, 38, -1, -1,
2960 -1, 42, -1, -1, -1, 46, 47, -1, 49, -1,
2961 -1, -1, 177, 178, 55, -1, 57, 58, -1, -1,
2962 61, -1, 63, -1, -1, -1, -1, -1, -1, -1,
2963 71, -1, 850, -1, 852, -1, -1, -1, -1, -1,
2964 81, -1, -1, -1, -1, 863, -1, -1, 89, 867,
2965 868, 869, -1, 94, -1, -1, -1, -1, -1, -1,
2966 -1, -1, -1, -1, 1544, -1, -1, -1, -1, -1,
2967 111, -1, -1, -1, -1, 240, -1, -1, 596, 597,
2968 -1, -1, -1, -1, -1, -1, -1, 905, 906, 907,
2969 -1, -1, -1, 611, 68, 69, 70, 71, 72, 73,
2970 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2971 84, 85, 1, -1, 3, 4, 5, 6, 7, 8,
2972 9, 10, 11, 12, 13, 14, -1, -1, -1, 947,
2973 -1, -1, 650, -1, 652, 653, -1, -1, -1, -1,
2974 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
2975 39, 40, 41, 42, 43, 44, -1, 46, -1, 977,
2976 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
2977 -1, -1, -1, 62, 339, 693, -1, -1, -1, 68,
2978 -1, -1, 71, -1, -1, -1, 704, 705, -1, 707,
2979 79, 80, 81, 12, -1, -1, -1, -1, 87, 88,
2980 89, -1, -1, -1, -1, 94, -1, -1, -1, 98,
2981 -1, -1, 730, -1, -1, -1, -1, -1, -1, -1,
2982 -1, 110, -1, 112, -1, 743, -1, -1, -1, -1,
2983 -1, -1, -1, -1, 399, 1053, 1054, 402, 1056, -1,
2984 -1, -1, 407, -1, 63, 64, 65, 66, 67, 68,
2985 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2986 79, 80, 81, 82, 83, 84, 85, -1, -1, -1,
2987 -1, 436, -1, 438, -1, -1, -1, -1, -1, -1,
2988 -1, -1, 1100, 1101, 1102, 1103, 1104, 452, -1, 1,
2989 1108, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2990 -1, -1, 14, -1, -1, -1, 471, 1125, 1126, 1127,
2991 -1, -1, -1, -1, -1, -1, -1, 29, -1, 31,
2992 32, 33, 14, -1, -1, 37, 38, -1, -1, -1,
2993 42, -1, 24, 25, 46, 47, -1, 49, 1156, 31,
2994 32, -1, 34, 55, -1, 57, 58, -1, -1, 61,
2995 -1, 63, -1, -1, -1, 873, 874, 875, -1, 71,
2996 -1, -1, -1, -1, -1, -1, -1, -1, 32, 81,
2997 -1, -1, 64, -1, -1, -1, -1, 89, -1, -1,
2998 -1, -1, 94, -1, -1, -1, -1, 905, 906, 907,
2999 -1, -1, 1210, 1211, 912, 1213, -1, -1, -1, 111,
3000 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3001 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3002 84, 85, -1, -1, -1, -1, -1, -1, -1, 947,
3003 -1, 123, -1, 125, -1, -1, 128, -1, -1, -1,
3004 132, 133, -1, -1, -1, -1, -1, 139, -1, 141,
3005 142, 143, -1, -1, 146, 147, 148, -1, -1, 977,
3006 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3007 -1, -1, -1, -1, 14, -1, -1, -1, -1, -1,
3008 998, -1, -1, -1, -1, -1, 651, 27, 28, 29,
3009 -1, 31, 32, 33, -1, -1, 1314, 37, 1316, -1,
3010 -1, -1, 42, -1, -1, 45, 46, 47, -1, 49,
3011 -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
3012 -1, 61, -1, -1, -1, -1, -1, -1, 220, 221,
3013 -1, 71, 697, -1, -1, -1, -1, -1, -1, 704,
3014 705, 81, 707, -1, -1, -1, -1, -1, 240, 89,
3015 -1, -1, -1, -1, 94, -1, -1, -1, -1, -1,
3016 100, -1, 1080, -1, -1, -1, -1, -1, -1, -1,
3017 -1, 736, -1, 738, 1392, -1, -1, -1, 743, 744,
3018 745, -1, 1100, 1101, 1102, 1103, 1104, 279, 1106, -1,
3019 1108, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3020 79, 80, 81, 82, 83, 84, 85, 1125, 1126, 1127,
3021 -1, -1, -1, -1, 1432, 1433, 1434, -1, -1, -1,
3022 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3023 -1, -1, -1, 14, 326, -1, 328, 329, 1156, -1,
3024 -1, -1, -1, -1, 1462, -1, 27, 28, 29, -1,
3025 31, 32, 33, -1, -1, -1, 37, -1, -1, -1,
3026 -1, 42, -1, 355, 45, 46, 47, -1, 49, -1,
3027 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
3028 61, -1, -1, -1, -1, -1, -1, 379, -1, -1,
3029 71, -1, 1210, 1211, -1, 1213, -1, -1, -1, -1,
3030 81, -1, -1, 395, -1, -1, -1, 399, 89, -1,
3031 402, -1, -1, 94, -1, 407, -1, -1, -1, 100,
3032 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3033 79, 80, 81, 82, 83, 84, 85, -1, -1, -1,
3034 905, 906, -1, -1, -1, -1, -1, -1, -1, -1,
3035 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1,
3036 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3037 12, -1, 14, -1, -1, -1, 468, -1, 470, -1,
3038 -1, -1, -1, 25, -1, 27, 28, -1, -1, -1,
3039 32, -1, -1, -1, -1, 37, 1314, -1, 1316, -1,
3040 42, -1, -1, 495, 46, -1, 48, -1, -1, -1,
3041 -1, -1, 977, 55, -1, 57, 58, 59, 60, 61,
3042 -1, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3043 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3044 82, 83, 84, 85, 1009, 87, 88, 89, -1, 91,
3045 92, 93, 94, 95, 96, -1, 98, 99, -1, -1,
3046 -1, -1, 104, -1, -1, -1, -1, 109, 110, 111,
3047 -1, 113, -1, -1, 1392, -1, -1, 569, -1, 3,
3048 4, 5, 6, 7, 8, 9, -1, -1, 580, 581,
3049 14, 583, 584, -1, -1, -1, -1, -1, -1, -1,
3050 -1, -1, -1, -1, -1, 29, -1, 31, 32, -1,
3051 -1, -1, -1, 37, 1432, 1433, 1434, -1, 42, -1,
3052 -1, -1, 46, -1, 48, -1, -1, -1, -1, -1,
3053 -1, 55, -1, 57, 58, 1100, 1101, -1, 1, -1,
3054 -1, 4, 5, 1108, 1462, 8, 9, 71, -1, -1,
3055 642, 14, -1, -1, -1, -1, -1, 81, -1, -1,
3056 -1, -1, 654, -1, -1, 89, 29, 91, 31, -1,
3057 94, 95, -1, -1, 37, -1, 39, 40, -1, -1,
3058 -1, 673, -1, 46, -1, 48, -1, -1, -1, -1,
3059 -1, 1156, 55, -1, 57, 58, 1161, 60, 1163, -1,
3060 -1, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3061 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3062 83, 84, -1, -1, 87, 88, 89, -1, -1, 92,
3063 -1, -1, 95, -1, -1, -1, -1, -1, 730, -1,
3064 -1, 733, -1, -1, -1, 1210, 1211, 60, 1213, 112,
3065 -1, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3066 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3067 83, 84, 85, 765, 766, 767, -1, -1, -1, -1,
3068 -1, -1, -1, -1, -1, 777, 1, -1, 3, 4,
3069 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3070 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3071 25, 26, 27, 28, 29, 30, 31, 32, 33, -1,
3072 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3073 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3074 55, -1, 57, 58, 59, -1, 61, 62, -1, -1,
3075 1315, -1, -1, 68, -1, -1, 71, -1, 850, -1,
3076 852, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3077 -1, 863, 87, 88, 89, -1, -1, -1, -1, 94,
3078 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
3079 -1, -1, -1, -1, -1, -1, 111, 112, 1, -1,
3080 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3081 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
3082 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3083 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3084 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3085 53, 54, 55, -1, 57, 58, 59, -1, 61, 62,
3086 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3087 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3088 972, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3089 -1, 94, -1, 96, -1, -1, -1, -1, -1, -1,
3090 -1, -1, -1, -1, -1, -1, -1, 999, -1, 112,
3091 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3092 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3093 84, 85, -1, -1, -1, -1, -1, 1, -1, 3,
3094 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3095 14, -1, -1, -1, -1, -1, -1, -1, -1, 113,
3096 -1, 1053, 1054, -1, 1056, 29, 30, 31, 32, 33,
3097 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3098 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3099 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3100 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3101 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3102 -1, -1, 1114, 87, 88, 89, -1, 91, -1, -1,
3103 94, 95, -1, -1, 98, -1, -1, -1, -1, -1,
3104 -1, -1, -1, -1, -1, -1, -1, -1, 112, 1141,
3105 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3106 11, 12, 13, 14, -1, -1, -1, 1159, -1, 1161,
3107 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3108 31, 32, 33, -1, 35, 36, 37, -1, 39, 40,
3109 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3110 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3111 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3112 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3113 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3114 91, -1, -1, 94, 95, -1, 1, 98, 3, 4,
3115 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3116 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3117 -1, -1, -1, -1, 29, 30, 31, 32, 33, -1,
3118 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3119 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3120 55, -1, 57, 58, 59, -1, 61, 62, -1, -1,
3121 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3122 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3123 -1, -1, 87, 88, 89, -1, -1, -1, 1, 94,
3124 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3125 13, 14, -1, -1, -1, -1, -1, 112, -1, -1,
3126 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3127 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3128 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3129 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3130 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3131 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3132 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3133 -1, 94, 95, 1, -1, 3, 4, 5, 6, -1,
3134 8, 9, 10, 11, -1, 13, 14, -1, 111, 112,
3135 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3136 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3137 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3138 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3139 58, 59, -1, -1, 62, -1, -1, -1, -1, -1,
3140 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3141 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3142 88, 89, -1, -1, -1, -1, 94, 95, 1, -1,
3143 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3144 13, 14, -1, -1, 112, -1, -1, -1, -1, -1,
3145 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3146 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3147 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3148 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3149 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3150 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3151 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3152 1, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3153 11, -1, 13, 14, -1, -1, -1, -1, 111, 112,
3154 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3155 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3156 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3157 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3158 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3159 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3160 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3161 -1, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3162 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3163 111, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3164 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3165 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3166 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3167 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3168 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3169 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3170 89, -1, -1, -1, -1, 94, -1, -1, 1, -1,
3171 3, 4, 5, 6, 103, 8, 9, 10, 11, -1,
3172 13, 14, -1, 112, -1, -1, -1, -1, -1, -1,
3173 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3174 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3175 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3176 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3177 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3178 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3179 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3180 1, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3181 11, -1, 13, 14, -1, -1, -1, -1, -1, 112,
3182 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3183 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3184 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3185 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3186 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3187 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3188 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3189 -1, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3190 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3191 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3192 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3193 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3194 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3195 -1, -1, -1, 62, 63, -1, -1, -1, -1, 68,
3196 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3197 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3198 89, -1, -1, -1, 1, 94, 3, 4, 5, 6,
3199 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3200 -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
3201 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3202 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3203 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3204 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3205 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3206 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3207 87, 88, 89, -1, -1, -1, 1, 94, 3, 4,
3208 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3209 -1, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3210 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3211 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3212 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3213 55, -1, 57, 58, -1, -1, 61, 62, -1, -1,
3214 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3215 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3216 -1, -1, 87, 88, 89, -1, -1, -1, 1, 94,
3217 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3218 13, 14, -1, -1, -1, -1, -1, 112, -1, -1,
3219 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3220 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3221 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3222 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3223 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3224 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3225 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3226 1, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3227 11, -1, 13, 14, -1, -1, -1, 110, -1, 112,
3228 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3229 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3230 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3231 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3232 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3233 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3234 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3235 -1, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3236 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3237 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3238 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3239 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3240 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3241 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3242 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3243 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3244 89, -1, -1, -1, 1, 94, 3, 4, 5, 6,
3245 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3246 -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
3247 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3248 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3249 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3250 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3251 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3252 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3253 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3254 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3255 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3256 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3257 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3258 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3259 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3260 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3261 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3262 -1, -1, -1, -1, 94, -1, -1, -1, -1, -1,
3263 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3264 -1, -1, 112, 113, 3, 4, 5, 6, 7, 8,
3265 9, 10, 11, -1, 13, 14, 15, -1, 17, 18,
3266 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3267 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
3268 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3269 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3270 59, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3271 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3272 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3273 89, -1, -1, -1, -1, 94, -1, 96, -1, -1,
3274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3275 -1, -1, 111, 112, 3, 4, 5, 6, 7, 8,
3276 9, 10, 11, -1, 13, 14, 15, -1, 17, 18,
3277 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3278 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
3279 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3280 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3281 59, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3282 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3283 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3284 89, -1, -1, -1, -1, 94, -1, 96, -1, -1,
3285 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3286 13, 14, 15, 112, 17, 18, 19, 20, 21, 22,
3287 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3288 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3289 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3290 53, 54, 55, -1, 57, 58, 59, -1, 61, 62,
3291 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3292 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3293 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3294 -1, 94, -1, 96, -1, -1, 3, 4, 5, 6,
3295 7, 8, 9, 10, 11, -1, 13, 14, 15, 112,
3296 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3297 27, 28, 29, 30, 31, 32, 33, -1, 35, 36,
3298 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3299 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3300 57, 58, -1, -1, 61, 62, -1, -1, -1, -1,
3301 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3302 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3303 87, 88, 89, -1, -1, -1, -1, 94, -1, 96,
3304 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
3305 13, 14, -1, -1, -1, 112, -1, -1, -1, -1,
3306 -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
3307 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3308 43, 44, -1, 46, -1, 48, -1, 50, 51, 52,
3309 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3310 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3311 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3312 -1, -1, -1, -1, 87, 88, 89, -1, 91, -1,
3313 -1, 94, 95, -1, -1, 98, 3, 4, 5, 6,
3314 7, 8, 9, 10, 11, 12, 13, 14, -1, 112,
3315 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3316 -1, -1, 29, 30, 31, 32, 33, -1, 35, 36,
3317 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3318 -1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
3319 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3320 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3321 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3322 87, 88, 89, -1, 91, -1, -1, 94, 95, -1,
3323 -1, 98, 3, 4, 5, 6, -1, 8, 9, 10,
3324 11, -1, 13, 14, -1, 112, -1, -1, -1, -1,
3325 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3326 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3327 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3328 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3329 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3330 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3331 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3332 91, -1, -1, 94, 95, 3, 4, 5, 6, -1,
3333 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3334 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3335 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3336 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3337 48, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3338 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3339 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3340 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3341 88, 89, -1, 91, -1, -1, 94, 95, 3, 4,
3342 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3343 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3344 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3345 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3346 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3347 55, -1, 57, 58, -1, -1, 61, 62, -1, -1,
3348 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3349 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3350 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3351 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3352 13, 14, -1, -1, -1, -1, -1, 112, -1, -1,
3353 -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
3354 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3355 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3356 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3357 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3358 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3359 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3360 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3361 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3362 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3363 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3364 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3365 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3366 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3367 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3368 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3369 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3370 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3371 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3372 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3373 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3374 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3375 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3376 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3377 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3378 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3379 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3380 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3381 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3382 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3383 -1, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3384 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3385 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3386 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3387 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3388 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3389 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3390 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3391 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3392 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3393 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3394 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3395 95, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3396 -1, 13, 14, -1, -1, -1, -1, 112, -1, -1,
3397 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3398 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3399 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3400 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3401 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3402 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3403 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3404 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3405 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3406 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3407 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3408 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3409 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3410 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3411 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3412 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3413 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3414 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3415 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3416 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3417 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3418 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3419 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3420 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3421 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3422 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3423 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3424 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3425 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3426 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3427 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3428 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3429 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3430 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3431 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3432 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3433 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3434 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3435 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3436 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3437 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3438 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3439 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3440 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3441 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3442 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3443 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3444 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3445 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3446 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3447 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3448 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3449 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3450 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3451 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3452 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3453 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3454 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3455 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3456 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3457 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3458 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3459 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3460 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3461 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3462 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3463 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3464 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3465 -1, 94, 3, 4, 5, 6, 7, 8, 9, -1,
3466 -1, 12, -1, 14, -1, -1, -1, -1, -1, 112,
3467 -1, -1, -1, -1, -1, -1, -1, -1, 29, -1,
3468 31, 32, -1, -1, -1, -1, 37, -1, -1, -1,
3469 -1, 42, -1, -1, -1, 46, -1, 48, -1, -1,
3470 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
3471 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3472 71, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3473 81, -1, -1, -1, 14, -1, -1, -1, 89, -1,
3474 91, -1, -1, 94, 95, -1, -1, 98, -1, 29,
3475 -1, 31, 32, 33, -1, -1, -1, 37, -1, -1,
3476 -1, -1, 42, -1, -1, -1, 46, 47, -1, 49,
3477 -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
3478 -1, 61, -1, 63, 3, 4, 5, 6, 7, 8,
3479 9, 71, -1, -1, -1, 14, -1, -1, -1, -1,
3480 -1, 81, -1, -1, -1, -1, -1, -1, -1, 89,
3481 -1, -1, -1, 32, 94, -1, -1, -1, 37, -1,
3482 -1, -1, -1, 42, -1, -1, -1, 46, -1, 48,
3483 -1, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3484 3, 4, 5, 6, 7, 8, 9, -1, -1, 12,
3485 -1, 14, 71, -1, -1, -1, -1, -1, -1, -1,
3486 -1, -1, 81, -1, -1, -1, 29, -1, 31, 32,
3487 89, -1, 91, -1, 37, 94, 95, -1, -1, 42,
3488 -1, -1, -1, 46, -1, 3, 4, 5, 6, 7,
3489 8, 9, 55, -1, 57, 58, 14, -1, -1, -1,
3490 -1, -1, -1, -1, -1, -1, -1, -1, 71, -1,
3491 -1, 29, -1, 31, 32, -1, -1, -1, 81, 37,
3492 -1, -1, -1, -1, 42, -1, 89, -1, 46, -1,
3493 -1, 94, -1, -1, -1, -1, -1, 55, -1, 57,
3494 58, -1, -1, -1, -1, 63, 3, 4, 5, 6,
3495 7, 8, 9, 71, -1, -1, -1, 14, -1, -1,
3496 -1, -1, -1, 81, -1, -1, -1, -1, -1, -1,
3497 -1, 89, 29, -1, 31, 32, 94, -1, -1, -1,
3498 37, -1, -1, -1, -1, 42, -1, -1, -1, 46,
3499 -1, 3, 4, 5, 6, 7, 8, 9, 55, -1,
3500 57, 58, 14, -1, 61, -1, -1, -1, -1, -1,
3501 -1, -1, -1, -1, 71, -1, -1, 29, -1, 31,
3502 32, -1, -1, -1, 81, 37, -1, -1, -1, -1,
3503 42, -1, 89, -1, 46, -1, -1, 94, -1, -1,
3504 -1, -1, -1, 55, -1, 57, 58, 3, 4, 5,
3505 6, 7, 8, 9, -1, -1, -1, -1, 14, 71,
3506 -1, -1, -1, -1, -1, -1, -1, -1, -1, 81,
3507 -1, -1, -1, 29, -1, 31, 32, 89, -1, -1,
3508 -1, 37, 94, -1, -1, -1, 42, -1, -1, -1,
3509 46, -1, -1, -1, -1, -1, -1, -1, -1, 55,
3510 -1, 57, 58, 64, 65, 66, 67, 68, 69, 70,
3511 71, 72, 73, 74, 75, 71, 77, 78, 79, 80,
3512 81, 82, 83, 84, 85, 81, -1, -1, -1, -1,
3513 -1, -1, -1, 89, -1, -1, -1, -1, 94, 64,
3514 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3515 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3516 85, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3517 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3518 82, 83, 84, 85, 109, 64, 65, 66, 67, 68,
3519 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3520 79, 80, 81, 82, 83, 84, 85
3522 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3523 #line 3 "/usr/lib/bison.simple"
3525 /* Skeleton output parser for bison,
3526 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3528 This program is free software; you can redistribute it and/or modify
3529 it under the terms of the GNU General Public License as published by
3530 the Free Software Foundation; either version 2, or (at your option)
3533 This program is distributed in the hope that it will be useful,
3534 but WITHOUT ANY WARRANTY; without even the implied warranty of
3535 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3536 GNU General Public License for more details.
3538 You should have received a copy of the GNU General Public License
3539 along with this program; if not, write to the Free Software
3540 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3542 /* As a special exception, when this file is copied by Bison into a
3543 Bison output file, you may use that output file without restriction.
3544 This special exception was added by the Free Software Foundation
3545 in version 1.24 of Bison. */
3549 #define alloca __builtin_alloca
3550 #else /* not GNU C. */
3551 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3553 #else /* not sparc */
3554 #if defined (MSDOS) && !defined (__TURBOC__)
3556 #else /* not MSDOS, or __TURBOC__ */
3560 #else /* not MSDOS, __TURBOC__, or _AIX */
3564 void *alloca (unsigned int);
3566 #else /* not __cplusplus */
3568 #endif /* not __cplusplus */
3570 #endif /* not _AIX */
3571 #endif /* not MSDOS, or __TURBOC__ */
3572 #endif /* not sparc. */
3573 #endif /* not GNU C. */
3574 #endif /* alloca not defined. */
3576 /* This is the parser code that is written into each bison parser
3577 when the %semantic_parser declaration is not specified in the grammar.
3578 It was written by Richard Stallman by simplifying the hairy parser
3579 used when %semantic_parser is specified. */
3581 /* Note: there must be only one dollar sign in this file.
3582 It is replaced by the list of actions, each action
3583 as one case of the switch. */
3585 #define yyerrok (yyerrstatus = 0)
3586 #define yyclearin (yychar = YYEMPTY)
3589 #define YYACCEPT return(0)
3590 #define YYABORT return(1)
3591 #define YYERROR goto yyerrlab1
3592 /* Like YYERROR except do call yyerror.
3593 This remains here temporarily to ease the
3594 transition to the new meaning of YYERROR, for GCC.
3595 Once GCC version 2 has supplanted version 1, this can go. */
3596 #define YYFAIL goto yyerrlab
3597 #define YYRECOVERING() (!!yyerrstatus)
3598 #define YYBACKUP(token, value) \
3600 if (yychar == YYEMPTY && yylen == 1) \
3601 { yychar = (token), yylval = (value); \
3602 yychar1 = YYTRANSLATE (yychar); \
3607 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3611 #define YYERRCODE 256
3614 #define YYLEX yylex()
3620 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3622 #define YYLEX yylex(&yylval, &yylloc)
3624 #else /* not YYLSP_NEEDED */
3626 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3628 #define YYLEX yylex(&yylval)
3630 #endif /* not YYLSP_NEEDED */
3633 /* If nonreentrant, generate the variables here */
3637 int yychar
; /* the lookahead symbol */
3638 YYSTYPE yylval
; /* the semantic value of the */
3639 /* lookahead symbol */
3642 YYLTYPE yylloc
; /* location data for the lookahead */
3646 int yynerrs
; /* number of parse errors so far */
3647 #endif /* not YYPURE */
3650 int yydebug
; /* nonzero means print parse trace */
3651 /* Since this is uninitialized, it does not stop multiple parsers
3655 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3658 #define YYINITDEPTH 200
3661 /* YYMAXDEPTH is the maximum size the stacks can grow to
3662 (effective only if the built-in stack extension method is used). */
3669 #define YYMAXDEPTH 10000
3672 /* Prevent warning if -Wstrict-prototypes. */
3677 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3678 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3679 #else /* not GNU C or C++ */
3682 /* This is the most reliable way to avoid incompatibilities
3683 in available built-in functions on various systems. */
3685 __yy_memcpy (to
, from
, count
)
3690 register char *f
= from
;
3691 register char *t
= to
;
3692 register int i
= count
;
3698 #else /* __cplusplus */
3700 /* This is the most reliable way to avoid incompatibilities
3701 in available built-in functions on various systems. */
3703 __yy_memcpy (char *to
, char *from
, int count
)
3705 register char *f
= from
;
3706 register char *t
= to
;
3707 register int i
= count
;
3716 #line 196 "/usr/lib/bison.simple"
3718 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3719 into yyparse. The argument should have type void *.
3720 It should actually point to an object.
3721 Grammar actions can access the variable by casting it
3722 to the proper pointer type. */
3724 #ifdef YYPARSE_PARAM
3726 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3727 #define YYPARSE_PARAM_DECL
3728 #else /* not __cplusplus */
3729 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3730 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3731 #endif /* not __cplusplus */
3732 #else /* not YYPARSE_PARAM */
3733 #define YYPARSE_PARAM_ARG
3734 #define YYPARSE_PARAM_DECL
3735 #endif /* not YYPARSE_PARAM */
3738 yyparse(YYPARSE_PARAM_ARG
)
3741 register int yystate
;
3743 register short *yyssp
;
3744 register YYSTYPE
*yyvsp
;
3745 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3746 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3748 short yyssa
[YYINITDEPTH
]; /* the state stack */
3749 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3751 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3752 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3755 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3756 YYLTYPE
*yyls
= yylsa
;
3759 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3761 #define YYPOPSTACK (yyvsp--, yyssp--)
3764 int yystacksize
= YYINITDEPTH
;
3775 YYSTYPE yyval
; /* the variable used to return */
3776 /* semantic values from the action */
3783 fprintf(stderr
, "Starting parse\n");
3789 yychar
= YYEMPTY
; /* Cause a token to be read. */
3791 /* Initialize stack pointers.
3792 Waste one element of value and location stack
3793 so that they stay on the same level as the state stack.
3794 The wasted elements are never initialized. */
3802 /* Push a new state, which is found in yystate . */
3803 /* In all cases, when you get here, the value and location stacks
3804 have just been pushed. so pushing a state here evens the stacks. */
3809 if (yyssp
>= yyss
+ yystacksize
- 1)
3811 /* Give user a chance to reallocate the stack */
3812 /* Use copies of these so that the &'s don't force the real ones into memory. */
3813 YYSTYPE
*yyvs1
= yyvs
;
3814 short *yyss1
= yyss
;
3816 YYLTYPE
*yyls1
= yyls
;
3819 /* Get the current used size of the three stacks, in elements. */
3820 int size
= yyssp
- yyss
+ 1;
3823 /* Each stack pointer address is followed by the size of
3824 the data in use in that stack, in bytes. */
3826 /* This used to be a conditional around just the two extra args,
3827 but that might be undefined if yyoverflow is a macro. */
3828 yyoverflow("parser stack overflow",
3829 &yyss1
, size
* sizeof (*yyssp
),
3830 &yyvs1
, size
* sizeof (*yyvsp
),
3831 &yyls1
, size
* sizeof (*yylsp
),
3834 yyoverflow("parser stack overflow",
3835 &yyss1
, size
* sizeof (*yyssp
),
3836 &yyvs1
, size
* sizeof (*yyvsp
),
3840 yyss
= yyss1
; yyvs
= yyvs1
;
3844 #else /* no yyoverflow */
3845 /* Extend the stack our own way. */
3846 if (yystacksize
>= YYMAXDEPTH
)
3848 yyerror("parser stack overflow");
3852 if (yystacksize
> YYMAXDEPTH
)
3853 yystacksize
= YYMAXDEPTH
;
3854 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3855 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3856 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3857 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3859 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3860 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3862 #endif /* no yyoverflow */
3864 yyssp
= yyss
+ size
- 1;
3865 yyvsp
= yyvs
+ size
- 1;
3867 yylsp
= yyls
+ size
- 1;
3872 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3875 if (yyssp
>= yyss
+ yystacksize
- 1)
3881 fprintf(stderr
, "Entering state %d\n", yystate
);
3887 /* Do appropriate processing given the current state. */
3888 /* Read a lookahead token if we need one and don't already have one. */
3891 /* First try to decide what to do without reference to lookahead token. */
3893 yyn
= yypact
[yystate
];
3897 /* Not known => get a lookahead token if don't already have one. */
3899 /* yychar is either YYEMPTY or YYEOF
3900 or a valid token in external form. */
3902 if (yychar
== YYEMPTY
)
3906 fprintf(stderr
, "Reading a token: ");
3911 /* Convert token to internal form (in yychar1) for indexing tables with */
3913 if (yychar
<= 0) /* This means end of input. */
3916 yychar
= YYEOF
; /* Don't call YYLEX any more */
3920 fprintf(stderr
, "Now at end of input.\n");
3925 yychar1
= YYTRANSLATE(yychar
);
3930 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
3931 /* Give the individual parser a way to print the precise meaning
3932 of a token, for further debugging info. */
3934 YYPRINT (stderr
, yychar
, yylval
);
3936 fprintf (stderr
, ")\n");
3942 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
3947 /* yyn is what to do for this token type in this state.
3948 Negative => reduce, -yyn is rule number.
3949 Positive => shift, yyn is new state.
3950 New state is final state => don't bother to shift,
3951 just return success.
3952 0, or most negative number => error. */
3967 /* Shift the lookahead token. */
3971 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
3974 /* Discard the token being shifted unless it is eof. */
3975 if (yychar
!= YYEOF
)
3983 /* count tokens shifted since error; after three, turn off error status. */
3984 if (yyerrstatus
) yyerrstatus
--;
3989 /* Do the default action for the current state. */
3992 yyn
= yydefact
[yystate
];
3996 /* Do a reduction. yyn is the number of a rule to reduce with. */
4000 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
4007 fprintf (stderr
, "Reducing via rule %d (line %d), ",
4010 /* Print the symbols being reduced, and their result. */
4011 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
4012 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
4013 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4023 /* In case there were missing closebraces,
4024 get us back to the global binding level. */
4025 while (! global_bindings_p ())
4032 { yyval
.ttype
= NULL_TREE
; ;
4036 { yyval
.ttype
= NULL_TREE
; ;
4040 { yyval
.ttype
= NULL_TREE
; ;
4044 { have_extern_spec
= 1;
4045 used_extern_spec
= 0;
4046 yyval
.ttype
= NULL_TREE
; ;
4050 { have_extern_spec
= 0; ;
4054 { yyval
.itype
= pedantic
;
4059 { if (pending_lang_change
) do_pending_lang_change(); ;
4063 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4064 pop_everything (); ;
4068 { if (pending_inlines
) do_pending_inlines (); ;
4072 { if (pending_inlines
) do_pending_inlines (); ;
4076 { if (pending_inlines
) do_pending_inlines (); ;
4080 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4081 assemble_asm (yyvsp
[-2].ttype
); ;
4085 { pop_lang_context (); ;
4089 { if (pending_inlines
) do_pending_inlines ();
4090 pop_lang_context (); ;
4094 { if (pending_inlines
) do_pending_inlines ();
4095 pop_lang_context (); ;
4099 { push_namespace (yyvsp
[-1].ttype
); ;
4103 { pop_namespace (); ;
4107 { push_namespace (NULL_TREE
); ;
4111 { pop_namespace (); ;
4115 { do_namespace_alias (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4119 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4124 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
4125 yyvsp
[-1].ttype
= lastiddecl
;
4126 do_using_directive (yyvsp
[-1].ttype
);
4131 { pedantic
= yyvsp
[-1].itype
; ;
4135 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4139 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4143 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4147 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4151 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4155 { push_lang_context (yyvsp
[0].ttype
); ;
4159 { if (current_lang_name
!= yyvsp
[0].ttype
)
4160 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4161 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4165 { begin_template_parm_list (); ;
4169 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4173 { begin_specialization();
4174 yyval
.ttype
= NULL_TREE
; ;
4178 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4182 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4186 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4190 { yyval
.ttype
= NULL_TREE
; ;
4195 yyval
.ttype
= build_tree_list (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4196 if (TREE_PURPOSE (yyval
.ttype
) == signature_type_node
)
4197 sorry ("signature as template type parameter");
4198 else if (TREE_PURPOSE (yyval
.ttype
) != class_type_node
)
4200 pedwarn ("template type parameters must use the keyword `class'");
4201 TREE_PURPOSE (yyval
.ttype
) = class_type_node
;
4207 { yyval
.ttype
= build_tree_list (class_type_node
, yyvsp
[0].ttype
); ;
4212 tree decl
= build_decl (TYPE_DECL
, yyvsp
[0].ttype
, NULL_TREE
);
4213 tree tmpl
= build_lang_decl (TEMPLATE_DECL
, yyvsp
[0].ttype
, NULL_TREE
);
4214 DECL_TEMPLATE_PARMS (tmpl
) = current_template_parms
;
4215 DECL_TEMPLATE_RESULT (tmpl
) = decl
;
4216 SET_DECL_ARTIFICIAL (decl
);
4217 end_template_decl ();
4219 if (yyvsp
[-1].ttype
== signature_type_node
)
4220 sorry ("signature as template template parameter");
4221 else if (yyvsp
[-1].ttype
!= class_type_node
)
4222 pedwarn ("template template parameters must use the keyword `class'");
4223 yyval
.ttype
= build_tree_list (class_type_node
, tmpl
);
4228 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4232 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4236 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4240 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4244 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4249 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4250 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4251 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4253 error ("invalid default template argument");
4254 yyvsp
[0].ttype
= error_mark_node
;
4256 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4262 if (yyvsp
[-1].ttype
)
4263 end_template_decl ();
4265 end_specialization ();
4271 if (yyvsp
[-1].ttype
)
4272 end_template_decl ();
4274 end_specialization ();
4284 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
4289 { pedwarn ("empty declaration"); ;
4295 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4297 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4302 { yyval
.itype
= 0; ;
4306 { yyval
.itype
= 1; ;
4310 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4323 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4324 if (yyvsp
[-2].ttype
!= current_class_type
)
4326 push_nested_class (yyvsp
[-2].ttype
, 3);
4327 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4333 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4338 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4339 if (yyvsp
[-4].ttype
!= current_class_type
)
4341 push_nested_class (yyvsp
[-4].ttype
, 3);
4342 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4344 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4350 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4351 if (yyvsp
[-2].ttype
!= current_class_type
)
4353 push_nested_class (yyvsp
[-2].ttype
, 3);
4354 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4360 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4365 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4366 if (yyvsp
[-4].ttype
!= current_class_type
)
4368 push_nested_class (yyvsp
[-4].ttype
, 3);
4369 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4371 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4377 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4378 if (yyvsp
[-2].ttype
!= current_class_type
)
4380 push_nested_class (yyvsp
[-2].ttype
, 3);
4381 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4387 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4392 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4393 if (yyvsp
[-4].ttype
!= current_class_type
)
4395 push_nested_class (yyvsp
[-4].ttype
, 3);
4396 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4398 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4404 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4405 if (yyvsp
[-2].ttype
!= current_class_type
)
4407 push_nested_class (yyvsp
[-2].ttype
, 3);
4408 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4414 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4419 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4420 if (yyvsp
[-4].ttype
!= current_class_type
)
4422 push_nested_class (yyvsp
[-4].ttype
, 3);
4423 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4425 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4430 { tree specs
, attrs
;
4431 split_specs_attrs (yyvsp
[-1].ftype
.t
, &specs
, &attrs
);
4432 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4434 reinit_parse_for_function ();
4435 yyval
.ttype
= NULL_TREE
; ;
4439 { tree specs
, attrs
;
4440 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4441 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4443 reinit_parse_for_function ();
4444 yyval
.ttype
= NULL_TREE
; ;
4448 { if (! start_function (NULL_TREE
, yyval
.ttype
, NULL_TREE
, 0))
4450 reinit_parse_for_function ();
4451 yyval
.ttype
= NULL_TREE
; ;
4455 { tree specs
, attrs
;
4456 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4457 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4459 reinit_parse_for_function ();
4460 yyval
.ttype
= NULL_TREE
; ;
4464 { if (! start_function (NULL_TREE
, yyval
.ttype
, NULL_TREE
, 0))
4466 reinit_parse_for_function ();
4467 yyval
.ttype
= NULL_TREE
; ;
4471 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4475 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4479 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4483 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4487 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4488 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4492 if (yychar
== YYEMPTY
)
4494 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4498 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4502 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4503 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4507 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4508 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4512 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4516 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4517 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4521 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4526 if (! current_function_parms_stored
)
4527 store_parm_decls ();
4528 yyval
.ttype
= yyvsp
[0].ttype
;
4533 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4537 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4541 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4546 if (yyvsp
[0].itype
== 0)
4547 error ("no base initializers given following ':'");
4549 /* Always keep the BLOCK node associated with the outermost
4550 pair of curley braces of a function. These are needed
4551 for correct operation of dwarfout.c. */
4558 if (! current_function_parms_stored
)
4559 store_parm_decls ();
4561 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4563 /* Make a contour for the initializer list. */
4566 expand_start_bindings (0);
4568 else if (current_class_type
== NULL_TREE
)
4569 error ("base initializers not allowed for non-member functions");
4570 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4571 error ("only constructors take base initializers");
4576 { yyval
.itype
= 0; ;
4580 { yyval
.itype
= 1; ;
4585 if (current_class_name
)
4586 pedwarn ("anachronistic old style base class initializer");
4587 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4593 if (current_class_name
)
4594 pedwarn ("anachronistic old style base class initializer");
4595 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4600 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4604 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4608 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4612 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4616 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4621 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4626 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4627 yyungetc (';', 1); ;
4631 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4632 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4636 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4640 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4644 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4645 yyungetc (';', 1); ;
4649 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4650 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4654 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4658 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4662 { begin_explicit_instantiation(); ;
4666 { end_explicit_instantiation(); ;
4671 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4672 if (yyval
.ttype
!= error_mark_node
)
4673 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4679 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4680 if (yyval
.ttype
!= error_mark_node
)
4681 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4687 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4688 if (yyval
.ttype
!= error_mark_node
)
4689 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4695 /* Handle `Class<Class<Type>>' without space in the `>>' */
4696 pedwarn ("`>>' should be `> >' in template class name");
4702 { yyval
.ttype
= NULL_TREE
; ;
4706 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4710 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4714 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4718 { yyval
.code
= NEGATE_EXPR
; ;
4722 { yyval
.code
= CONVERT_EXPR
; ;
4726 { yyval
.code
= PREINCREMENT_EXPR
; ;
4730 { yyval
.code
= PREDECREMENT_EXPR
; ;
4734 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4738 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4741 #line 1001 "parse.y"
4742 { error ("ANSI C++ forbids an empty condition for `%s'",
4744 yyval
.ttype
= integer_zero_node
; ;
4747 #line 1005 "parse.y"
4748 { yyval
.ttype
= condition_conversion (yyvsp
[-1].ttype
); ;
4751 #line 1010 "parse.y"
4752 { error ("ANSI C++ forbids an empty condition for `%s'",
4754 yyval
.ttype
= integer_zero_node
; ;
4757 #line 1014 "parse.y"
4758 { yyval
.ttype
= condition_conversion (yyvsp
[-1].ttype
); ;
4761 #line 1019 "parse.y"
4762 { yyval
.ttype
= NULL_TREE
; ;
4765 #line 1021 "parse.y"
4766 { yyval
.ttype
= condition_conversion (yyval
.ttype
); ;
4769 #line 1023 "parse.y"
4770 { yyval
.ttype
= NULL_TREE
; ;
4773 #line 1028 "parse.y"
4776 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4777 if (TREE_CODE (d
) == TYPE_DECL
) {
4778 tree s
= TREE_TYPE (d
);
4779 if (TREE_CODE (s
) == RECORD_TYPE
)
4780 cp_error ("definition of class `%T' in condition", s
);
4781 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4782 cp_error ("definition of enum `%T' in condition", s
);
4785 current_declspecs
= yyvsp
[-4].ftype
.t
;
4786 yyvsp
[0].itype
= suspend_momentary ();
4787 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
4788 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
,
4789 /*prefix_attributes*/ NULL_TREE
);
4793 #line 1046 "parse.y"
4795 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4796 resume_momentary (yyvsp
[-2].itype
);
4797 yyval
.ttype
= yyvsp
[-1].ttype
;
4798 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4799 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4803 #line 1065 "parse.y"
4805 if (processing_template_decl
)
4807 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
4808 COMPOUND_STMT_NO_SCOPE (yyval
.ttype
) = 1;
4809 add_tree (yyval
.ttype
);
4814 #line 1074 "parse.y"
4816 if (processing_template_decl
)
4818 TREE_OPERAND (yyvsp
[-1].ttype
, 0) = TREE_CHAIN (yyvsp
[-1].ttype
);
4819 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
4820 last_tree
= yyvsp
[-1].ttype
;
4826 #line 1089 "parse.y"
4827 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4828 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4831 #line 1092 "parse.y"
4832 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4833 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4836 #line 1095 "parse.y"
4837 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4840 #line 1097 "parse.y"
4841 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4844 #line 1102 "parse.y"
4845 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4848 #line 1108 "parse.y"
4849 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4852 #line 1111 "parse.y"
4853 { yyval
.ttype
= yyvsp
[0].ttype
;
4854 pedantic
= yyvsp
[-1].itype
; ;
4857 #line 1114 "parse.y"
4858 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4861 #line 1116 "parse.y"
4862 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4865 #line 1118 "parse.y"
4866 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4869 #line 1120 "parse.y"
4870 { yyval
.ttype
= build_x_unary_op (yyvsp
[-1].code
, yyvsp
[0].ttype
);
4871 if (yyvsp
[-1].code
== NEGATE_EXPR
&& TREE_CODE (yyvsp
[0].ttype
) == INTEGER_CST
)
4872 TREE_NEGATED_INT (yyval
.ttype
) = 1;
4873 overflow_warning (yyval
.ttype
);
4877 #line 1127 "parse.y"
4878 { tree label
= lookup_label (yyvsp
[0].ttype
);
4880 pedwarn ("ANSI C++ forbids `&&'");
4881 if (label
== NULL_TREE
)
4882 yyval
.ttype
= null_pointer_node
;
4885 TREE_USED (label
) = 1;
4886 yyval
.ttype
= build1 (ADDR_EXPR
, ptr_type_node
, label
);
4887 TREE_CONSTANT (yyval
.ttype
) = 1;
4892 #line 1140 "parse.y"
4893 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4896 #line 1142 "parse.y"
4897 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4900 #line 1144 "parse.y"
4901 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4904 #line 1146 "parse.y"
4905 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4906 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4909 #line 1152 "parse.y"
4910 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4911 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4914 #line 1155 "parse.y"
4915 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4916 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4919 #line 1158 "parse.y"
4920 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4921 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4924 #line 1161 "parse.y"
4925 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4926 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4929 #line 1164 "parse.y"
4930 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4931 NULL_TREE
, yyvsp
[-3].itype
);
4932 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4935 #line 1168 "parse.y"
4936 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-4].itype
);
4937 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4940 #line 1171 "parse.y"
4941 { yyval
.ttype
= build_new (yyvsp
[-3].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-4].itype
);
4942 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4945 #line 1174 "parse.y"
4946 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4947 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4950 #line 1178 "parse.y"
4951 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4954 #line 1180 "parse.y"
4955 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4956 if (yychar
== YYEMPTY
)
4960 #line 1184 "parse.y"
4961 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4962 if (yychar
== YYEMPTY
)
4966 #line 1188 "parse.y"
4967 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4970 #line 1190 "parse.y"
4971 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4974 #line 1195 "parse.y"
4975 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4978 #line 1197 "parse.y"
4980 yyval
.ttype
= yyvsp
[-1].ttype
;
4981 pedwarn ("old style placement syntax, use () instead");
4985 #line 1205 "parse.y"
4986 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4989 #line 1207 "parse.y"
4990 { yyval
.ttype
= NULL_TREE
; ;
4993 #line 1209 "parse.y"
4995 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
4996 yyval
.ttype
= error_mark_node
;
5000 #line 1217 "parse.y"
5003 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5004 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
)
5005 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
5007 yyval
.ttype
= yyvsp
[0].ttype
;
5011 #line 1230 "parse.y"
5012 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
5013 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
5014 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5015 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5018 #line 1235 "parse.y"
5019 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
5020 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
5021 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5022 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5025 #line 1244 "parse.y"
5026 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5029 #line 1246 "parse.y"
5031 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5032 nreverse (yyvsp
[-2].ttype
));
5034 pedwarn ("ANSI C++ forbids constructor-expressions");
5035 /* Indicate that this was a GNU C constructor expression. */
5036 TREE_HAS_CONSTRUCTOR (init
) = 1;
5038 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5042 #line 1262 "parse.y"
5043 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5046 #line 1264 "parse.y"
5047 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5050 #line 1266 "parse.y"
5051 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5054 #line 1268 "parse.y"
5055 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5058 #line 1270 "parse.y"
5059 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5062 #line 1272 "parse.y"
5063 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5066 #line 1274 "parse.y"
5067 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5070 #line 1276 "parse.y"
5071 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5074 #line 1278 "parse.y"
5075 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5078 #line 1280 "parse.y"
5079 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5082 #line 1282 "parse.y"
5083 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5086 #line 1284 "parse.y"
5087 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5090 #line 1286 "parse.y"
5091 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5094 #line 1288 "parse.y"
5095 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5098 #line 1290 "parse.y"
5099 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5102 #line 1292 "parse.y"
5103 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5106 #line 1294 "parse.y"
5107 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5110 #line 1296 "parse.y"
5111 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5114 #line 1298 "parse.y"
5115 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5118 #line 1300 "parse.y"
5119 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5122 #line 1302 "parse.y"
5123 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5124 if (yyval
.ttype
!= error_mark_node
)
5125 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5128 #line 1306 "parse.y"
5129 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5132 #line 1308 "parse.y"
5133 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5136 #line 1310 "parse.y"
5137 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5140 #line 1328 "parse.y"
5141 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5144 #line 1337 "parse.y"
5145 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1); ;
5148 #line 1341 "parse.y"
5149 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5152 #line 1343 "parse.y"
5153 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5156 #line 1348 "parse.y"
5157 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5160 #line 1350 "parse.y"
5161 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5164 #line 1353 "parse.y"
5165 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5168 #line 1365 "parse.y"
5169 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5172 #line 1367 "parse.y"
5173 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5176 #line 1369 "parse.y"
5177 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5180 #line 1374 "parse.y"
5181 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5184 #line 1376 "parse.y"
5185 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5188 #line 1384 "parse.y"
5189 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5192 #line 1389 "parse.y"
5194 if (TREE_CODE (yyval
.ttype
) == BIT_NOT_EXPR
)
5195 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyval
.ttype
, 0));
5196 else if (TREE_CODE (yyval
.ttype
) != TEMPLATE_ID_EXPR
)
5197 yyval
.ttype
= do_identifier (yyval
.ttype
, 1);
5201 #line 1398 "parse.y"
5203 if (processing_template_decl
)
5204 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5205 yyval
.ttype
= combine_strings (yyval
.ttype
);
5206 if (processing_template_decl
)
5211 #line 1406 "parse.y"
5213 yyval
.ttype
= yyvsp
[-1].ttype
;
5214 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
5215 if (class == 'e' || class == '1'
5216 || class == '2' || class == '<')
5217 /* This inhibits warnings in truthvalue_conversion. */
5218 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, ERROR_MARK
); ;
5221 #line 1414 "parse.y"
5223 yyval
.ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5224 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
5225 if (class == 'e' || class == '1'
5226 || class == '2' || class == '<')
5227 /* This inhibits warnings in truthvalue_conversion. */
5228 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, ERROR_MARK
); ;
5231 #line 1422 "parse.y"
5232 { yyval
.ttype
= error_mark_node
; ;
5235 #line 1424 "parse.y"
5236 { if (current_function_decl
== 0)
5238 error ("braced-group within expression allowed only inside a function");
5242 if (!processing_template_decl
)
5243 yyval
.ttype
= expand_start_stmt_expr ();
5245 yyval
.ttype
= NULL_TREE
;
5249 #line 1436 "parse.y"
5252 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5253 if (!processing_template_decl
)
5255 rtl_exp
= expand_end_stmt_expr (yyvsp
[-2].ttype
);
5256 /* The statements have side effects, so the
5258 TREE_SIDE_EFFECTS (rtl_exp
) = 1;
5261 if (TREE_CODE (yyvsp
[-1].ttype
) == BLOCK
)
5263 /* Make a BIND_EXPR for the BLOCK already made. */
5264 if (processing_template_decl
)
5265 yyval
.ttype
= build (BIND_EXPR
, NULL_TREE
,
5266 NULL_TREE
, last_tree
, yyvsp
[-1].ttype
);
5268 yyval
.ttype
= build (BIND_EXPR
, TREE_TYPE (rtl_exp
),
5269 NULL_TREE
, rtl_exp
, yyvsp
[-1].ttype
);
5271 /* Remove the block from the tree at this point.
5272 It gets put back at the proper place
5273 when the BIND_EXPR is expanded. */
5274 delete_block (yyvsp
[-1].ttype
);
5277 yyval
.ttype
= yyvsp
[-1].ttype
;
5281 #line 1466 "parse.y"
5283 yyval
.ttype
= build_x_function_call (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, current_class_ref
);
5284 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5285 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5286 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5290 #line 1473 "parse.y"
5292 yyval
.ttype
= build_x_function_call (yyval
.ttype
, NULL_TREE
, current_class_ref
);
5293 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5294 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5295 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5299 #line 1480 "parse.y"
5300 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5303 #line 1482 "parse.y"
5304 { /* If we get an OFFSET_REF, turn it into what it really
5305 means (e.g., a COMPONENT_REF). This way if we've got,
5306 say, a reference to a static member that's being operated
5307 on, we don't end up trying to find a member operator for
5308 the class it's in. */
5309 if (TREE_CODE (yyval
.ttype
) == OFFSET_REF
)
5310 yyval
.ttype
= resolve_offset_ref (yyval
.ttype
);
5311 yyval
.ttype
= build_x_unary_op (POSTINCREMENT_EXPR
, yyval
.ttype
); ;
5314 #line 1491 "parse.y"
5315 { if (TREE_CODE (yyval
.ttype
) == OFFSET_REF
)
5316 yyval
.ttype
= resolve_offset_ref (yyval
.ttype
);
5317 yyval
.ttype
= build_x_unary_op (POSTDECREMENT_EXPR
, yyval
.ttype
); ;
5320 #line 1496 "parse.y"
5321 { if (current_class_ptr
)
5323 #ifdef WARNING_ABOUT_CCD
5324 TREE_USED (current_class_ptr
) = 1;
5326 yyval
.ttype
= current_class_ptr
;
5328 else if (current_function_decl
5329 && DECL_STATIC_FUNCTION_P (current_function_decl
))
5331 error ("`this' is unavailable for static member functions");
5332 yyval
.ttype
= error_mark_node
;
5336 if (current_function_decl
)
5337 error ("invalid use of `this' in non-member function");
5339 error ("invalid use of `this' at top level");
5340 yyval
.ttype
= error_mark_node
;
5345 #line 1519 "parse.y"
5347 tree type
= NULL_TREE
;
5348 tree id
= yyval
.ttype
;
5350 /* This is a C cast in C++'s `functional' notation. */
5351 if (yyvsp
[-1].ttype
== error_mark_node
)
5353 yyval
.ttype
= error_mark_node
;
5357 if (yyvsp
[-1].ttype
== NULL_TREE
)
5359 error ("cannot cast null list to type `%s'",
5360 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5361 yyval
.ttype
= error_mark_node
;
5366 /* type is not set! (mrs) */
5367 if (type
== error_mark_node
)
5368 yyval
.ttype
= error_mark_node
;
5372 if (id
== ridpointers
[(int) RID_CONST
])
5373 type
= build_type_variant (integer_type_node
, 1, 0);
5374 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5375 type
= build_type_variant (integer_type_node
, 0, 1);
5377 /* should not be able to get here (mrs) */
5378 else if (id
== ridpointers
[(int) RID_FRIEND
])
5380 error ("cannot cast expression to `friend' type");
5381 yyval
.ttype
= error_mark_node
;
5385 else my_friendly_abort (79);
5386 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5391 #line 1564 "parse.y"
5392 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5393 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5394 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5397 #line 1568 "parse.y"
5398 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5399 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5400 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5403 #line 1572 "parse.y"
5404 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5405 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5406 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5409 #line 1576 "parse.y"
5410 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5411 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5412 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5415 #line 1580 "parse.y"
5416 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5419 #line 1582 "parse.y"
5420 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5421 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5422 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5425 #line 1586 "parse.y"
5426 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5429 #line 1588 "parse.y"
5431 got_scope
= NULL_TREE
;
5432 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5433 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5435 yyval
.ttype
= yyvsp
[0].ttype
;
5439 #line 1596 "parse.y"
5440 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5443 #line 1598 "parse.y"
5444 { if (processing_template_decl
)
5445 yyval
.ttype
= build_min_nt (CALL_EXPR
, copy_to_permanent (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
, NULL_TREE
);
5447 yyval
.ttype
= build_member_call (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
), yyvsp
[-1].ttype
); ;
5450 #line 1603 "parse.y"
5451 { if (processing_template_decl
)
5452 yyval
.ttype
= build_min_nt (CALL_EXPR
, copy_to_permanent (yyvsp
[-1].ttype
),
5453 NULL_TREE
, NULL_TREE
);
5455 yyval
.ttype
= build_member_call (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
), NULL_TREE
); ;
5458 #line 1609 "parse.y"
5460 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5464 #line 1613 "parse.y"
5466 yyval
.ttype
= build_method_call (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
5467 NULL_TREE
, LOOKUP_NORMAL
);
5471 #line 1618 "parse.y"
5473 yyval
.ttype
= build_method_call (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, NULL_TREE
,
5474 NULL_TREE
, LOOKUP_NORMAL
);
5478 #line 1623 "parse.y"
5479 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5482 #line 1625 "parse.y"
5483 { if (processing_template_decl
)
5484 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5486 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5489 #line 1630 "parse.y"
5492 /* This is a future direction of this code, but because
5493 build_x_function_call cannot always undo what is done
5494 in build_component_ref entirely yet, we cannot do this. */
5495 yyval
.ttype
= build_x_function_call (build_component_ref (yyval
.ttype
, yyvsp
[-3].ttype
, NULL_TREE
, 1), yyvsp
[-1].ttype
, current_class_ref
);
5496 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5497 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5498 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5500 yyval
.ttype
= build_method_call (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
,
5506 #line 1645 "parse.y"
5509 /* This is a future direction of this code, but because
5510 build_x_function_call cannot always undo what is done
5511 in build_component_ref entirely yet, we cannot do this. */
5512 yyval
.ttype
= build_x_function_call (build_component_ref (yyval
.ttype
, yyvsp
[-1].ttype
, NULL_TREE
, 1), NULL_TREE
, current_class_ref
);
5513 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5514 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5515 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5517 yyval
.ttype
= build_method_call (yyval
.ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
,
5523 #line 1660 "parse.y"
5525 if (IS_SIGNATURE (OP0 (yyvsp
[-3].ttype
)))
5527 warning ("signature name in scope resolution ignored");
5528 yyval
.ttype
= build_method_call (yyval
.ttype
, OP1 (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
, NULL_TREE
,
5532 yyval
.ttype
= build_scoped_method_call (yyval
.ttype
, OP0 (yyvsp
[-3].ttype
), OP1 (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
);
5536 #line 1671 "parse.y"
5538 if (IS_SIGNATURE (OP0 (yyvsp
[-1].ttype
)))
5540 warning ("signature name in scope resolution ignored");
5541 yyval
.ttype
= build_method_call (yyval
.ttype
, OP1 (yyvsp
[-1].ttype
), NULL_TREE
, NULL_TREE
,
5545 yyval
.ttype
= build_scoped_method_call (yyval
.ttype
, OP0 (yyvsp
[-1].ttype
), OP1 (yyvsp
[-1].ttype
), NULL_TREE
);
5549 #line 1683 "parse.y"
5551 if (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-1].ttype
)
5552 && (TREE_CODE (TREE_TYPE (yyvsp
[-3].ttype
))
5553 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-1].ttype
)))))
5554 cp_error ("`%E' is not of type `%T'", yyvsp
[-3].ttype
, yyvsp
[-1].ttype
);
5555 yyval
.ttype
= cp_convert (void_type_node
, yyvsp
[-3].ttype
);
5559 #line 1691 "parse.y"
5561 if (yyvsp
[-4].ttype
!= yyvsp
[-1].ttype
)
5562 cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
5563 if (TREE_CODE (TREE_TYPE (yyvsp
[-5].ttype
))
5564 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-4].ttype
))))
5565 cp_error ("`%E' is not of type `%T'", yyvsp
[-5].ttype
, yyvsp
[-4].ttype
);
5566 yyval
.ttype
= cp_convert (void_type_node
, yyvsp
[-5].ttype
);
5570 #line 1700 "parse.y"
5572 yyval
.ttype
= error_mark_node
;
5576 #line 1745 "parse.y"
5577 { yyval
.itype
= 0; ;
5580 #line 1747 "parse.y"
5581 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5584 #line 1752 "parse.y"
5585 { yyval
.itype
= 0; ;
5588 #line 1754 "parse.y"
5589 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5592 #line 1759 "parse.y"
5593 { yyval
.ttype
= boolean_true_node
; ;
5596 #line 1761 "parse.y"
5597 { yyval
.ttype
= boolean_false_node
; ;
5600 #line 1768 "parse.y"
5601 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5604 #line 1773 "parse.y"
5606 if (! current_function_parms_stored
)
5607 store_parm_decls ();
5609 /* Always keep the BLOCK node associated with the outermost
5610 pair of curley braces of a function. These are needed
5611 for correct operation of dwarfout.c. */
5616 #line 1786 "parse.y"
5617 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5620 #line 1788 "parse.y"
5622 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5623 got_object
= TREE_TYPE (yyval
.ttype
);
5627 #line 1796 "parse.y"
5629 resume_momentary (yyvsp
[-1].itype
);
5630 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5631 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5635 #line 1802 "parse.y"
5637 resume_momentary (yyvsp
[-1].itype
);
5638 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5642 #line 1807 "parse.y"
5643 { resume_momentary (yyvsp
[-1].itype
); ;
5646 #line 1809 "parse.y"
5648 shadow_tag (yyvsp
[-1].ftype
.t
);
5649 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5653 #line 1814 "parse.y"
5654 { warning ("empty declaration"); ;
5657 #line 1816 "parse.y"
5658 { pedantic
= yyvsp
[-1].itype
; ;
5661 #line 1830 "parse.y"
5662 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5663 NULL_TREE
, NULL_TREE
); ;
5666 #line 1833 "parse.y"
5667 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5671 #line 1840 "parse.y"
5672 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5673 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5676 #line 1843 "parse.y"
5677 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5678 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5681 #line 1846 "parse.y"
5682 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5683 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5686 #line 1849 "parse.y"
5687 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5688 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5691 #line 1852 "parse.y"
5692 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5693 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5696 #line 1868 "parse.y"
5697 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5698 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5701 #line 1871 "parse.y"
5702 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5703 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5706 #line 1874 "parse.y"
5707 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5708 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5711 #line 1877 "parse.y"
5712 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5713 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5716 #line 1880 "parse.y"
5717 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5718 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5721 #line 1883 "parse.y"
5722 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5723 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5724 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5727 #line 1890 "parse.y"
5728 { if (extra_warnings
)
5729 warning ("`%s' is not at beginning of declaration",
5730 IDENTIFIER_POINTER (yyval
.ttype
));
5731 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5734 #line 1895 "parse.y"
5735 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5738 #line 1897 "parse.y"
5739 { if (extra_warnings
)
5740 warning ("`%s' is not at beginning of declaration",
5741 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5742 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5745 #line 1902 "parse.y"
5746 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5749 #line 1904 "parse.y"
5750 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5753 #line 1914 "parse.y"
5754 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5757 #line 1916 "parse.y"
5758 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5761 #line 1918 "parse.y"
5762 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5763 TREE_STATIC (yyval
.ttype
) = 1; ;
5766 #line 1921 "parse.y"
5767 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5768 warning ("`%s' is not at beginning of declaration",
5769 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5770 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5771 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5774 #line 1927 "parse.y"
5775 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5778 #line 1929 "parse.y"
5779 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5782 #line 1940 "parse.y"
5783 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5784 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5787 #line 1943 "parse.y"
5788 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5789 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5792 #line 1946 "parse.y"
5793 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5794 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5797 #line 1949 "parse.y"
5798 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5799 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5802 #line 1955 "parse.y"
5803 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5806 #line 1957 "parse.y"
5807 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5810 #line 1967 "parse.y"
5811 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5814 #line 1969 "parse.y"
5815 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5818 #line 1971 "parse.y"
5819 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5820 yyval
.ftype
.new_type_flag
= 0; ;
5823 #line 1974 "parse.y"
5824 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5825 yyval
.ftype
.new_type_flag
= 0; ;
5828 #line 1977 "parse.y"
5829 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5831 yyval
.ftype
.new_type_flag
= 0;
5832 if (IS_AGGR_TYPE (type
))
5834 sorry ("sigof type specifier");
5835 yyval
.ftype
.t
= type
;
5839 error ("`sigof' applied to non-aggregate expression");
5840 yyval
.ftype
.t
= error_mark_node
;
5845 #line 1992 "parse.y"
5846 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5848 yyval
.ftype
.new_type_flag
= 0;
5849 if (IS_AGGR_TYPE (type
))
5851 sorry ("sigof type specifier");
5852 yyval
.ftype
.t
= type
;
5856 error("`sigof' applied to non-aggregate type");
5857 yyval
.ftype
.t
= error_mark_node
;
5862 #line 2012 "parse.y"
5863 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5866 #line 2014 "parse.y"
5867 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5870 #line 2035 "parse.y"
5871 { yyval
.ttype
= NULL_TREE
; ;
5874 #line 2037 "parse.y"
5875 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5878 #line 2042 "parse.y"
5879 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5880 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5883 #line 2046 "parse.y"
5884 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5887 #line 2048 "parse.y"
5888 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5889 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
);
5890 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5893 #line 2060 "parse.y"
5894 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
5895 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
5898 #line 2065 "parse.y"
5899 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5900 yyval
.itype
= yyvsp
[-2].itype
; ;
5903 #line 2068 "parse.y"
5905 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
5906 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5909 #line 2075 "parse.y"
5910 { yyval
.itype
= yyvsp
[0].itype
; ;
5913 #line 2079 "parse.y"
5914 { yyval
.itype
= yyvsp
[0].itype
; ;
5917 #line 2084 "parse.y"
5918 { /* Set things up as initdcl0_innards expects. */
5919 yyval
.ttype
= yyvsp
[0].ttype
;
5920 yyvsp
[0].ttype
= NULL_TREE
; ;
5923 #line 2088 "parse.y"
5927 #line 2090 "parse.y"
5929 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
); ;
5932 #line 2098 "parse.y"
5933 { yyval
.ttype
= NULL_TREE
; ;
5936 #line 2100 "parse.y"
5937 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5940 #line 2105 "parse.y"
5941 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5944 #line 2107 "parse.y"
5945 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5948 #line 2112 "parse.y"
5949 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5952 #line 2117 "parse.y"
5953 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5956 #line 2119 "parse.y"
5957 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5960 #line 2124 "parse.y"
5961 { yyval
.ttype
= NULL_TREE
; ;
5964 #line 2126 "parse.y"
5965 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5968 #line 2128 "parse.y"
5969 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5972 #line 2130 "parse.y"
5973 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5976 #line 2132 "parse.y"
5977 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5980 #line 2148 "parse.y"
5981 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5984 #line 2150 "parse.y"
5985 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5988 #line 2155 "parse.y"
5989 { yyval
.ttype
= NULL_TREE
; ;
5992 #line 2157 "parse.y"
5993 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5996 #line 2165 "parse.y"
5997 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5998 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6001 #line 2168 "parse.y"
6002 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
6003 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6006 #line 2171 "parse.y"
6007 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
6008 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6011 #line 2174 "parse.y"
6012 { yyval
.ttype
= NULL_TREE
; ;
6015 #line 2181 "parse.y"
6016 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
6019 #line 2183 "parse.y"
6020 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6023 #line 2186 "parse.y"
6024 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6027 #line 2188 "parse.y"
6028 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
6031 #line 2190 "parse.y"
6032 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6035 #line 2195 "parse.y"
6036 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
6038 reinit_parse_for_function (); ;
6041 #line 2201 "parse.y"
6043 int nested
= (hack_decl_function_context
6044 (current_function_decl
) != NULL_TREE
);
6045 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
6046 process_next_inline (yyvsp
[-3].ttype
);
6050 #line 2208 "parse.y"
6051 { process_next_inline (yyvsp
[-2].ttype
); ;
6054 #line 2210 "parse.y"
6055 { process_next_inline (yyvsp
[-2].ttype
); ;
6058 #line 2222 "parse.y"
6059 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6062 #line 2224 "parse.y"
6063 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6066 #line 2229 "parse.y"
6067 { do_pending_defargs (); ;
6070 #line 2231 "parse.y"
6071 { do_pending_defargs (); ;
6074 #line 2236 "parse.y"
6075 { yyvsp
[0].itype
= suspend_momentary ();
6076 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
6079 #line 2239 "parse.y"
6080 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
6081 yyval
.ftype
.new_type_flag
= 1;
6082 resume_momentary ((int) yyvsp
[-4].itype
);
6083 check_for_missing_semicolon (yyvsp
[-3].ttype
); ;
6086 #line 2244 "parse.y"
6087 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
), NULL_TREE
);
6088 yyval
.ftype
.new_type_flag
= 1;
6089 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6092 #line 2248 "parse.y"
6093 { yyvsp
[0].itype
= suspend_momentary ();
6094 yyval
.ttype
= start_enum (make_anon_name ()); ;
6097 #line 2251 "parse.y"
6098 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
6099 resume_momentary ((int) yyvsp
[-5].itype
);
6100 check_for_missing_semicolon (yyvsp
[-3].ttype
);
6101 yyval
.ftype
.new_type_flag
= 1; ;
6104 #line 2256 "parse.y"
6105 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()), NULL_TREE
);
6106 yyval
.ftype
.new_type_flag
= 1;
6107 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6110 #line 2260 "parse.y"
6111 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6112 yyval
.ftype
.new_type_flag
= 0; ;
6115 #line 2263 "parse.y"
6116 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6117 yyval
.ftype
.new_type_flag
= 0; ;
6120 #line 2266 "parse.y"
6121 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6122 yyval
.ftype
.new_type_flag
= 0; ;
6125 #line 2271 "parse.y"
6129 yyval
.ttype
= yyvsp
[-4].ttype
;
6131 /* Need to rework class nesting in the
6132 presence of nested classes, etc. */
6133 shadow_tag (CLASSTYPE_AS_LIST (yyvsp
[-4].ttype
)); */
6135 if (yychar
== YYEMPTY
)
6137 semi
= yychar
== ';';
6138 /* finish_struct nukes this anyway; if
6139 finish_exception does too, then it can go. */
6141 note_got_semicolon (yyvsp
[-4].ttype
);
6143 if (TREE_CODE (yyvsp
[-4].ttype
) == ENUMERAL_TYPE
)
6147 yyval
.ttype
= finish_struct (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
6148 if (semi
) note_got_semicolon (yyval
.ttype
);
6154 check_for_missing_semicolon (yyvsp
[-4].ttype
);
6155 if (current_scope () == current_function_decl
)
6156 do_pending_defargs ();
6160 #line 2304 "parse.y"
6163 && current_scope () == current_function_decl
)
6164 do_pending_inlines ();
6168 #line 2310 "parse.y"
6170 yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6171 yyval
.ftype
.new_type_flag
= 1;
6172 if (current_class_type
== NULL_TREE
)
6173 clear_inline_text_obstack ();
6175 /* Undo the begin_tree in left_curly. */
6180 #line 2320 "parse.y"
6182 yyval
.ftype
.new_type_flag
= 0;
6183 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
6185 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
6186 yyval
.ftype
.t
= error_mark_node
;
6190 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6191 /* struct B: public A; is not accepted by the WP grammar. */
6192 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6193 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6194 cp_error ("base clause without member specification for `%#T'",
6200 #line 2347 "parse.y"
6201 { if (pedantic
&& !in_system_header
)
6202 pedwarn ("comma at end of enumerator list"); ;
6205 #line 2354 "parse.y"
6206 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6209 #line 2356 "parse.y"
6210 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6213 #line 2358 "parse.y"
6214 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6217 #line 2360 "parse.y"
6218 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6221 #line 2365 "parse.y"
6222 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6225 #line 2370 "parse.y"
6226 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6229 #line 2375 "parse.y"
6231 current_aggr
= yyvsp
[-2].ttype
;
6232 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6236 #line 2380 "parse.y"
6238 current_aggr
= yyvsp
[-3].ttype
;
6239 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6243 #line 2385 "parse.y"
6245 current_aggr
= yyvsp
[-2].ttype
;
6246 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6250 #line 2390 "parse.y"
6251 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6254 #line 2392 "parse.y"
6255 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6258 #line 2397 "parse.y"
6259 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 0); ;
6262 #line 2402 "parse.y"
6263 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
6266 #line 2405 "parse.y"
6268 yyval
.ttype
= yyvsp
[-1].ttype
;
6270 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6274 #line 2411 "parse.y"
6276 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6277 if (TREE_INT_CST_LOW (current_aggr
) == union_type
6278 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
6279 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
6280 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
6281 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
6282 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
6285 if (IS_AGGR_TYPE (yyval
.ttype
) && CLASSTYPE_USE_TEMPLATE (yyval
.ttype
))
6287 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval
.ttype
)
6288 && TYPE_SIZE (yyval
.ttype
) == NULL_TREE
)
6290 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval
.ttype
);
6291 if (processing_template_decl
)
6292 push_template_decl (TYPE_MAIN_DECL (yyval
.ttype
));
6294 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval
.ttype
))
6295 cp_error ("specialization after instantiation of `%T'", yyval
.ttype
);
6297 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6302 #line 2440 "parse.y"
6303 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), NULL_TREE
, 0);
6304 yyungetc ('{', 1); ;
6307 #line 2451 "parse.y"
6308 { yyval
.ttype
= NULL_TREE
; ;
6311 #line 2453 "parse.y"
6312 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6315 #line 2455 "parse.y"
6316 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6319 #line 2461 "parse.y"
6320 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6323 #line 2466 "parse.y"
6325 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6326 if (! is_aggr_type (type
, 1))
6327 yyval
.ttype
= NULL_TREE
;
6328 else if (current_aggr
== signature_type_node
6329 && (! type
) && (! IS_SIGNATURE (type
)))
6331 error ("class name not allowed as base signature");
6332 yyval
.ttype
= NULL_TREE
;
6334 else if (current_aggr
== signature_type_node
)
6336 sorry ("signature inheritance, base type `%s' ignored",
6337 IDENTIFIER_POINTER (yyval
.ttype
));
6338 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6340 else if (type
&& IS_SIGNATURE (type
))
6342 error ("signature name not allowed as base class");
6343 yyval
.ttype
= NULL_TREE
;
6346 yyval
.ttype
= build_tree_list (access_default_node
, type
);
6350 #line 2491 "parse.y"
6352 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6353 if (current_aggr
== signature_type_node
)
6354 error ("access and source specifiers not allowed in signature");
6355 if (! IS_AGGR_TYPE (type
))
6356 yyval
.ttype
= NULL_TREE
;
6357 else if (current_aggr
== signature_type_node
6358 && (! type
) && (! IS_SIGNATURE (type
)))
6360 error ("class name not allowed as base signature");
6361 yyval
.ttype
= NULL_TREE
;
6363 else if (current_aggr
== signature_type_node
)
6365 sorry ("signature inheritance, base type `%s' ignored",
6366 IDENTIFIER_POINTER (yyval
.ttype
));
6367 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6369 else if (type
&& IS_SIGNATURE (type
))
6371 error ("signature name not allowed as base class");
6372 yyval
.ttype
= NULL_TREE
;
6375 yyval
.ttype
= build_tree_list (yyval
.ttype
, type
);
6379 #line 2521 "parse.y"
6380 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6383 #line 2524 "parse.y"
6385 if (current_aggr
== signature_type_node
)
6387 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6389 sorry ("`sigof' as base signature specifier");
6390 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6394 error ("`sigof' applied to non-aggregate expression");
6395 yyval
.ttype
= error_mark_node
;
6400 error ("`sigof' in struct or class declaration");
6401 yyval
.ttype
= error_mark_node
;
6406 #line 2545 "parse.y"
6408 if (current_aggr
== signature_type_node
)
6410 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6412 sorry ("`sigof' as base signature specifier");
6413 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6417 error ("`sigof' applied to non-aggregate expression");
6418 yyval
.ttype
= error_mark_node
;
6423 error ("`sigof' in struct or class declaration");
6424 yyval
.ttype
= error_mark_node
;
6429 #line 2570 "parse.y"
6430 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6431 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6432 yyval
.ttype
= access_default_virtual_node
; ;
6435 #line 2574 "parse.y"
6437 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6438 error ("multiple access specifiers");
6439 else if (yyvsp
[-1].ttype
== access_public_node
)
6440 yyval
.ttype
= access_public_virtual_node
;
6441 else if (yyvsp
[-1].ttype
== access_protected_node
)
6442 yyval
.ttype
= access_protected_virtual_node
;
6443 else /* $2 == access_private_node */
6444 yyval
.ttype
= access_private_virtual_node
;
6448 #line 2585 "parse.y"
6449 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6450 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6451 else if (yyval
.ttype
== access_public_node
)
6452 yyval
.ttype
= access_public_virtual_node
;
6453 else if (yyval
.ttype
== access_protected_node
)
6454 yyval
.ttype
= access_protected_virtual_node
;
6455 else if (yyval
.ttype
== access_private_node
)
6456 yyval
.ttype
= access_private_virtual_node
;
6458 error ("multiple `virtual' specifiers");
6462 #line 2600 "parse.y"
6463 { tree t
= yyvsp
[-1].ttype
;
6464 push_obstacks_nochange ();
6465 end_temporary_allocation ();
6467 if (t
== error_mark_node
6468 || ! IS_AGGR_TYPE (t
))
6470 t
= yyvsp
[-1].ttype
= make_lang_type (RECORD_TYPE
);
6471 pushtag (make_anon_name (), t
, 0);
6474 duplicate_tag_error (t
);
6475 if (TYPE_SIZE (t
) || TYPE_BEING_DEFINED (t
))
6477 t
= make_lang_type (TREE_CODE (t
));
6478 pushtag (TYPE_IDENTIFIER (yyvsp
[-1].ttype
), t
, 0);
6479 yyvsp
[-1].ttype
= t
;
6481 if (processing_template_decl
&& TYPE_CONTEXT (t
)
6482 && ! current_class_type
)
6483 push_template_decl (TYPE_STUB_DECL (t
));
6485 TYPE_BEING_DEFINED (t
) = 1;
6486 if (IS_AGGR_TYPE (t
) && CLASSTYPE_USE_TEMPLATE (t
))
6488 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t
)
6489 && TYPE_SIZE (t
) == NULL_TREE
)
6491 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t
);
6492 if (processing_template_decl
)
6493 push_template_decl (TYPE_MAIN_DECL (t
));
6495 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t
))
6496 cp_error ("specialization after instantiation of `%T'", t
);
6498 /* Reset the interface data, at the earliest possible
6499 moment, as it might have been set via a class foo;
6501 /* Don't change signatures. */
6502 if (! IS_SIGNATURE (t
))
6504 extern tree pending_vtables
;
6506 tree name
= TYPE_IDENTIFIER (t
);
6508 if (! ANON_AGGRNAME_P (name
))
6510 CLASSTYPE_INTERFACE_ONLY (t
) = interface_only
;
6511 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6512 (t
, interface_unknown
);
6515 /* Record how to set the access of this class's
6516 virtual functions. If write_virtuals == 2 or 3, then
6517 inline virtuals are ``extern inline''. */
6518 switch (write_virtuals
)
6525 needs_writing
= !! value_member (name
, pending_vtables
);
6528 needs_writing
= ! CLASSTYPE_INTERFACE_ONLY (t
)
6529 && CLASSTYPE_INTERFACE_KNOWN (t
);
6534 CLASSTYPE_VTABLE_NEEDS_WRITING (t
) = needs_writing
;
6537 t
= TYPE_IDENTIFIER (yyvsp
[-1].ttype
);
6538 if (t
&& IDENTIFIER_TEMPLATE (t
))
6539 overload_template_name (t
, 1);
6541 reset_specialization();
6543 /* In case this is a local class within a template
6544 function, we save the current tree structure so
6545 that we can get it back later. */
6550 #line 2689 "parse.y"
6552 yyval
.ttype
= build_self_reference ();
6556 #line 2696 "parse.y"
6557 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6560 #line 2698 "parse.y"
6562 if (current_aggr
== signature_type_node
)
6563 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6565 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6566 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6570 #line 2706 "parse.y"
6572 tree visspec
= yyvsp
[-2].ttype
;
6574 if (current_aggr
== signature_type_node
)
6576 error ("access specifier not allowed in signature");
6577 visspec
= access_public_node
;
6579 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6583 #line 2717 "parse.y"
6585 if (current_aggr
== signature_type_node
)
6586 error ("access specifier not allowed in signature");
6590 #line 2727 "parse.y"
6591 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6595 #line 2730 "parse.y"
6596 { /* In pushdecl, we created a reverse list of names
6597 in this binding level. Make sure that the chain
6598 of what we're trying to add isn't the item itself
6599 (which can happen with what pushdecl's doing). */
6600 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6602 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6603 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6605 yyval
.ttype
= yyvsp
[0].ttype
;
6610 #line 2746 "parse.y"
6614 #line 2748 "parse.y"
6615 { error ("missing ';' before right brace");
6616 yyungetc ('}', 0); ;
6619 #line 2753 "parse.y"
6620 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6623 #line 2755 "parse.y"
6624 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6627 #line 2757 "parse.y"
6628 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6631 #line 2759 "parse.y"
6632 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6635 #line 2761 "parse.y"
6636 { yyval
.ttype
= NULL_TREE
; ;
6639 #line 2763 "parse.y"
6640 { yyval
.ttype
= yyvsp
[0].ttype
;
6641 pedantic
= yyvsp
[-1].itype
; ;
6644 #line 2766 "parse.y"
6645 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6648 #line 2768 "parse.y"
6650 shadow_tag (yyvsp
[-1].ftype
.t
);
6651 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
6652 yyval
.ttype
= finish_member_template_decl (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
);
6656 #line 2780 "parse.y"
6657 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6660 #line 2782 "parse.y"
6661 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6664 #line 2784 "parse.y"
6665 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6666 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6669 #line 2787 "parse.y"
6670 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6671 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6674 #line 2790 "parse.y"
6675 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6678 #line 2792 "parse.y"
6679 { yyval
.ttype
= NULL_TREE
; ;
6682 #line 2803 "parse.y"
6683 { tree specs
, attrs
;
6684 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6685 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6686 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6689 #line 2808 "parse.y"
6690 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6691 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6694 #line 2811 "parse.y"
6695 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6698 #line 2817 "parse.y"
6699 { yyval
.ttype
= NULL_TREE
; ;
6702 #line 2820 "parse.y"
6704 /* In this context, void_type_node encodes
6705 friends. They have been recorded elsewhere. */
6706 if (yyval
.ttype
== void_type_node
)
6707 yyval
.ttype
= yyvsp
[0].ttype
;
6709 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6713 #line 2832 "parse.y"
6714 { yyval
.ttype
= NULL_TREE
; ;
6717 #line 2835 "parse.y"
6719 /* In this context, void_type_node encodes
6720 friends. They have been recorded elsewhere. */
6721 if (yyval
.ttype
== void_type_node
)
6722 yyval
.ttype
= yyvsp
[0].ttype
;
6724 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6728 #line 2857 "parse.y"
6729 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6730 &prefix_attributes
);
6731 yyvsp
[-4].ttype
= current_declspecs
;
6732 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6733 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6736 #line 2863 "parse.y"
6737 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6738 &prefix_attributes
);
6739 yyvsp
[-4].ttype
= current_declspecs
;
6740 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6741 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6744 #line 2872 "parse.y"
6745 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6746 &prefix_attributes
);
6747 yyvsp
[-4].ttype
= current_declspecs
;
6748 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6749 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6752 #line 2878 "parse.y"
6753 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6754 &prefix_attributes
);
6755 yyvsp
[-4].ttype
= current_declspecs
;
6756 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6757 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6760 #line 2884 "parse.y"
6761 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6762 &prefix_attributes
);
6763 yyvsp
[-4].ttype
= current_declspecs
;
6764 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6765 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6768 #line 2890 "parse.y"
6769 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6770 &prefix_attributes
);
6771 yyvsp
[-3].ttype
= current_declspecs
;
6772 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6773 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6776 #line 2899 "parse.y"
6777 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6778 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6781 #line 2902 "parse.y"
6782 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6783 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6786 #line 2908 "parse.y"
6787 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6788 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6791 #line 2911 "parse.y"
6792 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6793 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6796 #line 2914 "parse.y"
6797 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6798 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6801 #line 2925 "parse.y"
6802 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6805 #line 2930 "parse.y"
6806 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
); ;
6809 #line 2932 "parse.y"
6810 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
); ;
6813 #line 2938 "parse.y"
6814 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6815 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6818 #line 2941 "parse.y"
6819 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6820 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6823 #line 2946 "parse.y"
6826 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6827 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6828 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6829 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6833 #line 2957 "parse.y"
6834 { yyval
.ttype
= NULL_TREE
; ;
6837 #line 2959 "parse.y"
6838 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6841 #line 2964 "parse.y"
6842 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6843 yyval
.ftype
.new_type_flag
= 0; ;
6846 #line 2967 "parse.y"
6847 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6848 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6851 #line 2976 "parse.y"
6852 { yyval
.itype
= suspend_momentary (); ;
6855 #line 2981 "parse.y"
6856 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6859 #line 2987 "parse.y"
6860 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6863 #line 2989 "parse.y"
6864 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6867 #line 2991 "parse.y"
6868 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6871 #line 2993 "parse.y"
6872 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6875 #line 3000 "parse.y"
6876 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6879 #line 3002 "parse.y"
6880 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6883 #line 3004 "parse.y"
6884 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6887 #line 3006 "parse.y"
6888 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6891 #line 3008 "parse.y"
6892 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6893 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6897 #line 3016 "parse.y"
6899 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6901 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6902 if (current_class_type
6903 && TYPE_BEING_DEFINED (current_class_type
)
6904 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6906 /* Remember that this name has been used in the class
6907 definition, as per [class.scope0] */
6908 pushdecl_class_level (yyval
.ttype
);
6912 yyval
.ttype
= yyvsp
[0].ttype
;
6916 #line 3033 "parse.y"
6918 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6919 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6921 yyval
.ttype
= yyvsp
[0].ttype
;
6922 got_scope
= NULL_TREE
;
6926 #line 3046 "parse.y"
6927 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6930 #line 3051 "parse.y"
6931 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6934 #line 3056 "parse.y"
6935 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6938 #line 3058 "parse.y"
6939 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6942 #line 3060 "parse.y"
6943 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6946 #line 3062 "parse.y"
6947 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6950 #line 3064 "parse.y"
6951 { push_nested_class (yyvsp
[-1].ttype
, 3);
6952 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6953 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6956 #line 3075 "parse.y"
6957 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6960 #line 3077 "parse.y"
6961 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6964 #line 3079 "parse.y"
6965 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6968 #line 3081 "parse.y"
6969 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6972 #line 3083 "parse.y"
6973 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6974 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6978 #line 3091 "parse.y"
6979 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6982 #line 3093 "parse.y"
6983 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6986 #line 3095 "parse.y"
6987 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6990 #line 3097 "parse.y"
6991 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6994 #line 3099 "parse.y"
6995 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6996 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7000 #line 3107 "parse.y"
7001 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7004 #line 3109 "parse.y"
7005 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7008 #line 3111 "parse.y"
7009 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7012 #line 3113 "parse.y"
7013 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7016 #line 3115 "parse.y"
7017 { if (OP0 (yyval
.ttype
) != current_class_type
)
7019 push_nested_class (OP0 (yyval
.ttype
), 3);
7020 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
7025 #line 3122 "parse.y"
7026 { got_scope
= NULL_TREE
;
7027 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7028 if (yyvsp
[-1].ttype
!= current_class_type
)
7030 push_nested_class (yyvsp
[-1].ttype
, 3);
7031 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
7036 #line 3134 "parse.y"
7037 { got_scope
= NULL_TREE
;
7038 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7041 #line 3137 "parse.y"
7042 { got_scope
= NULL_TREE
;
7043 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7046 #line 3143 "parse.y"
7047 { got_scope
= NULL_TREE
;
7048 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7051 #line 3146 "parse.y"
7052 { got_scope
= NULL_TREE
;
7053 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7056 #line 3153 "parse.y"
7057 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7060 #line 3158 "parse.y"
7061 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7064 #line 3160 "parse.y"
7065 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7068 #line 3162 "parse.y"
7069 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7072 #line 3174 "parse.y"
7073 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7076 #line 3176 "parse.y"
7077 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7080 #line 3183 "parse.y"
7082 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7084 yyval
.ttype
= lastiddecl
;
7085 /* Remember that this name has been used in the class
7086 definition, as per [class.scope0] */
7087 if (current_class_type
7088 && TYPE_BEING_DEFINED (current_class_type
)
7089 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
7090 pushdecl_class_level (yyval
.ttype
);
7092 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7096 #line 3197 "parse.y"
7098 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7099 yyval
.ttype
= lastiddecl
;
7100 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7104 #line 3203 "parse.y"
7106 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7107 yyval
.ttype
= lastiddecl
;
7108 got_scope
= yyval
.ttype
;
7112 #line 3209 "parse.y"
7113 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
7116 #line 3225 "parse.y"
7117 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7120 #line 3230 "parse.y"
7122 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7123 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7124 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7125 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7128 yyval
.ttype
= yyvsp
[0].ttype
;
7129 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7130 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7135 #line 3243 "parse.y"
7136 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
7139 #line 3245 "parse.y"
7140 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7143 #line 3247 "parse.y"
7144 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
7147 #line 3252 "parse.y"
7149 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7150 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7154 #line 3257 "parse.y"
7156 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7157 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7158 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7159 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7162 yyval
.ttype
= yyvsp
[0].ttype
;
7163 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7164 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7169 #line 3270 "parse.y"
7170 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
7173 #line 3272 "parse.y"
7174 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7177 #line 3277 "parse.y"
7179 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7180 yyvsp
[-1].ttype
= lastiddecl
;
7182 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
));
7184 if (yyval
.ttype
== error_mark_node
)
7185 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
7189 #line 3287 "parse.y"
7191 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7192 yyval
.ttype
= lastiddecl
;
7193 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7197 #line 3293 "parse.y"
7198 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7201 #line 3297 "parse.y"
7203 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7204 yyval
.ttype
= lastiddecl
;
7205 got_scope
= yyval
.ttype
;
7209 #line 3306 "parse.y"
7210 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7213 #line 3311 "parse.y"
7215 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7216 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7218 yyval
.ttype
= yyvsp
[0].ttype
;
7219 got_scope
= NULL_TREE
;
7223 #line 3320 "parse.y"
7224 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7227 #line 3325 "parse.y"
7228 { got_scope
= NULL_TREE
; ;
7231 #line 3327 "parse.y"
7232 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7235 #line 3334 "parse.y"
7236 { got_scope
= void_type_node
; ;
7239 #line 3340 "parse.y"
7240 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7243 #line 3342 "parse.y"
7244 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7247 #line 3344 "parse.y"
7248 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7251 #line 3346 "parse.y"
7252 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7255 #line 3348 "parse.y"
7256 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7257 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7261 #line 3352 "parse.y"
7262 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7263 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7267 #line 3361 "parse.y"
7268 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7271 #line 3363 "parse.y"
7272 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7275 #line 3369 "parse.y"
7276 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7279 #line 3371 "parse.y"
7280 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7283 #line 3373 "parse.y"
7284 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7287 #line 3375 "parse.y"
7288 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7291 #line 3377 "parse.y"
7292 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7295 #line 3379 "parse.y"
7296 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7299 #line 3381 "parse.y"
7300 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7303 #line 3383 "parse.y"
7304 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7307 #line 3385 "parse.y"
7308 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7309 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7313 #line 3389 "parse.y"
7314 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7315 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7319 #line 3398 "parse.y"
7320 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7323 #line 3402 "parse.y"
7324 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7327 #line 3404 "parse.y"
7328 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7331 #line 3406 "parse.y"
7332 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7335 #line 3408 "parse.y"
7336 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7339 #line 3410 "parse.y"
7340 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7343 #line 3412 "parse.y"
7344 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7347 #line 3414 "parse.y"
7348 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7351 #line 3416 "parse.y"
7352 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7355 #line 3418 "parse.y"
7356 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7359 #line 3442 "parse.y"
7360 { do_pushlevel (); ;
7363 #line 3447 "parse.y"
7364 { yyval
.ttype
= do_poplevel (); ;
7367 #line 3455 "parse.y"
7369 pedwarn ("ANSI C++ forbids label declarations"); ;
7372 #line 3466 "parse.y"
7374 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7376 tree label
= shadow_label (TREE_VALUE (link
));
7377 C_DECLARED_LABEL_FLAG (label
) = 1;
7378 declare_nonlocal_label (label
);
7383 #line 3480 "parse.y"
7387 #line 3486 "parse.y"
7389 if (processing_template_decl
)
7391 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
7392 add_tree (yyval
.ttype
);
7397 #line 3494 "parse.y"
7399 if (processing_template_decl
)
7401 TREE_OPERAND (yyvsp
[-3].ttype
, 0) = TREE_CHAIN (yyvsp
[-3].ttype
);
7402 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7403 last_tree
= yyvsp
[-3].ttype
;
7405 yyval
.ttype
= yyvsp
[0].ttype
;
7409 #line 3507 "parse.y"
7411 if (processing_template_decl
)
7413 yyval
.ttype
= build_min_nt (IF_STMT
, NULL_TREE
, NULL_TREE
,
7415 add_tree (yyval
.ttype
);
7417 cond_stmt_keyword
= "if";
7421 #line 3517 "parse.y"
7423 if (processing_template_decl
)
7425 if (last_tree
!= yyvsp
[-2].ttype
)
7427 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = last_tree
;
7428 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7429 last_tree
= yyvsp
[-2].ttype
;
7432 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = yyvsp
[0].ttype
;
7436 emit_line_note (input_filename
, lineno
);
7437 expand_start_cond (yyvsp
[0].ttype
, 0);
7442 #line 3536 "parse.y"
7444 if (processing_template_decl
)
7446 TREE_OPERAND (yyvsp
[-4].ttype
, 1) = TREE_CHAIN (yyvsp
[-4].ttype
);
7447 TREE_CHAIN (yyvsp
[-4].ttype
) = NULL_TREE
;
7448 yyval
.ttype
= last_tree
= yyvsp
[-4].ttype
;
7453 #line 3548 "parse.y"
7457 #line 3550 "parse.y"
7459 if (processing_template_decl
)
7461 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
7462 add_tree (yyval
.ttype
);
7467 #line 3558 "parse.y"
7469 if (processing_template_decl
)
7471 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7472 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7473 last_tree
= yyvsp
[-2].ttype
;
7475 yyval
.ttype
= yyvsp
[0].ttype
;
7479 #line 3571 "parse.y"
7483 #line 3577 "parse.y"
7487 #line 3579 "parse.y"
7489 tree expr
= yyvsp
[-1].ttype
;
7490 if (! processing_template_decl
)
7492 emit_line_note (input_filename
, lineno
);
7493 /* Do default conversion if safe and possibly important,
7494 in case within ({...}). */
7495 if ((TREE_CODE (TREE_TYPE (expr
)) == ARRAY_TYPE
7497 || TREE_CODE (TREE_TYPE (expr
)) == FUNCTION_TYPE
)
7498 expr
= default_conversion (expr
);
7500 cplus_expand_expr_stmt (expr
);
7505 #line 3595 "parse.y"
7506 { if (! processing_template_decl
) expand_start_else (); ;
7509 #line 3597 "parse.y"
7511 if (processing_template_decl
)
7513 TREE_OPERAND (yyvsp
[-3].ttype
, 2) = TREE_CHAIN (yyvsp
[-3].ttype
);
7514 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7515 last_tree
= yyvsp
[-3].ttype
;
7522 #line 3608 "parse.y"
7526 #line 3610 "parse.y"
7527 { if (! processing_template_decl
) expand_end_cond ();
7532 #line 3614 "parse.y"
7534 if (processing_template_decl
)
7536 yyval
.ttype
= build_min_nt (WHILE_STMT
, NULL_TREE
, NULL_TREE
);
7537 add_tree (yyval
.ttype
);
7542 emit_line_note (input_filename
, lineno
);
7543 expand_start_loop (1);
7545 cond_stmt_keyword
= "while";
7549 #line 3629 "parse.y"
7551 if (processing_template_decl
)
7553 if (last_tree
!= yyvsp
[-2].ttype
)
7555 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = last_tree
;
7556 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7557 last_tree
= yyvsp
[-2].ttype
;
7560 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = yyvsp
[0].ttype
;
7564 emit_line_note (input_filename
, lineno
);
7565 expand_exit_loop_if_false (0, yyvsp
[0].ttype
);
7568 /* If the condition wasn't a declaration, clear out the
7569 block we made for it and start a new one here so the
7570 optimization in expand_end_loop will work. */
7571 if (getdecls () == NULL_TREE
)
7579 #line 3657 "parse.y"
7581 if (processing_template_decl
)
7583 TREE_OPERAND (yyvsp
[-5].ttype
, 1) = TREE_CHAIN (yyvsp
[-5].ttype
);
7584 TREE_CHAIN (yyvsp
[-5].ttype
) = NULL_TREE
;
7585 last_tree
= yyvsp
[-5].ttype
;
7593 #line 3669 "parse.y"
7595 if (processing_template_decl
)
7597 yyval
.ttype
= build_min_nt (DO_STMT
, NULL_TREE
, NULL_TREE
);
7598 add_tree (yyval
.ttype
);
7603 emit_line_note (input_filename
, lineno
);
7604 expand_start_loop_continue_elsewhere (1);
7609 #line 3683 "parse.y"
7611 if (processing_template_decl
)
7613 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7614 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7615 last_tree
= yyvsp
[-2].ttype
;
7619 expand_loop_continue_here ();
7620 cond_stmt_keyword
= "do";
7625 #line 3697 "parse.y"
7627 if (processing_template_decl
)
7628 TREE_OPERAND (yyvsp
[-5].ttype
, 1) = yyvsp
[-1].ttype
;
7631 emit_line_note (input_filename
, lineno
);
7632 expand_exit_loop_if_false (0, yyvsp
[-1].ttype
);
7640 #line 3710 "parse.y"
7641 { if (processing_template_decl
)
7643 yyval
.ttype
= build_min_nt (FOR_STMT
, NULL_TREE
, NULL_TREE
,
7644 NULL_TREE
, NULL_TREE
);
7645 add_tree (yyval
.ttype
);
7648 emit_line_note (input_filename
, lineno
);
7649 if (flag_new_for_scope
> 0)
7651 /* Conditionalize .pushlevel */
7653 note_level_for_for ();
7656 expand_start_bindings (0);
7661 #line 3729 "parse.y"
7663 if (processing_template_decl
)
7665 if (last_tree
!= yyvsp
[-2].ttype
)
7667 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7668 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7669 last_tree
= yyvsp
[-2].ttype
;
7675 emit_line_note (input_filename
, lineno
);
7676 expand_start_loop_continue_elsewhere (1);
7681 #line 3747 "parse.y"
7683 if (processing_template_decl
)
7685 if (last_tree
!= yyvsp
[-6].ttype
)
7687 TREE_OPERAND (yyvsp
[-6].ttype
, 1) = last_tree
;
7688 TREE_CHAIN (yyvsp
[-6].ttype
) = NULL_TREE
;
7689 last_tree
= yyvsp
[-6].ttype
;
7692 TREE_OPERAND (yyvsp
[-6].ttype
, 1) = yyvsp
[-1].ttype
;
7696 emit_line_note (input_filename
, lineno
);
7697 if (yyvsp
[-1].ttype
) expand_exit_loop_if_false (0, yyvsp
[-1].ttype
);
7700 /* If the condition wasn't a declaration, clear out the
7701 block we made for it and start a new one here so the
7702 optimization in expand_end_loop will work. */
7703 if (getdecls () == NULL_TREE
)
7711 #line 3777 "parse.y"
7713 if (processing_template_decl
)
7714 TREE_OPERAND (yyvsp
[-9].ttype
, 2) = yyvsp
[-1].ttype
;
7719 #line 3783 "parse.y"
7721 if (processing_template_decl
)
7723 TREE_OPERAND (yyvsp
[-12].ttype
, 3) = TREE_CHAIN (yyvsp
[-12].ttype
);
7724 TREE_CHAIN (yyvsp
[-12].ttype
) = NULL_TREE
;
7725 last_tree
= yyvsp
[-12].ttype
;
7729 emit_line_note (input_filename
, lineno
);
7730 expand_loop_continue_here ();
7731 if (yyvsp
[-4].ttype
) cplus_expand_expr_stmt (yyvsp
[-4].ttype
);
7735 if (flag_new_for_scope
> 0)
7742 #line 3804 "parse.y"
7744 if (processing_template_decl
)
7746 yyval
.ttype
= build_min_nt (SWITCH_STMT
, yyvsp
[-1].ttype
, NULL_TREE
);
7747 add_tree (yyval
.ttype
);
7751 emit_line_note (input_filename
, lineno
);
7752 c_expand_start_case (yyvsp
[-1].ttype
);
7755 /* Don't let the tree nodes for $4 be discarded by
7756 clear_momentary during the parsing of the next stmt. */
7761 #line 3821 "parse.y"
7763 if (processing_template_decl
)
7765 TREE_OPERAND (yyvsp
[-1].ttype
, 1) = TREE_CHAIN (yyvsp
[-1].ttype
);
7766 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
7767 last_tree
= yyvsp
[-1].ttype
;
7770 expand_end_case (yyvsp
[-3].ttype
);
7776 #line 3834 "parse.y"
7780 #line 3836 "parse.y"
7781 { do_case (yyvsp
[-1].ttype
, NULL_TREE
); ;
7784 #line 3839 "parse.y"
7785 { do_case (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7788 #line 3842 "parse.y"
7789 { do_case (NULL_TREE
, NULL_TREE
); ;
7792 #line 3845 "parse.y"
7793 { emit_line_note (input_filename
, lineno
);
7794 if (processing_template_decl
)
7795 add_tree (build_min_nt (BREAK_STMT
));
7796 else if ( ! expand_exit_something ())
7797 error ("break statement not within loop or switch"); ;
7800 #line 3851 "parse.y"
7801 { emit_line_note (input_filename
, lineno
);
7802 if (processing_template_decl
)
7803 add_tree (build_min_nt (CONTINUE_STMT
));
7804 else if (! expand_continue_loop (0))
7805 error ("continue statement not within a loop"); ;
7808 #line 3857 "parse.y"
7809 { emit_line_note (input_filename
, lineno
);
7810 c_expand_return (NULL_TREE
); ;
7813 #line 3860 "parse.y"
7814 { emit_line_note (input_filename
, lineno
);
7815 c_expand_return (yyvsp
[-1].ttype
);
7820 #line 3865 "parse.y"
7821 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
7822 emit_line_note (input_filename
, lineno
);
7823 expand_asm (yyvsp
[-2].ttype
);
7828 #line 3872 "parse.y"
7829 { if (TREE_CHAIN (yyvsp
[-4].ttype
)) yyvsp
[-4].ttype
= combine_strings (yyvsp
[-4].ttype
);
7830 emit_line_note (input_filename
, lineno
);
7831 c_expand_asm_operands (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7832 yyvsp
[-6].ttype
== ridpointers
[(int)RID_VOLATILE
],
7833 input_filename
, lineno
);
7838 #line 3881 "parse.y"
7839 { if (TREE_CHAIN (yyvsp
[-6].ttype
)) yyvsp
[-6].ttype
= combine_strings (yyvsp
[-6].ttype
);
7840 emit_line_note (input_filename
, lineno
);
7841 c_expand_asm_operands (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7842 yyvsp
[-8].ttype
== ridpointers
[(int)RID_VOLATILE
],
7843 input_filename
, lineno
);
7848 #line 3891 "parse.y"
7849 { if (TREE_CHAIN (yyvsp
[-8].ttype
)) yyvsp
[-8].ttype
= combine_strings (yyvsp
[-8].ttype
);
7850 emit_line_note (input_filename
, lineno
);
7851 c_expand_asm_operands (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
,
7852 yyvsp
[-10].ttype
== ridpointers
[(int)RID_VOLATILE
],
7853 input_filename
, lineno
);
7858 #line 3899 "parse.y"
7860 if (processing_template_decl
)
7861 add_tree (build_min_nt (GOTO_STMT
, yyvsp
[-1].ttype
));
7863 { emit_line_note (input_filename
, lineno
);
7864 expand_computed_goto (yyvsp
[-1].ttype
); }
7868 #line 3907 "parse.y"
7870 if (processing_template_decl
)
7871 add_tree (build_min_nt (GOTO_STMT
, yyvsp
[-1].ttype
));
7875 emit_line_note (input_filename
, lineno
);
7876 decl
= lookup_label (yyvsp
[-1].ttype
);
7877 TREE_USED (decl
) = 1;
7883 #line 3920 "parse.y"
7887 #line 3922 "parse.y"
7888 { error ("label must be followed by statement");
7893 #line 3926 "parse.y"
7897 #line 3932 "parse.y"
7899 if (! current_function_parms_stored
)
7900 store_parm_decls ();
7901 expand_start_early_try_stmts ();
7905 #line 3938 "parse.y"
7906 { expand_start_all_catch (); ;
7909 #line 3940 "parse.y"
7911 int nested
= (hack_decl_function_context
7912 (current_function_decl
) != NULL_TREE
);
7913 expand_end_all_catch ();
7914 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7918 #line 3950 "parse.y"
7920 if (processing_template_decl
)
7922 yyval
.ttype
= build_min_nt (TRY_BLOCK
, NULL_TREE
,
7924 add_tree (yyval
.ttype
);
7928 emit_line_note (input_filename
, lineno
);
7929 expand_start_try_stmts ();
7934 #line 3964 "parse.y"
7936 if (processing_template_decl
)
7938 TREE_OPERAND (yyvsp
[-1].ttype
, 0) = TREE_CHAIN (yyvsp
[-1].ttype
);
7939 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
7940 last_tree
= yyvsp
[-1].ttype
;
7943 expand_start_all_catch ();
7947 #line 3975 "parse.y"
7949 if (processing_template_decl
)
7951 TREE_OPERAND (yyvsp
[-3].ttype
, 1) = TREE_CHAIN (yyvsp
[-3].ttype
);
7952 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7953 last_tree
= yyvsp
[-3].ttype
;
7956 expand_end_all_catch ();
7960 #line 3994 "parse.y"
7962 if (processing_template_decl
)
7964 yyval
.ttype
= build_min_nt (HANDLER
, NULL_TREE
,
7966 add_tree (yyval
.ttype
);
7971 #line 4003 "parse.y"
7973 if (processing_template_decl
)
7975 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7976 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7977 last_tree
= yyvsp
[-2].ttype
;
7982 #line 4012 "parse.y"
7984 if (processing_template_decl
)
7986 TREE_OPERAND (yyvsp
[-4].ttype
, 1) = TREE_CHAIN (yyvsp
[-4].ttype
);
7987 TREE_CHAIN (yyvsp
[-4].ttype
) = NULL_TREE
;
7988 last_tree
= yyvsp
[-4].ttype
;
7991 expand_end_catch_block ();
7995 #line 4032 "parse.y"
7996 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7999 #line 4048 "parse.y"
8000 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
8001 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
8002 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
8005 #line 4055 "parse.y"
8008 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
8009 if (label
&& ! minimal_parse_mode
)
8010 expand_label (label
);
8014 #line 4062 "parse.y"
8018 #line 4064 "parse.y"
8022 #line 4066 "parse.y"
8026 #line 4071 "parse.y"
8027 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
8030 #line 4074 "parse.y"
8032 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
8036 #line 4083 "parse.y"
8037 { emit_line_note (input_filename
, lineno
);
8038 yyval
.ttype
= NULL_TREE
; ;
8041 #line 4086 "parse.y"
8042 { emit_line_note (input_filename
, lineno
); ;
8045 #line 4091 "parse.y"
8046 { yyval
.ttype
= NULL_TREE
; ;
8049 #line 4094 "parse.y"
8050 { yyval
.ttype
= NULL_TREE
; ;
8053 #line 4101 "parse.y"
8054 { yyval
.ttype
= NULL_TREE
; ;
8057 #line 4108 "parse.y"
8058 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
8061 #line 4113 "parse.y"
8062 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
8065 #line 4118 "parse.y"
8066 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
8069 #line 4120 "parse.y"
8070 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
8073 #line 4131 "parse.y"
8075 yyval
.ttype
= empty_parms();
8079 #line 4136 "parse.y"
8080 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, void_list_node
);
8081 TREE_PARMLIST (yyval
.ttype
) = 1;
8082 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
8085 #line 4145 "parse.y"
8087 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
8088 TREE_PARMLIST (yyval
.ttype
) = 1;
8092 #line 4150 "parse.y"
8094 TREE_PARMLIST (yyval
.ttype
) = 1;
8098 #line 4155 "parse.y"
8100 TREE_PARMLIST (yyval
.ttype
) = 1;
8104 #line 4159 "parse.y"
8106 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
8107 TREE_PARMLIST (yyval
.ttype
) = 1;
8111 #line 4164 "parse.y"
8113 yyval
.ttype
= NULL_TREE
;
8117 #line 4168 "parse.y"
8119 TREE_PARMLIST (yyval
.ttype
) = 1;
8123 #line 4172 "parse.y"
8125 TREE_PARMLIST (yyval
.ttype
) = 1;
8129 #line 4176 "parse.y"
8131 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
8132 TREE_PARMLIST (yyval
.ttype
) = 1;
8136 #line 4181 "parse.y"
8138 /* This helps us recover from really nasty
8139 parse errors, for example, a missing right
8141 yyerror ("possibly missing ')'");
8142 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
8143 TREE_PARMLIST (yyval
.ttype
) = 1;
8149 #line 4192 "parse.y"
8151 /* This helps us recover from really nasty
8152 parse errors, for example, a missing right
8154 yyerror ("possibly missing ')'");
8155 yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
8156 TREE_PARMLIST (yyval
.ttype
) = 1;
8162 #line 4207 "parse.y"
8163 { maybe_snarf_defarg (); ;
8166 #line 4209 "parse.y"
8167 { yyval
.ttype
= yyvsp
[0].ttype
; ;
8170 #line 4220 "parse.y"
8171 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8172 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
8175 #line 4223 "parse.y"
8176 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8177 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
8180 #line 4226 "parse.y"
8181 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8182 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
8185 #line 4229 "parse.y"
8186 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
8189 #line 4231 "parse.y"
8190 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
8193 #line 4237 "parse.y"
8194 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8195 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
8198 #line 4247 "parse.y"
8199 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8200 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
8201 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
8204 #line 4251 "parse.y"
8205 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
8206 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8209 #line 4254 "parse.y"
8210 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
8211 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8214 #line 4257 "parse.y"
8215 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8216 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8217 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8220 #line 4261 "parse.y"
8221 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
8222 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
8223 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8226 #line 4265 "parse.y"
8227 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
8228 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8229 yyval
.ftype
.new_type_flag
= 0; ;
8232 #line 4272 "parse.y"
8233 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
8234 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8237 #line 4275 "parse.y"
8238 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
8239 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8242 #line 4286 "parse.y"
8243 { see_typename (); ;
8246 #line 4291 "parse.y"
8248 error ("type specifier omitted for parameter");
8249 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
8253 #line 4296 "parse.y"
8255 error ("type specifier omitted for parameter");
8256 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
8257 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
8258 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
8259 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
8260 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
8264 #line 4308 "parse.y"
8265 { yyval
.ttype
= NULL_TREE
; ;
8268 #line 4310 "parse.y"
8269 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
8272 #line 4312 "parse.y"
8273 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
8276 #line 4317 "parse.y"
8277 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
8280 #line 4323 "parse.y"
8282 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
8283 yyval
.ttype
= yyvsp
[0].ttype
;
8287 #line 4331 "parse.y"
8288 { yyval
.ttype
= NULL_TREE
; ;
8291 #line 4333 "parse.y"
8292 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8295 #line 4335 "parse.y"
8296 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8299 #line 4337 "parse.y"
8300 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
8301 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
8305 #line 4344 "parse.y"
8306 { got_scope
= NULL_TREE
; ;
8309 #line 4349 "parse.y"
8310 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
8313 #line 4351 "parse.y"
8314 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
8317 #line 4353 "parse.y"
8318 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
8321 #line 4355 "parse.y"
8322 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
8325 #line 4357 "parse.y"
8326 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
8329 #line 4359 "parse.y"
8330 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
8333 #line 4361 "parse.y"
8334 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
8337 #line 4363 "parse.y"
8338 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
8341 #line 4365 "parse.y"
8342 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
8345 #line 4367 "parse.y"
8346 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
8349 #line 4369 "parse.y"
8350 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8353 #line 4371 "parse.y"
8354 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
8357 #line 4373 "parse.y"
8358 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
8361 #line 4375 "parse.y"
8362 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8365 #line 4377 "parse.y"
8366 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
8369 #line 4379 "parse.y"
8370 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
8373 #line 4381 "parse.y"
8374 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8377 #line 4383 "parse.y"
8378 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8381 #line 4385 "parse.y"
8382 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
8385 #line 4387 "parse.y"
8386 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
8389 #line 4389 "parse.y"
8390 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
8393 #line 4391 "parse.y"
8394 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
8397 #line 4393 "parse.y"
8398 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
8401 #line 4395 "parse.y"
8402 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
8405 #line 4397 "parse.y"
8406 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8409 #line 4399 "parse.y"
8410 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
8413 #line 4401 "parse.y"
8414 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
8417 #line 4403 "parse.y"
8418 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
8421 #line 4405 "parse.y"
8422 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
8425 #line 4407 "parse.y"
8426 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
8429 #line 4409 "parse.y"
8430 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
8433 #line 4411 "parse.y"
8434 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
8437 #line 4413 "parse.y"
8438 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
8441 #line 4416 "parse.y"
8442 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
8445 #line 4418 "parse.y"
8446 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
8449 /* the action file gets copied in in place of this dollarsign */
8450 #line 498 "/usr/lib/bison.simple"
8461 short *ssp1
= yyss
- 1;
8462 fprintf (stderr
, "state stack now");
8463 while (ssp1
!= yyssp
)
8464 fprintf (stderr
, " %d", *++ssp1
);
8465 fprintf (stderr
, "\n");
8475 yylsp
->first_line
= yylloc
.first_line
;
8476 yylsp
->first_column
= yylloc
.first_column
;
8477 yylsp
->last_line
= (yylsp
-1)->last_line
;
8478 yylsp
->last_column
= (yylsp
-1)->last_column
;
8483 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
8484 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
8488 /* Now "shift" the result of the reduction.
8489 Determine what state that goes to,
8490 based on the state we popped back to
8491 and the rule number reduced by. */
8495 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
8496 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
8497 yystate
= yytable
[yystate
];
8499 yystate
= yydefgoto
[yyn
- YYNTBASE
];
8503 yyerrlab
: /* here on detecting error */
8506 /* If not already recovering from an error, report this error. */
8510 #ifdef YYERROR_VERBOSE
8511 yyn
= yypact
[yystate
];
8513 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
8520 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8521 for (x
= (yyn
< 0 ? -yyn
: 0);
8522 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8523 if (yycheck
[x
+ yyn
] == x
)
8524 size
+= strlen(yytname
[x
]) + 15, count
++;
8525 msg
= (char *) malloc(size
+ 15);
8528 strcpy(msg
, "parse error");
8533 for (x
= (yyn
< 0 ? -yyn
: 0);
8534 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8535 if (yycheck
[x
+ yyn
] == x
)
8537 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
8538 strcat(msg
, yytname
[x
]);
8547 yyerror ("parse error; also virtual memory exceeded");
8550 #endif /* YYERROR_VERBOSE */
8551 yyerror("parse error");
8555 yyerrlab1
: /* here on error raised explicitly by an action */
8557 if (yyerrstatus
== 3)
8559 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8561 /* return failure if at end of input */
8562 if (yychar
== YYEOF
)
8567 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8573 /* Else will try to reuse lookahead token
8574 after shifting the error token. */
8576 yyerrstatus
= 3; /* Each real token shifted decrements this */
8580 yyerrdefault
: /* current state does not do anything special for the error token. */
8583 /* This is wrong; only states that explicitly want error tokens
8584 should shift them. */
8585 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8586 if (yyn
) goto yydefault
;
8589 yyerrpop
: /* pop the current state because it cannot handle the error token */
8591 if (yyssp
== yyss
) YYABORT
;
8601 short *ssp1
= yyss
- 1;
8602 fprintf (stderr
, "Error: state stack now");
8603 while (ssp1
!= yyssp
)
8604 fprintf (stderr
, " %d", *++ssp1
);
8605 fprintf (stderr
, "\n");
8611 yyn
= yypact
[yystate
];
8616 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8635 fprintf(stderr
, "Shifting error token, ");
8646 #line 4421 "parse.y"
8651 debug_yytranslate (value
)
8654 return yytname
[YYTRANSLATE (value
)];