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 /* FSF LOCAL dje prefix attributes */
129 extern tree strip_attrs
PROTO((tree
));
132 /* Like YYERROR but do call yyerror. */
133 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
135 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
136 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
138 /* Contains the statement keyword (if/while/do) to include in an
139 error message if the user supplies an empty conditional expression. */
140 static char *cond_stmt_keyword
;
142 /* If nonzero, we try to treat TEMPLATE_DECL as argument in template
143 template parameter. */
144 static int processing_template_arg
;
146 extern int arg_looking_for_template
;
148 static tree empty_parms
PROTO((void));
150 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
151 int have_extern_spec
;
152 int used_extern_spec
;
154 /* Cons up an empty parameter list. */
164 || current_class_type
!= NULL
)
165 parms
= void_list_node
;
173 typedef union {long itype
; tree ttype
; char *strtype
; enum tree_code code
; flagged_type_tree ftype
; } YYSTYPE
;
176 /* List of types and structure classes of the current declaration. */
177 static tree current_declspecs
= NULL_TREE
;
178 /* List of prefix attributes in effect.
179 Prefix attributes are parsed by the reserved_declspecs and declmods
180 rules. They create a list that contains *both* declspecs and attrs. */
181 /* ??? It is not clear yet that all cases where an attribute can now appear in
182 a declspec list have been updated. */
183 static tree prefix_attributes
= NULL_TREE
;
185 /* When defining an aggregate, this is the most recent one being defined. */
186 static tree current_aggr
;
188 /* Tell yyparse how to print a token's value, if yydebug is set. */
190 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
191 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
192 extern tree combine_strings
PROTO((tree
));
204 #define YYFLAG -32768
207 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 391)
209 static const char yytranslate
[] = { 0,
210 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
211 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
212 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
213 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
214 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
215 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
216 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
217 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
218 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
219 95, 2, 113, 70, 2, 2, 2, 2, 2, 2,
220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 59, 69, 111, 89, 2, 2, 2, 2,
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
225 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
230 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
236 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
237 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
238 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
239 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
240 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
241 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
242 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
243 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
248 static const short yyprhs
[] = { 0,
249 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
250 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
251 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
252 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
253 119, 123, 125, 129, 131, 132, 135, 138, 142, 144,
254 148, 150, 154, 156, 160, 163, 166, 169, 173, 177,
255 180, 183, 186, 189, 192, 194, 196, 198, 199, 201,
256 204, 205, 207, 212, 216, 220, 221, 230, 236, 237,
257 247, 254, 255, 264, 270, 271, 281, 288, 291, 294,
258 296, 299, 301, 308, 313, 320, 325, 328, 330, 333,
259 336, 338, 341, 343, 346, 349, 352, 357, 360, 364,
260 365, 366, 368, 372, 375, 379, 381, 386, 389, 394,
261 397, 402, 405, 407, 409, 411, 413, 415, 417, 419,
262 421, 423, 425, 427, 428, 435, 436, 443, 444, 450,
263 451, 457, 458, 466, 467, 475, 476, 483, 484, 491,
264 492, 493, 498, 503, 505, 510, 512, 514, 515, 517,
265 519, 523, 524, 527, 529, 531, 533, 535, 537, 539,
266 541, 543, 545, 547, 551, 553, 557, 558, 560, 562,
267 563, 571, 573, 575, 579, 584, 588, 589, 593, 595,
268 599, 603, 607, 611, 613, 615, 617, 620, 623, 626,
269 629, 632, 635, 638, 643, 646, 651, 654, 658, 662,
270 667, 672, 678, 684, 691, 694, 699, 705, 708, 711,
271 715, 719, 723, 725, 729, 732, 736, 741, 743, 746,
272 752, 754, 758, 762, 766, 770, 774, 778, 782, 786,
273 790, 794, 798, 802, 806, 810, 814, 818, 822, 826,
274 830, 836, 840, 844, 846, 849, 853, 855, 857, 859,
275 861, 863, 864, 870, 876, 882, 888, 894, 896, 898,
276 900, 902, 905, 908, 912, 917, 922, 924, 926, 928,
277 932, 934, 936, 938, 940, 944, 948, 952, 953, 958,
278 963, 966, 971, 974, 977, 979, 984, 986, 994, 1002,
279 1010, 1018, 1023, 1028, 1031, 1034, 1036, 1041, 1044, 1047,
280 1053, 1057, 1060, 1063, 1069, 1073, 1079, 1083, 1088, 1095,
281 1098, 1100, 1103, 1105, 1108, 1110, 1112, 1114, 1117, 1118,
282 1121, 1124, 1128, 1132, 1136, 1139, 1142, 1145, 1147, 1149,
283 1151, 1154, 1157, 1160, 1163, 1165, 1167, 1169, 1171, 1174,
284 1177, 1181, 1185, 1189, 1194, 1196, 1199, 1202, 1205, 1207,
285 1209, 1211, 1214, 1217, 1220, 1222, 1224, 1227, 1230, 1234,
286 1236, 1239, 1241, 1243, 1245, 1250, 1255, 1260, 1265, 1267,
287 1269, 1271, 1273, 1277, 1279, 1283, 1285, 1289, 1290, 1295,
288 1296, 1303, 1307, 1308, 1315, 1319, 1320, 1327, 1331, 1332,
289 1339, 1343, 1344, 1346, 1348, 1351, 1358, 1360, 1364, 1365,
290 1367, 1372, 1379, 1384, 1386, 1388, 1390, 1392, 1394, 1398,
291 1399, 1402, 1404, 1407, 1411, 1416, 1418, 1420, 1424, 1429,
292 1436, 1440, 1446, 1448, 1453, 1457, 1461, 1462, 1466, 1470,
293 1474, 1475, 1478, 1481, 1482, 1490, 1495, 1496, 1503, 1507,
294 1510, 1513, 1516, 1517, 1518, 1528, 1530, 1531, 1533, 1534,
295 1536, 1538, 1541, 1544, 1547, 1550, 1553, 1556, 1560, 1565,
296 1569, 1572, 1576, 1577, 1579, 1583, 1586, 1589, 1591, 1593,
297 1594, 1597, 1601, 1603, 1608, 1610, 1614, 1616, 1618, 1623,
298 1628, 1631, 1634, 1638, 1642, 1644, 1645, 1647, 1650, 1655,
299 1659, 1661, 1664, 1667, 1670, 1673, 1676, 1679, 1682, 1684,
300 1687, 1690, 1693, 1698, 1703, 1706, 1708, 1714, 1719, 1721,
301 1724, 1725, 1727, 1731, 1732, 1734, 1738, 1740, 1742, 1744,
302 1746, 1751, 1756, 1761, 1766, 1771, 1775, 1780, 1785, 1790,
303 1795, 1799, 1801, 1805, 1807, 1811, 1814, 1816, 1823, 1824,
304 1827, 1829, 1832, 1833, 1836, 1841, 1846, 1849, 1854, 1858,
305 1862, 1865, 1868, 1872, 1874, 1876, 1879, 1881, 1883, 1886,
306 1889, 1894, 1899, 1903, 1907, 1910, 1912, 1916, 1920, 1923,
307 1926, 1930, 1932, 1936, 1940, 1943, 1946, 1950, 1952, 1957,
308 1961, 1966, 1970, 1972, 1975, 1978, 1981, 1984, 1987, 1989,
309 1992, 1997, 2002, 2005, 2007, 2009, 2011, 2013, 2016, 2019,
310 2022, 2025, 2028, 2030, 2033, 2036, 2038, 2041, 2044, 2047,
311 2050, 2053, 2056, 2059, 2062, 2064, 2067, 2070, 2074, 2076,
312 2080, 2083, 2087, 2090, 2093, 2097, 2099, 2103, 2108, 2112,
313 2115, 2118, 2120, 2124, 2127, 2130, 2132, 2135, 2139, 2141,
314 2145, 2147, 2154, 2159, 2164, 2168, 2174, 2178, 2182, 2186,
315 2189, 2191, 2193, 2196, 2199, 2202, 2203, 2204, 2205, 2207,
316 2209, 2212, 2216, 2218, 2221, 2222, 2228, 2229, 2230, 2237,
317 2239, 2240, 2245, 2247, 2249, 2251, 2254, 2255, 2256, 2263,
318 2265, 2266, 2267, 2275, 2276, 2277, 2285, 2286, 2287, 2288,
319 2289, 2304, 2305, 2306, 2316, 2317, 2323, 2324, 2332, 2333,
320 2338, 2341, 2344, 2347, 2351, 2358, 2367, 2378, 2391, 2396,
321 2400, 2403, 2406, 2408, 2410, 2411, 2412, 2419, 2420, 2421,
322 2427, 2429, 2432, 2433, 2434, 2435, 2444, 2446, 2448, 2452,
323 2456, 2459, 2462, 2465, 2468, 2471, 2473, 2476, 2477, 2479,
324 2480, 2482, 2484, 2485, 2487, 2489, 2493, 2498, 2500, 2504,
325 2505, 2507, 2509, 2511, 2514, 2517, 2520, 2522, 2524, 2527,
326 2530, 2533, 2536, 2537, 2541, 2543, 2545, 2547, 2550, 2553,
327 2556, 2561, 2564, 2567, 2570, 2573, 2576, 2579, 2581, 2584,
328 2586, 2589, 2591, 2593, 2594, 2595, 2597, 2598, 2603, 2606,
329 2608, 2610, 2614, 2615, 2619, 2623, 2627, 2629, 2632, 2635,
330 2638, 2641, 2644, 2647, 2650, 2653, 2656, 2659, 2662, 2665,
331 2668, 2671, 2674, 2677, 2680, 2683, 2686, 2689, 2692, 2695,
332 2698, 2702, 2705, 2708, 2711, 2714, 2718, 2721, 2724, 2729,
336 static const short yyrhs
[] = { -1,
337 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
338 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
339 0, 123, 124, 0, 142, 141, 0, 138, 0, 137,
340 0, 121, 94, 210, 110, 61, 0, 129, 59, 117,
341 111, 0, 129, 118, 142, 119, 141, 0, 129, 118,
342 138, 119, 0, 0, 45, 157, 59, 125, 117, 111,
343 0, 0, 45, 59, 126, 117, 111, 0, 45, 157,
344 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
345 61, 0, 120, 124, 0, 47, 302, 0, 47, 315,
346 302, 0, 47, 315, 201, 0, 201, 0, 302, 0,
347 315, 302, 0, 315, 201, 0, 100, 0, 129, 100,
348 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
349 76, 0, 136, 0, 132, 60, 136, 0, 157, 0,
350 0, 259, 133, 0, 46, 133, 0, 130, 259, 133,
351 0, 134, 0, 134, 65, 216, 0, 382, 0, 382,
352 65, 196, 0, 135, 0, 135, 65, 57, 0, 130,
353 124, 0, 130, 1, 0, 227, 61, 0, 220, 226,
354 61, 0, 217, 225, 61, 0, 220, 61, 0, 160,
355 61, 0, 217, 61, 0, 1, 61, 0, 1, 111,
356 0, 61, 0, 211, 0, 153, 0, 0, 152, 0,
357 152, 61, 0, 0, 109, 0, 148, 140, 139, 327,
358 0, 148, 140, 352, 0, 148, 140, 1, 0, 0,
359 307, 5, 94, 144, 373, 110, 289, 385, 0, 307,
360 5, 48, 289, 385, 0, 0, 315, 307, 5, 94,
361 145, 373, 110, 289, 385, 0, 315, 307, 5, 48,
362 289, 385, 0, 0, 307, 172, 94, 146, 373, 110,
363 289, 385, 0, 307, 172, 48, 289, 385, 0, 0,
364 315, 307, 172, 94, 147, 373, 110, 289, 385, 0,
365 315, 307, 172, 48, 289, 385, 0, 217, 214, 0,
366 220, 299, 0, 299, 0, 220, 143, 0, 143, 0,
367 5, 94, 373, 110, 289, 385, 0, 5, 48, 289,
368 385, 0, 172, 94, 373, 110, 289, 385, 0, 172,
369 48, 289, 385, 0, 220, 149, 0, 149, 0, 217,
370 214, 0, 220, 299, 0, 299, 0, 220, 143, 0,
371 143, 0, 130, 150, 0, 25, 3, 0, 151, 244,
372 0, 151, 94, 190, 110, 0, 151, 48, 0, 63,
373 154, 155, 0, 0, 0, 156, 0, 155, 60, 156,
374 0, 155, 1, 0, 94, 190, 110, 0, 48, 0,
375 158, 94, 190, 110, 0, 158, 48, 0, 295, 94,
376 190, 110, 0, 295, 48, 0, 309, 94, 190, 110,
377 0, 309, 48, 0, 3, 0, 4, 0, 5, 0,
378 57, 0, 58, 0, 3, 0, 57, 0, 58, 0,
379 106, 0, 105, 0, 107, 0, 0, 49, 169, 223,
380 61, 161, 170, 0, 0, 49, 169, 217, 214, 162,
381 170, 0, 0, 49, 169, 299, 163, 170, 0, 0,
382 49, 169, 143, 164, 170, 0, 0, 7, 49, 169,
383 223, 61, 165, 170, 0, 0, 7, 49, 169, 217,
384 214, 166, 170, 0, 0, 7, 49, 169, 299, 167,
385 170, 0, 0, 7, 49, 169, 143, 168, 170, 0,
386 0, 0, 57, 75, 174, 173, 0, 4, 75, 174,
387 173, 0, 172, 0, 5, 75, 174, 173, 0, 76,
388 0, 78, 0, 0, 175, 0, 176, 0, 175, 60,
389 176, 0, 0, 177, 178, 0, 216, 0, 196, 0,
390 80, 0, 79, 0, 87, 0, 88, 0, 112, 0,
391 189, 0, 196, 0, 48, 0, 94, 180, 110, 0,
392 48, 0, 94, 184, 110, 0, 0, 184, 0, 1,
393 0, 0, 363, 214, 228, 237, 65, 185, 245, 0,
394 180, 0, 111, 0, 324, 320, 111, 0, 324, 320,
395 1, 111, 0, 324, 1, 111, 0, 0, 59, 188,
396 186, 0, 336, 0, 196, 60, 196, 0, 196, 60,
397 1, 0, 189, 60, 196, 0, 189, 60, 1, 0,
398 196, 0, 189, 0, 205, 0, 120, 195, 0, 81,
399 195, 0, 71, 195, 0, 89, 195, 0, 179, 195,
400 0, 68, 157, 0, 13, 191, 0, 13, 94, 216,
401 110, 0, 30, 191, 0, 30, 94, 216, 110, 0,
402 207, 288, 0, 207, 288, 193, 0, 207, 192, 288,
403 0, 207, 192, 288, 193, 0, 207, 94, 216, 110,
404 0, 207, 94, 216, 110, 193, 0, 207, 192, 94,
405 216, 110, 0, 207, 192, 94, 216, 110, 193, 0,
406 208, 195, 0, 208, 95, 113, 195, 0, 208, 95,
407 180, 113, 195, 0, 35, 195, 0, 36, 195, 0,
408 94, 190, 110, 0, 59, 190, 111, 0, 94, 190,
409 110, 0, 48, 0, 94, 223, 110, 0, 65, 245,
410 0, 94, 216, 110, 0, 194, 94, 216, 110, 0,
411 191, 0, 194, 191, 0, 194, 59, 246, 257, 111,
412 0, 195, 0, 196, 84, 196, 0, 196, 85, 196,
413 0, 196, 79, 196, 0, 196, 80, 196, 0, 196,
414 81, 196, 0, 196, 82, 196, 0, 196, 83, 196,
415 0, 196, 77, 196, 0, 196, 78, 196, 0, 196,
416 74, 196, 0, 196, 75, 196, 0, 196, 76, 196,
417 0, 196, 73, 196, 0, 196, 72, 196, 0, 196,
418 71, 196, 0, 196, 69, 196, 0, 196, 70, 196,
419 0, 196, 68, 196, 0, 196, 67, 196, 0, 196,
420 66, 368, 63, 196, 0, 196, 65, 196, 0, 196,
421 64, 196, 0, 62, 0, 62, 196, 0, 89, 383,
422 157, 0, 199, 0, 390, 0, 3, 0, 57, 0,
423 58, 0, 0, 6, 75, 198, 174, 173, 0, 390,
424 75, 198, 174, 173, 0, 49, 157, 75, 174, 173,
425 0, 49, 6, 75, 174, 173, 0, 49, 390, 75,
426 174, 173, 0, 197, 0, 4, 0, 5, 0, 197,
427 0, 81, 202, 0, 71, 202, 0, 94, 202, 110,
428 0, 3, 75, 174, 173, 0, 58, 75, 175, 173,
429 0, 301, 0, 197, 0, 203, 0, 94, 202, 110,
430 0, 197, 0, 10, 0, 209, 0, 210, 0, 94,
431 180, 110, 0, 94, 202, 110, 0, 94, 1, 110,
432 0, 0, 94, 206, 328, 110, 0, 205, 94, 190,
433 110, 0, 205, 48, 0, 205, 95, 180, 113, 0,
434 205, 87, 0, 205, 88, 0, 41, 0, 9, 94,
435 190, 110, 0, 305, 0, 51, 75, 216, 76, 94,
436 180, 110, 0, 52, 75, 216, 76, 94, 180, 110,
437 0, 53, 75, 216, 76, 94, 180, 110, 0, 54,
438 75, 216, 76, 94, 180, 110, 0, 50, 94, 180,
439 110, 0, 50, 94, 216, 110, 0, 315, 3, 0,
440 315, 390, 0, 304, 0, 304, 94, 190, 110, 0,
441 304, 48, 0, 212, 200, 0, 212, 200, 94, 190,
442 110, 0, 212, 200, 48, 0, 212, 201, 0, 212,
443 304, 0, 212, 201, 94, 190, 110, 0, 212, 201,
444 48, 0, 212, 304, 94, 190, 110, 0, 212, 304,
445 48, 0, 212, 89, 8, 48, 0, 212, 8, 55,
446 89, 8, 48, 0, 212, 1, 0, 40, 0, 315,
447 40, 0, 39, 0, 315, 208, 0, 43, 0, 44,
448 0, 11, 0, 210, 11, 0, 0, 205, 93, 0,
449 205, 92, 0, 223, 225, 61, 0, 217, 225, 61,
450 0, 220, 226, 61, 0, 217, 61, 0, 220, 61,
451 0, 120, 213, 0, 294, 0, 299, 0, 48, 0,
452 215, 48, 0, 221, 318, 0, 290, 318, 0, 223,
453 318, 0, 221, 0, 290, 0, 221, 0, 218, 0,
454 220, 223, 0, 223, 219, 0, 223, 222, 219, 0,
455 220, 223, 219, 0, 220, 223, 222, 0, 220, 223,
456 222, 219, 0, 7, 0, 219, 224, 0, 219, 7,
457 0, 219, 238, 0, 238, 0, 290, 0, 7, 0,
458 220, 9, 0, 220, 7, 0, 220, 238, 0, 238,
459 0, 223, 0, 290, 223, 0, 223, 222, 0, 290,
460 223, 222, 0, 224, 0, 222, 224, 0, 252, 0,
461 8, 0, 296, 0, 29, 94, 180, 110, 0, 29,
462 94, 216, 110, 0, 31, 94, 180, 110, 0, 31,
463 94, 216, 110, 0, 8, 0, 9, 0, 252, 0,
464 229, 0, 225, 60, 231, 0, 233, 0, 226, 60,
465 231, 0, 235, 0, 227, 60, 231, 0, 0, 121,
466 94, 210, 110, 0, 0, 214, 228, 237, 65, 230,
467 245, 0, 214, 228, 237, 0, 0, 214, 228, 237,
468 65, 232, 245, 0, 214, 228, 237, 0, 0, 299,
469 228, 237, 65, 234, 245, 0, 299, 228, 237, 0,
470 0, 299, 228, 237, 65, 236, 245, 0, 299, 228,
471 237, 0, 0, 238, 0, 239, 0, 238, 239, 0,
472 32, 94, 94, 240, 110, 110, 0, 241, 0, 240,
473 60, 241, 0, 0, 242, 0, 242, 94, 3, 110,
474 0, 242, 94, 3, 60, 190, 110, 0, 242, 94,
475 190, 110, 0, 157, 0, 7, 0, 8, 0, 9,
476 0, 157, 0, 243, 60, 157, 0, 0, 65, 245,
477 0, 196, 0, 59, 111, 0, 59, 246, 111, 0,
478 59, 246, 60, 111, 0, 1, 0, 245, 0, 246,
479 60, 245, 0, 95, 196, 113, 245, 0, 246, 60,
480 21, 196, 63, 245, 0, 157, 63, 245, 0, 246,
481 60, 157, 63, 245, 0, 99, 0, 247, 140, 139,
482 327, 0, 247, 140, 352, 0, 247, 140, 1, 0,
483 0, 249, 248, 141, 0, 104, 196, 109, 0, 104,
484 1, 109, 0, 0, 251, 250, 0, 251, 1, 0,
485 0, 14, 157, 59, 253, 286, 258, 111, 0, 14,
486 157, 59, 111, 0, 0, 14, 59, 254, 286, 258,
487 111, 0, 14, 59, 111, 0, 14, 157, 0, 14,
488 313, 0, 46, 309, 0, 0, 0, 266, 272, 274,
489 111, 237, 255, 251, 256, 249, 0, 266, 0, 0,
490 60, 0, 0, 60, 0, 37, 0, 259, 7, 0,
491 259, 8, 0, 259, 9, 0, 259, 37, 0, 259,
492 157, 0, 259, 159, 0, 259, 307, 157, 0, 259,
493 315, 307, 157, 0, 259, 315, 157, 0, 259, 171,
494 0, 259, 307, 171, 0, 0, 260, 0, 261, 263,
495 267, 0, 262, 267, 0, 259, 59, 0, 265, 0,
496 264, 0, 0, 63, 383, 0, 63, 383, 268, 0,
497 269, 0, 268, 60, 383, 269, 0, 270, 0, 271,
498 383, 270, 0, 309, 0, 295, 0, 31, 94, 180,
499 110, 0, 31, 94, 216, 110, 0, 38, 383, 0,
500 7, 383, 0, 271, 38, 383, 0, 271, 7, 383,
501 0, 59, 0, 0, 273, 0, 273, 275, 0, 274,
502 38, 63, 275, 0, 274, 38, 63, 0, 276, 0,
503 275, 276, 0, 277, 61, 0, 277, 111, 0, 150,
504 63, 0, 150, 96, 0, 150, 25, 0, 150, 59,
505 0, 61, 0, 120, 276, 0, 217, 278, 0, 220,
506 279, 0, 299, 228, 237, 244, 0, 143, 228, 237,
507 244, 0, 63, 196, 0, 1, 0, 220, 149, 228,
508 237, 244, 0, 149, 228, 237, 244, 0, 127, 0,
509 130, 277, 0, 0, 280, 0, 278, 60, 281, 0,
510 0, 283, 0, 279, 60, 285, 0, 282, 0, 283,
511 0, 284, 0, 285, 0, 294, 228, 237, 244, 0,
512 4, 63, 196, 237, 0, 299, 228, 237, 244, 0,
513 143, 228, 237, 244, 0, 3, 63, 196, 237, 0,
514 63, 196, 237, 0, 294, 228, 237, 244, 0, 4,
515 63, 196, 237, 0, 299, 228, 237, 244, 0, 3,
516 63, 196, 237, 0, 63, 196, 237, 0, 287, 0,
517 286, 60, 287, 0, 157, 0, 157, 65, 196, 0,
518 363, 316, 0, 363, 0, 94, 216, 110, 95, 180,
519 113, 0, 0, 289, 9, 0, 9, 0, 290, 9,
520 0, 0, 291, 180, 0, 291, 94, 190, 110, 0,
521 291, 94, 373, 110, 0, 291, 48, 0, 291, 94,
522 1, 110, 0, 81, 290, 294, 0, 71, 290, 294,
523 0, 81, 294, 0, 71, 294, 0, 314, 289, 294,
524 0, 298, 0, 306, 0, 315, 306, 0, 295, 0,
525 297, 0, 315, 297, 0, 307, 306, 0, 298, 293,
526 289, 385, 0, 298, 95, 292, 113, 0, 298, 95,
527 113, 0, 94, 294, 110, 0, 307, 306, 0, 306,
528 0, 81, 290, 299, 0, 71, 290, 299, 0, 81,
529 299, 0, 71, 299, 0, 314, 289, 299, 0, 204,
530 0, 81, 290, 299, 0, 71, 290, 299, 0, 81,
531 300, 0, 71, 300, 0, 314, 289, 299, 0, 301,
532 0, 204, 293, 289, 385, 0, 94, 300, 110, 0,
533 204, 95, 292, 113, 0, 204, 95, 113, 0, 303,
534 0, 307, 203, 0, 307, 201, 0, 307, 200, 0,
535 307, 197, 0, 307, 200, 0, 303, 0, 315, 303,
536 0, 223, 94, 190, 110, 0, 223, 94, 202, 110,
537 0, 223, 215, 0, 4, 0, 5, 0, 171, 0,
538 308, 0, 307, 308, 0, 4, 55, 0, 5, 55,
539 0, 58, 55, 0, 171, 55, 0, 310, 0, 315,
540 310, 0, 311, 157, 0, 312, 0, 311, 312, 0,
541 4, 55, 0, 5, 55, 0, 171, 55, 0, 57,
542 55, 0, 3, 55, 0, 58, 55, 0, 315, 306,
543 0, 297, 0, 315, 297, 0, 307, 81, 0, 315,
544 307, 81, 0, 55, 0, 81, 289, 316, 0, 81,
545 289, 0, 71, 289, 316, 0, 71, 289, 0, 314,
546 289, 0, 314, 289, 316, 0, 317, 0, 95, 180,
547 113, 0, 317, 95, 292, 113, 0, 81, 290, 318,
548 0, 81, 318, 0, 81, 290, 0, 81, 0, 71,
549 290, 318, 0, 71, 318, 0, 71, 290, 0, 71,
550 0, 314, 289, 0, 314, 289, 318, 0, 319, 0,
551 94, 318, 110, 0, 91, 0, 319, 94, 373, 110,
552 289, 385, 0, 319, 48, 289, 385, 0, 319, 95,
553 292, 113, 0, 319, 95, 113, 0, 94, 374, 110,
554 289, 385, 0, 194, 289, 385, 0, 215, 289, 385,
555 0, 95, 292, 113, 0, 95, 113, 0, 335, 0,
556 321, 0, 320, 335, 0, 320, 321, 0, 1, 61,
557 0, 0, 0, 0, 325, 0, 326, 0, 325, 326,
558 0, 34, 243, 61, 0, 328, 0, 1, 328, 0,
559 0, 59, 329, 322, 186, 323, 0, 0, 0, 15,
560 331, 322, 182, 332, 333, 0, 328, 0, 0, 322,
561 334, 336, 323, 0, 328, 0, 336, 0, 213, 0,
562 180, 61, 0, 0, 0, 330, 16, 337, 333, 338,
563 323, 0, 330, 0, 0, 0, 17, 339, 322, 182,
564 340, 187, 323, 0, 0, 0, 18, 341, 333, 17,
565 342, 181, 61, 0, 0, 0, 0, 0, 19, 343,
566 94, 366, 344, 322, 183, 61, 345, 368, 110, 346,
567 187, 323, 0, 0, 0, 20, 322, 94, 184, 110,
568 347, 333, 348, 323, 0, 0, 21, 196, 63, 349,
569 335, 0, 0, 21, 196, 12, 196, 63, 350, 335,
570 0, 0, 22, 63, 351, 335, 0, 23, 61, 0,
571 24, 61, 0, 25, 61, 0, 25, 180, 61, 0,
572 121, 367, 94, 210, 110, 61, 0, 121, 367, 94,
573 210, 63, 369, 110, 61, 0, 121, 367, 94, 210,
574 63, 369, 63, 369, 110, 61, 0, 121, 367, 94,
575 210, 63, 369, 63, 369, 63, 372, 110, 61, 0,
576 26, 81, 180, 61, 0, 26, 157, 61, 0, 365,
577 335, 0, 365, 111, 0, 61, 0, 355, 0, 0,
578 0, 96, 353, 139, 328, 354, 358, 0, 0, 0,
579 96, 356, 328, 357, 358, 0, 359, 0, 358, 359,
580 0, 0, 0, 0, 97, 360, 322, 364, 361, 328,
581 362, 323, 0, 221, 0, 290, 0, 94, 12, 110,
582 0, 94, 382, 110, 0, 3, 63, 0, 57, 63,
583 0, 4, 63, 0, 5, 63, 0, 368, 61, 0,
584 213, 0, 59, 186, 0, 0, 9, 0, 0, 180,
585 0, 1, 0, 0, 370, 0, 371, 0, 370, 60,
586 371, 0, 11, 94, 180, 110, 0, 11, 0, 372,
587 60, 11, 0, 0, 374, 0, 216, 0, 378, 0,
588 379, 12, 0, 378, 12, 0, 216, 12, 0, 12,
589 0, 98, 0, 378, 98, 0, 216, 98, 0, 378,
590 63, 0, 216, 63, 0, 0, 65, 376, 377, 0,
591 103, 0, 245, 0, 380, 0, 382, 375, 0, 379,
592 381, 0, 379, 384, 0, 379, 384, 65, 245, 0,
593 378, 60, 0, 216, 60, 0, 218, 214, 0, 221,
594 214, 0, 223, 214, 0, 218, 318, 0, 218, 0,
595 220, 299, 0, 382, 0, 382, 375, 0, 380, 0,
596 216, 0, 0, 0, 299, 0, 0, 62, 94, 387,
597 110, 0, 62, 48, 0, 216, 0, 386, 0, 387,
598 60, 386, 0, 0, 81, 289, 388, 0, 71, 289,
599 388, 0, 314, 289, 388, 0, 42, 0, 389, 81,
600 0, 389, 82, 0, 389, 83, 0, 389, 79, 0,
601 389, 80, 0, 389, 71, 0, 389, 69, 0, 389,
602 70, 0, 389, 89, 0, 389, 60, 0, 389, 74,
603 0, 389, 75, 0, 389, 76, 0, 389, 73, 0,
604 389, 64, 0, 389, 65, 0, 389, 77, 0, 389,
605 78, 0, 389, 87, 0, 389, 88, 0, 389, 68,
606 0, 389, 67, 0, 389, 112, 0, 389, 66, 63,
607 0, 389, 72, 0, 389, 92, 0, 389, 84, 0,
608 389, 48, 0, 389, 95, 113, 0, 389, 40, 0,
609 389, 39, 0, 389, 40, 95, 113, 0, 389, 39,
610 95, 113, 0, 389, 363, 388, 0, 389, 1, 0
616 static const short yyrline
[] = { 0,
617 317, 319, 333, 336, 337, 341, 343, 346, 351, 355,
618 361, 363, 366, 369, 373, 376, 378, 380, 383, 385,
619 388, 391, 393, 395, 397, 399, 401, 403, 409, 413,
620 416, 418, 422, 424, 425, 427, 431, 434, 440, 443,
621 445, 450, 453, 457, 460, 463, 475, 479, 497, 507,
622 509, 511, 513, 515, 530, 539, 549, 552, 554, 558,
623 560, 561, 568, 569, 570, 573, 576, 580, 582, 583,
624 586, 588, 591, 594, 596, 600, 610, 612, 622, 631,
625 633, 643, 652, 654, 664, 673, 675, 687, 695, 702,
626 707, 714, 721, 724, 726, 728, 734, 744, 746, 749,
627 752, 754, 757, 759, 763, 772, 775, 777, 781, 794,
628 814, 817, 819, 820, 823, 830, 836, 838, 840, 842,
629 844, 847, 852, 854, 855, 856, 857, 860, 862, 863,
630 866, 868, 869, 872, 877, 877, 881, 881, 884, 884,
631 887, 887, 891, 891, 896, 896, 899, 899, 902, 904,
632 907, 914, 921, 927, 930, 939, 941, 949, 952, 955,
633 958, 962, 965, 968, 971, 974, 977, 979, 981, 983,
634 987, 990, 993, 998, 1002, 1007, 1011, 1014, 1016, 1020,
635 1040, 1047, 1050, 1052, 1053, 1054, 1057, 1068, 1077, 1081,
636 1085, 1088, 1090, 1094, 1097, 1100, 1104, 1107, 1109, 1111,
637 1113, 1120, 1133, 1135, 1137, 1139, 1145, 1148, 1151, 1154,
638 1157, 1161, 1164, 1167, 1171, 1173, 1177, 1181, 1183, 1187,
639 1190, 1197, 1200, 1202, 1210, 1219, 1225, 1232, 1234, 1236,
640 1249, 1252, 1254, 1256, 1258, 1260, 1262, 1264, 1266, 1268,
641 1270, 1272, 1274, 1276, 1278, 1280, 1282, 1284, 1286, 1288,
642 1290, 1292, 1296, 1298, 1300, 1317, 1320, 1321, 1322, 1323,
643 1324, 1327, 1330, 1333, 1337, 1340, 1342, 1347, 1349, 1350,
644 1353, 1355, 1357, 1359, 1363, 1366, 1370, 1372, 1373, 1374,
645 1378, 1400, 1401, 1402, 1410, 1418, 1426, 1428, 1436, 1457,
646 1464, 1471, 1473, 1482, 1487, 1510, 1554, 1555, 1559, 1563,
647 1567, 1571, 1573, 1577, 1579, 1587, 1589, 1594, 1600, 1604,
648 1609, 1614, 1616, 1621, 1636, 1651, 1662, 1674, 1682, 1691,
649 1735, 1738, 1742, 1745, 1749, 1752, 1757, 1759, 1763, 1776,
650 1779, 1786, 1793, 1798, 1800, 1805, 1807, 1814, 1816, 1820,
651 1824, 1830, 1834, 1837, 1840, 1843, 1853, 1855, 1858, 1862,
652 1865, 1868, 1871, 1874, 1880, 1886, 1888, 1893, 1895, 1904,
653 1907, 1909, 1912, 1918, 1920, 1930, 1934, 1937, 1940, 1945,
654 1948, 1956, 1958, 1960, 1962, 1965, 1968, 1983, 2002, 2005,
655 2007, 2010, 2012, 2015, 2017, 2020, 2022, 2025, 2028, 2032,
656 2051, 2053, 2073, 2079, 2080, 2086, 2095, 2097, 2107, 2116,
657 2118, 2130, 2133, 2137, 2140, 2144, 2149, 2152, 2156, 2159,
658 2161, 2163, 2165, 2172, 2174, 2175, 2176, 2180, 2183, 2187,
659 2190, 2196, 2198, 2201, 2204, 2207, 2213, 2216, 2219, 2221,
660 2223, 2225, 2229, 2235, 2243, 2245, 2249, 2251, 2256, 2259,
661 2262, 2264, 2266, 2270, 2274, 2279, 2283, 2286, 2291, 2295,
662 2298, 2301, 2305, 2341, 2347, 2356, 2376, 2378, 2381, 2383,
663 2388, 2390, 2392, 2394, 2396, 2400, 2405, 2410, 2416, 2421,
664 2426, 2428, 2432, 2437, 2440, 2447, 2475, 2481, 2483, 2486,
665 2489, 2491, 2495, 2497, 2501, 2527, 2556, 2559, 2560, 2581,
666 2604, 2606, 2610, 2636, 2645, 2734, 2741, 2744, 2752, 2763,
667 2772, 2776, 2791, 2794, 2799, 2801, 2803, 2805, 2807, 2809,
668 2814, 2820, 2822, 2825, 2828, 2830, 2841, 2846, 2849, 2851,
669 2856, 2859, 2860, 2871, 2874, 2875, 2886, 2888, 2891, 2893,
670 2896, 2903, 2911, 2918, 2924, 2930, 2938, 2942, 2947, 2951,
671 2954, 2963, 2965, 2969, 2972, 2977, 2981, 2986, 2996, 2999,
672 3003, 3007, 3015, 3020, 3026, 3029, 3031, 3033, 3039, 3042,
673 3044, 3046, 3048, 3052, 3055, 3076, 3086, 3088, 3089, 3093,
674 3098, 3101, 3103, 3105, 3107, 3111, 3117, 3120, 3122, 3124,
675 3126, 3130, 3133, 3136, 3138, 3140, 3142, 3146, 3149, 3152,
676 3154, 3156, 3158, 3165, 3176, 3180, 3185, 3189, 3194, 3196,
677 3200, 3203, 3205, 3209, 3211, 3212, 3215, 3217, 3223, 3238,
678 3244, 3250, 3264, 3266, 3270, 3286, 3292, 3307, 3314, 3320,
679 3322, 3323, 3324, 3332, 3341, 3342, 3346, 3349, 3355, 3361,
680 3364, 3366, 3368, 3370, 3374, 3378, 3382, 3385, 3390, 3393,
681 3395, 3397, 3399, 3401, 3403, 3405, 3407, 3411, 3415, 3419,
682 3423, 3424, 3426, 3428, 3430, 3432, 3434, 3436, 3438, 3440,
683 3448, 3450, 3451, 3452, 3455, 3463, 3468, 3475, 3477, 3482,
684 3484, 3487, 3501, 3504, 3507, 3516, 3528, 3539, 3559, 3569,
685 3572, 3580, 3592, 3595, 3598, 3601, 3617, 3620, 3631, 3632,
686 3636, 3651, 3670, 3682, 3696, 3710, 3723, 3742, 3760, 3779,
687 3787, 3808, 3826, 3839, 3840, 3843, 3843, 3846, 3846, 3849,
688 3849, 3855, 3861, 3864, 3869, 3876, 3885, 3894, 3903, 3911,
689 3924, 3926, 3930, 3932, 3935, 3942, 3945, 3953, 3969, 3980,
690 3992, 3994, 3997, 4007, 4017, 4028, 4030, 4032, 4035, 4052,
691 4058, 4066, 4068, 4070, 4074, 4077, 4078, 4086, 4090, 4094,
692 4097, 4098, 4104, 4107, 4110, 4112, 4116, 4121, 4124, 4134,
693 4139, 4140, 4148, 4154, 4159, 4163, 4168, 4172, 4176, 4180,
694 4185, 4196, 4210, 4214, 4217, 4219, 4223, 4227, 4230, 4233,
695 4235, 4239, 4241, 4248, 4255, 4258, 4261, 4265, 4269, 4275,
696 4279, 4284, 4286, 4289, 4294, 4300, 4311, 4314, 4316, 4320,
697 4325, 4327, 4334, 4337, 4339, 4341, 4347, 4352, 4355, 4357,
698 4359, 4361, 4363, 4365, 4367, 4369, 4371, 4373, 4375, 4377,
699 4379, 4381, 4383, 4385, 4387, 4389, 4391, 4393, 4395, 4397,
700 4399, 4401, 4403, 4405, 4407, 4409, 4411, 4413, 4415, 4417,
706 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
708 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
709 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
710 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
711 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
712 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
713 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
714 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
715 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
716 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
717 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
718 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
719 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
720 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
721 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
722 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
723 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
724 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
725 "@5","template_parm_list","maybe_identifier","template_type_parm","template_template_parm",
726 "template_parm","template_def","datadef","ctor_initializer_opt","maybe_return_init",
727 "eat_saved_input","fndef","constructor_declarator","@6","@7","@8","@9","fn.def1",
728 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
729 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
730 "identifier_defn","explicit_instantiation","@10","@11","@12","@13","@14","@15",
731 "@16","@17","begin_explicit_instantiation","end_explicit_instantiation","template_type",
732 "self_template_type","template_close_bracket","template_arg_list_opt","template_arg_list",
733 "template_arg","@18","template_arg1","unop","expr","paren_expr_or_null","paren_cond_or_null",
734 "xcond","condition","@19","compstmtend","already_scoped_stmt","@20","nontrivial_exprlist",
735 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
736 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
737 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
738 "primary","@21","new","delete","boolean.literal","string","nodecls","object",
739 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
740 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
741 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
742 "initdcl0","@22","initdcl","@23","notype_initdcl0","@24","nomods_initdcl0","@25",
743 "maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
744 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
745 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
746 "@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
747 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
748 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
749 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
750 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
751 "component_decl_1","components","notype_components","component_declarator0",
752 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
753 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
754 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
755 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
756 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
757 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
758 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
759 "typename_sub","typename_sub0","typename_sub1","typename_sub2","complex_type_name",
760 "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
761 "direct_abstract_declarator","stmts","errstmt",".pushlevel",".poplevel","maybe_label_decls",
762 "label_decls","label_decl","compstmt_or_error","compstmt","@30","simple_if",
763 "@31","@32","implicitly_scoped_stmt","@33","stmt","simple_stmt","@34","@35",
764 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48",
765 "function_try_block","@49","@50","try_block","@51","@52","handler_seq","handler",
766 "@53","@54","@55","type_specifier_seq","handler_args","label_colon","for.init.statement",
767 "maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
768 "asm_clobbers","parmlist","complex_parmlist","defarg","@56","defarg1","parms",
769 "parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
770 "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
771 "operator_name", NULL
775 static const short yyr1
[] = { 0,
776 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
777 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
778 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
779 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
780 130, 132, 132, 133, 133, 134, 134, 135, 136, 136,
781 136, 136, 136, 136, 137, 137, 138, 138, 138, 138,
782 138, 138, 138, 138, 138, 139, 139, 140, 140, 140,
783 141, 141, 142, 142, 142, 144, 143, 143, 145, 143,
784 143, 146, 143, 143, 147, 143, 143, 148, 148, 148,
785 148, 148, 149, 149, 149, 149, 150, 150, 150, 150,
786 150, 150, 150, 150, 151, 152, 152, 152, 153, 154,
787 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
788 156, 156, 157, 157, 157, 157, 157, 158, 158, 158,
789 159, 159, 159, 161, 160, 162, 160, 163, 160, 164,
790 160, 165, 160, 166, 160, 167, 160, 168, 160, 169,
791 170, 171, 171, 171, 172, 173, 173, 174, 174, 175,
792 175, 177, 176, 178, 178, 179, 179, 179, 179, 179,
793 180, 180, 181, 181, 182, 182, 183, 183, 183, 185,
794 184, 184, 186, 186, 186, 186, 188, 187, 187, 189,
795 189, 189, 189, 190, 190, 191, 191, 191, 191, 191,
796 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
797 191, 191, 191, 191, 191, 191, 191, 191, 191, 192,
798 192, 193, 193, 193, 193, 194, 194, 195, 195, 195,
799 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
800 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
801 196, 196, 196, 196, 196, 197, 197, 197, 197, 197,
802 197, 198, 199, 199, 200, 200, 200, 201, 201, 201,
803 202, 202, 202, 202, 203, 203, 204, 204, 204, 204,
804 205, 205, 205, 205, 205, 205, 205, 206, 205, 205,
805 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
806 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
807 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
808 207, 207, 208, 208, 209, 209, 210, 210, 211, 212,
809 212, 213, 213, 213, 213, 213, 213, 214, 214, 215,
810 215, 216, 216, 216, 216, 216, 217, 217, 218, 218,
811 218, 218, 218, 218, 219, 219, 219, 219, 219, 220,
812 220, 220, 220, 220, 220, 221, 221, 221, 221, 222,
813 222, 223, 223, 223, 223, 223, 223, 223, 224, 224,
814 224, 225, 225, 226, 226, 227, 227, 228, 228, 230,
815 229, 229, 232, 231, 231, 234, 233, 233, 236, 235,
816 235, 237, 237, 238, 238, 239, 240, 240, 241, 241,
817 241, 241, 241, 242, 242, 242, 242, 243, 243, 244,
818 244, 245, 245, 245, 245, 245, 246, 246, 246, 246,
819 246, 246, 247, 248, 248, 248, 249, 249, 250, 250,
820 251, 251, 251, 253, 252, 252, 254, 252, 252, 252,
821 252, 252, 255, 256, 252, 252, 257, 257, 258, 258,
822 259, 259, 259, 259, 259, 260, 261, 262, 262, 262,
823 262, 262, 263, 264, 264, 264, 265, 266, 266, 267,
824 267, 267, 268, 268, 269, 269, 270, 270, 270, 270,
825 271, 271, 271, 271, 272, 273, 274, 274, 274, 274,
826 275, 275, 276, 276, 276, 276, 276, 276, 276, 276,
827 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
828 278, 278, 278, 279, 279, 279, 280, 280, 281, 281,
829 282, 282, 283, 283, 283, 283, 284, 284, 285, 285,
830 285, 286, 286, 287, 287, 288, 288, 288, 289, 289,
831 290, 290, 291, 292, 293, 293, 293, 293, 294, 294,
832 294, 294, 294, 294, 295, 295, 296, 296, 296, 297,
833 298, 298, 298, 298, 298, 298, 299, 299, 299, 299,
834 299, 299, 300, 300, 300, 300, 300, 300, 301, 301,
835 301, 301, 301, 301, 302, 302, 303, 303, 304, 304,
836 305, 305, 305, 306, 306, 306, 307, 307, 308, 308,
837 308, 308, 309, 309, 310, 311, 311, 312, 312, 312,
838 312, 312, 312, 313, 313, 313, 314, 314, 315, 316,
839 316, 316, 316, 316, 316, 316, 317, 317, 318, 318,
840 318, 318, 318, 318, 318, 318, 318, 318, 318, 319,
841 319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
842 320, 320, 320, 320, 321, 322, 323, 324, 324, 325,
843 325, 326, 327, 327, 329, 328, 331, 332, 330, 333,
844 334, 333, 335, 335, 336, 336, 337, 338, 336, 336,
845 339, 340, 336, 341, 342, 336, 343, 344, 345, 346,
846 336, 347, 348, 336, 349, 336, 350, 336, 351, 336,
847 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
848 336, 336, 336, 336, 353, 354, 352, 356, 357, 355,
849 358, 358, 360, 361, 362, 359, 363, 363, 364, 364,
850 365, 365, 365, 365, 366, 366, 366, 367, 367, 368,
851 368, 368, 369, 369, 370, 370, 371, 372, 372, 373,
852 373, 373, 374, 374, 374, 374, 374, 374, 374, 374,
853 374, 374, 376, 375, 377, 377, 378, 378, 378, 378,
854 378, 379, 379, 380, 380, 380, 380, 380, 380, 381,
855 381, 382, 382, 383, 384, 384, 385, 385, 385, 386,
856 387, 387, 388, 388, 388, 388, 389, 390, 390, 390,
857 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
858 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
859 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
863 static const short yyr2
[] = { 0,
864 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
865 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
866 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
867 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
868 3, 1, 3, 1, 0, 2, 2, 3, 1, 3,
869 1, 3, 1, 3, 2, 2, 2, 3, 3, 2,
870 2, 2, 2, 2, 1, 1, 1, 0, 1, 2,
871 0, 1, 4, 3, 3, 0, 8, 5, 0, 9,
872 6, 0, 8, 5, 0, 9, 6, 2, 2, 1,
873 2, 1, 6, 4, 6, 4, 2, 1, 2, 2,
874 1, 2, 1, 2, 2, 2, 4, 2, 3, 0,
875 0, 1, 3, 2, 3, 1, 4, 2, 4, 2,
876 4, 2, 1, 1, 1, 1, 1, 1, 1, 1,
877 1, 1, 1, 0, 6, 0, 6, 0, 5, 0,
878 5, 0, 7, 0, 7, 0, 6, 0, 6, 0,
879 0, 4, 4, 1, 4, 1, 1, 0, 1, 1,
880 3, 0, 2, 1, 1, 1, 1, 1, 1, 1,
881 1, 1, 1, 3, 1, 3, 0, 1, 1, 0,
882 7, 1, 1, 3, 4, 3, 0, 3, 1, 3,
883 3, 3, 3, 1, 1, 1, 2, 2, 2, 2,
884 2, 2, 2, 4, 2, 4, 2, 3, 3, 4,
885 4, 5, 5, 6, 2, 4, 5, 2, 2, 3,
886 3, 3, 1, 3, 2, 3, 4, 1, 2, 5,
887 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
888 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
889 5, 3, 3, 1, 2, 3, 1, 1, 1, 1,
890 1, 0, 5, 5, 5, 5, 5, 1, 1, 1,
891 1, 2, 2, 3, 4, 4, 1, 1, 1, 3,
892 1, 1, 1, 1, 3, 3, 3, 0, 4, 4,
893 2, 4, 2, 2, 1, 4, 1, 7, 7, 7,
894 7, 4, 4, 2, 2, 1, 4, 2, 2, 5,
895 3, 2, 2, 5, 3, 5, 3, 4, 6, 2,
896 1, 2, 1, 2, 1, 1, 1, 2, 0, 2,
897 2, 3, 3, 3, 2, 2, 2, 1, 1, 1,
898 2, 2, 2, 2, 1, 1, 1, 1, 2, 2,
899 3, 3, 3, 4, 1, 2, 2, 2, 1, 1,
900 1, 2, 2, 2, 1, 1, 2, 2, 3, 1,
901 2, 1, 1, 1, 4, 4, 4, 4, 1, 1,
902 1, 1, 3, 1, 3, 1, 3, 0, 4, 0,
903 6, 3, 0, 6, 3, 0, 6, 3, 0, 6,
904 3, 0, 1, 1, 2, 6, 1, 3, 0, 1,
905 4, 6, 4, 1, 1, 1, 1, 1, 3, 0,
906 2, 1, 2, 3, 4, 1, 1, 3, 4, 6,
907 3, 5, 1, 4, 3, 3, 0, 3, 3, 3,
908 0, 2, 2, 0, 7, 4, 0, 6, 3, 2,
909 2, 2, 0, 0, 9, 1, 0, 1, 0, 1,
910 1, 2, 2, 2, 2, 2, 2, 3, 4, 3,
911 2, 3, 0, 1, 3, 2, 2, 1, 1, 0,
912 2, 3, 1, 4, 1, 3, 1, 1, 4, 4,
913 2, 2, 3, 3, 1, 0, 1, 2, 4, 3,
914 1, 2, 2, 2, 2, 2, 2, 2, 1, 2,
915 2, 2, 4, 4, 2, 1, 5, 4, 1, 2,
916 0, 1, 3, 0, 1, 3, 1, 1, 1, 1,
917 4, 4, 4, 4, 4, 3, 4, 4, 4, 4,
918 3, 1, 3, 1, 3, 2, 1, 6, 0, 2,
919 1, 2, 0, 2, 4, 4, 2, 4, 3, 3,
920 2, 2, 3, 1, 1, 2, 1, 1, 2, 2,
921 4, 4, 3, 3, 2, 1, 3, 3, 2, 2,
922 3, 1, 3, 3, 2, 2, 3, 1, 4, 3,
923 4, 3, 1, 2, 2, 2, 2, 2, 1, 2,
924 4, 4, 2, 1, 1, 1, 1, 2, 2, 2,
925 2, 2, 1, 2, 2, 1, 2, 2, 2, 2,
926 2, 2, 2, 2, 1, 2, 2, 3, 1, 3,
927 2, 3, 2, 2, 3, 1, 3, 4, 3, 2,
928 2, 1, 3, 2, 2, 1, 2, 3, 1, 3,
929 1, 6, 4, 4, 3, 5, 3, 3, 3, 2,
930 1, 1, 2, 2, 2, 0, 0, 0, 1, 1,
931 2, 3, 1, 2, 0, 5, 0, 0, 6, 1,
932 0, 4, 1, 1, 1, 2, 0, 0, 6, 1,
933 0, 0, 7, 0, 0, 7, 0, 0, 0, 0,
934 14, 0, 0, 9, 0, 5, 0, 7, 0, 4,
935 2, 2, 2, 3, 6, 8, 10, 12, 4, 3,
936 2, 2, 1, 1, 0, 0, 6, 0, 0, 5,
937 1, 2, 0, 0, 0, 8, 1, 1, 3, 3,
938 2, 2, 2, 2, 2, 1, 2, 0, 1, 0,
939 1, 1, 0, 1, 1, 3, 4, 1, 3, 0,
940 1, 1, 1, 2, 2, 2, 1, 1, 2, 2,
941 2, 2, 0, 3, 1, 1, 1, 2, 2, 2,
942 4, 2, 2, 2, 2, 2, 2, 1, 2, 1,
943 2, 1, 1, 0, 0, 1, 0, 4, 2, 1,
944 1, 3, 0, 3, 3, 3, 1, 2, 2, 2,
945 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
946 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
947 3, 2, 2, 2, 2, 3, 2, 2, 4, 4,
951 static const short yydefact
[] = { 3,
952 13, 13, 5, 0, 4, 0, 259, 604, 605, 0,
953 361, 373, 551, 0, 11, 12, 0, 0, 0, 10,
954 461, 807, 0, 0, 0, 150, 629, 260, 261, 65,
955 0, 0, 794, 0, 37, 0, 0, 14, 0, 8,
956 0, 17, 16, 71, 92, 68, 0, 606, 154, 278,
957 257, 279, 582, 0, 348, 0, 347, 366, 0, 386,
958 365, 404, 372, 0, 474, 473, 480, 479, 478, 456,
959 360, 567, 374, 568, 90, 277, 593, 565, 0, 607,
960 549, 0, 0, 258, 63, 64, 162, 609, 162, 610,
961 162, 262, 150, 123, 124, 125, 126, 127, 447, 450,
962 0, 625, 0, 451, 0, 0, 0, 0, 124, 125,
963 126, 127, 24, 0, 0, 0, 0, 0, 0, 0,
964 452, 613, 0, 616, 0, 0, 0, 0, 0, 0,
965 30, 0, 0, 39, 0, 162, 611, 162, 0, 580,
966 0, 0, 0, 579, 0, 0, 0, 0, 278, 0,
967 553, 0, 277, 549, 29, 0, 27, 3, 38, 0,
968 56, 55, 72, 15, 0, 0, 420, 69, 61, 612,
969 553, 0, 549, 62, 0, 0, 0, 88, 0, 382,
970 338, 564, 339, 576, 0, 549, 363, 362, 60, 91,
971 349, 0, 384, 364, 89, 355, 379, 380, 350, 368,
972 370, 359, 381, 0, 57, 405, 462, 463, 464, 465,
973 477, 132, 131, 133, 466, 467, 471, 0, 0, 480,
974 794, 476, 495, 496, 552, 367, 0, 0, 402, 605,
975 0, 627, 154, 597, 598, 594, 570, 608, 0, 569,
976 566, 0, 842, 838, 837, 835, 817, 822, 823, 0,
977 829, 828, 814, 815, 813, 832, 821, 818, 819, 820,
978 824, 825, 811, 812, 808, 809, 810, 834, 826, 827,
979 816, 833, 0, 830, 737, 366, 738, 803, 262, 0,
980 159, 160, 0, 0, 0, 162, 0, 449, 0, 444,
981 626, 624, 259, 551, 282, 327, 0, 0, 0, 0,
982 323, 321, 295, 325, 326, 0, 0, 0, 0, 0,
983 261, 254, 0, 0, 167, 166, 0, 168, 169, 0,
984 0, 170, 0, 0, 0, 171, 228, 0, 231, 172,
985 281, 196, 0, 0, 283, 284, 0, 0, 345, 366,
986 346, 599, 306, 297, 0, 0, 0, 0, 409, 3,
987 22, 0, 622, 618, 619, 621, 623, 620, 123, 124,
988 125, 126, 127, 615, 617, 614, 269, 270, 0, 268,
989 33, 34, 0, 596, 595, 32, 31, 41, 0, 361,
990 140, 0, 0, 366, 138, 0, 0, 578, 0, 577,
991 256, 273, 0, 586, 272, 0, 585, 0, 280, 590,
992 0, 0, 13, 0, 150, 9, 9, 105, 75, 110,
993 725, 0, 67, 66, 74, 108, 0, 0, 106, 70,
994 592, 0, 0, 557, 0, 797, 0, 562, 0, 561,
995 0, 0, 0, 0, 549, 402, 0, 59, 553, 549,
996 575, 0, 352, 353, 0, 58, 402, 357, 356, 358,
997 351, 371, 388, 387, 468, 472, 470, 0, 475, 481,
998 0, 0, 369, 0, 401, 403, 549, 76, 0, 0,
999 0, 549, 82, 550, 581, 605, 628, 154, 0, 0,
1000 831, 836, 368, 549, 549, 0, 549, 841, 162, 156,
1001 157, 275, 162, 163, 165, 164, 153, 155, 0, 148,
1002 0, 366, 146, 544, 459, 542, 446, 0, 0, 0,
1003 0, 203, 0, 0, 205, 218, 219, 0, 0, 0,
1004 0, 0, 255, 202, 199, 198, 200, 0, 0, 0,
1005 0, 0, 281, 0, 0, 0, 197, 201, 375, 0,
1006 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
1007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1008 0, 0, 0, 0, 0, 0, 291, 293, 294, 331,
1009 330, 0, 0, 0, 0, 0, 207, 547, 0, 215,
1010 328, 320, 0, 794, 309, 312, 313, 0, 0, 376,
1011 340, 646, 642, 651, 0, 553, 549, 549, 549, 342,
1012 649, 0, 603, 344, 0, 0, 343, 308, 0, 304,
1013 322, 324, 600, 0, 305, 377, 378, 415, 416, 417,
1014 414, 0, 407, 410, 0, 3, 0, 28, 36, 35,
1015 45, 0, 0, 0, 49, 53, 42, 793, 788, 0,
1016 345, 366, 45, 346, 792, 51, 151, 136, 134, 151,
1017 152, 276, 584, 583, 280, 587, 0, 19, 21, 71,
1018 111, 329, 0, 675, 73, 673, 426, 0, 422, 421,
1019 195, 0, 194, 554, 591, 0, 767, 768, 0, 762,
1020 366, 0, 761, 763, 795, 777, 0, 0, 589, 560,
1021 559, 0, 0, 574, 0, 392, 383, 573, 0, 797,
1022 563, 354, 385, 398, 402, 469, 604, 605, 794, 0,
1023 794, 606, 482, 483, 485, 794, 488, 487, 0, 516,
1024 605, 0, 509, 0, 0, 519, 0, 103, 98, 0,
1025 154, 521, 524, 0, 501, 0, 101, 0, 402, 0,
1026 399, 797, 760, 162, 162, 162, 797, 760, 549, 79,
1027 549, 85, 840, 839, 803, 803, 803, 0, 161, 263,
1028 151, 144, 142, 151, 0, 460, 0, 459, 0, 0,
1029 0, 603, 0, 0, 0, 0, 366, 0, 0, 0,
1030 287, 0, 285, 286, 0, 226, 193, 192, 259, 604,
1031 605, 260, 261, 0, 0, 427, 457, 0, 191, 190,
1032 253, 252, 752, 751, 0, 250, 249, 247, 248, 246,
1033 245, 244, 241, 242, 243, 239, 240, 234, 235, 236,
1034 237, 238, 232, 233, 0, 0, 0, 0, 0, 0,
1035 209, 223, 0, 0, 208, 549, 549, 0, 549, 546,
1036 636, 0, 0, 0, 0, 311, 0, 315, 0, 317,
1037 0, 645, 644, 641, 640, 793, 0, 0, 660, 0,
1038 0, 797, 341, 797, 647, 549, 760, 553, 646, 642,
1039 0, 0, 549, 0, 0, 0, 0, 0, 409, 0,
1040 0, 25, 0, 26, 47, 44, 45, 0, 40, 0,
1041 0, 646, 642, 0, 784, 549, 787, 789, 0, 785,
1042 786, 46, 466, 0, 141, 151, 151, 139, 18, 20,
1043 128, 116, 129, 130, 0, 109, 112, 0, 0, 0,
1044 0, 674, 666, 423, 0, 107, 558, 555, 766, 783,
1045 772, 770, 0, 556, 765, 782, 771, 769, 764, 796,
1046 779, 790, 780, 773, 778, 799, 0, 390, 572, 571,
1047 396, 395, 492, 0, 491, 794, 794, 794, 0, 549,
1048 760, 515, 510, 104, 520, 402, 402, 507, 508, 505,
1049 506, 549, 760, 259, 604, 0, 388, 99, 511, 522,
1050 527, 528, 388, 388, 0, 0, 388, 97, 512, 525,
1051 388, 502, 503, 504, 402, 0, 453, 389, 0, 78,
1052 0, 0, 0, 0, 84, 0, 797, 760, 797, 760,
1053 805, 804, 806, 264, 149, 151, 151, 147, 545, 543,
1054 448, 0, 296, 204, 206, 302, 303, 0, 0, 0,
1055 0, 286, 289, 0, 0, 0, 0, 227, 0, 290,
1056 292, 221, 220, 211, 0, 210, 225, 0, 0, 633,
1057 631, 0, 634, 553, 216, 0, 0, 318, 0, 0,
1058 0, 643, 639, 650, 549, 659, 657, 658, 648, 797,
1059 0, 655, 0, 601, 602, 0, 307, 408, 406, 259,
1060 0, 23, 48, 43, 50, 54, 645, 641, 646, 642,
1061 0, 565, 0, 549, 647, 52, 137, 135, 0, 114,
1062 0, 118, 0, 120, 0, 122, 0, 726, 668, 0,
1063 424, 646, 642, 0, 281, 0, 599, 791, 0, 0,
1064 800, 801, 0, 0, 0, 393, 0, 0, 0, 494,
1065 493, 486, 797, 0, 420, 420, 797, 0, 0, 0,
1066 402, 402, 0, 402, 402, 0, 402, 0, 420, 0,
1067 441, 400, 549, 266, 265, 267, 549, 81, 0, 87,
1068 0, 145, 143, 445, 0, 0, 0, 0, 0, 431,
1069 0, 0, 428, 230, 251, 0, 212, 213, 222, 224,
1070 632, 630, 637, 635, 0, 217, 0, 310, 314, 316,
1071 797, 653, 549, 654, 0, 411, 413, 645, 641, 570,
1072 647, 115, 113, 0, 0, 0, 0, 0, 183, 667,
1073 0, 669, 670, 425, 0, 602, 781, 775, 776, 774,
1074 0, 798, 391, 397, 0, 489, 490, 484, 94, 549,
1075 514, 518, 96, 549, 402, 402, 536, 420, 259, 604,
1076 0, 523, 529, 530, 388, 388, 420, 420, 0, 420,
1077 526, 513, 0, 797, 797, 549, 549, 0, 0, 0,
1078 0, 429, 0, 0, 0, 214, 638, 319, 656, 797,
1079 0, 117, 119, 121, 733, 727, 731, 418, 0, 676,
1080 0, 259, 604, 605, 677, 691, 694, 697, 666, 0,
1081 0, 0, 0, 0, 0, 260, 723, 728, 0, 748,
1082 0, 685, 0, 0, 366, 0, 662, 683, 690, 661,
1083 684, 724, 0, 671, 286, 802, 394, 797, 797, 535,
1084 532, 534, 0, 0, 402, 402, 402, 531, 533, 517,
1085 443, 0, 442, 437, 77, 83, 797, 797, 298, 299,
1086 300, 301, 0, 432, 548, 652, 412, 666, 732, 0,
1087 672, 665, 186, 741, 743, 744, 666, 666, 666, 0,
1088 0, 0, 709, 711, 712, 713, 0, 0, 0, 742,
1089 0, 337, 749, 0, 686, 335, 388, 0, 336, 0,
1090 388, 0, 0, 0, 184, 664, 663, 687, 722, 721,
1091 93, 95, 402, 402, 541, 420, 420, 0, 0, 455,
1092 80, 86, 430, 0, 419, 0, 0, 681, 680, 0,
1093 0, 0, 0, 705, 0, 714, 0, 720, 729, 0,
1094 333, 334, 0, 0, 0, 332, 185, 666, 540, 538,
1095 537, 539, 440, 439, 433, 68, 71, 0, 734, 175,
1096 0, 678, 692, 0, 695, 668, 746, 698, 0, 182,
1097 0, 366, 0, 0, 0, 710, 719, 0, 0, 688,
1098 0, 438, 0, 0, 0, 0, 666, 0, 667, 0,
1099 747, 666, 745, 702, 388, 707, 706, 730, 753, 0,
1100 667, 436, 0, 435, 739, 740, 735, 176, 679, 187,
1101 667, 189, 682, 173, 0, 0, 0, 666, 402, 0,
1102 0, 0, 754, 755, 715, 689, 434, 667, 668, 693,
1103 0, 696, 179, 0, 178, 703, 0, 708, 0, 753,
1104 0, 0, 736, 188, 174, 699, 667, 180, 0, 0,
1105 716, 756, 0, 704, 0, 757, 0, 0, 0, 181,
1106 758, 0, 717, 700, 0, 0, 0, 759, 718, 667,
1110 static const short yydefgoto
[] = { 1552,
1111 403, 2, 404, 160, 659, 323, 228, 3, 4, 38,
1112 626, 350, 726, 369, 40, 727, 379, 634, 885, 635,
1113 636, 637, 42, 43, 412, 166, 164, 44, 728, 743,
1114 1008, 748, 1010, 46, 729, 730, 167, 168, 413, 661,
1115 916, 917, 504, 918, 216, 47, 907, 906, 650, 647,
1116 1017, 1016, 764, 761, 135, 905, 48, 49, 492, 280,
1117 281, 282, 283, 494, 324, 1301, 1496, 1442, 1514, 1451,
1118 1535, 1210, 1491, 1509, 326, 872, 327, 576, 835, 328,
1119 329, 330, 331, 286, 51, 235, 371, 392, 52, 53,
1120 332, 535, 333, 334, 335, 336, 414, 337, 1302, 453,
1121 598, 680, 1303, 55, 199, 640, 57, 200, 513, 201,
1122 179, 192, 59, 436, 180, 1124, 454, 1225, 193, 1125,
1123 60, 999, 465, 61, 62, 622, 623, 624, 1279, 419,
1124 796, 797, 1436, 1437, 1400, 1333, 1253, 63, 508, 289,
1125 1151, 1334, 1037, 767, 64, 65, 66, 67, 220, 68,
1126 69, 70, 222, 713, 714, 715, 716, 224, 461, 462,
1127 734, 735, 736, 979, 989, 980, 1242, 981, 982, 1243,
1128 1244, 505, 506, 577, 862, 71, 422, 423, 173, 181,
1129 72, 73, 74, 182, 183, 152, 76, 131, 342, 343,
1130 344, 78, 345, 80, 718, 122, 123, 124, 104, 81,
1131 346, 840, 841, 857, 601, 1306, 1307, 1408, 1280, 1211,
1132 1212, 1213, 665, 1308, 923, 1309, 1357, 1467, 1410, 1444,
1133 1310, 1311, 1428, 1481, 1358, 1468, 1359, 1470, 1360, 1472,
1134 1533, 1547, 1498, 1527, 1455, 1500, 1415, 415, 662, 1207,
1135 1312, 1371, 1458, 1276, 1277, 1348, 1465, 1508, 1453, 1439,
1136 1313, 1448, 1374, 805, 1502, 1503, 1504, 1542, 682, 683,
1137 945, 1120, 1220, 684, 685, 686, 941, 687, 145, 943,
1138 689, 1122, 1123, 488, 83, 84
1141 static const short yypact
[] = { 101,
1142 116,-32768,-32768, 10331,-32768, 78, 44, 121, 289, 82,
1143 145,-32768,-32768, 848,-32768,-32768, 103, 168, 182,-32768,
1144 -32768,-32768, 691, 559, 966, 209,-32768, 216, 479,-32768,
1145 2358, 2358,-32768, 2401,-32768, 10331, 215,-32768, 292, 14,
1146 10390,-32768,-32768, 236,-32768, 331, 319, 328,-32768,-32768,
1147 -32768,-32768, 345, 2831,-32768, 3110,-32768, 1750, 408,-32768,
1148 388,-32768,-32768, 1130,-32768,-32768, 378,-32768,-32768, 406,
1149 4170,-32768,-32768,-32768, 804,-32768,-32768,-32768, 792,-32768,
1150 -32768, 327, 7871, 360,-32768,-32768, 699,-32768, 699,-32768,
1151 699,-32768,-32768,-32768, 121, 289, 216, 428, 424, 497,
1152 328,-32768, 327,-32768, 327, 9299, 9299, 484,-32768,-32768,
1153 -32768,-32768,-32768, 15, 528, 605, 629, 713, 544, 558,
1154 -32768,-32768, 695,-32768, 855, 121, 289, 620, 216, 428,
1155 -32768, 2602, 1004, 555, 10494, 699,-32768,-32768, 2859,-32768,
1156 1470, 414, 2859,-32768, 1270, 3454, 3454, 2401, 557, 561,
1157 591, 583, 587,-32768,-32768, 692,-32768, 601,-32768, 4252,
1158 78,-32768,-32768,-32768, 716, 84, 295, 682,-32768,-32768,
1159 674, 61,-32768,-32768, 3511, 3511, 5038, 804, 490,-32768,
1160 -32768, 356,-32768,-32768, 2290,-32768,-32768,-32768,-32768,-32768,
1161 1750, 655,-32768, 388, 804,-32768,-32768,-32768, 2002, 1750,
1162 -32768, 388,-32768, 5148,-32768,-32768,-32768,-32768,-32768,-32768,
1163 -32768,-32768,-32768,-32768,-32768,-32768, 328, 1368, 1368, 378,
1164 -32768,-32768,-32768,-32768,-32768, 886, 327, 662, 388, 521,
1165 1578,-32768, 232,-32768,-32768,-32768,-32768,-32768, 3621,-32768,
1166 -32768, 398,-32768, 717, 725,-32768,-32768,-32768,-32768, 731,
1167 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1168 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1169 -32768,-32768, 730,-32768,-32768, 886, 4170, 1222,-32768, 737,
1170 769,-32768, 9299, 737, 737, 699, 10494,-32768, 1270, 744,
1171 -32768,-32768,-32768, 754,-32768,-32768, 9914, 10001, 10088, 10088,
1172 -32768,-32768,-32768,-32768,-32768, 772, 793, 797, 799, 801,
1173 428, 9386, 1270, 10088,-32768,-32768, 10088,-32768,-32768, 10088,
1174 7343,-32768, 10088, 10088, 768, 829,-32768, 9473,-32768, 10649,
1175 -32768, 453, 1785, 9560,-32768, 887, 2644, 794, 2796, 1926,
1176 5618,-32768, 364,-32768, 2939, 1518, 798, 806, 1734, 601,
1177 -32768, 620,-32768,-32768,-32768,-32768,-32768,-32768, 528, 605,
1178 629, 713, 544,-32768,-32768,-32768, 121, 289, 865,-32768,
1179 -32768,-32768, 1004,-32768,-32768,-32768,-32768,-32768, 5209,-32768,
1180 -32768, 5148, 5386, 1941,-32768, 737, 912,-32768, 442,-32768,
1181 -32768,-32768, 2859,-32768,-32768, 2859,-32768, 820,-32768,-32768,
1182 3621, 57, 823, 828,-32768,-32768,-32768,-32768,-32768,-32768,
1183 -32768, 77,-32768,-32768,-32768,-32768, 7435, 9386,-32768,-32768,
1184 -32768, 9386, 796,-32768, 6763, 104, 3685,-32768, 3685,-32768,
1185 3904, 3904, 5038, 831,-32768, 388, 5148,-32768, 834,-32768,
1186 -32768, 4096, 2002, 1750, 5148,-32768, 388,-32768,-32768, 388,
1187 2002,-32768, 733,-32768,-32768, 328,-32768, 1368,-32768, 2037,
1188 3361, 37, 886, 692, 852, 388,-32768,-32768, 869, 880,
1189 893,-32768,-32768,-32768,-32768, 670,-32768, 376, 862, 866,
1190 -32768,-32768, 886,-32768,-32768, 500,-32768,-32768, 699,-32768,
1191 -32768,-32768,-32768,-32768, 10545,-32768,-32768,-32768, 737,-32768,
1192 5148, 2125,-32768, 896, 918,-32768,-32768, 1270, 9386, 754,
1193 7343,-32768, 386, 7343,-32768,-32768,-32768, 9299, 5129, 5129,
1194 5129, 5129, 10717,-32768,-32768,-32768,-32768, 870, 10175, 10175,
1195 7343, 877, 557, 879, 932, 883,-32768,-32768,-32768, 7964,
1196 7152, 7343,-32768, 8056, 9386, 9386, 7527, 9386, 9386, 9386,
1197 9386, 9386, 9386, 9386, 9386, 9386, 9386, 9386, 9386, 9386,
1198 9386, 9386, 9386, 9386, 9386, 9386,-32768,-32768,-32768,-32768,
1199 -32768, 9386, 9386, 9386, 9299, 2243, 302, 766, 8235,-32768,
1200 -32768,-32768, 939, 992, 396, 436, 445, 2995, 414,-32768,
1201 -32768, 1530, 1530,-32768, 1717, 888, 908, 964,-32768,-32768,
1202 465, 8742, 1604,-32768, 548, 327,-32768,-32768, 9386,-32768,
1203 -32768,-32768,-32768, 284,-32768,-32768,-32768,-32768,-32768,-32768,
1204 -32768, 31,-32768, 922, 906, 601, 957,-32768,-32768,-32768,
1205 650, 209, 982, 346, 963, 965,-32768,-32768, 2187, 10550,
1206 2187, 3219, 1130, 4466,-32768, 973,-32768,-32768,-32768,-32768,
1207 -32768,-32768,-32768,-32768, 919,-32768, 961,-32768,-32768, 236,
1208 563, 977, 932,-32768,-32768,-32768,-32768, 6873, 10717,-32768,
1209 829, 921, 10649,-32768,-32768, 934,-32768,-32768, 935, 172,
1210 4015, 941,-32768, 192, 5055, 987, 991, 476,-32768,-32768,
1211 -32768, 3685, 3685,-32768, 4096, 993,-32768,-32768, 944, 104,
1212 -32768, 2002,-32768, 994, 388,-32768, 605, 629,-32768, 970,
1213 -32768, 558, 1000,-32768,-32768, 287,-32768,-32768, 1392,-32768,
1214 707, 368,-32768, 9386, 6270,-32768, 2632, 199, 199, 315,
1215 488, 4322, 5814, 4905,-32768, 114, 199, 1010, 388, 71,
1216 -32768, 104, 1333, 699, 699, 699, 104, 1333,-32768,-32768,
1217 -32768,-32768,-32768,-32768, 1045, 1045, 1045, 737,-32768,-32768,
1218 -32768,-32768,-32768,-32768, 9386, 1270, 972, 918, 975, 978,
1219 9653, 964, 988, 989, 995, 1016, 2416, 1021, 1025, 1031,
1220 -32768, 998,-32768,-32768, 1002,-32768,-32768, 10717, 1051, 659,
1221 665, 191, 128, 9386, 1061,-32768, 1065, 1018,-32768, 10717,
1222 10717, 10717,-32768,-32768, 1073, 10735, 8261, 4799, 3709, 5757,
1223 3558, 3889, 3136, 3136, 3136, 1159, 1159, 952, 952, 719,
1224 719, 719,-32768,-32768, 1033, 1028, 1034, 1038, 1040, 5129,
1225 302,-32768, 7435, 9386,-32768,-32768,-32768, 9386,-32768,-32768,
1226 1049, 10088, 1048, 1062, 1105,-32768, 9386,-32768, 9386,-32768,
1227 9386, 3668,-32768, 3668,-32768, 138, 1053, 1055,-32768, 1056,
1228 5129, 104,-32768, 104, 3804,-32768, 1333, 1057, 8934, 8934,
1229 6571, 1058, 9473, 1063, 2499, 1518, 570, 1066, 1734, 1071,
1230 9740,-32768, 1075,-32768,-32768,-32768, 2262, 5209,-32768, 5129,
1231 1109, 1797, 1797, 4709,-32768,-32768,-32768,-32768, 2290,-32768,
1232 -32768,-32768, 815, 9386,-32768,-32768,-32768,-32768,-32768,-32768,
1233 528,-32768, 713, 544, 9386, 1124,-32768, 525, 553, 582,
1234 932,-32768,-32768,-32768, 24,-32768,-32768,-32768,-32768,-32768,
1235 -32768,-32768, 8838,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1236 -32768, 991, 1125,-32768,-32768,-32768, 5129,-32768,-32768,-32768,
1237 -32768, 1137,-32768, 9299,-32768,-32768,-32768,-32768, 1867,-32768,
1238 1333, 10717,-32768,-32768,-32768, 388, 388,-32768,-32768,-32768,
1239 -32768,-32768, 1333, 379, 704, 9386, 733,-32768, 1135,-32768,
1240 -32768,-32768, 610, 783, 792, 414, 1095, 199, 1143,-32768,
1241 1171,-32768,-32768,-32768, 388, 5463,-32768,-32768, 7435,-32768,
1242 1094, 737, 737, 737,-32768, 1096, 104, 1333, 104, 1333,
1243 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 10717,-32768,
1244 -32768, 1098,-32768,-32768,-32768,-32768,-32768, 1111, 1120, 1121,
1245 1126, 919,-32768, 10581, 7435, 6968, 1107,-32768, 9386,-32768,
1246 -32768,-32768,-32768, 367, 1112,-32768,-32768, 1114, 217, 372,
1247 372, 1106, 372,-32768,-32768, 10088, 1221,-32768, 1122, 1123,
1248 1138,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 104,
1249 1139,-32768, 1118,-32768,-32768, 2999,-32768,-32768,-32768, 133,
1250 1140,-32768,-32768,-32768,-32768,-32768, 1899, 1899, 2060, 2060,
1251 4709,-32768, 2290,-32768, 2139, 10545,-32768,-32768, 1141,-32768,
1252 563,-32768, 9386,-32768, 9386,-32768, 9386,-32768, 26, 7060,
1253 -32768, 9027, 9027, 6667, 203, 1142, 220,-32768, 7435, 7247,
1254 -32768,-32768, 135, 7435, 7435,-32768, 1149, 1150, 2037,-32768,
1255 -32768,-32768, 104, 1153, 1180, 1180, 104, 1158, 9386, 9386,
1256 6034, 388, 4339, 388, 388, 684, 388, 4925, 1180, 5687,
1257 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1166,-32768,
1258 1172,-32768,-32768,-32768, 9386, 9386, 9386, 9386, 7435,-32768,
1259 9386, 1184,-32768,-32768, 10717, 9386,-32768, 367,-32768,-32768,
1260 -32768,-32768,-32768,-32768, 1156,-32768, 1205,-32768,-32768,-32768,
1261 104,-32768,-32768,-32768, 9386,-32768,-32768, 1899, 1899,-32768,
1262 2139,-32768,-32768, 1173, 1178, 1181, 1193, 1270,-32768,-32768,
1263 6477, 1247,-32768,-32768, 1182, 1610,-32768,-32768,-32768,-32768,
1264 5129,-32768,-32768,-32768, 7435,-32768,-32768,-32768,-32768,-32768,
1265 -32768,-32768,-32768,-32768, 6034, 6034,-32768, 1180, 446, 770,
1266 9386,-32768,-32768,-32768, 733, 733, 1180, 1180, 670, 1180,
1267 -32768,-32768, 6143, 104, 104,-32768,-32768, 1189, 1194, 1197,
1268 1201,-32768, 10672, 7435, 1203,-32768,-32768,-32768,-32768, 104,
1269 1204,-32768,-32768,-32768,-32768, 1193,-32768,-32768, 723,-32768,
1270 142, 1231, 807, 856,-32768,-32768,-32768,-32768,-32768, 9386,
1271 1254, 1259, 1260, 9120, 107, 581,-32768,-32768, 9212, 1313,
1272 1262,-32768, 4846, 10449, 4560, 6365,-32768,-32768, 1308,-32768,
1273 -32768,-32768, 8346,-32768, 306,-32768,-32768, 104, 104,-32768,
1274 -32768,-32768, 9386, 9386, 6034, 388, 388,-32768,-32768,-32768,
1275 -32768, 8148,-32768,-32768,-32768,-32768, 104, 104,-32768,-32768,
1276 -32768,-32768, 7435,-32768,-32768,-32768,-32768,-32768,-32768, 1270,
1277 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 932, 1232,
1278 1235, 5887,-32768,-32768,-32768,-32768, 1264, 9386, 1269,-32768,
1279 932,-32768,-32768, 1237,-32768,-32768, 733, 841,-32768, 904,
1280 733, 9827, 913, 185,-32768,-32768,-32768,-32768,-32768,-32768,
1281 -32768,-32768, 6034, 6034,-32768, 1180, 1180, 1224, 10603, 1240,
1282 -32768,-32768,-32768, 1242,-32768, 585, 585,-32768,-32768, 1326,
1283 5980, 9299, 9386,-32768, 8456,-32768, 1285,-32768,-32768, 692,
1284 -32768,-32768, 10262, 10262, 7619,-32768,-32768, 932,-32768,-32768,
1285 -32768,-32768,-32768,-32768,-32768, 331, 236, 2554,-32768,-32768,
1286 9299,-32768,-32768, 8648,-32768, 26,-32768,-32768, 1287,-32768,
1287 1239, 201, 5148, 10695, 8456,-32768,-32768, 1193, 52,-32768,
1288 143,-32768, 1241, 1243, 932, 1244, 932, 8552,-32768, 643,
1289 -32768,-32768,-32768,-32768, 733,-32768,-32768, 1193, 1339, 1291,
1290 -32768,-32768, 77,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1291 -32768,-32768,-32768,-32768, 9386, 1297, 7711, 932, 388, 8456,
1292 1266, 157, 1301,-32768,-32768,-32768,-32768,-32768, 26,-32768,
1293 1256,-32768,-32768, 1306,-32768,-32768, 1303,-32768, 9386, 1339,
1294 1316, 1339,-32768,-32768,-32768,-32768,-32768,-32768, 1273, 193,
1295 -32768,-32768, 7803,-32768, 7435,-32768, 1358, 1319, 1275,-32768,
1296 -32768, 190,-32768,-32768, 1363, 1325, 8552,-32768,-32768,-32768,
1297 -32768, 1393, 1394,-32768
1300 static const short yypgoto
[] = {-32768,
1301 1398,-32768, -324,-32768, 996, 2, 0, 1397,-32768, 392,
1302 -32768,-32768, 492, 1054,-32768, 9,-32768,-32768, -586,-32768,
1303 -32768, 531,-32768, 1249, -655, -14, -644, 1267, 25,-32768,
1304 -32768,-32768,-32768,-32768, 700, 708,-32768,-32768,-32768,-32768,
1305 -32768, 335, 176,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1306 -32768,-32768,-32768,-32768, 1345, -619, 5219, 47, -164, 72,
1307 1304, 946,-32768,-32768,-32768, -36,-32768, 34,-32768, -1369,
1308 -32768, -1382, -102,-32768, 313, 374, -251,-32768, -810, 2843,
1309 -42, 4754, 3156, 1168,-32768, -104, -3, 171, -45, -23,
1310 -32768,-32768,-32768, -321,-32768, -142,-32768,-32768, -1241, -49,
1311 -339, 1165, 51, 885, -138, -1, 4157, -182, -4, -92,
1312 -657, 148,-32768, -63,-32768,-32768, -176,-32768,-32768,-32768,
1313 -32768,-32768, 639, 30, -2,-32768, 574,-32768,-32768, -1031,
1314 -143, 788,-32768,-32768,-32768,-32768,-32768, 303,-32768,-32768,
1315 -32768,-32768,-32768, 690, -362,-32768,-32768,-32768,-32768,-32768,
1316 -32768,-32768, 1245,-32768, 333, 504,-32768,-32768,-32768,-32768,
1317 470, -701, 742,-32768,-32768,-32768,-32768,-32768, 739,-32768,
1318 334, 976, 726, 909, 1728, 66, -5, -409, 1312, 1651,
1319 -437,-32768, 1,-32768, 2919, -127, 5, -11, 3697, 1164,
1320 -32768, 4316, 1484, 974, -22, -117,-32768, 1372,-32768, 3773,
1321 2378, -401,-32768, 1977,-32768,-32768, 197, -872, -1145,-32768,
1322 -32768, 293, 23, -356,-32768,-32768,-32768,-32768, -1329,-32768,
1323 -1237, -1379,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1324 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 49,-32768,-32768,
1325 -32768,-32768,-32768, 53, -1234,-32768,-32768,-32768, -56,-32768,
1326 -32768,-32768,-32768, -1362, -7,-32768, -8,-32768, -653, -502,
1327 575,-32768,-32768,-32768,-32768, -369,-32768, -357, -167,-32768,
1328 968, 309,-32768, 196,-32768, -213
1332 #define YYLAST 10820
1335 static const short yytable
[] = { 58,
1336 603, 121, 56, 37, 178, 36, 921, 366, 444, 645,
1337 151, 229, 41, 402, 102, 910, 643, 471, 394, 397,
1338 1046, 646, 717, 963, 612, 625, 278, 374, 45, 699,
1339 908, 58, 992, 236, 56, 37, 58, 36, 153, 56,
1340 37, 1349, 36, 463, 41, 512, 515, 172, 1449, 41,
1341 1109, 191, 443, 460, 54, 666, 902, 1372, 206, 1208,
1342 45, 451, 581, 1471, 1469, 45, 226, 581, 1387, 325,
1343 347, 1466, 158, 351, 738, 1390, 543, 663, 276, 352,
1344 190, 581, 240, 1110, 409, 194, 54, 202, 1492, 1001,
1345 879, 54, 858, 483, 1006, 236, 139, 143, 1460, 858,
1346 -1, 340, 340, 1231, 1232, 291, 449, 452, 424, 94,
1347 109, 110, 474, 159, 1479, -2, 372, 1252, 87, 497,
1348 498, 377, 151, 151, 151, 233, 1524, 1515, 375, 376,
1349 384, 447, 615, 383, 1111, 664, 1209, 1489, 85, 236,
1350 880, 1015, -329, 1482, 1018, 172, 410, 739, 277, 929,
1351 153, 153, 153, 151, 425, 58, 92, 483, 56, 381,
1352 284, 1480, 285, 111, 112, 688, 657, 1492, 1516, 1447,
1353 1539, 341, 341, 772, 993, 88, 172, 1456, 785, 411,
1354 998, 153, 137, 929, 45, 382, 860, 1368, 86, 100,
1355 -127, 206, 1195, 93, 1221, 89, 106, 930, 114, 206,
1356 931, -329, 1352, 935, 150, 410, 1322, 386, 197, 198,
1357 54, 393, 396, 1071, 14, 1328, 1329, 1477, 1330, 1520,
1358 202, 651, 652, 919, 994, 15, 16, 240, 450, 202,
1359 -388, 930, 585, 1177, 931, 932, -793, 21, 411, 215,
1360 427, 429, 1196, 1349, 1222, 1352, 24, 786, 591, 1545,
1361 -278, 936, 1353, -126, 937, 1537, 516, 517, 466, -388,
1362 697, 107, 1518, -388, 591, 136, 1521, -593, 703, 932,
1363 887, 525, 226, 670, 526, 108, 578, 527, 340, 472,
1364 537, 538, 502, 134, 532, 383, 1097, 1098, 478, 938,
1365 136, 580, 612, 957, 771, 1427, -278, -278, 364, 1546,
1366 1083, 883, 1538, 394, 397, 702, 922, 1134, 156, -388,
1367 771, 500, -271, -593, -593, 645, 340, 395, 398, 1138,
1368 391, 740, 301, 1493, 958, 473, 1180, 942, 276, -593,
1369 8, 9, 648, 586, 760, 1506, 226, 501, 27, 968,
1370 372, 603, 416, 90, 163, 1510, 240, 150, 341, 832,
1371 449, 452, 157, -280, 1159, 165, 1161, 499, 449, 417,
1372 203, 630, 1523, 91, 1431, 1432, 833, 1266, 858, 629,
1373 452, 126, 127, 969, 642, 126, 127, 970, 191, 169,
1374 474, 1534, 170, 129, 130, 674, 341, 633, 418, 705,
1375 452, 858, -553, 455, 457, 834, 1162, 1163, 277, -280,
1376 -280, 8, 476, -553, 1551, 888, 470, 151, 151, 151,
1377 971, 608, 194, 202, 832, -274, 1361, 126, 127, 19,
1378 681, 889, 27, 751, 129, 130, 27, 155, 129, 130,
1379 858, 833, 162, 591, 279, 153, 153, 153, -553, 171,
1380 221, 1139, 836, 846, 644, 126, 127, 206, 992, -553,
1381 439, 762, 837, 87, 129, 130, 58, 609, 1073, 733,
1382 834, 1176, 725, 206, 223, 466, 838, 204, 205, 752,
1383 129, 130, 450, 202, 532, 1404, 466, 532, 477, 771,
1384 450, 774, 137, 848, 1406, 1407, 525, 526, 524, 847,
1385 644, 534, 850, 203, 532, 39, 692, 693, 129, 130,
1386 567, 203, 203, 126, 127, 532, 340, 731, 1323, 340,
1387 804, 732, 866, 340, 777, 777, 777, 777, 645, 578,
1388 87, 717, 477, 946, 621, 643, 340, 39, 203, 849,
1389 646, 202, 39, 137, 288, 972, 826, 340, 851, 568,
1390 569, 953, 843, 955, 570, 571, 572, 573, 959, 437,
1391 438, 8, 9, 138, 612, 290, 129, 130, 867, 868,
1392 758, 115, 116, 117, 1108, 911, 707, 708, 467, 947,
1393 340, 276, 1102, 8, 9, 90, 341, 349, 203, 341,
1394 232, 973, 353, 341, 341, 341, 341, 341, 858, 895,
1395 642, 900, 901, 1014, 483, 91, 341, 681, 357, 1497,
1396 1104, 366, 395, 398, 129, 130, 240, 341, 121, 449,
1397 912, 858, 358, 27, 468, 118, 119, 27, 1103, 913,
1398 914, 543, 293, 367, 368, 10, 129, 130, 232, 1106,
1399 378, 901, 1440, 706, -338, 191, 15, 16, 920, 226,
1400 341, 277, 203, 1370, 1185, 1378, 1105, 1383, 1181, 1182,
1401 477, 1184, 359, 360, 361, 136, 915, 852, 854, 354,
1402 644, 22, 615, 919, 966, 967, -271, 644, -338, 194,
1403 399, 202, -338, 995, 27, 1107, 28, 311, 1441, 89,
1404 642, 534, 978, 355, 534, 171, 203, 126, 1249, 1047,
1405 1494, 717, 400, 94, 109, 110, -588, 359, 360, 361,
1406 395, 782, 296, 91, 27, -338, 362, 363, 33, 772,
1407 202, -7, 534, 88, 445, 446, 795, 749, 408, 90,
1408 58, -124, 58, 733, 90, 733, 725, -125, 191, 58,
1409 671, 450, 733, 89, 466, 725, 1495, 671, 642, 91,
1410 129, 130, 420, 642, 91, 203, 203, 111, 112, 113,
1411 644, 362, 363, 203, 960, 464, 977, 987, 88, 15,
1412 16, 90, 194, 750, 477, 203, 1140, 356, 466, 126,
1413 127, 731, 874, 731, -158, 732, -158, 732, 89, 731,
1414 731, 91, 1350, 1351, 732, 203, 421, 136, 1129, 1130,
1415 1131, 672, 1462, 481, 7, 8, 230, 10, 679, 1055,
1416 961, 1052, 565, 566, 203, 1483, 886, -339, 644, 15,
1417 16, 479, 490, 644, 491, 1002, 1003, 1004, 903, 480,
1418 27, 671, 129, 130, 88, 777, 525, 526, 493, 1049,
1419 15, 16, 1324, 22, 532, -388, 836, 1154, 1155, 1156,
1420 231, -339, 482, 795, 89, -339, 837, 509, 28, 29,
1421 94, 95, 96, 236, 507, 1152, 777, 115, 116, 117,
1422 838, 88, 642, -388, -388, 518, 681, 519, -388, 1355,
1423 151, 520, 232, 521, -44, 522, 240, 539, -339, -44,
1424 33, 89, 769, 642, 671, 777, 671, 671, 540, 642,
1425 -44, 1170, 1173, 197, 198, 341, 633, 581, 153, 14,
1426 437, 1421, 27, 590, 97, 98, 99, 616, 675, 151,
1427 90, 118, 119, 1142, 671, 617, 741, 1127, 1356, 1144,
1428 1145, 671, 21, 1142, 1147, 628, 341, 1145, 681, 655,
1429 91, 24, 644, -6, 852, 854, 644, 153, 658, 236,
1430 694, 874, 777, 744, 203, 825, 698, 827, 828, 340,
1431 1011, 1012, 1013, 644, 745, 341, 642, 1087, 1088, 644,
1432 765, 394, 397, 445, 1422, 772, 1173, 746, 642, 126,
1433 127, 493, 437, 1426, 753, 1217, 1219, 766, 754, 781,
1434 1223, 1224, 878, 203, 394, 397, 783, 490, 784, 491,
1435 664, 58, 786, 844, 733, 466, 466, 725, 644, 845,
1436 859, 861, 1409, 642, 203, 642, 293, 367, 368, 10,
1437 128, 863, 341, 1186, 1419, 881, 882, 884, 21, 341,
1438 27, 909, 129, 130, 466, 1262, 644, 890, -274, 891,
1439 926, 233, 562, 563, 564, 565, 566, 904, 644, 410,
1440 395, 782, 731, 927, 928, 22, 732, 236, 126, 127,
1441 934, -792, 238, 474, 621, 944, 949, 948, 951, 956,
1442 28, 311, 886, 954, 150, 151, 151, 151, 645, 525,
1443 526, 1409, 996, 644, 696, 644, 238, 532, 920, 203,
1444 1464, 1317, 1021, 671, 1023, 704, 642, 1024, 151, 151,
1445 151, 1028, 33, 153, 153, 153, 1029, 1025, 1026, 27,
1446 1030, 129, 130, 1116, 1027, 238, 1031, 1032, 1487, 681,
1447 1409, 1033, 772, -123, 238, 484, 153, 153, 153, -102,
1448 1344, 15, 16, 1035, 1036, 485, 666, 1038, 1258, 1259,
1449 1260, 1261, 94, 95, 96, 1039, 207, 208, 209, 1265,
1450 1041, 1409, 1040, 1054, 1042, 58, 671, 1043, 733, 1044,
1451 1057, 725, 1058, -102, 1198, 1199, 644, -102, 238, 671,
1452 1056, 671, 1064, 671, 1065, 1086, 210, 1074, 1066, 1072,
1453 466, 466, 1075, 466, 466, 1077, 466, 1198, 1199, 644,
1454 1079, 1326, 1327, 1101, 27, 1082, 97, 98, 211, 1119,
1455 -102, 238, 478, 671, 1143, -100, 731, 15, 16, 1403,
1456 732, 1126, 1148, 1153, 1165, 1157, 1305, 1048, 1164, 1304,
1457 1300, 1172, 1299, 1166, 1167, 238, 777, 1174, 1183, 1168,
1458 1059, 1178, 1060, 1179, 1061, 126, 127, 671, 1187, -100,
1459 1194, 1188, 1189, -100, 212, 213, 214, 560, 561, 562,
1460 563, 564, 565, 566, 417, 671, 1264, 1190, 1193, 1197,
1461 1202, 1216, 1268, 1377, 1081, 1377, 537, 1367, 1226, 1227,
1462 395, 398, 1230, 639, 466, 466, -100, 1234, 1267, 483,
1463 338, 348, 94, 109, 110, 1256, 27, 1459, 129, 130,
1464 1208, 1257, 1272, 395, 1215, 1172, 341, 1273, 1099, 1275,
1465 1274, 1315, 484, 1354, 1305, 394, 397, 1304, 1339, 191,
1466 1299, 1305, 485, 1340, 1304, 1300, 1341, 1299, 1305, 639,
1467 1342, 1304, 1300, 1347, 1299, 1345, 1363, 447, 238, 1364,
1468 1365, 1373, 1375, 1388, 1416, 1411, 111, 112, 1412, 1418,
1469 1420, 1417, 1433, 194, 202, 1438, 8, 9, 1435, 380,
1470 12, 13, 1445, 952, 677, 1457, 14, 1473, 1474, 1501,
1471 1485, 1505, 1486, 1488, 466, 466, 466, 1512, 151, 1519,
1472 1522, 17, 238, 18, 19, 1525, 1526, 1528, 1541, 21,
1473 94, 95, 96, 1548, 804, 1450, 1531, 997, 24, 1543,
1474 525, 526, 1536, 1278, 1544, 1549, 153, 27, 532, 129,
1475 130, 1540, 1553, 1554, 115, 707, 708, 1, 5, 151,
1476 151, 151, 660, 1475, 1450, 627, 1305, 1452, 406, 1304,
1477 1305, 1499, 1299, 1304, 1300, 671, 1299, 671, 1084, 671,
1478 340, 1461, 466, 466, 97, 98, 407, 153, 153, 153,
1479 678, 238, 988, 642, 964, 1203, 1452, 287, 759, 1305,
1480 1443, 387, 1304, 1300, 1550, 1299, 489, 496, 118, 119,
1481 1305, 1380, 1078, 1304, 1300, 925, 1299, 1022, 1511, 238,
1482 1450, 1228, 1132, 1305, 459, 1150, 1304, 1300, 965, 1299,
1483 1369, 990, 7, 126, 127, 10, 1204, 277, 1205, 639,
1484 1206, 1251, 1529, 768, 831, 536, 639, 79, 692, 693,
1485 341, 1020, 1452, 440, 365, 1305, 804, 103, 1304, 1300,
1486 587, 1299, 1386, 644, 1314, 1507, 277, 671, 132, 1484,
1487 1478, 22, 1530, 1532, 141, 141, 1118, 141, 231, 79,
1488 610, 8, 9, 0, 79, 1405, 28, 29, 466, 1316,
1489 0, 0, 0, 126, 127, 0, 0, 185, 13, 79,
1490 0, 0, 1305, 638, 0, 1304, 1300, 218, 1299, 0,
1491 232, 0, 1116, 0, 103, 0, 301, 611, 33, 22,
1492 0, 238, 277, 0, 0, 242, 103, 0, 1271, 639,
1493 0, 0, 27, 0, 129, 130, 0, 591, 238, 0,
1494 94, 109, 110, 469, 27, 0, 129, 130, 103, 0,
1495 0, 0, 0, 0, 395, 1215, 0, 0, 0, 0,
1496 592, 0, 0, 0, 1135, 1136, 0, 203, 0, 0,
1497 593, 132, -549, 0, 0, -549, 132, 0, 79, 22,
1498 594, -280, 141, 595, 596, 389, 141, 639, 0, 141,
1499 141, 141, 639, 1149, 111, 112, -280, -280, 0, 0,
1500 0, -280, 0, 79, 0, 0, 0, 0, 0, 0,
1501 0, 863, 0, 0, 0, 0, 0, -280, 185, 185,
1502 185, 0, 0, -549, 0, -549, -549, 950, -549, -280,
1503 -280, 0, -280, 0, -280, 770, 0, 0, 773, -549,
1504 0, -549, 775, 776, 778, 779, 780, 185, 0, 0,
1505 0, 0, 0, 0, 671, 536, 0, -549, -549, 0,
1506 0, -549, 458, -280, -280, 0, 798, -280, 0, 1000,
1507 103, 0, 0, -549, 1005, 0, 0, 0, 0, -280,
1508 8, 9, 141, 380, 12, 13, 0, 0, 677, 0,
1509 14, 0, 0, 0, 0, 0, 94, 109, 110, 829,
1510 618, 619, 620, 0, 0, 17, 0, 18, 19, 0,
1511 0, 639, 0, 21, 203, 639, 196, 197, 198, 856,
1512 103, 486, 24, 14, 591, 0, 856, 0, 0, 0,
1513 79, 27, 639, 129, 130, 0, 0, 0, 639, 1237,
1514 1238, 19, 1247, 1248, 0, 1250, 21, 592, 8, 9,
1515 111, 112, 12, 13, 0, 24, 0, 593, 14, 7,
1516 8, 9, 10, 0, 0, 13, 0, 594, 239, 0,
1517 595, 596, 0, 17, 678, 18, 103, 639, 0, 0,
1518 588, 21, 486, 486, 605, 428, 430, 434, 0, 1067,
1519 24, 1068, 0, 0, 0, 132, 0, 0, 22, 27,
1520 0, 129, 130, 574, 591, 639, 0, 0, 238, 638,
1521 238, 27, 0, 28, 29, 0, 132, 639, 0, 0,
1522 0, 0, 103, 0, 0, 185, 103, 892, 0, 115,
1523 707, 708, 238, 1320, 1321, 0, 141, 893, 575, 141,
1524 0, 401, 0, 0, 141, 33, 0, 594, 0, 0,
1525 894, 596, 639, 0, 639, 0, 0, 710, 0, 0,
1526 426, 7, 8, 9, 10, 0, 0, 225, 0, 0,
1527 185, 0, 185, 442, 185, 185, 185, 0, 0, 0,
1528 185, 27, 0, 118, 119, 185, 0, 0, 185, 126,
1529 127, 0, 0, 197, 198, 0, 0, 0, 0, 14,
1530 22, 0, 0, 0, 79, 0, 591, 196, 197, 198,
1531 0, 0, 0, 27, 14, 28, 29, 0, 238, 0,
1532 0, 0, 21, 1395, 1396, 1397, 0, 0, 0, 892,
1533 0, 24, 19, 591, 1158, 639, 1160, 21, 0, 893,
1534 27, 0, 129, 130, 185, 0, 24, 33, 0, 594,
1535 0, 0, 894, 596, 1045, 0, 592, 0, 639, 0,
1536 0, 649, 103, 103, 103, 103, 593, 0, 448, 197,
1537 198, 0, 0, 0, 0, 14, 594, 0, 0, 602,
1538 596, 0, 0, 0, 0, 798, 0, 0, 0, 0,
1539 0, 1429, 1430, 19, 0, 856, 0, 1192, 21, 115,
1540 707, 708, 0, 709, 0, 0, 0, 24, 0, 238,
1541 0, 0, 638, 0, 1085, 0, 0, 0, 856, 103,
1542 0, 486, 7, 8, 9, 10, 238, 710, 13, 0,
1543 0, 0, 588, 0, 711, 486, 486, 690, 605, 691,
1544 0, 428, 430, 434, 0, 875, 0, 0, 0, 877,
1545 0, 27, 701, 118, 119, 0, 0, 856, 0, 0,
1546 1229, 22, 0, 0, 1233, 0, 0, 591, 0, 0,
1547 0, 1121, 0, 0, 27, 0, 28, 29, 1128, 238,
1548 0, 0, 185, 899, 185, 185, 218, 605, 0, 0,
1549 1089, 196, 197, 198, 0, 0, 0, 1517, 14, 0,
1550 1090, 7, 8, 9, 10, 0, 0, 474, 33, 0,
1551 594, 0, 0, 1091, 596, 0, 19, 0, 1269, 0,
1552 0, 21, 695, 0, 185, 0, 0, 700, 899, 0,
1553 24, 0, 0, 0, 0, 185, 185, 0, 185, 0,
1554 22, 0, 0, 0, 0, 763, 591, 0, 0, 7,
1555 8, 9, 10, 27, 742, 28, 29, 0, 0, 747,
1556 0, 0, 0, 0, 0, 132, 0, 0, 79, 892,
1557 79, 755, 756, 0, 757, 985, 79, 79, 0, 893,
1558 0, 1335, 1336, 0, 0, 0, 103, 33, 22, 594,
1559 0, 103, 894, 596, 591, 0, 0, 1346, 486, 486,
1560 486, 27, 0, 28, 29, 0, 8, 9, 0, 0,
1561 12, 13, 0, 0, 0, 856, 14, 892, 0, 0,
1562 486, 0, 0, 0, 94, 109, 110, 893, 207, 208,
1563 209, 17, 0, 18, 0, 33, 0, 594, 856, 21,
1564 894, 596, 0, 0, 0, 1391, 1392, 0, 24, 0,
1565 0, 0, 7, 8, 9, 10, 0, 27, 210, 129,
1566 130, 0, 0, 0, 1401, 1402, 0, 0, 0, 0,
1567 0, 0, 0, 103, 0, 600, 604, 607, 111, 112,
1568 0, 0, 639, 0, 0, 864, 865, 0, 0, 0,
1569 864, 22, 0, 0, 0, 486, 830, 486, 231, 0,
1570 0, 0, 690, 691, 103, 701, 28, 29, 486, 0,
1571 103, 0, 875, 875, 875, 0, 0, 0, 0, 1076,
1572 7, 126, 127, 10, 0, 0, 13, 0, 0, 0,
1573 232, 103, 0, 103, 0, 185, 185, 1093, 33, 0,
1574 0, 82, 983, 0, 0, 1121, 0, 0, 0, 0,
1575 0, 105, 0, 0, 0, 0, 0, 0, 0, 22,
1576 0, 125, 133, 7, 126, 127, 10, 0, 142, 142,
1577 0, 142, 27, 82, 28, 29, 1093, 0, 82, 126,
1578 127, 0, 0, 197, 198, 0, 0, 0, 31, 14,
1579 103, 142, 0, 82, 0, 0, 0, 0, 32, 0,
1580 0, 219, 22, 0, 103, 0, 33, 0, 227, 0,
1581 0, 34, 21, 0, 0, 27, 103, 28, 29, 0,
1582 227, 24, 0, 591, 0, 0, 0, 0, 0, 1146,
1583 27, 146, 129, 130, 0, 0, 1007, 0, 1009, 79,
1584 0, 147, 0, 0, 0, 0, 592, 0, 0, 33,
1585 0, 103, 0, 103, 148, 0, 593, 0, 0, 0,
1586 0, 293, 8, 9, 10, 373, 594, 0, 0, 595,
1587 596, 0, 82, 0, 0, 0, 142, 0, 0, 0,
1588 142, 0, 0, 142, 142, 142, 0, 0, 0, 0,
1589 0, 0, 0, 486, 486, 0, 486, 82, 0, 0,
1590 22, 0, 428, 430, 434, 0, 0, 231, 0, 0,
1591 0, 0, 142, 142, 142, 28, 311, 8, 9, 0,
1592 380, 12, 13, 1050, 1051, 1463, 1053, 14, 853, 855,
1593 185, 185, 185, 185, 1093, 0, 0, 0, 185, 232,
1594 0, 142, 17, 434, 18, 19, 0, 33, 0, 536,
1595 21, 0, 0, 1070, 0, 1093, 1093, 1093, 0, 24,
1596 0, 0, 638, 0, 293, 367, 368, 10, 27, 0,
1597 129, 130, 0, 0, 0, 897, 142, 600, 604, 0,
1598 607, 0, 0, 1095, 0, 0, 185, 0, 0, 0,
1599 0, 141, 720, 79, 7, 8, 721, 10, 380, 12,
1600 13, 0, 0, 22, 582, 14, 293, 367, 368, 10,
1601 231, 583, 0, 0, 227, 142, 0, 604, 28, 311,
1602 17, 0, 18, 19, 82, 0, 0, 0, 21, 0,
1603 0, 0, 0, 22, 0, 0, 0, 24, 722, 0,
1604 632, 185, 185, 0, 185, 22, 27, 1133, 28, 29,
1605 33, 0, 231, 0, 724, 0, 0, 0, 27, 1137,
1606 28, 311, 31, 0, 103, 0, 0, 0, 0, 0,
1607 227, 0, 32, 0, 589, 0, 142, 142, 606, 0,
1608 33, 0, 0, 614, 0, 34, 0, 0, 0, 373,
1609 0, 0, 584, 0, 0, 0, 0, 690, 691, 428,
1610 430, 434, 0, 0, 0, 701, 0, 0, 0, 0,
1611 0, 0, 0, 604, 0, 0, 227, 0, 0, 142,
1612 227, 0, 428, 430, 434, 0, 0, 0, 0, 0,
1613 142, 0, 0, 142, 0, 0, 0, 0, 142, 0,
1614 0, 0, 0, 0, 0, 0, 185, 899, 185, 0,
1615 0, 0, 1191, 1245, 0, 0, 0, 0, 0, 126,
1616 127, 0, 0, 0, 142, 0, 142, 0, 142, 142,
1617 142, 0, 0, 0, 142, 0, 0, 0, 0, 142,
1618 0, 1201, 142, 0, 0, 0, 0, 0, 1062, 0,
1619 1063, 0, 0, 7, 8, 9, 10, 719, 82, 0,
1620 0, 1069, 0, 591, 0, 853, 855, 0, 690, 691,
1621 27, 701, 129, 130, 0, 0, 0, 0, 0, 0,
1622 0, 7, 126, 127, 10, 1093, 592, 225, 853, 855,
1623 0, 0, 22, 0, 0, 0, 593, 0, 142, 0,
1624 1254, 0, 0, 0, 1255, 27, 594, 28, 29, 595,
1625 596, 174, 0, 0, 0, 0, 227, 227, 227, 227,
1626 22, 175, 0, 0, 0, 0, 1093, 1093, 1093, 0,
1627 0, 176, 0, 27, 0, 28, 29, 0, 0, 33,
1628 1270, 103, 75, 0, 177, 0, 0, 0, 0, 31,
1629 0, 0, 0, 0, 0, 0, 185, 0, 0, 32,
1630 0, 293, 8, 9, 10, 0, 0, 33, 0, 140,
1631 144, 0, 34, 227, 75, 142, 0, 1318, 0, 75,
1632 0, 1319, 0, 0, 0, 0, 0, 0, 0, 142,
1633 142, 0, 606, 0, 195, 0, 0, 0, 0, 876,
1634 22, 0, 0, 1337, 1338, 0, 0, 231, 0, 0,
1635 0, 614, 0, 0, 0, 28, 311, 293, 126, 127,
1636 10, 293, 8, 9, 10, 0, 0, 0, 125, 0,
1637 0, 0, 0, 0, 0, 0, 142, 606, 142, 142,
1638 219, 606, 0, 0, 0, 0, 0, 33, 0, 0,
1639 0, 0, 434, 0, 0, 0, 22, 0, 719, 0,
1640 22, 0, 0, 231, 0, 0, 0, 231, 0, 0,
1641 0, 28, 311, 385, 0, 28, 311, 388, 142, 0,
1642 0, 390, 606, 1062, 1063, 853, 855, 0, 0, 142,
1643 142, 1069, 142, 428, 430, 434, 0, 0, 75, 477,
1644 0, 0, 0, 33, 0, 0, 0, 33, 853, 855,
1645 0, 0, 0, 140, 144, 0, 0, 0, 0, 133,
1646 0, 0, 82, 0, 82, 0, 0, 0, 0, 986,
1647 82, 82, 7, 8, 9, 10, 187, 12, 188, 0,
1648 227, 0, 0, 14, 0, 227, 0, 0, 0, 0,
1649 0, 0, 142, 142, 142, 0, 0, 0, 17, 0,
1650 18, 19, 0, 0, 0, 0, 21, 0, 0, 0,
1651 0, 22, 0, 0, 142, 24, 0, 475, 0, 50,
1652 0, 0, 0, 0, 27, 0, 28, 29, 0, 0,
1653 189, 0, 0, 0, 1062, 1063, 0, 1069, 0, 0,
1654 31, 597, 597, 597, 0, 0, 50, 50, 0, 149,
1655 32, 50, 0, 0, 0, 0, 50, 0, 33, 0,
1656 0, 0, 0, 34, 0, 503, 0, 227, 0, 50,
1657 0, 50, 558, 559, 560, 561, 562, 563, 564, 565,
1658 566, 7, 8, 9, 10, 196, 197, 198, 0, 142,
1659 0, 142, 14, 0, 234, 0, 0, 0, 227, 0,
1660 0, 0, 142, 0, 227, 0, 876, 876, 876, 0,
1661 19, 0, 0, 614, 0, 21, 0, 0, 0, 0,
1662 22, 0, 0, 0, 24, 227, 591, 227, 0, 142,
1663 142, 606, 0, 27, 0, 28, 29, 0, 0, 0,
1664 0, 0, 0, 370, 0, 0, 0, 370, 370, 892,
1665 50, 0, 0, 0, 50, 0, 234, 0, 50, 893,
1666 0, 149, 149, 149, 0, 0, 0, 33, 0, 594,
1667 876, 653, 894, 596, 654, 50, 0, 0, 0, 656,
1668 0, 0, 0, 0, 227, 0, 0, 0, 0, 0,
1669 50, 50, 149, 0, 0, 0, 719, 0, 227, 0,
1670 234, 0, 0, 0, 0, 388, 0, 390, 0, 0,
1671 227, 0, 0, 0, 0, 0, 0, 0, 0, 50,
1672 475, 720, 0, 7, 8, 721, 10, 380, 12, 13,
1673 0, 0, 0, 82, 14, 0, 0, 0, 0, 737,
1674 0, 0, 0, 0, 0, 227, 0, 227, 0, 17,
1675 0, 18, 19, 20, 50, 0, 0, 21, -497, 0,
1676 0, 0, 22, 0, 0, 0, 24, 722, 0, 632,
1677 0, 0, 0, 0, 0, 27, 0, 28, 29, 0,
1678 0, 723, 0, 724, 0, 0, 0, 142, 142, 0,
1679 142, 31, 0, 0, 597, 597, 0, 597, 0, 0,
1680 0, 32, 50, 0, 873, 0, 0, 0, 0, 33,
1681 0, 0, 0, 0, 34, 0, 7, 126, 127, 10,
1682 0, 0, 13, 0, 142, 142, 142, 142, 606, 0,
1683 0, -497, 142, 0, 0, 0, 533, 0, 719, 0,
1684 0, 597, 0, 597, 597, 0, 597, 0, 0, 876,
1685 876, 876, 370, 0, 0, 22, 0, 0, 0, 0,
1686 234, 0, 0, 0, 0, 0, 719, 370, 27, 0,
1687 28, 29, 0, 7, 8, 9, 10, 0, 0, 13,
1688 142, 0, 0, 597, 146, 142, 0, 82, 370, 0,
1689 0, 0, 0, 0, 147, 0, 0, 50, 0, 0,
1690 0, 0, 33, 0, 0, 0, 0, 148, 50, 0,
1691 0, 50, 22, 0, 0, 0, 50, 0, 898, 0,
1692 0, 0, 0, 0, 0, 27, 0, 28, 29, 0,
1693 0, 0, 0, 0, 0, 142, 142, 0, 142, 0,
1694 0, 175, 50, 0, 50, 0, 149, 149, 149, 0,
1695 0, 176, 50, 0, 0, 0, 0, 50, 227, 33,
1696 50, 0, 0, 940, 177, 0, 0, 0, 0, 0,
1697 653, 654, 0, 656, 0, 0, 50, 0, 0, 597,
1698 0, 0, 0, 7, 126, 127, 10, 0, 0, 474,
1699 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
1700 564, 565, 566, 737, 0, 737, 0, 0, 0, 0,
1701 984, 991, 737, 0, 0, 0, 50, 0, 0, 0,
1702 0, 0, 22, 0, 0, 0, 533, 0, 0, 533,
1703 0, 126, 127, 0, 0, 27, 225, 28, 29, 0,
1704 142, 606, 142, 0, 533, 533, 533, 7, 8, 9,
1705 10, 31, 0, 225, 597, 0, 597, 533, 0, 0,
1706 77, 32, 0, 0, 0, 0, 0, 597, 0, 33,
1707 0, 873, 873, 873, 34, 591, 0, 0, 0, 0,
1708 0, 0, 27, 0, 129, 130, 22, 77, 77, 0,
1709 77, 0, 77, 0, 597, 597, 597, 77, 592, 27,
1710 0, 28, 29, 234, 0, 0, 0, 0, 593, 0,
1711 77, 0, 77, 0, 0, 175, 0, 533, 594, 876,
1712 0, 595, 596, 0, 0, 176, 0, 0, 0, 0,
1713 0, 0, 0, 33, 0, 873, 0, 0, 177, 552,
1714 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
1715 563, 564, 565, 566, 50, 50, 50, 50, 0, 0,
1716 876, 876, 876, 0, 0, 0, 154, 126, 127, 0,
1717 140, 144, 474, 0, 0, 227, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 186, 0, 0, 0,
1719 142, 77, 0, 0, 0, 77, 50, 0, 0, 77,
1720 50, 0, 77, 77, 77, 0, 0, 50, 50, 0,
1721 50, 591, 0, 0, 0, 0, 77, 0, 27, 0,
1722 129, 130, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 77, 77, 77, 592, 0, 0, 0, 0, 0,
1724 50, 0, 50, 0, 593, 0, 0, 50, 50, 50,
1725 0, 0, 0, 0, 594, 0, 0, 595, 596, 0,
1726 77, 0, 0, 0, 0, 0, 7, 8, 9, 10,
1727 0, 0, 13, 0, 737, 0, 0, 0, 154, 154,
1728 154, 0, 0, 0, 0, 0, 533, 0, 0, 597,
1729 597, 597, 597, 597, 0, 77, 0, 597, 0, 0,
1730 0, 0, 0, 0, 0, 22, 0, 186, 186, 435,
1731 0, 0, 0, 0, 873, 873, 873, 0, 27, 0,
1732 28, 29, 555, 556, 557, 558, 559, 560, 561, 562,
1733 563, 564, 565, 566, 431, 0, 186, 0, 0, 0,
1734 0, 0, 0, 77, 432, 0, 0, 0, 0, 0,
1735 0, 0, 33, 0, 0, 0, 0, 433, 0, 0,
1736 0, 0, 0, 0, 0, 388, 390, 0, 0, 0,
1737 0, 0, 0, 475, 0, 0, 0, 7, 8, 9,
1738 10, 196, 197, 198, 533, 533, 533, 0, 14, 0,
1739 234, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1740 597, 597, 613, 597, 0, 0, 19, 50, 50, 149,
1741 487, 21, 0, 0, 234, 0, 22, 0, 0, 0,
1742 24, 1246, 591, 0, 0, 0, 1246, 0, 737, 27,
1743 0, 28, 29, 0, 0, 0, 0, 0, 77, 0,
1744 0, 0, 0, 0, 0, 892, 0, 0, 1115, 77,
1745 0, 0, 77, 0, 0, 893, 0, 77, 7, 8,
1746 9, 10, 0, 33, 474, 594, 0, 0, 933, 596,
1747 0, 599, 599, 599, 0, 0, 653, 654, 0, 656,
1748 0, 0, 0, 77, 0, 77, 0, 77, 77, 77,
1749 0, 0, 0, 77, 0, 0, 0, 22, 77, 0,
1750 234, 77, 0, 0, 0, 0, 0, 0, 0, 0,
1751 27, 50, 28, 29, 186, 0, 0, 77, 0, 0,
1752 0, 0, 0, 0, 0, 0, 175, 0, 0, 0,
1753 0, 0, 0, 8, 9, 0, 176, 12, 225, 0,
1754 0, 0, 0, 14, 33, 0, 0, 0, 0, 177,
1755 0, 0, 0, 0, 0, 0, 0, 77, 17, 186,
1756 18, 186, 0, 435, 435, 435, 21, 0, 0, 186,
1757 0, 0, 0, 0, 186, 24, 0, 186, 0, 0,
1758 0, 0, 1381, 0, 27, 0, 129, 130, 0, 0,
1759 0, 234, 0, 0, 0, 0, 0, 0, 0, 275,
1760 0, 0, 50, 50, 149, 149, 149, 0, 234, 0,
1761 50, 0, 6, 0, 7, 8, 9, 10, 11, 12,
1762 13, 0, 339, 339, 0, 14, 0, 1115, 1115, 1115,
1763 0, 0, 0, 186, 0, 0, 0, 0, 0, 0,
1764 17, 0, 18, 19, 0, 613, 0, 0, 21, 0,
1765 0, 0, 0, 22, 0, 0, 0, 24, 50, 0,
1766 405, 0, 0, 50, 0, 50, 27, 0, 28, 29,
1767 0, 0, 30, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 31, 0, 974, 975, 9, 10, 0, 0,
1769 0, 0, 32, 0, 0, 77, 77, 77, 77, 0,
1770 33, 1239, 1240, 9, 10, 34, 0, 0, 0, 0,
1771 839, 0, 0, 50, 50, 0, 50, 0, 0, 0,
1772 0, 0, 0, 22, 599, 599, 0, 599, 0, 184,
1773 0, 0, 0, 0, 599, 0, 27, 77, 28, 29,
1774 22, 77, 0, 0, 976, 0, 0, 0, 77, 77,
1775 0, 77, 175, 27, 237, 28, 29, 241, 0, 0,
1776 0, 1241, 176, 0, 0, 0, 0, 0, 0, 175,
1777 33, 896, 0, 896, 896, 177, 599, 0, 237, 176,
1778 292, 77, 0, 77, 0, 0, 0, 33, 77, 77,
1779 77, 0, 177, 0, 0, 0, 0, 0, 0, 339,
1780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 896, 0, 0, 0, 0, 50, 50,
1782 50, 0, 0, 0, 186, 186, 0, 186, -360, 8,
1783 9, -360, -360, 12, 225, 0, 0, 339, 0, 14,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
1785 184, 184, 184, 0, 17, 0, 18, -360, 0, 0,
1786 441, 0, 21, 0, 186, 0, 0, -360, 0, 0,
1787 0, 24, 0, 591, 0, 0, 0, 0, 0, 184,
1788 27, 0, 129, 130, 0, 0, 0, 487, 487, 487,
1789 0, 0, 0, 0, 0, 641, 592, 1115, 0, 0,
1790 0, 0, 241, 0, 0, 0, 593, 0, 0, 599,
1791 0, 0, 0, 0, -360, 0, 594, 237, 0, 595,
1792 596, 0, 7, 8, 9, 10, 196, 197, 198, 0,
1793 0, 0, 613, 14, 0, 0, 0, 0, 1115, 1115,
1794 1115, 641, 0, 0, 0, 0, 0, 0, 77, 77,
1795 77, 19, 0, 0, 0, 0, 21, 0, 0, 0,
1796 0, 22, 0, 0, 0, 24, 0, 591, 50, 0,
1797 0, 0, 0, 0, 27, 0, 28, 29, 0, 0,
1798 0, 0, 0, 0, 599, 0, 599, 0, 0, 1117,
1799 175, 0, 0, 0, 0, 0, 0, 599, 0, 0,
1800 176, 599, 599, 599, 0, 0, 0, 0, 33, 0,
1801 0, 0, 0, 1382, 0, 0, 0, 0, 0, 0,
1802 237, 241, 0, 0, 896, 896, 1094, 339, 0, 0,
1803 339, 0, 0, 0, 339, 339, 339, 339, 339, 0,
1804 0, 0, 0, 0, 0, 0, 0, 339, 0, 0,
1805 0, 0, 77, 0, 0, 0, 0, 184, 339, 0,
1806 0, 0, 0, 0, 0, 1094, 0, 0, 0, 0,
1807 0, 7, 8, 9, 10, 380, 12, 13, 0, 0,
1808 677, 0, 14, 0, 0, 0, 0, 0, 0, 0,
1809 0, 339, 275, 0, 0, 0, 0, 17, 0, 18,
1810 19, 0, 184, 0, 184, 21, 184, 184, 184, 0,
1811 22, 641, 184, 0, 24, 0, 591, 184, 641, 0,
1812 184, 0, 0, 27, 0, 28, 29, 0, 0, 0,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 1089,
1814 0, 0, 0, 77, 77, 77, 77, 77, 0, 1090,
1815 0, 77, 0, 0, 0, 0, 0, 33, 0, 594,
1816 0, 0, 1091, 596, 0, 0, 678, 0, 1117, 1117,
1817 1117, 0, 0, 0, 0, 0, 184, 0, 0, 0,
1818 0, 0, 839, 839, 0, 839, 0, 0, 0, 0,
1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
1820 0, 641, 0, 0, 77, 0, 77, 0, 7, 8,
1821 9, 10, 0, 0, 0, 0, 0, 0, 0, 896,
1822 896, 1094, 1094, 1094, 0, 0, 0, 896, 551, 552,
1823 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
1824 563, 564, 565, 566, 1094, 1094, 1094, 22, 0, 0,
1825 0, 0, 0, 0, 77, 77, 0, 77, 0, 641,
1826 27, 0, 28, 29, 641, 720, 1376, 7, 8, 721,
1827 10, 380, 12, 13, 0, 186, 175, 0, 14, 0,
1828 237, 241, 0, 0, 0, 0, 176, 1239, 126, 127,
1829 10, 0, 0, 17, 33, 18, 19, 20, 0, 177,
1830 0, 21, -498, 0, 0, 0, 22, 0, 0, 0,
1831 24, 722, 0, 632, 184, 0, 184, 184, 0, 27,
1832 0, 28, 29, 0, 0, 723, 22, 724, 0, 0,
1833 896, 896, 0, 896, 0, 31, 0, 0, 0, 27,
1834 0, 28, 29, 0, 0, 32, 339, 1241, 0, 0,
1835 0, 0, 0, 33, 0, 31, 184, 0, 34, 77,
1836 77, 77, 0, 0, 0, 32, 0, 184, 184, 0,
1837 184, 0, 0, 33, 0, -498, 0, 339, 34, 0,
1838 0, 0, 0, 641, 0, 0, 0, 641, 0, 0,
1839 0, 0, 0, 0, 241, 0, 495, 0, 0, 0,
1840 7, 8, 9, 10, 641, 0, 339, 184, 0, 0,
1841 641, 0, 0, 0, 0, 0, 0, 7, 8, 9,
1842 10, 380, 12, 13, 0, 523, 939, 0, 14, 0,
1843 0, 0, 0, 0, 0, 186, 0, 186, 1117, 22,
1844 0, 0, 0, 17, 0, 18, 19, 0, 0, 641,
1845 0, 21, 27, 0, 28, 29, 22, 0, 0, 0,
1846 24, 0, 0, 339, 0, 0, 0, 0, 431, 27,
1847 339, 28, 29, 0, 0, 0, 0, 641, 432, 1117,
1848 1117, 1117, 0, 0, 0, 31, 33, 0, 0, 641,
1849 0, 433, 8, 9, 0, 32, 12, 13, 0, 0,
1850 0, 0, 14, 33, 0, 0, 0, 0, 34, 77,
1851 7, 8, 9, 10, 435, 0, 0, 17, 0, 18,
1852 0, 0, 0, 0, 641, 21, 641, 0, 0, 0,
1853 669, 673, 0, 0, 24, 0, 0, 0, 673, 0,
1854 0, 0, 0, 27, 0, 129, 130, 0, 0, 22,
1855 237, 241, 237, 0, 0, 435, 435, 435, 0, 0,
1856 0, 0, 27, 0, 28, 29, 0, 184, 184, 1092,
1857 0, 0, 8, 9, 237, 380, 12, 13, 175, 0,
1858 0, 0, 14, 0, 0, 186, 0, 0, 176, 0,
1859 0, 0, 101, 0, 0, 0, 33, 17, 0, 18,
1860 19, 177, 120, 101, 0, 21, 0, 641, 1092, 101,
1861 101, 0, 101, 0, 631, 0, 0, 632, 0, 0,
1862 0, 0, 673, 27, 0, 129, 130, 0, 0, 0,
1863 641, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864 0, 0, 217, 0, 0, 0, 0, 0, 0, 0,
1865 0, 0, 0, 788, 669, 0, 0, 800, 801, 802,
1866 441, 806, 807, 808, 809, 810, 811, 812, 813, 814,
1867 815, 816, 817, 818, 819, 820, 821, 822, 823, 824,
1868 0, 0, 0, 0, 0, 673, 0, 673, 673, 0,
1869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870 0, 120, 0, 120, 0, 0, 101, 0, 0, 0,
1871 101, 101, 0, 0, 0, 673, 0, 101, 0, 101,
1872 101, 101, 673, 0, 101, 101, 101, 0, 0, 0,
1873 0, 0, 0, 0, 0, 0, 0, 339, 0, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
1875 9, 237, 187, 12, 188, 0, 0, 0, 0, 14,
1876 0, 0, 184, 184, 184, 184, 1092, 0, 1200, 0,
1877 184, 0, 0, 0, 17, 0, 18, 19, 0, 0,
1878 0, 669, 21, 0, 0, 0, 0, 1092, 1092, 1092,
1879 0, 24, 0, 0, 0, 0, 456, 101, 0, 0,
1880 27, 0, 129, 130, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 0, 0, 101, 184, 0,
1882 0, 0, 0, 720, 0, 7, 8, 721, 10, 380,
1883 12, 13, 0, 0, 0, 0, 14, 962, 0, 0,
1884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 17, 0, 18, 19, 20, 101, 0, 0, 21,
1886 -500, 0, 0, 0, 22, 0, 0, 0, 24, 722,
1887 0, 632, 0, 184, 184, 0, 184, 27, 1019, 28,
1888 29, 0, 0, 723, 673, 724, 0, 0, 0, 0,
1889 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
1890 0, 0, 0, 32, 0, 0, 0, 1034, 0, 0,
1891 0, 33, 0, 0, 0, 101, 34, 101, 101, 0,
1892 0, 0, 0, 0, 0, 0, 0, 0, 275, 0,
1893 101, 0, 0, -500, 0, 0, 0, 0, 0, 0,
1894 0, 339, 0, 0, 0, 0, 669, 673, 0, 0,
1895 0, 101, 0, 0, 641, 0, 0, 275, 0, 0,
1896 673, 0, 673, 0, 673, 0, 0, 101, 0, 0,
1897 0, 101, 0, 0, 101, 0, 0, 0, 184, 101,
1898 184, 8, 9, 0, 0, 12, 225, 0, 0, 0,
1899 0, 14, 0, 0, 673, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 17, 0, 18, 0,
1901 0, 0, 0, 275, 21, 0, 0, 1096, 0, 0,
1902 0, 0, 0, 24, 0, 591, 0, 0, 673, 0,
1903 0, 0, 27, 0, 129, 130, 101, 0, 712, 0,
1904 0, 0, 0, 0, 0, 0, 673, 720, 592, 7,
1905 8, 721, 10, 380, 12, 13, 0, 1092, 593, 0,
1906 14, 0, 0, 0, 101, 0, 0, 0, 594, 0,
1907 0, 595, 596, 0, 0, 17, 0, 18, 19, 20,
1908 0, 0, 0, 21, -499, 0, 0, 0, 22, 1141,
1909 0, 0, 24, 722, 0, 632, 0, 0, 1092, 1092,
1910 1092, 27, 0, 28, 29, 0, 0, 723, 0, 724,
1911 0, 0, 669, 0, 0, 0, 0, 31, 0, 0,
1912 0, 0, 0, 0, 0, 0, 0, 32, 184, 0,
1913 0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
1914 34, 0, 0, 0, 0, 0, 0, 0, 669, 669,
1915 0, 0, 1175, 0, 0, 0, 101, -499, 0, 0,
1916 0, 0, 0, 0, 0, 0, 101, 101, 0, 0,
1917 101, 101, 0, 0, 0, 0, 974, 8, 721, 10,
1918 187, 12, 188, 0, 0, 0, 0, 14, 553, 554,
1919 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
1920 565, 566, 17, 0, 18, 19, 0, 0, 0, 120,
1921 21, 0, 0, 0, 0, 22, 673, 0, 673, 24,
1922 673, 217, 0, 669, 0, 0, 0, 0, 27, 0,
1923 28, 29, 669, 669, 0, 0, 976, 669, 669, 712,
1924 0, 0, 0, 0, 31, 0, 0, 0, 0, 0,
1925 0, 0, 1235, 1236, 32, 0, 0, 0, 1413, 0,
1926 0, 0, 33, 0, 0, 0, 0, 34, 0, 0,
1927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1928 0, 0, 669, 0, 1263, 0, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 712, 0, 0,
1930 101, 0, 0, 0, 0, 0, 0, 0, 673, 1414,
1931 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1932 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
1933 565, 566, 0, 101, 101, 101, 0, 0, 669, 0,
1934 803, 0, 293, 8, 9, 10, 380, 12, 294, 295,
1935 296, 0, 297, 14, 1325, 101, 0, 0, 0, 0,
1936 0, 0, 0, 0, 0, 0, 0, 0, 17, 298,
1937 18, 19, 20, 0, 299, 300, 21, 669, 301, 302,
1938 303, 22, 304, 305, 0, 24, 0, 0, 0, 306,
1939 307, 308, 309, 310, 27, 0, 28, 311, 1446, 0,
1940 -750, 312, 0, 1362, 0, 0, 0, 313, 0, 0,
1941 314, 0, 0, 0, 0, 0, 0, 0, 315, 316,
1942 317, 0, 0, 0, 0, 19, 318, 319, 320, 0,
1943 101, 0, 101, 321, 0, 0, 1393, 1394, 0, 0,
1944 0, 0, 0, 101, 0, 1399, 0, 0, 0, 0,
1945 0, 322, 0, 0, 0, 0, 669, 545, 546, 547,
1946 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
1947 558, 559, 560, 561, 562, 563, 564, 565, 566, 0,
1948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949 0, 0, 0, 0, 0, 673, 0, 0, 0, 0,
1950 0, 0, 0, 1331, 0, -454, -454, -454, -454, -454,
1951 -454, -454, 0, 0, -454, 0, -454, 0, 0, 0,
1952 0, 0, 0, 0, 0, 0, 1454, -454, 0, -454,
1953 -454, 0, 0, 0, -454, 0, 0, 712, 0, -454,
1954 0, 0, 0, 0, -454, 0, 0, 0, -454, 0,
1955 -454, 0, 0, 0, 0, 0, 0, -454, 0, -454,
1956 -454, -454, -454, -454, 101, -454, -454, -454, -454, -454,
1957 -454, -454, -454, -454, -454, -454, -454, -454, -454, -454,
1958 -454, -454, -454, -454, -454, -454, -454, -454, 0, -454,
1959 -454, -454, 0, -454, -454, -454, -454, -454, -454, 0,
1960 -454, -454, 0, 0, 0, 0, 1332, 0, 0, 0,
1961 0, -454, -454, -454, 0, -454, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 101, 101,
1963 720, 101, 7, 8, 721, 10, 380, 12, 13, 0,
1964 0, 0, 0, 14, 0, 0, 0, 0, 669, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
1966 18, 19, 20, 0, 0, 0, 21, 0, 0, 0,
1967 0, 22, 0, 0, 0, 24, 722, 0, 632, 712,
1968 0, 0, 0, 0, 27, 0, 28, 29, 0, 0,
1969 723, 0, 724, 0, 0, 0, 0, 0, 0, 0,
1970 31, 0, 0, 0, 0, 0, 0, 712, 0, 0,
1971 32, 0, 0, 0, 0, 0, 0, 0, 33, 0,
1972 0, 0, 0, 34, 101, 1384, 101, 1282, 1283, 1284,
1973 10, 380, 12, 294, 295, 296, 0, 297, 14, 1285,
1974 0, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294,
1975 1295, 15, 16, 17, 298, 18, 19, 20, 0, 299,
1976 300, 21, 0, 301, 302, 303, 22, 304, 305, 0,
1977 24, 0, 0, 0, 306, 307, 308, 309, 310, 27,
1978 0, 1296, 311, 664, 0, 1297, 312, 0, 0, 0,
1979 0, 0, 313, 0, 0, 314, 0, 0, 0, 0,
1980 0, 0, 0, 315, 316, 317, 0, 0, 0, 0,
1981 0, 318, 319, 320, 0, 0, 0, 0, 321, 0,
1982 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983 0, 0, 0, 0, 0, 1385, 322, 1281, 0, 1282,
1984 1283, 1284, 10, 380, 12, 294, 295, 296, 0, 297,
1985 14, 1285, 0, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
1986 1293, 1294, 1295, 15, 16, 17, 298, 18, 19, 20,
1987 0, 299, 300, 21, 0, 301, 302, 303, 22, 304,
1988 305, 0, 24, 0, 0, 0, 306, 307, 308, 309,
1989 310, 27, 0, 1296, 311, 664, 0, 1297, 312, 0,
1990 0, 0, 0, 0, 313, 0, 0, 314, 0, 0,
1991 0, 0, 0, 0, 0, 315, 316, 317, 0, 0,
1992 0, 0, 0, 318, 319, 320, 0, 0, 0, 0,
1993 321, 528, 1298, 293, 8, 9, 10, 380, 12, 294,
1994 295, 296, 677, 297, 14, 0, 0, 0, 322, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
1996 298, 18, 19, 20, 0, 299, 300, 21, 0, 301,
1997 302, 303, 22, 304, 305, 0, 24, 0, 591, 0,
1998 306, 307, 308, 309, 310, 27, 0, 28, 311, -288,
1999 0, 0, 312, 0, 0, 0, 0, 0, 313, 0,
2000 0, 869, 0, 0, 0, 0, 0, 0, 0, 315,
2001 316, 870, 0, 0, 0, 0, 0, 318, 319, 320,
2002 0, 594, 0, 0, 871, 596, 0, 528, 678, 7,
2003 8, 9, 10, 380, 12, 294, 295, 296, 677, 297,
2004 14, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2005 0, 0, 0, 0, 0, 17, 298, 18, 19, 20,
2006 0, 299, 300, 21, 0, 301, 302, 303, 22, 304,
2007 305, 0, 24, 0, 591, 0, 306, 307, 308, 309,
2008 310, 27, 0, 28, 29, -288, 0, 0, 312, 0,
2009 0, 0, 0, 0, 313, 0, 0, 1112, 0, 0,
2010 0, 0, 0, 0, 0, 315, 316, 1113, 0, 0,
2011 0, 0, 0, 318, 319, 320, 0, 594, 0, 0,
2012 1114, 596, 0, 676, 678, 293, 8, 9, 10, 380,
2013 12, 294, 295, 296, 677, 297, 14, 0, 322, 0,
2014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2015 0, 17, 298, 18, 19, 20, 0, 299, 300, 21,
2016 0, 301, 302, 303, 22, 304, 305, 0, 24, 0,
2017 0, 0, 306, 307, 308, 309, 310, 27, 0, 28,
2018 311, 0, 0, 0, 312, 0, 0, 0, 0, 0,
2019 313, 0, 0, 314, 0, 0, 0, 0, 0, 0,
2020 0, 315, 316, 317, 0, 0, 0, 0, 0, 318,
2021 319, 320, 0, 0, 0, 0, 321, 0, 0, 0,
2022 678, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2023 0, 0, -760, 667, 322, 789, 790, 791, 10, 0,
2024 12, 510, 295, 296, 0, 297, 14, 0, 0, 0,
2025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2026 0, 17, 298, 18, 0, 20, 0, 299, 300, 21,
2027 0, 301, 302, 303, 22, 304, 305, 0, 24, 0,
2028 0, 0, 306, 307, 308, 309, 310, 27, 0, 792,
2029 793, 668, 0, 0, 312, 0, 0, 0, 0, 0,
2030 313, 0, 0, 314, 0, 0, 0, 0, 0, 0,
2031 0, 315, 316, 317, 0, 0, 0, 0, 0, 318,
2032 319, 320, 0, 0, 0, 0, 321, 794, 667, 0,
2033 789, 790, 791, 10, 0, 12, 510, 295, 296, 0,
2034 297, 14, 0, 924, 322, 0, 0, 0, 1171, 0,
2035 0, 0, 0, 0, 0, 0, 17, 298, 18, 0,
2036 20, 0, 299, 300, 21, 0, 301, 302, 303, 22,
2037 304, 305, 0, 24, 0, 0, 0, 306, 307, 308,
2038 309, 310, 27, 0, 792, 793, 668, 0, 0, 312,
2039 0, 0, 0, 0, 0, 313, 0, 0, 314, 0,
2040 0, 0, 0, 0, 0, 0, 315, 316, 317, 0,
2041 0, 0, 0, 0, 318, 319, 320, 0, 0, 0,
2042 667, 321, 789, 790, 791, 10, 0, 12, 510, 295,
2043 296, 0, 297, 14, 0, 0, 0, 0, -458, 322,
2044 1171, 0, 0, 0, 0, 0, 0, 0, 17, 298,
2045 18, 0, 20, 0, 299, 300, 21, 0, 301, 302,
2046 303, 22, 304, 305, 0, 24, 0, 0, 0, 306,
2047 307, 308, 309, 310, 27, 0, 792, 793, 668, 0,
2048 0, 312, 0, 0, 0, 0, 0, 313, 0, 0,
2049 314, 0, 0, 0, 0, 0, 0, 0, 315, 316,
2050 317, 0, 0, 0, 0, 0, 318, 319, 320, 0,
2051 0, 0, 667, 321, 789, 790, 791, 10, 0, 12,
2052 510, 295, 296, 0, 297, 14, 0, 0, 0, 0,
2053 1214, 322, 0, 0, 0, 0, 0, 0, 0, 0,
2054 17, 298, 18, 0, 20, 0, 299, 300, 21, 0,
2055 301, 302, 303, 22, 304, 305, 0, 24, 0, 0,
2056 0, 306, 307, 308, 309, 310, 27, 0, 792, 793,
2057 668, 0, 0, 312, 0, 0, 0, 0, 0, 313,
2058 0, 0, 314, 0, 0, 0, 0, 0, 0, 0,
2059 315, 316, 317, 0, 0, 0, 0, 0, 318, 319,
2060 320, 0, 0, 0, 0, 321, 794, 667, 0, 293,
2061 8, 9, 10, 0, 12, 510, 295, 296, 0, 297,
2062 14, 0, 0, 322, 0, 0, 0, 0, 0, 0,
2063 0, 0, 0, 0, 0, 17, 298, 18, 0, 20,
2064 0, 299, 300, 21, 0, 301, 302, 303, 22, 304,
2065 305, 0, 24, 0, 0, 0, 306, 307, 308, 309,
2066 310, 27, 0, 28, 311, 668, 0, 0, 312, 0,
2067 0, 0, 0, 0, 313, 0, 0, 314, 0, 0,
2068 0, 0, 0, 0, 0, 315, 316, 317, 0, 0,
2069 0, 0, 0, 318, 319, 320, 0, 0, 0, 0,
2070 321, 0, 0, 528, 0, 293, 8, 9, 10, 1218,
2071 12, 294, 295, 296, 0, 297, 14, 0, 322, 0,
2072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2073 0, 17, 298, 18, 0, 20, 0, 299, 300, 21,
2074 0, 301, 302, 303, 22, 304, 305, 0, 24, 0,
2075 0, 0, 306, 307, 308, 309, 310, 27, 0, 28,
2076 311, -288, 0, 0, 312, 0, 0, 0, 0, 0,
2077 313, 0, 0, 529, 0, 0, 0, 0, 0, 0,
2078 0, 315, 316, 530, 0, 0, 0, 0, 0, 318,
2079 319, 320, 0, 0, 0, 667, 531, 293, 8, 9,
2080 10, 0, 12, 510, 295, 296, 0, 297, 14, 0,
2081 0, 0, 0, 0, 322, 0, 0, 0, 0, 0,
2082 0, 0, 0, 17, 298, 18, 0, 20, 0, 299,
2083 300, 21, 0, 301, 302, 303, 22, 304, 305, 0,
2084 24, 0, 0, 0, 306, 307, 308, 309, 310, 27,
2085 0, 28, 311, 668, 0, 0, 312, 0, 0, 0,
2086 0, 0, 313, 0, 0, 314, 0, 0, 0, 0,
2087 0, 0, 0, 315, 316, 317, 0, 0, 0, 0,
2088 0, 318, 319, 320, 0, 0, 0, 803, 321, 293,
2089 8, 9, 10, 0, 12, 510, 295, 296, 0, 297,
2090 14, 0, 0, 0, 0, 0, 322, 0, 0, 0,
2091 0, 0, 0, 0, 0, 17, 298, 18, 0, 20,
2092 0, 299, 300, 21, 0, 301, 302, 303, 22, 304,
2093 305, 0, 24, 0, 0, 0, 306, 307, 308, 309,
2094 310, 27, 0, 28, 311, 0, 0, 0, 312, -750,
2095 0, 0, 0, 0, 313, 0, 0, 314, 0, 0,
2096 0, 0, 0, 0, 0, 315, 316, 317, 0, 0,
2097 0, 0, 0, 318, 319, 320, 0, 0, 0, 528,
2098 321, 7, 8, 9, 10, 0, 12, 294, 295, 296,
2099 0, 297, 14, 0, 0, 0, 0, 0, 322, 0,
2100 0, 0, 0, 0, 0, 0, 0, 17, 298, 18,
2101 0, 20, 0, 299, 300, 21, 0, 301, 302, 303,
2102 22, 304, 305, 0, 24, 0, 0, 0, 306, 307,
2103 308, 309, 310, 27, 0, 28, 29, -288, 0, 0,
2104 312, 0, 0, 0, 0, 0, 313, 0, 0, 1423,
2105 0, 0, 0, 0, 0, 0, 0, 315, 316, 1424,
2106 0, 0, 0, 0, 0, 318, 319, 320, 0, 0,
2107 0, 1513, 1425, 293, 8, 9, 10, 0, 12, 294,
2108 295, 296, 0, 297, 14, 0, 0, 0, 0, 0,
2109 322, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2110 298, 18, 0, 20, 0, 299, 300, 21, 0, 301,
2111 302, 303, 22, 304, 305, 0, 24, 0, 0, 0,
2112 306, 307, 308, 309, 310, 27, 0, 28, 311, 0,
2113 0, -177, 312, 0, 0, 0, 0, 0, 313, 0,
2114 0, 314, 0, 0, 0, 0, 0, 0, 0, 315,
2115 316, 317, 0, 0, 0, 0, 0, 318, 319, 320,
2116 0, 0, 0, 803, 321, 293, 8, 9, 10, 0,
2117 12, 510, 295, 296, 0, 297, 14, 0, 0, 0,
2118 0, 0, 322, 0, 0, 0, 0, 0, 0, 0,
2119 0, 17, 298, 18, 0, 20, 0, 299, 300, 21,
2120 0, 301, 302, 303, 22, 304, 305, 0, 24, 0,
2121 0, 0, 306, 307, 308, 309, 310, 27, 0, 28,
2122 311, 0, 0, 0, 312, 0, 0, 0, 0, 0,
2123 313, 243, 0, 314, 8, 9, 0, 0, 12, 13,
2124 0, 315, 316, 317, 14, 0, 0, 0, 0, 318,
2125 319, 320, 0, 0, 0, 0, 321, 0, 0, 17,
2126 0, 18, 0, 0, 0, 0, 0, 21, 0, 244,
2127 245, 0, -750, 0, 322, 0, 24, 0, 246, 0,
2128 0, 0, 0, 0, 0, 27, 0, 129, 130, 0,
2129 247, 0, 0, 0, 248, 249, 250, 251, 252, 253,
2130 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
2131 264, 265, 266, 267, 268, 0, 0, 269, 270, 271,
2132 0, 0, 272, 0, 787, 273, 293, 8, 9, 10,
2133 0, 12, 510, 295, 296, 0, 297, 14, 0, 0,
2134 0, 0, 274, 0, 0, 0, 0, 0, 0, 0,
2135 0, 0, 17, 298, 18, 0, 20, 0, 299, 300,
2136 21, 0, 301, 302, 303, 22, 304, 305, 0, 24,
2137 0, 0, 0, 306, 307, 308, 309, 310, 27, 0,
2138 28, 311, 0, 0, 0, 312, 0, 0, 0, 0,
2139 0, 313, 0, 0, 314, 0, 0, 0, 0, 0,
2140 0, 0, 315, 316, 317, 0, 0, 0, 0, 0,
2141 318, 319, 320, 0, 0, 0, 799, 321, 293, 8,
2142 9, 10, 0, 12, 510, 295, 296, 0, 297, 14,
2143 0, 0, 0, 0, 0, 322, 0, 0, 0, 0,
2144 0, 0, 0, 0, 17, 298, 18, 0, 20, 0,
2145 299, 300, 21, 0, 301, 302, 303, 22, 304, 305,
2146 0, 24, 0, 0, 0, 306, 307, 308, 309, 310,
2147 27, 0, 28, 311, 0, 0, 0, 312, 0, 0,
2148 0, 0, 0, 313, 0, 0, 314, 0, 0, 0,
2149 0, 0, 0, 0, 315, 316, 317, 0, 0, 0,
2150 0, 0, 318, 319, 320, 0, 0, 0, 1398, 321,
2151 293, 8, 9, 10, 0, 12, 510, 295, 296, 0,
2152 297, 14, 0, 0, 0, 0, 0, 322, 0, 0,
2153 0, 0, 0, 0, 0, 0, 17, 298, 18, 0,
2154 20, 0, 299, 300, 21, 0, 301, 302, 303, 22,
2155 304, 305, 0, 24, 0, 0, 0, 306, 307, 308,
2156 309, 310, 27, 0, 28, 311, 0, 0, 0, 312,
2157 0, 0, 0, 0, 0, 313, 0, 0, 314, 0,
2158 0, 0, 0, 0, 0, 0, 315, 316, 317, 0,
2159 0, 0, 0, 0, 318, 319, 320, 293, 8, 9,
2160 10, 321, 12, 510, 295, 296, 0, 297, 14, 0,
2161 0, 0, 0, 0, 0, 0, 0, 0, 0, 322,
2162 0, 0, 0, 17, 298, 18, 0, 20, 0, 299,
2163 300, 21, 0, 301, 302, 303, 22, 304, 305, 0,
2164 24, 0, 0, 0, 306, 307, 308, 309, 310, 27,
2165 0, 28, 311, 0, 0, 0, 312, 0, 0, 0,
2166 0, 0, 313, 0, 0, 314, 0, 0, 0, 0,
2167 0, 0, 0, 315, 316, 317, 0, 0, 0, 0,
2168 0, 318, 319, 320, 0, 0, 0, 0, 321, 550,
2169 551, 552, 553, 554, 555, 556, 557, 558, 559, 560,
2170 561, 562, 563, 564, 565, 566, 322, 842, 1282, 1283,
2171 1284, 10, 380, 12, 294, 295, 296, 0, 297, 14,
2172 1285, 0, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293,
2173 1294, 1295, 15, 16, 17, 298, 18, 19, 20, 0,
2174 299, 300, 21, 0, 301, 302, 303, 22, 304, 305,
2175 0, 24, 0, 0, 0, 306, 307, 308, 309, 310,
2176 27, 0, 1296, 311, 664, 0, 1297, 312, 0, 0,
2177 0, 0, 0, 313, 0, 0, 314, 0, 0, 0,
2178 0, 0, 0, 0, 315, 316, 317, 0, 0, 0,
2179 0, 0, 318, 319, 320, 0, 0, 0, 0, 321,
2180 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0,
2181 0, 0, 0, 0, 0, 0, 1389, 322, 1282, 1283,
2182 1284, 10, 380, 12, 294, 295, 296, 0, 297, 14,
2183 1285, 0, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293,
2184 1294, 1295, 15, 16, 17, 298, 18, 19, 20, 0,
2185 299, 300, 21, 0, 301, 302, 303, 22, 304, 305,
2186 0, 24, 0, 0, 0, 306, 307, 308, 309, 310,
2187 27, 0, 1296, 311, 664, 0, 1297, 312, 0, 0,
2188 0, 0, 0, 313, 0, 0, 314, 0, 0, 0,
2189 0, 0, 0, 0, 315, 316, 317, 0, 0, 0,
2190 0, 0, 318, 319, 320, 0, 0, 0, 0, 321,
2191 0, 1298, 0, 0, 1282, 1283, 1284, 10, 380, 12,
2192 294, 295, 296, 0, 297, 14, 1285, 322, 1286, 1287,
2193 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 15, 16,
2194 17, 298, 18, 19, 20, 0, 299, 300, 21, 0,
2195 301, 302, 303, 22, 304, 305, 0, 24, 0, 0,
2196 0, 306, 307, 308, 309, 310, 27, 0, 1296, 311,
2197 1490, 0, 1297, 312, 0, 0, 0, 0, 0, 313,
2198 0, 0, 314, 0, 0, 0, 0, 0, 0, 0,
2199 315, 316, 317, 0, 0, 0, 0, 0, 318, 319,
2200 320, 0, 0, 0, 0, 321, 0, 1298, 0, 0,
2201 1282, 1283, 1284, 10, 380, 12, 294, 295, 296, 0,
2202 297, 14, 1285, 322, 1286, 1287, 1288, 1289, 1290, 1291,
2203 1292, 1293, 1294, 1295, 15, 16, 17, 298, 18, 19,
2204 20, 0, 299, 300, 21, 0, 301, 302, 303, 22,
2205 304, 305, 0, 24, 0, 0, 0, 306, 307, 308,
2206 309, 310, 27, 0, 1296, 311, 0, 0, 1297, 312,
2207 0, 0, 0, 0, 0, 313, 0, 0, 314, 0,
2208 0, 0, 0, 0, 0, 0, 315, 316, 317, 0,
2209 0, 0, 0, 0, 318, 319, 320, 0, 0, 0,
2210 0, 321, 0, 1298, 293, 8, 9, 10, 380, 12,
2211 294, 295, 296, 677, 297, 14, 0, 0, 0, 322,
2212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2213 17, 298, 18, 19, 20, 0, 299, 300, 21, 0,
2214 301, 302, 303, 22, 304, 305, 0, 24, 0, 591,
2215 0, 306, 307, 308, 309, 310, 27, 0, 28, 311,
2216 0, 0, 0, 312, 0, 0, 0, 0, 0, 313,
2217 0, 0, 869, 0, 0, 0, 0, 0, 0, 0,
2218 315, 316, 870, 0, 0, 0, 0, 0, 318, 319,
2219 320, 0, 594, 0, 0, 871, 596, 0, 0, 678,
2220 7, 8, 9, 10, 380, 12, 294, 295, 296, 677,
2221 297, 14, 0, 322, 0, 0, 0, 0, 0, 0,
2222 0, 0, 0, 0, 0, 0, 17, 298, 18, 19,
2223 20, 0, 299, 300, 21, 0, 301, 302, 303, 22,
2224 304, 305, 0, 24, 0, 591, 0, 306, 307, 308,
2225 309, 310, 27, 0, 28, 29, 0, 0, 0, 312,
2226 0, 0, 0, 0, 0, 313, 0, 0, 1112, 0,
2227 0, 0, 0, 0, 0, 0, 315, 316, 1113, 0,
2228 0, 0, 0, 0, 318, 319, 320, 0, 594, 0,
2229 0, 1114, 596, 0, 0, 678, 293, 8, 9, 10,
2230 0, 12, 294, 295, 296, 0, 297, 14, 0, 322,
2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 17, 298, 18, 0, 20, 0, 299, 300,
2233 21, 0, 301, 302, 303, 22, 304, 305, 0, 24,
2234 0, 591, 0, 306, 307, 308, 309, 310, 27, 0,
2235 28, 311, 0, 0, 0, 0, 0, 0, 0, 0,
2236 0, 313, 0, 0, 869, 0, 0, 0, 0, 0,
2237 0, 0, 315, 316, 870, 0, 0, 0, 0, 0,
2238 318, 319, 320, 0, 594, 0, 0, 871, 596, 7,
2239 8, 9, 10, 0, 12, 294, 295, 296, 0, 297,
2240 14, 0, 0, 0, 0, 322, 0, 0, 0, 0,
2241 0, 0, 0, 0, 0, 17, 298, 18, 0, 20,
2242 0, 299, 300, 21, 0, 301, 302, 303, 22, 304,
2243 305, 0, 24, 0, 591, 0, 306, 307, 308, 309,
2244 310, 27, 0, 28, 29, 0, 0, 0, 0, 0,
2245 0, 0, 0, 0, 313, 0, 0, 1112, 0, 0,
2246 0, 0, 0, 0, 0, 315, 316, 1113, 0, 0,
2247 0, 0, 0, 318, 319, 320, 0, 594, 0, 0,
2248 1114, 596, 293, 8, 9, 10, 0, 12, 510, 295,
2249 296, 0, 297, 14, 0, 0, 0, 0, 322, 0,
2250 0, 0, 0, 0, 0, 0, 0, 0, 17, 298,
2251 18, 0, 20, 0, 299, 300, 21, 0, 301, 302,
2252 303, 22, 304, 305, 0, 24, 0, 0, 0, 306,
2253 307, 308, 309, 310, 27, 0, 28, 311, 0, 0,
2254 1366, 312, 0, 0, 0, 0, 0, 313, 0, 0,
2255 314, 0, 0, 0, 0, 0, 0, 0, 315, 316,
2256 317, 0, 0, 0, 0, 0, 318, 319, 320, 0,
2257 0, 0, 0, 321, 293, 8, 9, 10, 380, 12,
2258 294, 295, 296, 0, 297, 14, 0, 0, 0, 0,
2259 0, 322, 0, 0, 0, 0, 0, 0, 0, 0,
2260 17, 298, 18, 19, 20, 0, 299, 300, 21, 0,
2261 301, 302, 303, 22, 304, 305, 0, 24, 0, 0,
2262 0, 306, 307, 308, 309, 310, 27, 0, 28, 311,
2263 0, 0, 0, 0, 0, 0, 0, 0, 0, 313,
2264 0, 0, 314, 0, 0, 0, 0, 0, 0, 0,
2265 315, 316, 317, 0, 0, 0, 0, 0, 318, 319,
2266 320, 293, 8, 9, 10, 321, 12, 294, 295, 296,
2267 0, 297, 14, 0, 0, 0, 0, 0, 0, 0,
2268 0, 0, 0, 322, 0, 0, 0, 17, 298, 18,
2269 0, 20, 0, 299, 300, 21, 0, 301, 302, 303,
2270 22, 304, 305, 0, 24, 0, 0, 0, 306, 307,
2271 308, 309, 310, 27, 0, 28, 311, 0, 0, 0,
2272 312, 0, 0, 0, 0, 0, 313, 0, 0, 314,
2273 0, 0, 0, 0, 0, 0, 0, 315, 316, 317,
2274 0, 0, 0, 0, 0, 318, 319, 320, 293, 8,
2275 9, 10, 321, 12, 510, 295, 296, 0, 297, 14,
2276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2277 322, 0, 0, 0, 17, 298, 18, 0, 20, 0,
2278 299, 300, 21, 0, 301, 302, 303, 22, 304, 305,
2279 0, 24, 0, 0, 0, 306, 307, 308, 309, 310,
2280 27, 0, 28, 311, 0, 0, 0, 312, 0, 0,
2281 0, 0, 0, 313, 0, 0, 314, 0, 0, 0,
2282 0, 0, 0, 0, 315, 316, 317, 0, 0, 0,
2283 0, 0, 318, 319, 320, 293, 8, 9, 10, 321,
2284 12, 510, 295, 296, 0, 297, 14, 0, 0, 0,
2285 0, 0, 0, 0, 0, 0, 0, 322, 0, 0,
2286 0, 17, 298, 18, 0, 20, 0, 299, 300, 21,
2287 0, 301, 302, 303, 22, 304, 305, 0, 24, 0,
2288 0, 0, 306, 307, 308, 309, 310, 27, 0, 28,
2289 311, 541, 0, 0, 0, 0, 0, 0, 0, 0,
2290 313, 0, 0, 314, 0, 0, 0, 0, 0, 0,
2291 0, 315, 316, 317, 0, 0, 0, 0, 0, 318,
2292 319, 320, 293, 8, 9, 10, 542, 12, 510, 295,
2293 296, 0, 297, 14, 0, 0, 0, 0, 0, 0,
2294 0, 0, 0, 0, 322, 0, 0, 0, 17, 298,
2295 18, 0, 20, 0, 299, 300, 21, 0, 301, 302,
2296 303, 22, 304, 305, 0, 24, 0, 0, 0, 306,
2297 307, 308, 309, 310, 27, 0, 28, 311, 0, 0,
2298 0, 0, 0, 0, 0, 0, 0, 313, 0, 0,
2299 314, 0, 0, 0, 0, 0, 0, 0, 315, 316,
2300 317, 0, 0, 0, 0, 0, 318, 319, 320, 0,
2301 0, 0, 0, 321, 579, 293, 8, 9, 10, 0,
2302 12, 510, 295, 296, 0, 297, 14, 0, 0, 0,
2303 0, 322, 0, 0, 0, 0, 0, 0, 0, 0,
2304 0, 17, 298, 18, 0, 20, 0, 299, 300, 21,
2305 0, 301, 302, 303, 22, 304, 305, 0, 24, 0,
2306 0, 0, 306, 307, 308, 309, 310, 27, 0, 28,
2307 311, 0, 0, 0, 312, 0, 0, 0, 0, 0,
2308 313, 0, 0, 529, 0, 0, 0, 0, 0, 0,
2309 0, 315, 316, 530, 0, 0, 0, 0, 0, 318,
2310 319, 320, 1080, 8, 9, 10, 531, 12, 510, 295,
2311 296, 0, 297, 14, 0, 0, 0, 0, 0, 0,
2312 0, 0, 0, 0, 322, 0, 0, 0, 17, 298,
2313 18, 0, 20, 0, 299, 300, 21, 0, 301, 302,
2314 303, 22, 304, 305, 0, 24, 0, 0, 0, 306,
2315 307, 308, 309, 310, 27, 0, 28, 311, 0, 0,
2316 0, 312, 0, 0, 0, 0, 0, 313, 0, 0,
2317 314, 0, 0, 0, 0, 0, 0, 0, 315, 316,
2318 317, 0, 0, 0, 0, 0, 318, 319, 320, 7,
2319 8, 9, 10, 321, 12, 510, 295, 296, 0, 297,
2320 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2321 0, 322, 0, 0, 0, 17, 298, 18, 0, 20,
2322 0, 299, 300, 21, 0, 301, 302, 303, 22, 304,
2323 305, 0, 24, 0, 0, 0, 306, 307, 308, 309,
2324 310, 27, 0, 28, 29, 0, 0, 0, 312, 0,
2325 0, 0, 0, 0, 313, 0, 0, 1423, 0, 0,
2326 0, 0, 0, 0, 0, 315, 316, 1424, 0, 0,
2327 0, 0, 0, 318, 319, 320, 293, 8, 9, 10,
2328 1425, 12, 510, 295, 296, 0, 297, 14, 0, 0,
2329 0, 0, 0, 0, 0, 0, 0, 0, 322, 0,
2330 0, 0, 17, 298, 18, 0, 20, 0, 299, 300,
2331 21, 0, 301, 302, 303, 22, 304, 305, 0, 24,
2332 0, 0, 0, 306, 307, 308, 309, 310, 27, 0,
2333 28, 311, 0, 0, 0, 0, 0, 0, 0, 0,
2334 0, 313, 0, 0, 314, 0, 0, 0, 0, 0,
2335 0, 0, 315, 316, 317, 0, 0, 0, 0, 0,
2336 318, 319, 320, 293, 8, 9, 10, 511, 12, 510,
2337 295, 296, 0, 297, 14, 0, 0, 0, 0, 0,
2338 0, 0, 0, 0, 0, 322, 0, 0, 0, 17,
2339 298, 18, 0, 20, 0, 299, 300, 21, 0, 301,
2340 302, 303, 22, 304, 305, 0, 24, 0, 0, 0,
2341 306, 307, 308, 309, 310, 27, 0, 28, 311, 0,
2342 0, 0, 0, 0, 0, 0, 0, 0, 313, 0,
2343 0, 314, 0, 0, 0, 0, 0, 0, 0, 315,
2344 316, 317, 0, 0, 0, 0, 0, 318, 319, 320,
2345 293, 8, 9, 10, 514, 12, 510, 295, 296, 0,
2346 297, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2347 0, 0, 322, 0, 0, 0, 17, 298, 18, 0,
2348 20, 0, 299, 300, 21, 0, 301, 302, 303, 22,
2349 304, 305, 0, 24, 0, 0, 0, 306, 307, 308,
2350 309, 310, 27, 0, 28, 311, 0, 0, 0, 0,
2351 0, 0, 0, 0, 0, 313, 0, 0, 314, 0,
2352 0, 0, 0, 0, 0, 0, 315, 316, 317, 0,
2353 0, 0, 0, 0, 318, 319, 320, 293, 8, 9,
2354 10, 321, 12, 510, 295, 296, 0, 297, 14, 0,
2355 0, 0, 0, 0, 0, 0, 0, 0, 0, 322,
2356 0, 0, 0, 17, 298, 18, 0, 20, 0, 299,
2357 300, 21, 0, 301, 302, 303, 22, 304, 305, 0,
2358 24, 0, 0, 0, 306, 307, 308, 309, 310, 27,
2359 0, 28, 311, 0, 0, 0, 0, 0, 0, 0,
2360 0, 0, 313, 0, 0, 529, 0, 0, 0, 0,
2361 0, 0, 0, 315, 316, 530, 0, 0, 0, 0,
2362 0, 318, 319, 320, 7, 8, 9, 10, 531, 12,
2363 294, 295, 296, 0, 297, 14, 0, 0, 0, 0,
2364 0, 0, 0, 0, 0, 0, 322, 0, 0, 0,
2365 17, 298, 18, 0, 20, 0, 299, 300, 21, 0,
2366 301, 302, 303, 22, 304, 305, 0, 24, 0, 0,
2367 0, 306, 307, 308, 309, 310, 27, 0, 28, 29,
2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 313,
2369 0, 6, 1423, 7, 8, 9, 10, 11, 12, 13,
2370 315, 316, 1424, 0, 14, 0, 0, 0, 318, 319,
2371 320, 0, 0, 0, 0, 1425, 0, 15, 16, 17,
2372 0, 18, 19, 20, 0, 0, 0, 21, 0, 0,
2373 0, 0, 22, 322, 0, 23, 24, 25, 0, 26,
2374 0, 0, 0, 0, 0, 27, 0, 28, 29, 0,
2375 161, 30, 7, 8, 9, 10, 11, 12, 13, 0,
2376 0, 31, 0, 14, 0, 0, 0, 0, 0, 0,
2377 0, 32, 0, 0, 0, 0, 15, 16, 17, 33,
2378 18, 19, 20, 0, 34, 0, 21, 0, 0, 0,
2379 35, 22, 0, 0, 23, 24, 25, 0, 26, 0,
2380 0, 0, 0, 0, 27, 0, 28, 29, 0, 0,
2381 30, 7, 8, 9, 10, 187, 12, 188, 0, 0,
2382 31, 0, 14, 0, 0, 0, 0, 0, 0, 0,
2383 32, 0, 0, 0, 0, 0, 0, 17, 33, 18,
2384 19, 0, 0, 34, 0, 21, 0, 0, 0, 35,
2385 22, 0, 0, 0, 24, 0, 7, 8, 9, 10,
2386 380, 12, 13, 27, 0, 28, 29, 14, 0, 1379,
2387 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2388 0, 0, 17, 0, 18, 19, 0, 0, 0, 32,
2389 21, 0, 0, 0, 0, 22, 0, 33, 0, 24,
2390 0, 0, 34, 0, 0, 0, 0, 0, 27, 0,
2391 28, 29, 7, 8, 9, 10, 187, 12, 188, 0,
2392 0, 0, 0, 14, 31, 0, 0, 0, 0, 0,
2393 0, 0, 0, 0, 32, 0, 0, 0, 17, 0,
2394 18, 19, 33, 0, 0, 0, 21, 34, 0, 0,
2395 0, 22, 0, 0, 0, 24, 0, 0, 0, 0,
2396 0, 0, 0, 0, 27, 0, 28, 29, 545, 546,
2397 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2398 31, 558, 559, 560, 561, 562, 563, 564, 565, 566,
2399 32, 0, 0, 0, 0, 0, 0, 0, 33, 0,
2400 0, 0, 0, 34, 545, 546, 547, 548, 549, 550,
2401 551, 552, 553, 554, 555, 556, 557, 558, 559, 560,
2402 561, 562, 563, 564, 565, 566, 545, 546, 547, 548,
2403 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
2404 559, 560, 561, 562, 563, 564, 565, 566, 0, 0,
2405 0, 0, 0, 1169, 0, 0, 0, 0, 0, 0,
2406 0, 0, 0, 0, 0, 0, 0, 0, 544, 0,
2407 0, 1434, 545, 546, 547, 548, 549, 550, 551, 552,
2408 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
2409 563, 564, 565, 566, 1343, 545, 546, 547, 548, 549,
2410 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
2411 560, 561, 562, 563, 564, 565, 566, 1476, 545, 546,
2412 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2413 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
2414 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2415 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
2416 565, 566, 549, 550, 551, 552, 553, 554, 555, 556,
2417 557, 558, 559, 560, 561, 562, 563, 564, 565, 566
2420 static const short yycheck
[] = { 4,
2421 340, 24, 4, 4, 54, 4, 662, 125, 191, 379,
2422 34, 75, 4, 156, 14, 660, 379, 231, 146, 147,
2423 831, 379, 460, 725, 346, 350, 83, 132, 4, 439,
2424 650, 36, 734, 79, 36, 36, 41, 36, 34, 41,
2425 41, 1276, 41, 226, 36, 297, 298, 53, 1411, 41,
2426 923, 56, 191, 221, 4, 412, 643, 1299, 61, 34,
2427 36, 200, 11, 1446, 1444, 41, 71, 11, 1306, 106,
2428 107, 1441, 59, 59, 38, 1313, 328, 1, 83, 65,
2429 56, 11, 82, 60, 1, 56, 36, 58, 1468, 743,
2430 60, 41, 595, 276, 748, 141, 31, 32, 1428, 602,
2431 0, 106, 107, 1135, 1136, 105, 199, 200, 48, 3,
2432 4, 5, 9, 100, 63, 0, 128, 1149, 75, 284,
2433 285, 133, 146, 147, 148, 79, 1509, 1497, 132, 133,
2434 135, 195, 346, 135, 111, 59, 111, 1467, 61, 185,
2435 110, 761, 59, 1, 764, 151, 63, 111, 83, 12,
2436 146, 147, 148, 177, 94, 160, 75, 340, 160, 135,
2437 89, 110, 91, 57, 58, 62, 110, 1547, 1498, 1411,
2438 1533, 106, 107, 513, 61, 55, 182, 1415, 535, 96,
2439 110, 177, 55, 12, 160, 135, 596, 81, 111, 14,
2440 63, 194, 60, 49, 60, 75, 94, 60, 23, 202,
2441 63, 59, 61, 12, 34, 63, 1238, 136, 8, 9,
2442 160, 146, 147, 867, 14, 1247, 1248, 1455, 1250, 63,
2443 191, 386, 387, 661, 111, 27, 28, 227, 199, 200,
2444 32, 60, 337, 1044, 63, 98, 65, 37, 96, 64,
2445 175, 176, 110, 1478, 110, 61, 46, 110, 48, 60,
2446 48, 60, 111, 63, 63, 63, 299, 300, 229, 61,
2447 437, 94, 1500, 65, 48, 75, 110, 48, 445, 98,
2448 633, 314, 277, 417, 317, 94, 333, 320, 283, 48,
2449 323, 324, 287, 75, 321, 287, 906, 907, 242, 98,
2450 75, 334, 614, 7, 94, 111, 94, 95, 123, 110,
2451 887, 626, 110, 431, 432, 444, 663, 961, 94, 111,
2452 94, 287, 110, 94, 95, 685, 321, 147, 148, 973,
2453 145, 464, 39, 1469, 38, 94, 110, 685, 333, 110,
2454 4, 5, 382, 337, 499, 1481, 341, 287, 55, 25,
2455 352, 681, 48, 55, 109, 1491, 346, 177, 283, 48,
2456 443, 444, 61, 48, 1008, 25, 1010, 286, 451, 65,
2457 58, 373, 1508, 75, 1396, 1397, 65, 1178, 871, 373,
2458 463, 4, 5, 59, 379, 4, 5, 63, 383, 61,
2459 9, 1527, 55, 57, 58, 422, 321, 379, 94, 453,
2460 483, 894, 48, 218, 219, 94, 1016, 1017, 333, 94,
2461 95, 4, 5, 48, 1550, 60, 231, 431, 432, 433,
2462 96, 48, 383, 384, 48, 110, 1289, 4, 5, 32,
2463 425, 76, 55, 48, 57, 58, 55, 36, 57, 58,
2464 933, 65, 41, 48, 75, 431, 432, 433, 94, 95,
2465 63, 63, 71, 48, 379, 4, 5, 450, 1150, 94,
2466 95, 501, 81, 75, 57, 58, 461, 94, 868, 461,
2467 94, 95, 461, 466, 59, 436, 95, 60, 61, 94,
2468 57, 58, 443, 444, 511, 1348, 447, 514, 81, 94,
2469 451, 518, 55, 48, 1357, 1358, 529, 530, 313, 94,
2470 425, 321, 48, 191, 531, 4, 431, 432, 57, 58,
2471 48, 199, 200, 4, 5, 542, 511, 461, 63, 514,
2472 547, 461, 48, 518, 519, 520, 521, 522, 888, 576,
2473 75, 959, 81, 48, 349, 888, 531, 36, 226, 94,
2474 888, 502, 41, 55, 111, 48, 573, 542, 94, 87,
2475 88, 709, 579, 711, 92, 93, 94, 95, 716, 60,
2476 61, 4, 5, 75, 876, 59, 57, 58, 94, 95,
2477 489, 3, 4, 5, 921, 3, 4, 5, 48, 94,
2478 575, 576, 48, 4, 5, 55, 511, 94, 276, 514,
2479 81, 94, 55, 518, 519, 520, 521, 522, 1091, 639,
2480 595, 641, 642, 758, 777, 75, 531, 602, 55, 1472,
2481 48, 719, 432, 433, 57, 58, 606, 542, 631, 702,
2482 48, 1114, 55, 55, 94, 57, 58, 55, 94, 57,
2483 58, 873, 3, 4, 5, 6, 57, 58, 81, 48,
2484 76, 681, 48, 458, 25, 640, 27, 28, 661, 644,
2485 575, 576, 340, 63, 1054, 1303, 94, 1305, 1050, 1051,
2486 81, 1053, 3, 4, 5, 75, 94, 592, 593, 55,
2487 595, 42, 876, 1101, 728, 729, 110, 602, 59, 640,
2488 110, 642, 63, 737, 55, 94, 57, 58, 94, 75,
2489 685, 511, 732, 55, 514, 95, 384, 4, 5, 833,
2490 48, 1129, 110, 3, 4, 5, 110, 3, 4, 5,
2491 530, 531, 11, 75, 55, 96, 57, 58, 89, 1049,
2492 681, 111, 542, 55, 60, 61, 541, 48, 3, 55,
2493 725, 63, 727, 725, 55, 727, 725, 63, 733, 734,
2494 418, 702, 734, 75, 705, 734, 94, 425, 743, 75,
2495 57, 58, 61, 748, 75, 443, 444, 57, 58, 59,
2496 685, 57, 58, 451, 48, 94, 732, 733, 55, 27,
2497 28, 55, 733, 94, 81, 463, 63, 55, 739, 4,
2498 5, 725, 602, 727, 76, 725, 78, 727, 75, 733,
2499 734, 75, 60, 61, 734, 483, 113, 75, 956, 957,
2500 958, 418, 1437, 63, 3, 4, 5, 6, 425, 842,
2501 94, 838, 84, 85, 502, 1461, 631, 25, 743, 27,
2502 28, 95, 76, 748, 78, 744, 745, 746, 643, 95,
2503 55, 509, 57, 58, 55, 830, 869, 870, 60, 834,
2504 27, 28, 63, 42, 871, 32, 71, 1002, 1003, 1004,
2505 49, 59, 113, 668, 75, 63, 81, 94, 57, 58,
2506 3, 4, 5, 899, 111, 999, 861, 3, 4, 5,
2507 95, 55, 867, 60, 61, 94, 871, 75, 65, 63,
2508 894, 75, 81, 75, 60, 75, 876, 110, 96, 65,
2509 89, 75, 509, 888, 572, 890, 574, 575, 60, 894,
2510 76, 1035, 1036, 8, 9, 830, 888, 11, 894, 14,
2511 60, 61, 55, 110, 57, 58, 59, 110, 113, 933,
2512 55, 57, 58, 977, 602, 110, 65, 954, 63, 983,
2513 984, 609, 37, 987, 988, 61, 861, 991, 933, 110,
2514 75, 46, 867, 111, 869, 870, 871, 933, 111, 985,
2515 110, 771, 947, 75, 642, 572, 113, 574, 575, 954,
2516 755, 756, 757, 888, 75, 890, 961, 892, 893, 894,
2517 65, 1089, 1090, 60, 61, 1305, 1110, 75, 973, 4,
2518 5, 60, 60, 61, 113, 1119, 1120, 60, 113, 110,
2519 1124, 1125, 609, 681, 1112, 1113, 110, 76, 110, 78,
2520 59, 996, 110, 55, 996, 966, 967, 996, 933, 8,
2521 113, 94, 1359, 1008, 702, 1010, 3, 4, 5, 6,
2522 45, 48, 947, 1056, 1371, 94, 111, 61, 37, 954,
2523 55, 61, 57, 58, 995, 1169, 961, 65, 110, 65,
2524 110, 985, 81, 82, 83, 84, 85, 65, 973, 63,
2525 870, 871, 996, 110, 110, 42, 996, 1093, 4, 5,
2526 110, 65, 79, 9, 879, 65, 113, 65, 65, 60,
2527 57, 58, 887, 94, 894, 1089, 1090, 1091, 1438, 1112,
2528 1113, 1428, 63, 1008, 436, 1010, 103, 1114, 1101, 777,
2529 1438, 1225, 111, 771, 110, 447, 1091, 110, 1112, 1113,
2530 1114, 76, 89, 1089, 1090, 1091, 76, 110, 110, 55,
2531 76, 57, 58, 933, 110, 132, 76, 110, 1465, 1114,
2532 1467, 110, 1452, 63, 141, 71, 1112, 1113, 1114, 25,
2533 1264, 27, 28, 63, 60, 81, 1483, 110, 1165, 1166,
2534 1167, 1168, 3, 4, 5, 63, 7, 8, 9, 1176,
2535 113, 1498, 110, 95, 111, 1150, 834, 110, 1150, 110,
2536 89, 1150, 48, 59, 1089, 1090, 1091, 63, 185, 847,
2537 113, 849, 110, 851, 110, 57, 37, 110, 113, 113,
2538 1141, 1142, 110, 1144, 1145, 110, 1147, 1112, 1113, 1114,
2539 110, 1245, 1246, 60, 55, 111, 57, 58, 59, 65,
2540 96, 218, 1146, 881, 60, 25, 1150, 27, 28, 1343,
2541 1150, 65, 60, 110, 94, 110, 1211, 834, 111, 1211,
2542 1211, 1036, 1211, 94, 94, 242, 1221, 111, 113, 94,
2543 847, 110, 849, 110, 851, 4, 5, 915, 8, 59,
2544 113, 110, 110, 63, 105, 106, 107, 79, 80, 81,
2545 82, 83, 84, 85, 65, 933, 63, 110, 110, 110,
2546 110, 110, 48, 1303, 881, 1305, 1299, 1294, 110, 110,
2547 1090, 1091, 110, 379, 1235, 1236, 96, 110, 113, 1452,
2548 106, 107, 3, 4, 5, 110, 55, 1420, 57, 58,
2549 34, 110, 110, 1113, 1114, 1110, 1221, 110, 915, 97,
2550 110, 110, 71, 63, 1299, 1423, 1424, 1299, 110, 1304,
2551 1299, 1306, 81, 110, 1306, 1306, 110, 1306, 1313, 425,
2552 110, 1313, 1313, 110, 1313, 113, 63, 1381, 345, 61,
2553 61, 9, 61, 16, 61, 94, 57, 58, 94, 61,
2554 94, 1368, 109, 1304, 1305, 94, 4, 5, 99, 7,
2555 8, 9, 17, 705, 12, 61, 14, 61, 110, 11,
2556 110, 61, 110, 110, 1325, 1326, 1327, 61, 1382, 94,
2557 60, 29, 389, 31, 32, 110, 61, 65, 11, 37,
2558 3, 4, 5, 11, 1411, 1412, 61, 739, 46, 61,
2559 1423, 1424, 110, 1208, 110, 61, 1382, 55, 1425, 57,
2560 58, 1535, 0, 0, 3, 4, 5, 0, 2, 1423,
2561 1424, 1425, 407, 1453, 1441, 352, 1411, 1412, 160, 1411,
2562 1415, 1475, 1411, 1415, 1415, 1103, 1415, 1105, 888, 1107,
2563 1425, 1436, 1393, 1394, 57, 58, 160, 1423, 1424, 1425,
2564 98, 458, 733, 1438, 727, 1101, 1441, 93, 493, 1444,
2565 1407, 138, 1444, 1444, 1547, 1444, 279, 283, 57, 58,
2566 1455, 1304, 879, 1455, 1455, 668, 1455, 768, 1495, 486,
2567 1497, 1129, 959, 1468, 220, 996, 1468, 1468, 727, 1468,
2568 1295, 733, 3, 4, 5, 6, 1103, 1412, 1105, 595,
2569 1107, 1148, 1519, 508, 576, 321, 602, 4, 1423, 1424,
2570 1425, 766, 1497, 182, 123, 1500, 1533, 14, 1500, 1500,
2571 337, 1500, 1306, 1438, 1212, 1483, 1441, 1195, 25, 1461,
2572 1458, 42, 1520, 1522, 31, 32, 942, 34, 49, 36,
2573 3, 4, 5, -1, 41, 1350, 57, 58, 1499, 1221,
2574 -1, -1, -1, 4, 5, -1, -1, 54, 9, 56,
2575 -1, -1, 1547, 379, -1, 1547, 1547, 64, 1547, -1,
2576 81, -1, 1382, -1, 71, -1, 39, 40, 89, 42,
2577 -1, 588, 1497, -1, -1, 82, 83, -1, 1195, 685,
2578 -1, -1, 55, -1, 57, 58, -1, 48, 605, -1,
2579 3, 4, 5, 6, 55, -1, 57, 58, 105, -1,
2580 -1, -1, -1, -1, 1424, 1425, -1, -1, -1, -1,
2581 71, -1, -1, -1, 966, 967, -1, 1305, -1, -1,
2582 81, 128, 9, -1, -1, 12, 133, -1, 135, 42,
2583 91, 12, 139, 94, 95, 142, 143, 743, -1, 146,
2584 147, 148, 748, 995, 57, 58, 27, 28, -1, -1,
2585 -1, 32, -1, 160, -1, -1, -1, -1, -1, -1,
2586 -1, 48, -1, -1, -1, -1, -1, 48, 175, 176,
2587 177, -1, -1, 60, -1, 62, 63, 700, 65, 60,
2588 61, -1, 63, -1, 65, 511, -1, -1, 514, 76,
2589 -1, 78, 518, 519, 520, 521, 522, 204, -1, -1,
2590 -1, -1, -1, -1, 1382, 531, -1, 94, 95, -1,
2591 -1, 98, 219, 94, 95, -1, 542, 98, -1, 742,
2592 227, -1, -1, 110, 747, -1, -1, -1, -1, 110,
2593 4, 5, 239, 7, 8, 9, -1, -1, 12, -1,
2594 14, -1, -1, -1, -1, -1, 3, 4, 5, 575,
2595 7, 8, 9, -1, -1, 29, -1, 31, 32, -1,
2596 -1, 867, -1, 37, 1452, 871, 7, 8, 9, 595,
2597 277, 278, 46, 14, 48, -1, 602, -1, -1, -1,
2598 287, 55, 888, 57, 58, -1, -1, -1, 894, 1141,
2599 1142, 32, 1144, 1145, -1, 1147, 37, 71, 4, 5,
2600 57, 58, 8, 9, -1, 46, -1, 81, 14, 3,
2601 4, 5, 6, -1, -1, 9, -1, 91, 81, -1,
2602 94, 95, -1, 29, 98, 31, 333, 933, -1, -1,
2603 337, 37, 339, 340, 341, 175, 176, 177, -1, 862,
2604 46, 864, -1, -1, -1, 352, -1, -1, 42, 55,
2605 -1, 57, 58, 59, 48, 961, -1, -1, 875, 685,
2606 877, 55, -1, 57, 58, -1, 373, 973, -1, -1,
2607 -1, -1, 379, -1, -1, 382, 383, 71, -1, 3,
2608 4, 5, 899, 1235, 1236, -1, 393, 81, 94, 396,
2609 -1, 154, -1, -1, 401, 89, -1, 91, -1, -1,
2610 94, 95, 1008, -1, 1010, -1, -1, 31, -1, -1,
2611 173, 3, 4, 5, 6, -1, -1, 9, -1, -1,
2612 427, -1, 429, 186, 431, 432, 433, -1, -1, -1,
2613 437, 55, -1, 57, 58, 442, -1, -1, 445, 4,
2614 5, -1, -1, 8, 9, -1, -1, -1, -1, 14,
2615 42, -1, -1, -1, 461, -1, 48, 7, 8, 9,
2616 -1, -1, -1, 55, 14, 57, 58, -1, 985, -1,
2617 -1, -1, 37, 1325, 1326, 1327, -1, -1, -1, 71,
2618 -1, 46, 32, 48, 1007, 1091, 1009, 37, -1, 81,
2619 55, -1, 57, 58, 501, -1, 46, 89, -1, 91,
2620 -1, -1, 94, 95, 830, -1, 71, -1, 1114, -1,
2621 -1, 61, 519, 520, 521, 522, 81, -1, 7, 8,
2622 9, -1, -1, -1, -1, 14, 91, -1, -1, 94,
2623 95, -1, -1, -1, -1, 861, -1, -1, -1, -1,
2624 -1, 1393, 1394, 32, -1, 871, -1, 1070, 37, 3,
2625 4, 5, -1, 7, -1, -1, -1, 46, -1, 1076,
2626 -1, -1, 888, -1, 890, -1, -1, -1, 894, 576,
2627 -1, 578, 3, 4, 5, 6, 1093, 31, 9, -1,
2628 -1, -1, 589, -1, 38, 592, 593, 427, 595, 429,
2629 -1, 431, 432, 433, -1, 602, -1, -1, -1, 606,
2630 -1, 55, 442, 57, 58, -1, -1, 933, -1, -1,
2631 1133, 42, -1, -1, 1137, -1, -1, 48, -1, -1,
2632 -1, 947, -1, -1, 55, -1, 57, 58, 954, 1146,
2633 -1, -1, 639, 640, 641, 642, 643, 644, -1, -1,
2634 71, 7, 8, 9, -1, -1, -1, 1499, 14, -1,
2635 81, 3, 4, 5, 6, -1, -1, 9, 89, -1,
2636 91, -1, -1, 94, 95, -1, 32, -1, 1191, -1,
2637 -1, 37, 435, -1, 681, -1, -1, 440, 685, -1,
2638 46, -1, -1, -1, -1, 692, 693, -1, 695, -1,
2639 42, -1, -1, -1, -1, 61, 48, -1, -1, 3,
2640 4, 5, 6, 55, 467, 57, 58, -1, -1, 472,
2641 -1, -1, -1, -1, -1, 722, -1, -1, 725, 71,
2642 727, 484, 485, -1, 487, 732, 733, 734, -1, 81,
2643 -1, 1254, 1255, -1, -1, -1, 743, 89, 42, 91,
2644 -1, 748, 94, 95, 48, -1, -1, 1270, 755, 756,
2645 757, 55, -1, 57, 58, -1, 4, 5, -1, -1,
2646 8, 9, -1, -1, -1, 1091, 14, 71, -1, -1,
2647 777, -1, -1, -1, 3, 4, 5, 81, 7, 8,
2648 9, 29, -1, 31, -1, 89, -1, 91, 1114, 37,
2649 94, 95, -1, -1, -1, 1318, 1319, -1, 46, -1,
2650 -1, -1, 3, 4, 5, 6, -1, 55, 37, 57,
2651 58, -1, -1, -1, 1337, 1338, -1, -1, -1, -1,
2652 -1, -1, -1, 830, -1, 339, 340, 341, 57, 58,
2653 -1, -1, 1438, -1, -1, 598, 599, -1, -1, -1,
2654 603, 42, -1, -1, -1, 852, 94, 854, 49, -1,
2655 -1, -1, 692, 693, 861, 695, 57, 58, 865, -1,
2656 867, -1, 869, 870, 871, -1, -1, -1, -1, 876,
2657 3, 4, 5, 6, -1, -1, 9, -1, -1, -1,
2658 81, 888, -1, 890, -1, 892, 893, 894, 89, -1,
2659 -1, 4, 732, -1, -1, 1221, -1, -1, -1, -1,
2660 -1, 14, -1, -1, -1, -1, -1, -1, -1, 42,
2661 -1, 24, 25, 3, 4, 5, 6, -1, 31, 32,
2662 -1, 34, 55, 36, 57, 58, 933, -1, 41, 4,
2663 5, -1, -1, 8, 9, -1, -1, -1, 71, 14,
2664 947, 54, -1, 56, -1, -1, -1, -1, 81, -1,
2665 -1, 64, 42, -1, 961, -1, 89, -1, 71, -1,
2666 -1, 94, 37, -1, -1, 55, 973, 57, 58, -1,
2667 83, 46, -1, 48, -1, -1, -1, -1, -1, 986,
2668 55, 71, 57, 58, -1, -1, 749, -1, 751, 996,
2669 -1, 81, -1, -1, -1, -1, 71, -1, -1, 89,
2670 -1, 1008, -1, 1010, 94, -1, 81, -1, -1, -1,
2671 -1, 3, 4, 5, 6, 128, 91, -1, -1, 94,
2672 95, -1, 135, -1, -1, -1, 139, -1, -1, -1,
2673 143, -1, -1, 146, 147, 148, -1, -1, -1, -1,
2674 -1, -1, -1, 1050, 1051, -1, 1053, 160, -1, -1,
2675 42, -1, 892, 893, 894, -1, -1, 49, -1, -1,
2676 -1, -1, 175, 176, 177, 57, 58, 4, 5, -1,
2677 7, 8, 9, 836, 837, 12, 839, 14, 592, 593,
2678 1087, 1088, 1089, 1090, 1091, -1, -1, -1, 1095, 81,
2679 -1, 204, 29, 933, 31, 32, -1, 89, -1, 1425,
2680 37, -1, -1, 866, -1, 1112, 1113, 1114, -1, 46,
2681 -1, -1, 1438, -1, 3, 4, 5, 6, 55, -1,
2682 57, 58, -1, -1, -1, 639, 239, 641, 642, -1,
2683 644, -1, -1, 896, -1, -1, 1143, -1, -1, -1,
2684 -1, 1148, 1, 1150, 3, 4, 5, 6, 7, 8,
2685 9, -1, -1, 42, 1, 14, 3, 4, 5, 6,
2686 49, 8, -1, -1, 277, 278, -1, 681, 57, 58,
2687 29, -1, 31, 32, 287, -1, -1, -1, 37, -1,
2688 -1, -1, -1, 42, -1, -1, -1, 46, 47, -1,
2689 49, 1198, 1199, -1, 1201, 42, 55, 960, 57, 58,
2690 89, -1, 49, -1, 63, -1, -1, -1, 55, 972,
2691 57, 58, 71, -1, 1221, -1, -1, -1, -1, -1,
2692 333, -1, 81, -1, 337, -1, 339, 340, 341, -1,
2693 89, -1, -1, 346, -1, 94, -1, -1, -1, 352,
2694 -1, -1, 89, -1, -1, -1, -1, 1087, 1088, 1089,
2695 1090, 1091, -1, -1, -1, 1095, -1, -1, -1, -1,
2696 -1, -1, -1, 777, -1, -1, 379, -1, -1, 382,
2697 383, -1, 1112, 1113, 1114, -1, -1, -1, -1, -1,
2698 393, -1, -1, 396, -1, -1, -1, -1, 401, -1,
2699 -1, -1, -1, -1, -1, -1, 1303, 1304, 1305, -1,
2700 -1, -1, 1065, 1143, -1, -1, -1, -1, -1, 4,
2701 5, -1, -1, -1, 427, -1, 429, -1, 431, 432,
2702 433, -1, -1, -1, 437, -1, -1, -1, -1, 442,
2703 -1, 1094, 445, -1, -1, -1, -1, -1, 852, -1,
2704 854, -1, -1, 3, 4, 5, 6, 460, 461, -1,
2705 -1, 865, -1, 48, -1, 869, 870, -1, 1198, 1199,
2706 55, 1201, 57, 58, -1, -1, -1, -1, -1, -1,
2707 -1, 3, 4, 5, 6, 1382, 71, 9, 892, 893,
2708 -1, -1, 42, -1, -1, -1, 81, -1, 501, -1,
2709 1153, -1, -1, -1, 1157, 55, 91, 57, 58, 94,
2710 95, 61, -1, -1, -1, -1, 519, 520, 521, 522,
2711 42, 71, -1, -1, -1, -1, 1423, 1424, 1425, -1,
2712 -1, 81, -1, 55, -1, 57, 58, -1, -1, 89,
2713 1193, 1438, 4, -1, 94, -1, -1, -1, -1, 71,
2714 -1, -1, -1, -1, -1, -1, 1453, -1, -1, 81,
2715 -1, 3, 4, 5, 6, -1, -1, 89, -1, 31,
2716 32, -1, 94, 576, 36, 578, -1, 1230, -1, 41,
2717 -1, 1234, -1, -1, -1, -1, -1, -1, -1, 592,
2718 593, -1, 595, -1, 56, -1, -1, -1, -1, 602,
2719 42, -1, -1, 1256, 1257, -1, -1, 49, -1, -1,
2720 -1, 614, -1, -1, -1, 57, 58, 3, 4, 5,
2721 6, 3, 4, 5, 6, -1, -1, -1, 631, -1,
2722 -1, -1, -1, -1, -1, -1, 639, 640, 641, 642,
2723 643, 644, -1, -1, -1, -1, -1, 89, -1, -1,
2724 -1, -1, 1382, -1, -1, -1, 42, -1, 661, -1,
2725 42, -1, -1, 49, -1, -1, -1, 49, -1, -1,
2726 -1, 57, 58, 135, -1, 57, 58, 139, 681, -1,
2727 -1, 143, 685, 1087, 1088, 1089, 1090, -1, -1, 692,
2728 693, 1095, 695, 1423, 1424, 1425, -1, -1, 160, 81,
2729 -1, -1, -1, 89, -1, -1, -1, 89, 1112, 1113,
2730 -1, -1, -1, 175, 176, -1, -1, -1, -1, 722,
2731 -1, -1, 725, -1, 727, -1, -1, -1, -1, 732,
2732 733, 734, 3, 4, 5, 6, 7, 8, 9, -1,
2733 743, -1, -1, 14, -1, 748, -1, -1, -1, -1,
2734 -1, -1, 755, 756, 757, -1, -1, -1, 29, -1,
2735 31, 32, -1, -1, -1, -1, 37, -1, -1, -1,
2736 -1, 42, -1, -1, 777, 46, -1, 239, -1, 4,
2737 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
2738 61, -1, -1, -1, 1198, 1199, -1, 1201, -1, -1,
2739 71, 339, 340, 341, -1, -1, 31, 32, -1, 34,
2740 81, 36, -1, -1, -1, -1, 41, -1, 89, -1,
2741 -1, -1, -1, 94, -1, 287, -1, 830, -1, 54,
2742 -1, 56, 77, 78, 79, 80, 81, 82, 83, 84,
2743 85, 3, 4, 5, 6, 7, 8, 9, -1, 852,
2744 -1, 854, 14, -1, 79, -1, -1, -1, 861, -1,
2745 -1, -1, 865, -1, 867, -1, 869, 870, 871, -1,
2746 32, -1, -1, 876, -1, 37, -1, -1, -1, -1,
2747 42, -1, -1, -1, 46, 888, 48, 890, -1, 892,
2748 893, 894, -1, 55, -1, 57, 58, -1, -1, -1,
2749 -1, -1, -1, 128, -1, -1, -1, 132, 133, 71,
2750 135, -1, -1, -1, 139, -1, 141, -1, 143, 81,
2751 -1, 146, 147, 148, -1, -1, -1, 89, -1, 91,
2752 933, 393, 94, 95, 396, 160, -1, -1, -1, 401,
2753 -1, -1, -1, -1, 947, -1, -1, -1, -1, -1,
2754 175, 176, 177, -1, -1, -1, 959, -1, 961, -1,
2755 185, -1, -1, -1, -1, 427, -1, 429, -1, -1,
2756 973, -1, -1, -1, -1, -1, -1, -1, -1, 204,
2757 442, 1, -1, 3, 4, 5, 6, 7, 8, 9,
2758 -1, -1, -1, 996, 14, -1, -1, -1, -1, 461,
2759 -1, -1, -1, -1, -1, 1008, -1, 1010, -1, 29,
2760 -1, 31, 32, 33, 239, -1, -1, 37, 38, -1,
2761 -1, -1, 42, -1, -1, -1, 46, 47, -1, 49,
2762 -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
2763 -1, 61, -1, 63, -1, -1, -1, 1050, 1051, -1,
2764 1053, 71, -1, -1, 592, 593, -1, 595, -1, -1,
2765 -1, 81, 287, -1, 602, -1, -1, -1, -1, 89,
2766 -1, -1, -1, -1, 94, -1, 3, 4, 5, 6,
2767 -1, -1, 9, -1, 1087, 1088, 1089, 1090, 1091, -1,
2768 -1, 111, 1095, -1, -1, -1, 321, -1, 1101, -1,
2769 -1, 639, -1, 641, 642, -1, 644, -1, -1, 1112,
2770 1113, 1114, 337, -1, -1, 42, -1, -1, -1, -1,
2771 345, -1, -1, -1, -1, -1, 1129, 352, 55, -1,
2772 57, 58, -1, 3, 4, 5, 6, -1, -1, 9,
2773 1143, -1, -1, 681, 71, 1148, -1, 1150, 373, -1,
2774 -1, -1, -1, -1, 81, -1, -1, 382, -1, -1,
2775 -1, -1, 89, -1, -1, -1, -1, 94, 393, -1,
2776 -1, 396, 42, -1, -1, -1, 401, -1, 640, -1,
2777 -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
2778 -1, -1, -1, -1, -1, 1198, 1199, -1, 1201, -1,
2779 -1, 71, 427, -1, 429, -1, 431, 432, 433, -1,
2780 -1, 81, 437, -1, -1, -1, -1, 442, 1221, 89,
2781 445, -1, -1, 685, 94, -1, -1, -1, -1, -1,
2782 692, 693, -1, 695, -1, -1, 461, -1, -1, 777,
2783 -1, -1, -1, 3, 4, 5, 6, -1, -1, 9,
2784 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2785 83, 84, 85, 725, -1, 727, -1, -1, -1, -1,
2786 732, 733, 734, -1, -1, -1, 501, -1, -1, -1,
2787 -1, -1, 42, -1, -1, -1, 511, -1, -1, 514,
2788 -1, 4, 5, -1, -1, 55, 9, 57, 58, -1,
2789 1303, 1304, 1305, -1, 529, 530, 531, 3, 4, 5,
2790 6, 71, -1, 9, 852, -1, 854, 542, -1, -1,
2791 4, 81, -1, -1, -1, -1, -1, 865, -1, 89,
2792 -1, 869, 870, 871, 94, 48, -1, -1, -1, -1,
2793 -1, -1, 55, -1, 57, 58, 42, 31, 32, -1,
2794 34, -1, 36, -1, 892, 893, 894, 41, 71, 55,
2795 -1, 57, 58, 588, -1, -1, -1, -1, 81, -1,
2796 54, -1, 56, -1, -1, 71, -1, 602, 91, 1382,
2797 -1, 94, 95, -1, -1, 81, -1, -1, -1, -1,
2798 -1, -1, -1, 89, -1, 933, -1, -1, 94, 71,
2799 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2800 82, 83, 84, 85, 639, 640, 641, 642, -1, -1,
2801 1423, 1424, 1425, -1, -1, -1, 34, 4, 5, -1,
2802 892, 893, 9, -1, -1, 1438, -1, -1, -1, -1,
2803 -1, -1, -1, -1, -1, -1, 54, -1, -1, -1,
2804 1453, 135, -1, -1, -1, 139, 681, -1, -1, 143,
2805 685, -1, 146, 147, 148, -1, -1, 692, 693, -1,
2806 695, 48, -1, -1, -1, -1, 160, -1, 55, -1,
2807 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
2808 -1, 175, 176, 177, 71, -1, -1, -1, -1, -1,
2809 725, -1, 727, -1, 81, -1, -1, 732, 733, 734,
2810 -1, -1, -1, -1, 91, -1, -1, 94, 95, -1,
2811 204, -1, -1, -1, -1, -1, 3, 4, 5, 6,
2812 -1, -1, 9, -1, 996, -1, -1, -1, 146, 147,
2813 148, -1, -1, -1, -1, -1, 771, -1, -1, 1087,
2814 1088, 1089, 1090, 1091, -1, 239, -1, 1095, -1, -1,
2815 -1, -1, -1, -1, -1, 42, -1, 175, 176, 177,
2816 -1, -1, -1, -1, 1112, 1113, 1114, -1, 55, -1,
2817 57, 58, 74, 75, 76, 77, 78, 79, 80, 81,
2818 82, 83, 84, 85, 71, -1, 204, -1, -1, -1,
2819 -1, -1, -1, 287, 81, -1, -1, -1, -1, -1,
2820 -1, -1, 89, -1, -1, -1, -1, 94, -1, -1,
2821 -1, -1, -1, -1, -1, 1087, 1088, -1, -1, -1,
2822 -1, -1, -1, 1095, -1, -1, -1, 3, 4, 5,
2823 6, 7, 8, 9, 869, 870, 871, -1, 14, -1,
2824 875, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2825 1198, 1199, 346, 1201, -1, -1, 32, 892, 893, 894,
2826 278, 37, -1, -1, 899, -1, 42, -1, -1, -1,
2827 46, 1143, 48, -1, -1, -1, 1148, -1, 1150, 55,
2828 -1, 57, 58, -1, -1, -1, -1, -1, 382, -1,
2829 -1, -1, -1, -1, -1, 71, -1, -1, 933, 393,
2830 -1, -1, 396, -1, -1, 81, -1, 401, 3, 4,
2831 5, 6, -1, 89, 9, 91, -1, -1, 94, 95,
2832 -1, 339, 340, 341, -1, -1, 1198, 1199, -1, 1201,
2833 -1, -1, -1, 427, -1, 429, -1, 431, 432, 433,
2834 -1, -1, -1, 437, -1, -1, -1, 42, 442, -1,
2835 985, 445, -1, -1, -1, -1, -1, -1, -1, -1,
2836 55, 996, 57, 58, 382, -1, -1, 461, -1, -1,
2837 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2838 -1, -1, -1, 4, 5, -1, 81, 8, 9, -1,
2839 -1, -1, -1, 14, 89, -1, -1, -1, -1, 94,
2840 -1, -1, -1, -1, -1, -1, -1, 501, 29, 427,
2841 31, 429, -1, 431, 432, 433, 37, -1, -1, 437,
2842 -1, -1, -1, -1, 442, 46, -1, 445, -1, -1,
2843 -1, -1, 1304, -1, 55, -1, 57, 58, -1, -1,
2844 -1, 1076, -1, -1, -1, -1, -1, -1, -1, 83,
2845 -1, -1, 1087, 1088, 1089, 1090, 1091, -1, 1093, -1,
2846 1095, -1, 1, -1, 3, 4, 5, 6, 7, 8,
2847 9, -1, 106, 107, -1, 14, -1, 1112, 1113, 1114,
2848 -1, -1, -1, 501, -1, -1, -1, -1, -1, -1,
2849 29, -1, 31, 32, -1, 589, -1, -1, 37, -1,
2850 -1, -1, -1, 42, -1, -1, -1, 46, 1143, -1,
2851 49, -1, -1, 1148, -1, 1150, 55, -1, 57, 58,
2852 -1, -1, 61, -1, -1, -1, -1, -1, -1, -1,
2853 -1, -1, 71, -1, 3, 4, 5, 6, -1, -1,
2854 -1, -1, 81, -1, -1, 639, 640, 641, 642, -1,
2855 89, 3, 4, 5, 6, 94, -1, -1, -1, -1,
2856 578, -1, -1, 1198, 1199, -1, 1201, -1, -1, -1,
2857 -1, -1, -1, 42, 592, 593, -1, 595, -1, 54,
2858 -1, -1, -1, -1, 602, -1, 55, 681, 57, 58,
2859 42, 685, -1, -1, 63, -1, -1, -1, 692, 693,
2860 -1, 695, 71, 55, 79, 57, 58, 82, -1, -1,
2861 -1, 63, 81, -1, -1, -1, -1, -1, -1, 71,
2862 89, 639, -1, 641, 642, 94, 644, -1, 103, 81,
2863 105, 725, -1, 727, -1, -1, -1, 89, 732, 733,
2864 734, -1, 94, -1, -1, -1, -1, -1, -1, 283,
2865 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2866 -1, -1, -1, 681, -1, -1, -1, -1, 1303, 1304,
2867 1305, -1, -1, -1, 692, 693, -1, 695, 3, 4,
2868 5, 6, 7, 8, 9, -1, -1, 321, -1, 14,
2869 -1, -1, -1, -1, -1, -1, -1, -1, -1, 333,
2870 175, 176, 177, -1, 29, -1, 31, 32, -1, -1,
2871 185, -1, 37, -1, 732, -1, -1, 42, -1, -1,
2872 -1, 46, -1, 48, -1, -1, -1, -1, -1, 204,
2873 55, -1, 57, 58, -1, -1, -1, 755, 756, 757,
2874 -1, -1, -1, -1, -1, 379, 71, 1382, -1, -1,
2875 -1, -1, 227, -1, -1, -1, 81, -1, -1, 777,
2876 -1, -1, -1, -1, 89, -1, 91, 242, -1, 94,
2877 95, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2878 -1, -1, 876, 14, -1, -1, -1, -1, 1423, 1424,
2879 1425, 425, -1, -1, -1, -1, -1, -1, 892, 893,
2880 894, 32, -1, -1, -1, -1, 37, -1, -1, -1,
2881 -1, 42, -1, -1, -1, 46, -1, 48, 1453, -1,
2882 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
2883 -1, -1, -1, -1, 852, -1, 854, -1, -1, 933,
2884 71, -1, -1, -1, -1, -1, -1, 865, -1, -1,
2885 81, 869, 870, 871, -1, -1, -1, -1, 89, -1,
2886 -1, -1, -1, 94, -1, -1, -1, -1, -1, -1,
2887 345, 346, -1, -1, 892, 893, 894, 511, -1, -1,
2888 514, -1, -1, -1, 518, 519, 520, 521, 522, -1,
2889 -1, -1, -1, -1, -1, -1, -1, 531, -1, -1,
2890 -1, -1, 996, -1, -1, -1, -1, 382, 542, -1,
2891 -1, -1, -1, -1, -1, 933, -1, -1, -1, -1,
2892 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2893 12, -1, 14, -1, -1, -1, -1, -1, -1, -1,
2894 -1, 575, 576, -1, -1, -1, -1, 29, -1, 31,
2895 32, -1, 427, -1, 429, 37, 431, 432, 433, -1,
2896 42, 595, 437, -1, 46, -1, 48, 442, 602, -1,
2897 445, -1, -1, 55, -1, 57, 58, -1, -1, -1,
2898 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
2899 -1, -1, -1, 1087, 1088, 1089, 1090, 1091, -1, 81,
2900 -1, 1095, -1, -1, -1, -1, -1, 89, -1, 91,
2901 -1, -1, 94, 95, -1, -1, 98, -1, 1112, 1113,
2902 1114, -1, -1, -1, -1, -1, 501, -1, -1, -1,
2903 -1, -1, 1050, 1051, -1, 1053, -1, -1, -1, -1,
2904 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1143,
2905 -1, 685, -1, -1, 1148, -1, 1150, -1, 3, 4,
2906 5, 6, -1, -1, -1, -1, -1, -1, -1, 1087,
2907 1088, 1089, 1090, 1091, -1, -1, -1, 1095, 70, 71,
2908 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2909 82, 83, 84, 85, 1112, 1113, 1114, 42, -1, -1,
2910 -1, -1, -1, -1, 1198, 1199, -1, 1201, -1, 743,
2911 55, -1, 57, 58, 748, 1, 61, 3, 4, 5,
2912 6, 7, 8, 9, -1, 1143, 71, -1, 14, -1,
2913 605, 606, -1, -1, -1, -1, 81, 3, 4, 5,
2914 6, -1, -1, 29, 89, 31, 32, 33, -1, 94,
2915 -1, 37, 38, -1, -1, -1, 42, -1, -1, -1,
2916 46, 47, -1, 49, 639, -1, 641, 642, -1, 55,
2917 -1, 57, 58, -1, -1, 61, 42, 63, -1, -1,
2918 1198, 1199, -1, 1201, -1, 71, -1, -1, -1, 55,
2919 -1, 57, 58, -1, -1, 81, 830, 63, -1, -1,
2920 -1, -1, -1, 89, -1, 71, 681, -1, 94, 1303,
2921 1304, 1305, -1, -1, -1, 81, -1, 692, 693, -1,
2922 695, -1, -1, 89, -1, 111, -1, 861, 94, -1,
2923 -1, -1, -1, 867, -1, -1, -1, 871, -1, -1,
2924 -1, -1, -1, -1, 719, -1, 283, -1, -1, -1,
2925 3, 4, 5, 6, 888, -1, 890, 732, -1, -1,
2926 894, -1, -1, -1, -1, -1, -1, 3, 4, 5,
2927 6, 7, 8, 9, -1, 312, 12, -1, 14, -1,
2928 -1, -1, -1, -1, -1, 1303, -1, 1305, 1382, 42,
2929 -1, -1, -1, 29, -1, 31, 32, -1, -1, 933,
2930 -1, 37, 55, -1, 57, 58, 42, -1, -1, -1,
2931 46, -1, -1, 947, -1, -1, -1, -1, 71, 55,
2932 954, 57, 58, -1, -1, -1, -1, 961, 81, 1423,
2933 1424, 1425, -1, -1, -1, 71, 89, -1, -1, 973,
2934 -1, 94, 4, 5, -1, 81, 8, 9, -1, -1,
2935 -1, -1, 14, 89, -1, -1, -1, -1, 94, 1453,
2936 3, 4, 5, 6, 1382, -1, -1, 29, -1, 31,
2937 -1, -1, -1, -1, 1008, 37, 1010, -1, -1, -1,
2938 417, 418, -1, -1, 46, -1, -1, -1, 425, -1,
2939 -1, -1, -1, 55, -1, 57, 58, -1, -1, 42,
2940 875, 876, 877, -1, -1, 1423, 1424, 1425, -1, -1,
2941 -1, -1, 55, -1, 57, 58, -1, 892, 893, 894,
2942 -1, -1, 4, 5, 899, 7, 8, 9, 71, -1,
2943 -1, -1, 14, -1, -1, 1453, -1, -1, 81, -1,
2944 -1, -1, 14, -1, -1, -1, 89, 29, -1, 31,
2945 32, 94, 24, 25, -1, 37, -1, 1091, 933, 31,
2946 32, -1, 34, -1, 46, -1, -1, 49, -1, -1,
2947 -1, -1, 509, 55, -1, 57, 58, -1, -1, -1,
2948 1114, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2949 -1, -1, 64, -1, -1, -1, -1, -1, -1, -1,
2950 -1, -1, -1, 540, 541, -1, -1, 544, 545, 546,
2951 985, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2952 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
2953 -1, -1, -1, -1, -1, 572, -1, 574, 575, -1,
2954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2955 -1, 123, -1, 125, -1, -1, 128, -1, -1, -1,
2956 132, 133, -1, -1, -1, 602, -1, 139, -1, 141,
2957 142, 143, 609, -1, 146, 147, 148, -1, -1, -1,
2958 -1, -1, -1, -1, -1, -1, -1, 1221, -1, -1,
2959 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4,
2960 5, 1076, 7, 8, 9, -1, -1, -1, -1, 14,
2961 -1, -1, 1087, 1088, 1089, 1090, 1091, -1, 1093, -1,
2962 1095, -1, -1, -1, 29, -1, 31, 32, -1, -1,
2963 -1, 668, 37, -1, -1, -1, -1, 1112, 1113, 1114,
2964 -1, 46, -1, -1, -1, -1, 218, 219, -1, -1,
2965 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
2966 -1, -1, -1, -1, -1, -1, -1, 239, 1143, -1,
2967 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
2968 8, 9, -1, -1, -1, -1, 14, 724, -1, -1,
2969 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2970 -1, 29, -1, 31, 32, 33, 278, -1, -1, 37,
2971 38, -1, -1, -1, 42, -1, -1, -1, 46, 47,
2972 -1, 49, -1, 1198, 1199, -1, 1201, 55, 765, 57,
2973 58, -1, -1, 61, 771, 63, -1, -1, -1, -1,
2974 -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
2975 -1, -1, -1, 81, -1, -1, -1, 794, -1, -1,
2976 -1, 89, -1, -1, -1, 337, 94, 339, 340, -1,
2977 -1, -1, -1, -1, -1, -1, -1, -1, 1412, -1,
2978 352, -1, -1, 111, -1, -1, -1, -1, -1, -1,
2979 -1, 1425, -1, -1, -1, -1, 833, 834, -1, -1,
2980 -1, 373, -1, -1, 1438, -1, -1, 1441, -1, -1,
2981 847, -1, 849, -1, 851, -1, -1, 389, -1, -1,
2982 -1, 393, -1, -1, 396, -1, -1, -1, 1303, 401,
2983 1305, 4, 5, -1, -1, 8, 9, -1, -1, -1,
2984 -1, 14, -1, -1, 881, -1, -1, -1, -1, -1,
2985 -1, -1, -1, -1, -1, -1, 29, -1, 31, -1,
2986 -1, -1, -1, 1497, 37, -1, -1, 904, -1, -1,
2987 -1, -1, -1, 46, -1, 48, -1, -1, 915, -1,
2988 -1, -1, 55, -1, 57, 58, 458, -1, 460, -1,
2989 -1, -1, -1, -1, -1, -1, 933, 1, 71, 3,
2990 4, 5, 6, 7, 8, 9, -1, 1382, 81, -1,
2991 14, -1, -1, -1, 486, -1, -1, -1, 91, -1,
2992 -1, 94, 95, -1, -1, 29, -1, 31, 32, 33,
2993 -1, -1, -1, 37, 38, -1, -1, -1, 42, 976,
2994 -1, -1, 46, 47, -1, 49, -1, -1, 1423, 1424,
2995 1425, 55, -1, 57, 58, -1, -1, 61, -1, 63,
2996 -1, -1, 999, -1, -1, -1, -1, 71, -1, -1,
2997 -1, -1, -1, -1, -1, -1, -1, 81, 1453, -1,
2998 -1, -1, -1, -1, -1, 89, -1, -1, -1, -1,
2999 94, -1, -1, -1, -1, -1, -1, -1, 1035, 1036,
3000 -1, -1, 1039, -1, -1, -1, 578, 111, -1, -1,
3001 -1, -1, -1, -1, -1, -1, 588, 589, -1, -1,
3002 592, 593, -1, -1, -1, -1, 3, 4, 5, 6,
3003 7, 8, 9, -1, -1, -1, -1, 14, 72, 73,
3004 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3005 84, 85, 29, -1, 31, 32, -1, -1, -1, 631,
3006 37, -1, -1, -1, -1, 42, 1103, -1, 1105, 46,
3007 1107, 643, -1, 1110, -1, -1, -1, -1, 55, -1,
3008 57, 58, 1119, 1120, -1, -1, 63, 1124, 1125, 661,
3009 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
3010 -1, -1, 1139, 1140, 81, -1, -1, -1, 12, -1,
3011 -1, -1, 89, -1, -1, -1, -1, 94, -1, -1,
3012 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3013 -1, -1, 1169, -1, 1171, -1, -1, -1, -1, -1,
3014 -1, -1, -1, -1, -1, -1, -1, 719, -1, -1,
3015 722, -1, -1, -1, -1, -1, -1, -1, 1195, 63,
3016 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3017 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3018 84, 85, -1, 755, 756, 757, -1, -1, 1225, -1,
3019 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3020 11, -1, 13, 14, 1241, 777, -1, -1, -1, -1,
3021 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3022 31, 32, 33, -1, 35, 36, 37, 1264, 39, 40,
3023 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3024 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3025 61, 62, -1, 1290, -1, -1, -1, 68, -1, -1,
3026 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3027 81, -1, -1, -1, -1, 32, 87, 88, 89, -1,
3028 852, -1, 854, 94, -1, -1, 1323, 1324, -1, -1,
3029 -1, -1, -1, 865, -1, 1332, -1, -1, -1, -1,
3030 -1, 112, -1, -1, -1, -1, 1343, 64, 65, 66,
3031 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3032 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3033 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3034 -1, -1, -1, -1, -1, 1382, -1, -1, -1, -1,
3035 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
3036 8, 9, -1, -1, 12, -1, 14, -1, -1, -1,
3037 -1, -1, -1, -1, -1, -1, 1413, 25, -1, 27,
3038 28, -1, -1, -1, 32, -1, -1, 959, -1, 37,
3039 -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
3040 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3041 58, 59, 60, 61, 986, 63, 64, 65, 66, 67,
3042 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3043 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
3044 88, 89, -1, 91, 92, 93, 94, 95, 96, -1,
3045 98, 99, -1, -1, -1, -1, 104, -1, -1, -1,
3046 -1, 109, 110, 111, -1, 113, -1, -1, -1, -1,
3047 -1, -1, -1, -1, -1, -1, -1, -1, 1050, 1051,
3048 1, 1053, 3, 4, 5, 6, 7, 8, 9, -1,
3049 -1, -1, -1, 14, -1, -1, -1, -1, 1535, -1,
3050 -1, -1, -1, -1, -1, -1, -1, -1, 29, -1,
3051 31, 32, 33, -1, -1, -1, 37, -1, -1, -1,
3052 -1, 42, -1, -1, -1, 46, 47, -1, 49, 1101,
3053 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
3054 61, -1, 63, -1, -1, -1, -1, -1, -1, -1,
3055 71, -1, -1, -1, -1, -1, -1, 1129, -1, -1,
3056 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3057 -1, -1, -1, 94, 1146, 1, 1148, 3, 4, 5,
3058 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3059 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3060 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3061 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3062 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3063 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3064 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3065 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3066 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3067 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3068 -1, -1, -1, -1, -1, 111, 112, 1, -1, 3,
3069 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3070 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3071 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3072 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3073 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3074 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3075 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3076 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3077 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3078 94, 1, 96, 3, 4, 5, 6, 7, 8, 9,
3079 10, 11, 12, 13, 14, -1, -1, -1, 112, -1,
3080 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3081 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3082 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3083 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3084 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3085 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3086 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3087 -1, 91, -1, -1, 94, 95, -1, 1, 98, 3,
3088 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3089 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3090 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
3091 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3092 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3093 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3094 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3095 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3096 -1, -1, -1, 87, 88, 89, -1, 91, -1, -1,
3097 94, 95, -1, 1, 98, 3, 4, 5, 6, 7,
3098 8, 9, 10, 11, 12, 13, 14, -1, 112, -1,
3099 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3100 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3101 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3102 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3103 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3104 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3105 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3106 88, 89, -1, -1, -1, -1, 94, -1, -1, -1,
3107 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3108 -1, -1, 110, 1, 112, 3, 4, 5, 6, -1,
3109 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3110 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3111 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3112 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3113 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3114 58, 59, -1, -1, 62, -1, -1, -1, -1, -1,
3115 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3116 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3117 88, 89, -1, -1, -1, -1, 94, 95, 1, -1,
3118 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3119 13, 14, -1, 111, 112, -1, -1, -1, 21, -1,
3120 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3121 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3122 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3123 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3124 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3125 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3126 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3127 1, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3128 11, -1, 13, 14, -1, -1, -1, -1, 111, 112,
3129 21, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3130 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3131 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3132 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3133 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3134 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3135 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3136 -1, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3137 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3138 111, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3139 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3140 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3141 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3142 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3143 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3144 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3145 89, -1, -1, -1, -1, 94, 95, 1, -1, 3,
3146 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3147 14, -1, -1, 112, -1, -1, -1, -1, -1, -1,
3148 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3149 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3150 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3151 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3152 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3153 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3154 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3155 94, -1, -1, 1, -1, 3, 4, 5, 6, 103,
3156 8, 9, 10, 11, -1, 13, 14, -1, 112, -1,
3157 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3158 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3159 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3160 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3161 58, 59, -1, -1, 62, -1, -1, -1, -1, -1,
3162 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3163 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3164 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3165 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3166 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3167 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3168 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3169 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3170 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3171 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3172 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3173 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3174 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3175 14, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3176 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3177 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3178 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3179 54, 55, -1, 57, 58, -1, -1, -1, 62, 63,
3180 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3181 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3182 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3183 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3184 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3185 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3186 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3187 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3188 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3189 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3190 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3191 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3192 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3193 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3194 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3195 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3196 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3197 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3198 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3199 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3200 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3201 -1, -1, -1, 1, 94, 3, 4, 5, 6, -1,
3202 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3203 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3204 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3205 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3206 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3207 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3208 68, 1, -1, 71, 4, 5, -1, -1, 8, 9,
3209 -1, 79, 80, 81, 14, -1, -1, -1, -1, 87,
3210 88, 89, -1, -1, -1, -1, 94, -1, -1, 29,
3211 -1, 31, -1, -1, -1, -1, -1, 37, -1, 39,
3212 40, -1, 110, -1, 112, -1, 46, -1, 48, -1,
3213 -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
3214 60, -1, -1, -1, 64, 65, 66, 67, 68, 69,
3215 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3216 80, 81, 82, 83, 84, -1, -1, 87, 88, 89,
3217 -1, -1, 92, -1, 1, 95, 3, 4, 5, 6,
3218 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3219 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3220 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3221 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3222 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3223 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3224 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3225 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3226 87, 88, 89, -1, -1, -1, 1, 94, 3, 4,
3227 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3228 -1, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3229 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3230 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3231 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3232 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3233 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3234 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3235 -1, -1, 87, 88, 89, -1, -1, -1, 1, 94,
3236 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3237 13, 14, -1, -1, -1, -1, -1, 112, -1, -1,
3238 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3239 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3240 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3241 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3242 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3243 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3244 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3245 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3246 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3247 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3248 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3249 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3250 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3251 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3252 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3253 -1, 87, 88, 89, -1, -1, -1, -1, 94, 69,
3254 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3255 80, 81, 82, 83, 84, 85, 112, 113, 3, 4,
3256 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3257 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3258 25, 26, 27, 28, 29, 30, 31, 32, 33, -1,
3259 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3260 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3261 55, -1, 57, 58, 59, -1, 61, 62, -1, -1,
3262 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3263 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3264 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3265 -1, 96, -1, -1, -1, -1, -1, -1, -1, -1,
3266 -1, -1, -1, -1, -1, -1, 111, 112, 3, 4,
3267 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3268 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3269 25, 26, 27, 28, 29, 30, 31, 32, 33, -1,
3270 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3271 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3272 55, -1, 57, 58, 59, -1, 61, 62, -1, -1,
3273 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3274 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3275 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3276 -1, 96, -1, -1, 3, 4, 5, 6, 7, 8,
3277 9, 10, 11, -1, 13, 14, 15, 112, 17, 18,
3278 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3279 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
3280 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3281 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3282 59, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3283 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3284 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3285 89, -1, -1, -1, -1, 94, -1, 96, -1, -1,
3286 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3287 13, 14, 15, 112, 17, 18, 19, 20, 21, 22,
3288 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3289 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3290 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3291 53, 54, 55, -1, 57, 58, -1, -1, 61, 62,
3292 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3293 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3294 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3295 -1, 94, -1, 96, 3, 4, 5, 6, 7, 8,
3296 9, 10, 11, 12, 13, 14, -1, -1, -1, 112,
3297 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3298 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
3299 39, 40, 41, 42, 43, 44, -1, 46, -1, 48,
3300 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3301 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3302 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3303 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3304 89, -1, 91, -1, -1, 94, 95, -1, -1, 98,
3305 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
3306 13, 14, -1, 112, -1, -1, -1, -1, -1, -1,
3307 -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
3308 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3309 43, 44, -1, 46, -1, 48, -1, 50, 51, 52,
3310 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3311 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3312 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3313 -1, -1, -1, -1, 87, 88, 89, -1, 91, -1,
3314 -1, 94, 95, -1, -1, 98, 3, 4, 5, 6,
3315 -1, 8, 9, 10, 11, -1, 13, 14, -1, 112,
3316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3317 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3318 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3319 -1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
3320 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3321 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3322 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3323 87, 88, 89, -1, 91, -1, -1, 94, 95, 3,
3324 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3325 14, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3326 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3327 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3328 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3329 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3330 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3331 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3332 -1, -1, -1, 87, 88, 89, -1, 91, -1, -1,
3333 94, 95, 3, 4, 5, 6, -1, 8, 9, 10,
3334 11, -1, 13, 14, -1, -1, -1, -1, 112, -1,
3335 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3336 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3337 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3338 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3339 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3340 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3341 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3342 -1, -1, -1, 94, 3, 4, 5, 6, 7, 8,
3343 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3344 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3345 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
3346 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3347 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3348 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
3349 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3350 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3351 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3352 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3353 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3354 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3355 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3356 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3357 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3358 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3359 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3360 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3361 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3362 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3363 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3364 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3365 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3366 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3367 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3368 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3369 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3370 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3371 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3372 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3373 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3374 58, 59, -1, -1, -1, -1, -1, -1, -1, -1,
3375 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3376 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3377 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3378 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3379 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3380 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3381 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3382 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3383 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3384 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3385 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3386 -1, -1, -1, 94, 95, 3, 4, 5, 6, -1,
3387 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3388 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3389 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3390 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3391 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3392 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3393 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3394 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3395 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3396 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3397 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3398 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3399 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3400 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3401 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3402 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3403 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3404 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3405 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3406 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3407 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3408 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3409 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3410 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3411 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3412 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3413 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3414 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3415 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3416 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3417 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3418 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3419 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3420 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3421 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3422 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3423 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3424 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3425 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3426 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3427 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3428 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3429 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3430 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3431 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3432 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3433 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3434 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3435 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3436 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3437 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3438 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3439 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3440 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3441 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3442 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3443 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3444 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3445 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3446 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3447 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3448 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3449 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3450 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3451 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3452 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3453 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
3454 -1, 1, 71, 3, 4, 5, 6, 7, 8, 9,
3455 79, 80, 81, -1, 14, -1, -1, -1, 87, 88,
3456 89, -1, -1, -1, -1, 94, -1, 27, 28, 29,
3457 -1, 31, 32, 33, -1, -1, -1, 37, -1, -1,
3458 -1, -1, 42, 112, -1, 45, 46, 47, -1, 49,
3459 -1, -1, -1, -1, -1, 55, -1, 57, 58, -1,
3460 1, 61, 3, 4, 5, 6, 7, 8, 9, -1,
3461 -1, 71, -1, 14, -1, -1, -1, -1, -1, -1,
3462 -1, 81, -1, -1, -1, -1, 27, 28, 29, 89,
3463 31, 32, 33, -1, 94, -1, 37, -1, -1, -1,
3464 100, 42, -1, -1, 45, 46, 47, -1, 49, -1,
3465 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
3466 61, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3467 71, -1, 14, -1, -1, -1, -1, -1, -1, -1,
3468 81, -1, -1, -1, -1, -1, -1, 29, 89, 31,
3469 32, -1, -1, 94, -1, 37, -1, -1, -1, 100,
3470 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3471 7, 8, 9, 55, -1, 57, 58, 14, -1, 61,
3472 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3473 -1, -1, 29, -1, 31, 32, -1, -1, -1, 81,
3474 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3475 -1, -1, 94, -1, -1, -1, -1, -1, 55, -1,
3476 57, 58, 3, 4, 5, 6, 7, 8, 9, -1,
3477 -1, -1, -1, 14, 71, -1, -1, -1, -1, -1,
3478 -1, -1, -1, -1, 81, -1, -1, -1, 29, -1,
3479 31, 32, 89, -1, -1, -1, 37, 94, -1, -1,
3480 -1, 42, -1, -1, -1, 46, -1, -1, -1, -1,
3481 -1, -1, -1, -1, 55, -1, 57, 58, 64, 65,
3482 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3483 71, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3484 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3485 -1, -1, -1, 94, 64, 65, 66, 67, 68, 69,
3486 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3487 80, 81, 82, 83, 84, 85, 64, 65, 66, 67,
3488 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3489 78, 79, 80, 81, 82, 83, 84, 85, -1, -1,
3490 -1, -1, -1, 113, -1, -1, -1, -1, -1, -1,
3491 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
3492 -1, 109, 64, 65, 66, 67, 68, 69, 70, 71,
3493 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3494 82, 83, 84, 85, 63, 64, 65, 66, 67, 68,
3495 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3496 79, 80, 81, 82, 83, 84, 85, 63, 64, 65,
3497 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3498 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3499 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3500 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3501 84, 85, 68, 69, 70, 71, 72, 73, 74, 75,
3502 76, 77, 78, 79, 80, 81, 82, 83, 84, 85
3504 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3505 #line 3 "/usr/share/bison.simple"
3507 /* Skeleton output parser for bison,
3508 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3510 This program is free software; you can redistribute it and/or modify
3511 it under the terms of the GNU General Public License as published by
3512 the Free Software Foundation; either version 2, or (at your option)
3515 This program is distributed in the hope that it will be useful,
3516 but WITHOUT ANY WARRANTY; without even the implied warranty of
3517 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3518 GNU General Public License for more details.
3520 You should have received a copy of the GNU General Public License
3521 along with this program; if not, write to the Free Software
3522 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3524 /* As a special exception, when this file is copied by Bison into a
3525 Bison output file, you may use that output file without restriction.
3526 This special exception was added by the Free Software Foundation
3527 in version 1.24 of Bison. */
3531 #define alloca __builtin_alloca
3532 #else /* not GNU C. */
3533 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3535 #else /* not sparc */
3536 #if defined (MSDOS) && !defined (__TURBOC__)
3538 #else /* not MSDOS, or __TURBOC__ */
3542 #else /* not MSDOS, __TURBOC__, or _AIX */
3546 void *alloca (unsigned int);
3548 #else /* not __cplusplus */
3550 #endif /* not __cplusplus */
3552 #endif /* not _AIX */
3553 #endif /* not MSDOS, or __TURBOC__ */
3554 #endif /* not sparc. */
3555 #endif /* not GNU C. */
3556 #endif /* alloca not defined. */
3558 /* This is the parser code that is written into each bison parser
3559 when the %semantic_parser declaration is not specified in the grammar.
3560 It was written by Richard Stallman by simplifying the hairy parser
3561 used when %semantic_parser is specified. */
3563 /* Note: there must be only one dollar sign in this file.
3564 It is replaced by the list of actions, each action
3565 as one case of the switch. */
3567 #define yyerrok (yyerrstatus = 0)
3568 #define yyclearin (yychar = YYEMPTY)
3571 #define YYACCEPT return(0)
3572 #define YYABORT return(1)
3573 #define YYERROR goto yyerrlab1
3574 /* Like YYERROR except do call yyerror.
3575 This remains here temporarily to ease the
3576 transition to the new meaning of YYERROR, for GCC.
3577 Once GCC version 2 has supplanted version 1, this can go. */
3578 #define YYFAIL goto yyerrlab
3579 #define YYRECOVERING() (!!yyerrstatus)
3580 #define YYBACKUP(token, value) \
3582 if (yychar == YYEMPTY && yylen == 1) \
3583 { yychar = (token), yylval = (value); \
3584 yychar1 = YYTRANSLATE (yychar); \
3589 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3593 #define YYERRCODE 256
3596 #define YYLEX yylex()
3602 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3604 #define YYLEX yylex(&yylval, &yylloc)
3606 #else /* not YYLSP_NEEDED */
3608 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3610 #define YYLEX yylex(&yylval)
3612 #endif /* not YYLSP_NEEDED */
3615 /* If nonreentrant, generate the variables here */
3619 int yychar
; /* the lookahead symbol */
3620 YYSTYPE yylval
; /* the semantic value of the */
3621 /* lookahead symbol */
3624 YYLTYPE yylloc
; /* location data for the lookahead */
3628 int yynerrs
; /* number of parse errors so far */
3629 #endif /* not YYPURE */
3632 int yydebug
; /* nonzero means print parse trace */
3633 /* Since this is uninitialized, it does not stop multiple parsers
3637 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3640 #define YYINITDEPTH 200
3643 /* YYMAXDEPTH is the maximum size the stacks can grow to
3644 (effective only if the built-in stack extension method is used). */
3651 #define YYMAXDEPTH 10000
3654 /* Prevent warning if -Wstrict-prototypes. */
3659 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3660 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3661 #else /* not GNU C or C++ */
3664 /* This is the most reliable way to avoid incompatibilities
3665 in available built-in functions on various systems. */
3667 __yy_memcpy (to
, from
, count
)
3672 register char *f
= from
;
3673 register char *t
= to
;
3674 register int i
= count
;
3680 #else /* __cplusplus */
3682 /* This is the most reliable way to avoid incompatibilities
3683 in available built-in functions on various systems. */
3685 __yy_memcpy (char *to
, char *from
, int count
)
3687 register char *f
= from
;
3688 register char *t
= to
;
3689 register int i
= count
;
3698 #line 196 "/usr/share/bison.simple"
3700 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3701 into yyparse. The argument should have type void *.
3702 It should actually point to an object.
3703 Grammar actions can access the variable by casting it
3704 to the proper pointer type. */
3706 #ifdef YYPARSE_PARAM
3708 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3709 #define YYPARSE_PARAM_DECL
3710 #else /* not __cplusplus */
3711 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3712 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3713 #endif /* not __cplusplus */
3714 #else /* not YYPARSE_PARAM */
3715 #define YYPARSE_PARAM_ARG
3716 #define YYPARSE_PARAM_DECL
3717 #endif /* not YYPARSE_PARAM */
3720 yyparse(YYPARSE_PARAM_ARG
)
3723 register int yystate
;
3725 register short *yyssp
;
3726 register YYSTYPE
*yyvsp
;
3727 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3728 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3730 short yyssa
[YYINITDEPTH
]; /* the state stack */
3731 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3733 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3734 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3737 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3738 YYLTYPE
*yyls
= yylsa
;
3741 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3743 #define YYPOPSTACK (yyvsp--, yyssp--)
3746 int yystacksize
= YYINITDEPTH
;
3757 YYSTYPE yyval
; /* the variable used to return */
3758 /* semantic values from the action */
3765 fprintf(stderr
, "Starting parse\n");
3771 yychar
= YYEMPTY
; /* Cause a token to be read. */
3773 /* Initialize stack pointers.
3774 Waste one element of value and location stack
3775 so that they stay on the same level as the state stack.
3776 The wasted elements are never initialized. */
3784 /* Push a new state, which is found in yystate . */
3785 /* In all cases, when you get here, the value and location stacks
3786 have just been pushed. so pushing a state here evens the stacks. */
3791 if (yyssp
>= yyss
+ yystacksize
- 1)
3793 /* Give user a chance to reallocate the stack */
3794 /* Use copies of these so that the &'s don't force the real ones into memory. */
3795 YYSTYPE
*yyvs1
= yyvs
;
3796 short *yyss1
= yyss
;
3798 YYLTYPE
*yyls1
= yyls
;
3801 /* Get the current used size of the three stacks, in elements. */
3802 int size
= yyssp
- yyss
+ 1;
3805 /* Each stack pointer address is followed by the size of
3806 the data in use in that stack, in bytes. */
3808 /* This used to be a conditional around just the two extra args,
3809 but that might be undefined if yyoverflow is a macro. */
3810 yyoverflow("parser stack overflow",
3811 &yyss1
, size
* sizeof (*yyssp
),
3812 &yyvs1
, size
* sizeof (*yyvsp
),
3813 &yyls1
, size
* sizeof (*yylsp
),
3816 yyoverflow("parser stack overflow",
3817 &yyss1
, size
* sizeof (*yyssp
),
3818 &yyvs1
, size
* sizeof (*yyvsp
),
3822 yyss
= yyss1
; yyvs
= yyvs1
;
3826 #else /* no yyoverflow */
3827 /* Extend the stack our own way. */
3828 if (yystacksize
>= YYMAXDEPTH
)
3830 yyerror("parser stack overflow");
3834 if (yystacksize
> YYMAXDEPTH
)
3835 yystacksize
= YYMAXDEPTH
;
3836 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3837 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3838 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3839 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3841 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3842 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3844 #endif /* no yyoverflow */
3846 yyssp
= yyss
+ size
- 1;
3847 yyvsp
= yyvs
+ size
- 1;
3849 yylsp
= yyls
+ size
- 1;
3854 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3857 if (yyssp
>= yyss
+ yystacksize
- 1)
3863 fprintf(stderr
, "Entering state %d\n", yystate
);
3869 /* Do appropriate processing given the current state. */
3870 /* Read a lookahead token if we need one and don't already have one. */
3873 /* First try to decide what to do without reference to lookahead token. */
3875 yyn
= yypact
[yystate
];
3879 /* Not known => get a lookahead token if don't already have one. */
3881 /* yychar is either YYEMPTY or YYEOF
3882 or a valid token in external form. */
3884 if (yychar
== YYEMPTY
)
3888 fprintf(stderr
, "Reading a token: ");
3893 /* Convert token to internal form (in yychar1) for indexing tables with */
3895 if (yychar
<= 0) /* This means end of input. */
3898 yychar
= YYEOF
; /* Don't call YYLEX any more */
3902 fprintf(stderr
, "Now at end of input.\n");
3907 yychar1
= YYTRANSLATE(yychar
);
3912 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
3913 /* Give the individual parser a way to print the precise meaning
3914 of a token, for further debugging info. */
3916 YYPRINT (stderr
, yychar
, yylval
);
3918 fprintf (stderr
, ")\n");
3924 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
3929 /* yyn is what to do for this token type in this state.
3930 Negative => reduce, -yyn is rule number.
3931 Positive => shift, yyn is new state.
3932 New state is final state => don't bother to shift,
3933 just return success.
3934 0, or most negative number => error. */
3949 /* Shift the lookahead token. */
3953 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
3956 /* Discard the token being shifted unless it is eof. */
3957 if (yychar
!= YYEOF
)
3965 /* count tokens shifted since error; after three, turn off error status. */
3966 if (yyerrstatus
) yyerrstatus
--;
3971 /* Do the default action for the current state. */
3974 yyn
= yydefact
[yystate
];
3978 /* Do a reduction. yyn is the number of a rule to reduce with. */
3982 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
3989 fprintf (stderr
, "Reducing via rule %d (line %d), ",
3992 /* Print the symbols being reduced, and their result. */
3993 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
3994 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
3995 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4005 /* In case there were missing closebraces,
4006 get us back to the global binding level. */
4007 while (! global_bindings_p ())
4014 { yyval
.ttype
= NULL_TREE
; ;
4018 { yyval
.ttype
= NULL_TREE
; ;
4022 { yyval
.ttype
= NULL_TREE
; ;
4026 { have_extern_spec
= 1;
4027 used_extern_spec
= 0;
4028 yyval
.ttype
= NULL_TREE
; ;
4032 { have_extern_spec
= 0; ;
4036 { yyval
.itype
= pedantic
;
4041 { if (pending_lang_change
) do_pending_lang_change(); ;
4045 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4046 pop_everything (); ;
4050 { if (pending_inlines
) do_pending_inlines (); ;
4054 { if (pending_inlines
) do_pending_inlines (); ;
4058 { if (pending_inlines
) do_pending_inlines (); ;
4062 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4063 assemble_asm (yyvsp
[-2].ttype
); ;
4067 { pop_lang_context (); ;
4071 { if (pending_inlines
) do_pending_inlines ();
4072 pop_lang_context (); ;
4076 { if (pending_inlines
) do_pending_inlines ();
4077 pop_lang_context (); ;
4081 { push_namespace (yyvsp
[-1].ttype
); ;
4085 { pop_namespace (); ;
4089 { push_namespace (NULL_TREE
); ;
4093 { pop_namespace (); ;
4097 { do_namespace_alias (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4101 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4106 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
4107 yyvsp
[-1].ttype
= lastiddecl
;
4108 do_using_directive (yyvsp
[-1].ttype
);
4113 { pedantic
= yyvsp
[-1].itype
; ;
4117 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4121 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4125 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4129 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4133 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4137 { push_lang_context (yyvsp
[0].ttype
); ;
4141 { if (current_lang_name
!= yyvsp
[0].ttype
)
4142 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4143 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4147 { begin_template_parm_list (); ;
4151 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4155 { begin_specialization();
4156 yyval
.ttype
= NULL_TREE
; ;
4160 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4164 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4168 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4172 { yyval
.ttype
= NULL_TREE
; ;
4177 yyval
.ttype
= build_tree_list (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4178 if (TREE_PURPOSE (yyval
.ttype
) == signature_type_node
)
4179 sorry ("signature as template type parameter");
4180 else if (TREE_PURPOSE (yyval
.ttype
) != class_type_node
)
4182 pedwarn ("template type parameters must use the keyword `class'");
4183 TREE_PURPOSE (yyval
.ttype
) = class_type_node
;
4189 { yyval
.ttype
= build_tree_list (class_type_node
, yyvsp
[0].ttype
); ;
4194 tree decl
= build_decl (TYPE_DECL
, yyvsp
[0].ttype
, NULL_TREE
);
4195 tree tmpl
= build_lang_decl (TEMPLATE_DECL
, yyvsp
[0].ttype
, NULL_TREE
);
4196 DECL_TEMPLATE_PARMS (tmpl
) = current_template_parms
;
4197 DECL_TEMPLATE_RESULT (tmpl
) = decl
;
4198 SET_DECL_ARTIFICIAL (decl
);
4199 end_template_decl ();
4201 if (yyvsp
[-1].ttype
== signature_type_node
)
4202 sorry ("signature as template template parameter");
4203 else if (yyvsp
[-1].ttype
!= class_type_node
)
4204 pedwarn ("template template parameters must use the keyword `class'");
4205 yyval
.ttype
= build_tree_list (class_type_node
, tmpl
);
4210 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4214 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4218 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4222 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4226 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4232 arg_looking_for_template
= 1;
4233 defarg
= lookup_name (yyvsp
[0].ttype
, 0);
4234 arg_looking_for_template
= 0;
4236 if (!defarg
|| defarg
== error_mark_node
4237 || (TREE_CODE (defarg
) != TEMPLATE_DECL
4238 && TREE_CODE (defarg
) != TEMPLATE_TEMPLATE_PARM
))
4239 defarg
= do_identifier (yyvsp
[0].ttype
, 1);
4240 yyval
.ttype
= build_tree_list (defarg
, yyvsp
[-2].ttype
);
4246 if (yyvsp
[-1].ttype
)
4247 end_template_decl ();
4249 end_specialization ();
4255 if (yyvsp
[-1].ttype
)
4256 end_template_decl ();
4258 end_specialization ();
4272 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
4277 { pedwarn ("empty declaration"); ;
4283 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4285 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4290 { yyval
.itype
= 0; ;
4294 { yyval
.itype
= 1; ;
4298 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4311 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4312 if (yyvsp
[-2].ttype
!= current_class_type
)
4314 push_nested_class (yyvsp
[-2].ttype
, 3);
4315 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4321 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4326 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4327 if (yyvsp
[-4].ttype
!= current_class_type
)
4329 push_nested_class (yyvsp
[-4].ttype
, 3);
4330 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4332 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4338 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4339 if (yyvsp
[-2].ttype
!= current_class_type
)
4341 push_nested_class (yyvsp
[-2].ttype
, 3);
4342 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4348 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4353 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4354 if (yyvsp
[-4].ttype
!= current_class_type
)
4356 push_nested_class (yyvsp
[-4].ttype
, 3);
4357 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4359 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4365 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4366 if (yyvsp
[-2].ttype
!= current_class_type
)
4368 push_nested_class (yyvsp
[-2].ttype
, 3);
4369 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4375 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4380 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4381 if (yyvsp
[-4].ttype
!= current_class_type
)
4383 push_nested_class (yyvsp
[-4].ttype
, 3);
4384 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4386 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4392 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4393 if (yyvsp
[-2].ttype
!= current_class_type
)
4395 push_nested_class (yyvsp
[-2].ttype
, 3);
4396 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4402 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4407 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4408 if (yyvsp
[-4].ttype
!= current_class_type
)
4410 push_nested_class (yyvsp
[-4].ttype
, 3);
4411 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4413 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4418 { tree specs
, attrs
;
4419 split_specs_attrs (yyvsp
[-1].ftype
.t
, &specs
, &attrs
);
4420 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4422 reinit_parse_for_function ();
4423 yyval
.ttype
= NULL_TREE
; ;
4427 { tree specs
, attrs
;
4428 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4429 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4431 reinit_parse_for_function ();
4432 yyval
.ttype
= NULL_TREE
; ;
4436 { if (! start_function (NULL_TREE
, yyval
.ttype
, NULL_TREE
, 0))
4438 reinit_parse_for_function ();
4439 yyval
.ttype
= NULL_TREE
; ;
4443 { tree specs
, attrs
;
4444 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4445 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4447 reinit_parse_for_function ();
4448 yyval
.ttype
= NULL_TREE
; ;
4452 { if (! start_function (NULL_TREE
, yyval
.ttype
, NULL_TREE
, 0))
4454 reinit_parse_for_function ();
4455 yyval
.ttype
= NULL_TREE
; ;
4459 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4463 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4467 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4471 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4475 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4476 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4480 if (yychar
== YYEMPTY
)
4482 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4486 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4490 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4491 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4495 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4496 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4500 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4504 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4505 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4509 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4513 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4518 if (! current_function_parms_stored
)
4519 store_parm_decls ();
4520 yyval
.ttype
= yyvsp
[0].ttype
;
4525 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4529 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4533 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4538 if (yyvsp
[0].itype
== 0)
4539 error ("no base initializers given following ':'");
4541 /* Always keep the BLOCK node associated with the outermost
4542 pair of curley braces of a function. These are needed
4543 for correct operation of dwarfout.c. */
4550 if (! current_function_parms_stored
)
4551 store_parm_decls ();
4553 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4555 /* Make a contour for the initializer list. */
4558 expand_start_bindings (0);
4560 else if (current_class_type
== NULL_TREE
)
4561 error ("base initializers not allowed for non-member functions");
4562 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4563 error ("only constructors take base initializers");
4568 { yyval
.itype
= 0; ;
4572 { yyval
.itype
= 1; ;
4577 if (current_class_name
)
4578 pedwarn ("anachronistic old style base class initializer");
4579 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4585 if (current_class_name
)
4586 pedwarn ("anachronistic old style base class initializer");
4587 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4592 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4596 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, 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
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4613 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4618 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4619 yyungetc (';', 1); ;
4623 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4624 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4628 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4632 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4636 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4637 yyungetc (';', 1); ;
4641 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4642 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4646 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4650 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4654 { begin_explicit_instantiation(); ;
4658 { end_explicit_instantiation(); ;
4663 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4664 if (yyval
.ttype
!= error_mark_node
)
4665 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
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 /* Handle `Class<Class<Type>>' without space in the `>>' */
4688 pedwarn ("`>>' should be `> >' in template class name");
4694 { yyval
.ttype
= NULL_TREE
; ;
4698 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4702 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4706 { processing_template_arg
= 1; ;
4710 { yyval
.ttype
= yyvsp
[0].ttype
;
4711 processing_template_arg
= 0; ;
4715 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4719 { yyval
.code
= NEGATE_EXPR
; ;
4723 { yyval
.code
= CONVERT_EXPR
; ;
4727 { yyval
.code
= PREINCREMENT_EXPR
; ;
4731 { yyval
.code
= PREDECREMENT_EXPR
; ;
4735 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4739 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4743 { error ("ANSI C++ forbids an empty condition for `%s'",
4745 yyval
.ttype
= integer_zero_node
; ;
4749 { yyval
.ttype
= condition_conversion (yyvsp
[-1].ttype
); ;
4752 #line 1004 "parse.y"
4753 { error ("ANSI C++ forbids an empty condition for `%s'",
4755 yyval
.ttype
= integer_zero_node
; ;
4758 #line 1008 "parse.y"
4759 { yyval
.ttype
= condition_conversion (yyvsp
[-1].ttype
); ;
4762 #line 1013 "parse.y"
4763 { yyval
.ttype
= NULL_TREE
; ;
4766 #line 1015 "parse.y"
4767 { yyval
.ttype
= condition_conversion (yyval
.ttype
); ;
4770 #line 1017 "parse.y"
4771 { yyval
.ttype
= NULL_TREE
; ;
4774 #line 1022 "parse.y"
4777 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4778 if (TREE_CODE (d
) == TYPE_DECL
) {
4779 tree s
= TREE_TYPE (d
);
4780 if (TREE_CODE (s
) == RECORD_TYPE
)
4781 cp_error ("definition of class `%T' in condition", s
);
4782 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4783 cp_error ("definition of enum `%T' in condition", s
);
4786 current_declspecs
= yyvsp
[-4].ftype
.t
;
4787 yyvsp
[0].itype
= suspend_momentary ();
4788 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
4789 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
,
4790 /*prefix_attributes*/ NULL_TREE
);
4794 #line 1040 "parse.y"
4796 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4797 resume_momentary (yyvsp
[-2].itype
);
4798 yyval
.ttype
= yyvsp
[-1].ttype
;
4799 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4800 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4804 #line 1059 "parse.y"
4806 if (processing_template_decl
)
4808 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
4809 COMPOUND_STMT_NO_SCOPE (yyval
.ttype
) = 1;
4810 add_tree (yyval
.ttype
);
4815 #line 1068 "parse.y"
4817 if (processing_template_decl
)
4819 TREE_OPERAND (yyvsp
[-1].ttype
, 0) = TREE_CHAIN (yyvsp
[-1].ttype
);
4820 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
4821 last_tree
= yyvsp
[-1].ttype
;
4827 #line 1083 "parse.y"
4828 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4829 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4832 #line 1086 "parse.y"
4833 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4834 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4837 #line 1089 "parse.y"
4838 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4841 #line 1091 "parse.y"
4842 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4845 #line 1096 "parse.y"
4846 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4849 #line 1102 "parse.y"
4850 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4853 #line 1105 "parse.y"
4854 { yyval
.ttype
= yyvsp
[0].ttype
;
4855 pedantic
= yyvsp
[-1].itype
; ;
4858 #line 1108 "parse.y"
4859 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4862 #line 1110 "parse.y"
4863 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4866 #line 1112 "parse.y"
4867 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4870 #line 1114 "parse.y"
4871 { yyval
.ttype
= build_x_unary_op (yyvsp
[-1].code
, yyvsp
[0].ttype
);
4872 if (yyvsp
[-1].code
== NEGATE_EXPR
&& TREE_CODE (yyvsp
[0].ttype
) == INTEGER_CST
)
4873 TREE_NEGATED_INT (yyval
.ttype
) = 1;
4874 overflow_warning (yyval
.ttype
);
4878 #line 1121 "parse.y"
4879 { tree label
= lookup_label (yyvsp
[0].ttype
);
4881 pedwarn ("ANSI C++ forbids `&&'");
4882 if (label
== NULL_TREE
)
4883 yyval
.ttype
= null_pointer_node
;
4886 TREE_USED (label
) = 1;
4887 yyval
.ttype
= build1 (ADDR_EXPR
, ptr_type_node
, label
);
4888 TREE_CONSTANT (yyval
.ttype
) = 1;
4893 #line 1134 "parse.y"
4894 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4897 #line 1136 "parse.y"
4898 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4901 #line 1138 "parse.y"
4902 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4905 #line 1140 "parse.y"
4906 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4907 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4910 #line 1146 "parse.y"
4911 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4912 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4915 #line 1149 "parse.y"
4916 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4917 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4920 #line 1152 "parse.y"
4921 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4922 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4925 #line 1155 "parse.y"
4926 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4927 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4930 #line 1158 "parse.y"
4931 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4932 NULL_TREE
, yyvsp
[-3].itype
);
4933 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4936 #line 1162 "parse.y"
4937 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-4].itype
);
4938 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4941 #line 1165 "parse.y"
4942 { yyval
.ttype
= build_new (yyvsp
[-3].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-4].itype
);
4943 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4946 #line 1168 "parse.y"
4947 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4948 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4951 #line 1172 "parse.y"
4952 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4955 #line 1174 "parse.y"
4956 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4957 if (yychar
== YYEMPTY
)
4961 #line 1178 "parse.y"
4962 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4963 if (yychar
== YYEMPTY
)
4967 #line 1182 "parse.y"
4968 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4971 #line 1184 "parse.y"
4972 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4975 #line 1189 "parse.y"
4976 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4979 #line 1191 "parse.y"
4981 yyval
.ttype
= yyvsp
[-1].ttype
;
4982 pedwarn ("old style placement syntax, use () instead");
4986 #line 1199 "parse.y"
4987 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4990 #line 1201 "parse.y"
4991 { yyval
.ttype
= NULL_TREE
; ;
4994 #line 1203 "parse.y"
4996 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
4997 yyval
.ttype
= error_mark_node
;
5001 #line 1211 "parse.y"
5004 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5005 yyval
.ttype
= yyvsp
[0].ttype
;
5009 #line 1221 "parse.y"
5010 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
5011 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
5012 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5013 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5016 #line 1226 "parse.y"
5017 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
5018 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
5019 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5020 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5023 #line 1235 "parse.y"
5024 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5027 #line 1237 "parse.y"
5029 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5030 nreverse (yyvsp
[-2].ttype
));
5032 pedwarn ("ANSI C++ forbids constructor-expressions");
5033 /* Indicate that this was a GNU C constructor expression. */
5034 TREE_HAS_CONSTRUCTOR (init
) = 1;
5036 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5040 #line 1253 "parse.y"
5041 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5044 #line 1255 "parse.y"
5045 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5048 #line 1257 "parse.y"
5049 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5052 #line 1259 "parse.y"
5053 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5056 #line 1261 "parse.y"
5057 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5060 #line 1263 "parse.y"
5061 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5064 #line 1265 "parse.y"
5065 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5068 #line 1267 "parse.y"
5069 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5072 #line 1269 "parse.y"
5073 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5076 #line 1271 "parse.y"
5077 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5080 #line 1273 "parse.y"
5081 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5084 #line 1275 "parse.y"
5085 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5088 #line 1277 "parse.y"
5089 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5092 #line 1279 "parse.y"
5093 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5096 #line 1281 "parse.y"
5097 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5100 #line 1283 "parse.y"
5101 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5104 #line 1285 "parse.y"
5105 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5108 #line 1287 "parse.y"
5109 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5112 #line 1289 "parse.y"
5113 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5116 #line 1291 "parse.y"
5117 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5120 #line 1293 "parse.y"
5121 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5122 if (yyval
.ttype
!= error_mark_node
)
5123 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5126 #line 1297 "parse.y"
5127 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5130 #line 1299 "parse.y"
5131 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5134 #line 1301 "parse.y"
5135 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5138 #line 1319 "parse.y"
5139 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5142 #line 1328 "parse.y"
5143 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1); ;
5146 #line 1332 "parse.y"
5147 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5150 #line 1334 "parse.y"
5151 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5154 #line 1339 "parse.y"
5155 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5158 #line 1341 "parse.y"
5159 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5162 #line 1344 "parse.y"
5163 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5166 #line 1356 "parse.y"
5167 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5170 #line 1358 "parse.y"
5171 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5174 #line 1360 "parse.y"
5175 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5178 #line 1365 "parse.y"
5179 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5182 #line 1367 "parse.y"
5183 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5186 #line 1375 "parse.y"
5187 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5190 #line 1380 "parse.y"
5192 if (TREE_CODE (yyval
.ttype
) == BIT_NOT_EXPR
)
5193 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyval
.ttype
, 0));
5194 else if (TREE_CODE (yyval
.ttype
) != TEMPLATE_ID_EXPR
)
5196 if (processing_template_arg
)
5199 arg_looking_for_template
= processing_template_arg
;
5200 id
= lookup_name (yyval
.ttype
, 0);
5201 arg_looking_for_template
= 0;
5203 if (!id
|| id
== error_mark_node
5204 || (TREE_CODE (id
) != TEMPLATE_DECL
5205 && TREE_CODE (id
) != TEMPLATE_TEMPLATE_PARM
))
5206 id
= do_identifier (yyval
.ttype
, 1);
5210 yyval
.ttype
= do_identifier (yyval
.ttype
, 1);
5215 #line 1403 "parse.y"
5217 if (processing_template_decl
)
5218 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5219 yyval
.ttype
= combine_strings (yyval
.ttype
);
5220 if (processing_template_decl
)
5225 #line 1411 "parse.y"
5227 yyval
.ttype
= yyvsp
[-1].ttype
;
5228 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
5229 if (class == 'e' || class == '1'
5230 || class == '2' || class == '<')
5231 /* This inhibits warnings in truthvalue_conversion. */
5232 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, ERROR_MARK
); ;
5235 #line 1419 "parse.y"
5237 yyval
.ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5238 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
5239 if (class == 'e' || class == '1'
5240 || class == '2' || class == '<')
5241 /* This inhibits warnings in truthvalue_conversion. */
5242 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, ERROR_MARK
); ;
5245 #line 1427 "parse.y"
5246 { yyval
.ttype
= error_mark_node
; ;
5249 #line 1429 "parse.y"
5250 { if (current_function_decl
== 0)
5252 error ("braced-group within expression allowed only inside a function");
5256 yyval
.ttype
= expand_start_stmt_expr (); ;
5259 #line 1437 "parse.y"
5262 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5263 rtl_exp
= expand_end_stmt_expr (yyvsp
[-2].ttype
);
5264 /* The statements have side effects, so the group does. */
5265 TREE_SIDE_EFFECTS (rtl_exp
) = 1;
5267 if (TREE_CODE (yyvsp
[-1].ttype
) == BLOCK
)
5269 /* Make a BIND_EXPR for the BLOCK already made. */
5270 yyval
.ttype
= build (BIND_EXPR
, TREE_TYPE (rtl_exp
),
5271 NULL_TREE
, rtl_exp
, yyvsp
[-1].ttype
);
5272 /* Remove the block from the tree at this point.
5273 It gets put back at the proper place
5274 when the BIND_EXPR is expanded. */
5275 delete_block (yyvsp
[-1].ttype
);
5278 yyval
.ttype
= yyvsp
[-1].ttype
;
5282 #line 1458 "parse.y"
5284 yyval
.ttype
= build_x_function_call (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, current_class_ref
);
5285 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5286 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5287 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5291 #line 1465 "parse.y"
5293 yyval
.ttype
= build_x_function_call (yyval
.ttype
, NULL_TREE
, current_class_ref
);
5294 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5295 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5296 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5300 #line 1472 "parse.y"
5301 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5304 #line 1474 "parse.y"
5305 { /* If we get an OFFSET_REF, turn it into what it really
5306 means (e.g., a COMPONENT_REF). This way if we've got,
5307 say, a reference to a static member that's being operated
5308 on, we don't end up trying to find a member operator for
5309 the class it's in. */
5310 if (TREE_CODE (yyval
.ttype
) == OFFSET_REF
)
5311 yyval
.ttype
= resolve_offset_ref (yyval
.ttype
);
5312 yyval
.ttype
= build_x_unary_op (POSTINCREMENT_EXPR
, yyval
.ttype
); ;
5315 #line 1483 "parse.y"
5316 { if (TREE_CODE (yyval
.ttype
) == OFFSET_REF
)
5317 yyval
.ttype
= resolve_offset_ref (yyval
.ttype
);
5318 yyval
.ttype
= build_x_unary_op (POSTDECREMENT_EXPR
, yyval
.ttype
); ;
5321 #line 1488 "parse.y"
5322 { if (current_class_ptr
)
5324 #ifdef WARNING_ABOUT_CCD
5325 TREE_USED (current_class_ptr
) = 1;
5327 yyval
.ttype
= current_class_ptr
;
5329 else if (current_function_decl
5330 && DECL_STATIC_FUNCTION_P (current_function_decl
))
5332 error ("`this' is unavailable for static member functions");
5333 yyval
.ttype
= error_mark_node
;
5337 if (current_function_decl
)
5338 error ("invalid use of `this' in non-member function");
5340 error ("invalid use of `this' at top level");
5341 yyval
.ttype
= error_mark_node
;
5346 #line 1511 "parse.y"
5348 tree type
= NULL_TREE
;
5349 tree id
= yyval
.ttype
;
5351 /* This is a C cast in C++'s `functional' notation. */
5352 if (yyvsp
[-1].ttype
== error_mark_node
)
5354 yyval
.ttype
= error_mark_node
;
5358 if (yyvsp
[-1].ttype
== NULL_TREE
)
5360 error ("cannot cast null list to type `%s'",
5361 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5362 yyval
.ttype
= error_mark_node
;
5367 /* type is not set! (mrs) */
5368 if (type
== error_mark_node
)
5369 yyval
.ttype
= error_mark_node
;
5373 if (id
== ridpointers
[(int) RID_CONST
])
5374 type
= build_type_variant (integer_type_node
, 1, 0);
5375 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5376 type
= build_type_variant (integer_type_node
, 0, 1);
5378 /* should not be able to get here (mrs) */
5379 else if (id
== ridpointers
[(int) RID_FRIEND
])
5381 error ("cannot cast expression to `friend' type");
5382 yyval
.ttype
= error_mark_node
;
5386 else my_friendly_abort (79);
5387 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5392 #line 1556 "parse.y"
5393 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5394 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5395 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5398 #line 1560 "parse.y"
5399 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5400 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5401 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5404 #line 1564 "parse.y"
5405 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5406 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5407 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5410 #line 1568 "parse.y"
5411 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5412 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5413 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5416 #line 1572 "parse.y"
5417 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5420 #line 1574 "parse.y"
5421 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5422 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5423 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5426 #line 1578 "parse.y"
5427 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5430 #line 1580 "parse.y"
5432 got_scope
= NULL_TREE
;
5433 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5434 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5436 yyval
.ttype
= yyvsp
[0].ttype
;
5440 #line 1588 "parse.y"
5441 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5444 #line 1590 "parse.y"
5445 { if (processing_template_decl
)
5446 yyval
.ttype
= build_min_nt (CALL_EXPR
, copy_to_permanent (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
, NULL_TREE
);
5448 yyval
.ttype
= build_member_call (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
), yyvsp
[-1].ttype
); ;
5451 #line 1595 "parse.y"
5452 { if (processing_template_decl
)
5453 yyval
.ttype
= build_min_nt (CALL_EXPR
, copy_to_permanent (yyvsp
[-1].ttype
),
5454 NULL_TREE
, NULL_TREE
);
5456 yyval
.ttype
= build_member_call (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
), NULL_TREE
); ;
5459 #line 1601 "parse.y"
5461 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5465 #line 1605 "parse.y"
5467 yyval
.ttype
= build_method_call (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
5468 NULL_TREE
, LOOKUP_NORMAL
);
5472 #line 1610 "parse.y"
5474 yyval
.ttype
= build_method_call (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, NULL_TREE
,
5475 NULL_TREE
, LOOKUP_NORMAL
);
5479 #line 1615 "parse.y"
5480 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5483 #line 1617 "parse.y"
5484 { if (processing_template_decl
)
5485 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5487 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5490 #line 1622 "parse.y"
5493 /* This is a future direction of this code, but because
5494 build_x_function_call cannot always undo what is done
5495 in build_component_ref entirely yet, we cannot do this. */
5496 yyval
.ttype
= build_x_function_call (build_component_ref (yyval
.ttype
, yyvsp
[-3].ttype
, NULL_TREE
, 1), yyvsp
[-1].ttype
, current_class_ref
);
5497 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5498 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5499 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5501 yyval
.ttype
= build_method_call (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
,
5507 #line 1637 "parse.y"
5510 /* This is a future direction of this code, but because
5511 build_x_function_call cannot always undo what is done
5512 in build_component_ref entirely yet, we cannot do this. */
5513 yyval
.ttype
= build_x_function_call (build_component_ref (yyval
.ttype
, yyvsp
[-1].ttype
, NULL_TREE
, 1), NULL_TREE
, current_class_ref
);
5514 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5515 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5516 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5518 yyval
.ttype
= build_method_call (yyval
.ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
,
5524 #line 1652 "parse.y"
5526 if (IS_SIGNATURE (OP0 (yyvsp
[-3].ttype
)))
5528 warning ("signature name in scope resolution ignored");
5529 yyval
.ttype
= build_method_call (yyval
.ttype
, OP1 (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
, NULL_TREE
,
5533 yyval
.ttype
= build_scoped_method_call (yyval
.ttype
, OP0 (yyvsp
[-3].ttype
), OP1 (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
);
5537 #line 1663 "parse.y"
5539 if (IS_SIGNATURE (OP0 (yyvsp
[-1].ttype
)))
5541 warning ("signature name in scope resolution ignored");
5542 yyval
.ttype
= build_method_call (yyval
.ttype
, OP1 (yyvsp
[-1].ttype
), NULL_TREE
, NULL_TREE
,
5546 yyval
.ttype
= build_scoped_method_call (yyval
.ttype
, OP0 (yyvsp
[-1].ttype
), OP1 (yyvsp
[-1].ttype
), NULL_TREE
);
5550 #line 1675 "parse.y"
5552 if (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-1].ttype
)
5553 && (TREE_CODE (TREE_TYPE (yyvsp
[-3].ttype
))
5554 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-1].ttype
)))))
5555 cp_error ("`%E' is not of type `%T'", yyvsp
[-3].ttype
, yyvsp
[-1].ttype
);
5556 yyval
.ttype
= cp_convert (void_type_node
, yyvsp
[-3].ttype
);
5560 #line 1683 "parse.y"
5562 if (yyvsp
[-4].ttype
!= yyvsp
[-1].ttype
)
5563 cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
5564 if (TREE_CODE (TREE_TYPE (yyvsp
[-5].ttype
))
5565 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-4].ttype
))))
5566 cp_error ("`%E' is not of type `%T'", yyvsp
[-5].ttype
, yyvsp
[-4].ttype
);
5567 yyval
.ttype
= cp_convert (void_type_node
, yyvsp
[-5].ttype
);
5571 #line 1692 "parse.y"
5573 yyval
.ttype
= error_mark_node
;
5577 #line 1737 "parse.y"
5578 { yyval
.itype
= 0; ;
5581 #line 1739 "parse.y"
5582 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5585 #line 1744 "parse.y"
5586 { yyval
.itype
= 0; ;
5589 #line 1746 "parse.y"
5590 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5593 #line 1751 "parse.y"
5594 { yyval
.ttype
= boolean_true_node
; ;
5597 #line 1753 "parse.y"
5598 { yyval
.ttype
= boolean_false_node
; ;
5601 #line 1760 "parse.y"
5602 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5605 #line 1765 "parse.y"
5607 if (! current_function_parms_stored
)
5608 store_parm_decls ();
5610 /* Always keep the BLOCK node associated with the outermost
5611 pair of curley braces of a function. These are needed
5612 for correct operation of dwarfout.c. */
5617 #line 1778 "parse.y"
5618 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5621 #line 1780 "parse.y"
5623 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5624 got_object
= TREE_TYPE (yyval
.ttype
);
5628 #line 1788 "parse.y"
5630 resume_momentary (yyvsp
[-1].itype
);
5631 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5632 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5636 #line 1794 "parse.y"
5638 resume_momentary (yyvsp
[-1].itype
);
5639 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5643 #line 1799 "parse.y"
5644 { resume_momentary (yyvsp
[-1].itype
); ;
5647 #line 1801 "parse.y"
5649 shadow_tag (yyvsp
[-1].ftype
.t
);
5650 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5654 #line 1806 "parse.y"
5655 { warning ("empty declaration"); ;
5658 #line 1808 "parse.y"
5659 { pedantic
= yyvsp
[-1].itype
; ;
5662 #line 1822 "parse.y"
5663 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5664 NULL_TREE
, NULL_TREE
); ;
5667 #line 1825 "parse.y"
5668 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5672 #line 1832 "parse.y"
5673 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5674 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5677 #line 1835 "parse.y"
5678 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5679 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5682 #line 1838 "parse.y"
5683 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5684 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5687 #line 1841 "parse.y"
5688 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5689 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5692 #line 1844 "parse.y"
5693 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5694 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5697 #line 1860 "parse.y"
5698 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5699 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5702 #line 1863 "parse.y"
5703 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5704 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5707 #line 1866 "parse.y"
5708 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5709 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5712 #line 1869 "parse.y"
5713 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5714 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5717 #line 1872 "parse.y"
5718 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5719 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5722 #line 1875 "parse.y"
5723 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5724 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5725 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5728 #line 1882 "parse.y"
5729 { if (extra_warnings
)
5730 warning ("`%s' is not at beginning of declaration",
5731 IDENTIFIER_POINTER (yyval
.ttype
));
5732 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5735 #line 1887 "parse.y"
5736 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5739 #line 1889 "parse.y"
5740 { if (extra_warnings
)
5741 warning ("`%s' is not at beginning of declaration",
5742 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5743 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5746 #line 1894 "parse.y"
5747 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5750 #line 1896 "parse.y"
5751 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5754 #line 1906 "parse.y"
5755 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5758 #line 1908 "parse.y"
5759 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5762 #line 1910 "parse.y"
5763 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5764 TREE_STATIC (yyval
.ttype
) = 1; ;
5767 #line 1913 "parse.y"
5768 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5769 warning ("`%s' is not at beginning of declaration",
5770 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5771 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5772 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5775 #line 1919 "parse.y"
5776 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5779 #line 1921 "parse.y"
5780 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5783 #line 1932 "parse.y"
5784 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5785 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5788 #line 1935 "parse.y"
5789 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5790 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5793 #line 1938 "parse.y"
5794 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5795 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5798 #line 1941 "parse.y"
5799 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5800 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5803 #line 1947 "parse.y"
5804 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5807 #line 1949 "parse.y"
5808 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5811 #line 1959 "parse.y"
5812 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5815 #line 1961 "parse.y"
5816 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5819 #line 1963 "parse.y"
5820 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5821 yyval
.ftype
.new_type_flag
= 0; ;
5824 #line 1966 "parse.y"
5825 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5826 yyval
.ftype
.new_type_flag
= 0; ;
5829 #line 1969 "parse.y"
5830 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5832 yyval
.ftype
.new_type_flag
= 0;
5833 if (IS_AGGR_TYPE (type
))
5835 sorry ("sigof type specifier");
5836 yyval
.ftype
.t
= type
;
5840 error ("`sigof' applied to non-aggregate expression");
5841 yyval
.ftype
.t
= error_mark_node
;
5846 #line 1984 "parse.y"
5847 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5849 yyval
.ftype
.new_type_flag
= 0;
5850 if (IS_AGGR_TYPE (type
))
5852 sorry ("sigof type specifier");
5853 yyval
.ftype
.t
= type
;
5857 error("`sigof' applied to non-aggregate type");
5858 yyval
.ftype
.t
= error_mark_node
;
5863 #line 2004 "parse.y"
5864 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5867 #line 2006 "parse.y"
5868 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5871 #line 2027 "parse.y"
5872 { yyval
.ttype
= NULL_TREE
; ;
5875 #line 2029 "parse.y"
5876 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5879 #line 2034 "parse.y"
5880 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
5881 &prefix_attributes
);
5882 if (current_declspecs
5883 && TREE_CODE (current_declspecs
) != TREE_LIST
)
5884 current_declspecs
= get_decl_list (current_declspecs
);
5885 if (have_extern_spec
&& !used_extern_spec
)
5887 current_declspecs
= decl_tree_cons
5888 (NULL_TREE
, get_identifier ("extern"),
5890 used_extern_spec
= 1;
5892 yyvsp
[0].itype
= suspend_momentary ();
5893 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5894 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5897 #line 2051 "parse.y"
5898 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5899 yyval
.itype
= yyvsp
[-2].itype
; ;
5902 #line 2054 "parse.y"
5904 split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
5905 &prefix_attributes
);
5906 if (current_declspecs
5907 && TREE_CODE (current_declspecs
) != TREE_LIST
)
5908 current_declspecs
= get_decl_list (current_declspecs
);
5909 if (have_extern_spec
&& !used_extern_spec
)
5911 current_declspecs
= decl_tree_cons
5912 (NULL_TREE
, get_identifier ("extern"),
5914 used_extern_spec
= 1;
5916 yyval
.itype
= suspend_momentary ();
5917 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5918 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5919 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5922 #line 2075 "parse.y"
5923 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5924 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5927 #line 2079 "parse.y"
5928 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5931 #line 2081 "parse.y"
5932 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5933 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
);
5934 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5937 #line 2088 "parse.y"
5938 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
5939 &prefix_attributes
);
5940 yyvsp
[0].itype
= suspend_momentary ();
5941 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5942 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5945 #line 2095 "parse.y"
5946 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5947 yyval
.itype
= yyvsp
[-2].itype
; ;
5950 #line 2098 "parse.y"
5952 split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
5953 &prefix_attributes
);
5954 yyval
.itype
= suspend_momentary ();
5955 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5956 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5957 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5960 #line 2109 "parse.y"
5961 { current_declspecs
= NULL_TREE
;
5962 prefix_attributes
= NULL_TREE
;
5963 yyvsp
[0].itype
= suspend_momentary ();
5964 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5965 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5968 #line 2116 "parse.y"
5969 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5970 yyval
.itype
= yyvsp
[-2].itype
; ;
5973 #line 2119 "parse.y"
5975 current_declspecs
= NULL_TREE
;
5976 prefix_attributes
= NULL_TREE
;
5977 yyval
.itype
= suspend_momentary ();
5978 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5979 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5980 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5983 #line 2132 "parse.y"
5984 { yyval
.ttype
= NULL_TREE
; ;
5987 #line 2134 "parse.y"
5988 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5991 #line 2139 "parse.y"
5992 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5995 #line 2141 "parse.y"
5996 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5999 #line 2146 "parse.y"
6000 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
6003 #line 2151 "parse.y"
6004 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6007 #line 2153 "parse.y"
6008 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6011 #line 2158 "parse.y"
6012 { yyval
.ttype
= NULL_TREE
; ;
6015 #line 2160 "parse.y"
6016 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
6019 #line 2162 "parse.y"
6020 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
6023 #line 2164 "parse.y"
6024 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
6027 #line 2166 "parse.y"
6028 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6031 #line 2182 "parse.y"
6032 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
6035 #line 2184 "parse.y"
6036 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
6039 #line 2189 "parse.y"
6040 { yyval
.ttype
= NULL_TREE
; ;
6043 #line 2191 "parse.y"
6044 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6047 #line 2199 "parse.y"
6048 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
6049 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6052 #line 2202 "parse.y"
6053 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
6054 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6057 #line 2205 "parse.y"
6058 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
6059 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6062 #line 2208 "parse.y"
6063 { yyval
.ttype
= NULL_TREE
; ;
6066 #line 2215 "parse.y"
6067 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
6070 #line 2217 "parse.y"
6071 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6074 #line 2220 "parse.y"
6075 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6078 #line 2222 "parse.y"
6079 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6082 #line 2224 "parse.y"
6083 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
6086 #line 2226 "parse.y"
6087 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6090 #line 2231 "parse.y"
6091 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
6093 reinit_parse_for_function (); ;
6096 #line 2237 "parse.y"
6098 int nested
= (hack_decl_function_context
6099 (current_function_decl
) != NULL_TREE
);
6100 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
6101 process_next_inline (yyvsp
[-3].ttype
);
6105 #line 2244 "parse.y"
6106 { process_next_inline (yyvsp
[-2].ttype
); ;
6109 #line 2246 "parse.y"
6110 { process_next_inline (yyvsp
[-2].ttype
); ;
6113 #line 2258 "parse.y"
6114 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6117 #line 2260 "parse.y"
6118 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6121 #line 2265 "parse.y"
6122 { do_pending_defargs (); ;
6125 #line 2267 "parse.y"
6126 { do_pending_defargs (); ;
6129 #line 2272 "parse.y"
6130 { yyvsp
[0].itype
= suspend_momentary ();
6131 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
6134 #line 2275 "parse.y"
6135 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
6136 yyval
.ftype
.new_type_flag
= 1;
6137 resume_momentary ((int) yyvsp
[-4].itype
);
6138 check_for_missing_semicolon (yyvsp
[-3].ttype
); ;
6141 #line 2280 "parse.y"
6142 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
), NULL_TREE
);
6143 yyval
.ftype
.new_type_flag
= 1;
6144 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6147 #line 2284 "parse.y"
6148 { yyvsp
[0].itype
= suspend_momentary ();
6149 yyval
.ttype
= start_enum (make_anon_name ()); ;
6152 #line 2287 "parse.y"
6153 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
6154 resume_momentary ((int) yyvsp
[-5].itype
);
6155 check_for_missing_semicolon (yyvsp
[-3].ttype
);
6156 yyval
.ftype
.new_type_flag
= 1; ;
6159 #line 2292 "parse.y"
6160 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()), NULL_TREE
);
6161 yyval
.ftype
.new_type_flag
= 1;
6162 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6165 #line 2296 "parse.y"
6166 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6167 yyval
.ftype
.new_type_flag
= 0; ;
6170 #line 2299 "parse.y"
6171 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6172 yyval
.ftype
.new_type_flag
= 0; ;
6175 #line 2302 "parse.y"
6176 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6177 yyval
.ftype
.new_type_flag
= 0; ;
6180 #line 2307 "parse.y"
6184 yyval
.ttype
= yyvsp
[-4].ttype
;
6186 /* Need to rework class nesting in the
6187 presence of nested classes, etc. */
6188 shadow_tag (CLASSTYPE_AS_LIST (yyvsp
[-4].ttype
)); */
6190 if (yychar
== YYEMPTY
)
6192 semi
= yychar
== ';';
6193 /* finish_struct nukes this anyway; if
6194 finish_exception does too, then it can go. */
6196 note_got_semicolon (yyvsp
[-4].ttype
);
6198 if (TREE_CODE (yyvsp
[-4].ttype
) == ENUMERAL_TYPE
)
6202 yyval
.ttype
= finish_struct (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
6203 if (semi
) note_got_semicolon (yyval
.ttype
);
6209 check_for_missing_semicolon (yyvsp
[-4].ttype
);
6210 if (current_scope () == current_function_decl
)
6211 do_pending_defargs ();
6215 #line 2341 "parse.y"
6218 && current_scope () == current_function_decl
)
6219 do_pending_inlines ();
6223 #line 2347 "parse.y"
6225 yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6226 yyval
.ftype
.new_type_flag
= 1;
6227 if (current_class_type
== NULL_TREE
)
6228 clear_inline_text_obstack ();
6230 /* Undo the begin_tree in left_curly. */
6235 #line 2357 "parse.y"
6237 yyval
.ftype
.new_type_flag
= 0;
6238 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
6240 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
6241 yyval
.ftype
.t
= error_mark_node
;
6245 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6246 /* struct B: public A; is not accepted by the WP grammar. */
6247 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6248 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6249 cp_error ("base clause without member specification for `%#T'",
6255 #line 2384 "parse.y"
6256 { if (pedantic
&& !in_system_header
)
6257 pedwarn ("comma at end of enumerator list"); ;
6260 #line 2391 "parse.y"
6261 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6264 #line 2393 "parse.y"
6265 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6268 #line 2395 "parse.y"
6269 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6272 #line 2397 "parse.y"
6273 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6276 #line 2402 "parse.y"
6277 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6280 #line 2407 "parse.y"
6281 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6284 #line 2412 "parse.y"
6286 current_aggr
= yyvsp
[-2].ttype
;
6287 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6291 #line 2417 "parse.y"
6293 current_aggr
= yyvsp
[-3].ttype
;
6294 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6298 #line 2422 "parse.y"
6300 current_aggr
= yyvsp
[-2].ttype
;
6301 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6305 #line 2427 "parse.y"
6306 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6309 #line 2429 "parse.y"
6310 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6313 #line 2434 "parse.y"
6314 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 0); ;
6317 #line 2439 "parse.y"
6318 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
6321 #line 2442 "parse.y"
6323 yyval
.ttype
= yyvsp
[-1].ttype
;
6325 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6329 #line 2448 "parse.y"
6331 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6332 if (TREE_INT_CST_LOW (current_aggr
) == union_type
6333 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
6334 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
6335 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
6336 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
6337 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
6340 if (IS_AGGR_TYPE (yyval
.ttype
) && CLASSTYPE_USE_TEMPLATE (yyval
.ttype
))
6342 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval
.ttype
)
6343 && TYPE_SIZE (yyval
.ttype
) == NULL_TREE
)
6345 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval
.ttype
);
6346 if (processing_template_decl
)
6347 push_template_decl (TYPE_MAIN_DECL (yyval
.ttype
));
6349 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval
.ttype
))
6350 cp_error ("specialization after instantiation of `%T'", yyval
.ttype
);
6352 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6357 #line 2477 "parse.y"
6358 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), NULL_TREE
, 0);
6359 yyungetc ('{', 1); ;
6362 #line 2488 "parse.y"
6363 { yyval
.ttype
= NULL_TREE
; ;
6366 #line 2490 "parse.y"
6367 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6370 #line 2492 "parse.y"
6371 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6374 #line 2498 "parse.y"
6375 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6378 #line 2503 "parse.y"
6380 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6381 if (! is_aggr_type (type
, 1))
6382 yyval
.ttype
= NULL_TREE
;
6383 else if (current_aggr
== signature_type_node
6384 && (! type
) && (! IS_SIGNATURE (type
)))
6386 error ("class name not allowed as base signature");
6387 yyval
.ttype
= NULL_TREE
;
6389 else if (current_aggr
== signature_type_node
)
6391 sorry ("signature inheritance, base type `%s' ignored",
6392 IDENTIFIER_POINTER (yyval
.ttype
));
6393 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6395 else if (type
&& IS_SIGNATURE (type
))
6397 error ("signature name not allowed as base class");
6398 yyval
.ttype
= NULL_TREE
;
6401 yyval
.ttype
= build_tree_list (access_default_node
, type
);
6405 #line 2528 "parse.y"
6407 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6408 if (current_aggr
== signature_type_node
)
6409 error ("access and source specifiers not allowed in signature");
6410 if (! IS_AGGR_TYPE (type
))
6411 yyval
.ttype
= NULL_TREE
;
6412 else if (current_aggr
== signature_type_node
6413 && (! type
) && (! IS_SIGNATURE (type
)))
6415 error ("class name not allowed as base signature");
6416 yyval
.ttype
= NULL_TREE
;
6418 else if (current_aggr
== signature_type_node
)
6420 sorry ("signature inheritance, base type `%s' ignored",
6421 IDENTIFIER_POINTER (yyval
.ttype
));
6422 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6424 else if (type
&& IS_SIGNATURE (type
))
6426 error ("signature name not allowed as base class");
6427 yyval
.ttype
= NULL_TREE
;
6430 yyval
.ttype
= build_tree_list (yyval
.ttype
, type
);
6434 #line 2558 "parse.y"
6435 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6438 #line 2561 "parse.y"
6440 if (current_aggr
== signature_type_node
)
6442 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6444 sorry ("`sigof' as base signature specifier");
6445 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6449 error ("`sigof' applied to non-aggregate expression");
6450 yyval
.ttype
= error_mark_node
;
6455 error ("`sigof' in struct or class declaration");
6456 yyval
.ttype
= error_mark_node
;
6461 #line 2582 "parse.y"
6463 if (current_aggr
== signature_type_node
)
6465 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6467 sorry ("`sigof' as base signature specifier");
6468 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6472 error ("`sigof' applied to non-aggregate expression");
6473 yyval
.ttype
= error_mark_node
;
6478 error ("`sigof' in struct or class declaration");
6479 yyval
.ttype
= error_mark_node
;
6484 #line 2607 "parse.y"
6485 { if (yyval
.ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6486 sorry ("non-virtual access");
6487 yyval
.ttype
= access_default_virtual_node
; ;
6490 #line 2611 "parse.y"
6492 if (yyvsp
[-1].ttype
== access_protected_node
)
6494 warning ("`protected' access not implemented");
6495 yyvsp
[-1].ttype
= access_public_node
;
6498 else if (yyvsp
[-1].ttype
== access_public_node
)
6500 if (yyvsp
[-2].ttype
== access_private_node
)
6503 error ("base class cannot be public and private");
6505 else if (yyvsp
[-2].ttype
== access_default_virtual_node
)
6506 yyval
.ttype
= access_public_virtual_node
;
6508 else /* $2 == access_private_node */
6510 if (yyvsp
[-2].ttype
== access_public_node
)
6512 else if (yyvsp
[-2].ttype
== access_default_virtual_node
)
6513 yyval
.ttype
= access_private_virtual_node
;
6518 #line 2637 "parse.y"
6519 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6520 sorry ("non-virtual access");
6521 if (yyval
.ttype
== access_public_node
)
6522 yyval
.ttype
= access_public_virtual_node
;
6523 else if (yyval
.ttype
== access_private_node
)
6524 yyval
.ttype
= access_private_virtual_node
; ;
6527 #line 2647 "parse.y"
6528 { tree t
= yyvsp
[-1].ttype
;
6529 push_obstacks_nochange ();
6530 end_temporary_allocation ();
6532 if (t
== error_mark_node
6533 || ! IS_AGGR_TYPE (t
))
6535 t
= yyvsp
[-1].ttype
= make_lang_type (RECORD_TYPE
);
6536 pushtag (make_anon_name (), t
, 0);
6539 duplicate_tag_error (t
);
6540 if (TYPE_SIZE (t
) || TYPE_BEING_DEFINED (t
))
6542 t
= make_lang_type (TREE_CODE (t
));
6543 pushtag (TYPE_IDENTIFIER (yyvsp
[-1].ttype
), t
, 0);
6544 yyvsp
[-1].ttype
= t
;
6546 if (processing_template_decl
&& TYPE_CONTEXT (t
)
6547 && ! current_class_type
)
6548 push_template_decl (TYPE_STUB_DECL (t
));
6550 TYPE_BEING_DEFINED (t
) = 1;
6551 if (IS_AGGR_TYPE (t
) && CLASSTYPE_USE_TEMPLATE (t
))
6553 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t
)
6554 && TYPE_SIZE (t
) == NULL_TREE
)
6556 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t
);
6557 if (processing_template_decl
)
6558 push_template_decl (TYPE_MAIN_DECL (t
));
6560 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t
))
6561 cp_error ("specialization after instantiation of `%T'", t
);
6563 /* Reset the interface data, at the earliest possible
6564 moment, as it might have been set via a class foo;
6566 /* Don't change signatures. */
6567 if (! IS_SIGNATURE (t
))
6569 extern tree pending_vtables
;
6571 tree name
= TYPE_IDENTIFIER (t
);
6573 if (! ANON_AGGRNAME_P (name
))
6575 CLASSTYPE_INTERFACE_ONLY (t
) = interface_only
;
6576 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6577 (t
, interface_unknown
);
6580 /* Record how to set the access of this class's
6581 virtual functions. If write_virtuals == 2 or 3, then
6582 inline virtuals are ``extern inline''. */
6583 switch (write_virtuals
)
6590 needs_writing
= !! value_member (name
, pending_vtables
);
6593 needs_writing
= ! CLASSTYPE_INTERFACE_ONLY (t
)
6594 && CLASSTYPE_INTERFACE_KNOWN (t
);
6599 CLASSTYPE_VTABLE_NEEDS_WRITING (t
) = needs_writing
;
6602 t
= TYPE_IDENTIFIER (yyvsp
[-1].ttype
);
6603 if (t
&& IDENTIFIER_TEMPLATE (t
))
6604 overload_template_name (t
, 1);
6606 reset_specialization();
6608 /* In case this is a local class within a template
6609 function, we save the current tree structure so
6610 that we can get it back later. */
6615 #line 2736 "parse.y"
6617 yyval
.ttype
= build_self_reference ();
6621 #line 2743 "parse.y"
6622 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6625 #line 2745 "parse.y"
6627 if (current_aggr
== signature_type_node
)
6628 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6630 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6631 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6635 #line 2753 "parse.y"
6637 tree visspec
= yyvsp
[-2].ttype
;
6639 if (current_aggr
== signature_type_node
)
6641 error ("access specifier not allowed in signature");
6642 visspec
= access_public_node
;
6644 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6648 #line 2764 "parse.y"
6650 if (current_aggr
== signature_type_node
)
6651 error ("access specifier not allowed in signature");
6655 #line 2774 "parse.y"
6656 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6660 #line 2777 "parse.y"
6661 { /* In pushdecl, we created a reverse list of names
6662 in this binding level. Make sure that the chain
6663 of what we're trying to add isn't the item itself
6664 (which can happen with what pushdecl's doing). */
6665 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6667 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6668 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6670 yyval
.ttype
= yyvsp
[0].ttype
;
6675 #line 2793 "parse.y"
6679 #line 2795 "parse.y"
6680 { error ("missing ';' before right brace");
6681 yyungetc ('}', 0); ;
6684 #line 2800 "parse.y"
6685 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6688 #line 2802 "parse.y"
6689 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6692 #line 2804 "parse.y"
6693 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6696 #line 2806 "parse.y"
6697 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6700 #line 2808 "parse.y"
6701 { yyval
.ttype
= NULL_TREE
; ;
6704 #line 2810 "parse.y"
6705 { yyval
.ttype
= yyvsp
[0].ttype
;
6706 pedantic
= yyvsp
[-1].itype
; ;
6709 #line 2819 "parse.y"
6710 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6713 #line 2821 "parse.y"
6714 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6717 #line 2823 "parse.y"
6718 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6719 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6722 #line 2826 "parse.y"
6723 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6724 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6727 #line 2829 "parse.y"
6728 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6731 #line 2831 "parse.y"
6732 { yyval
.ttype
= NULL_TREE
; ;
6735 #line 2842 "parse.y"
6736 { tree specs
, attrs
;
6737 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6738 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6739 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6742 #line 2847 "parse.y"
6743 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6744 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6747 #line 2850 "parse.y"
6748 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6751 #line 2852 "parse.y"
6752 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6755 #line 2858 "parse.y"
6756 { yyval
.ttype
= NULL_TREE
; ;
6759 #line 2861 "parse.y"
6761 /* In this context, void_type_node encodes
6762 friends. They have been recorded elsewhere. */
6763 if (yyval
.ttype
== void_type_node
)
6764 yyval
.ttype
= yyvsp
[0].ttype
;
6766 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6770 #line 2873 "parse.y"
6771 { yyval
.ttype
= NULL_TREE
; ;
6774 #line 2876 "parse.y"
6776 /* In this context, void_type_node encodes
6777 friends. They have been recorded elsewhere. */
6778 if (yyval
.ttype
== void_type_node
)
6779 yyval
.ttype
= yyvsp
[0].ttype
;
6781 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6785 #line 2898 "parse.y"
6786 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6787 &prefix_attributes
);
6788 yyvsp
[-4].ttype
= current_declspecs
;
6789 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6790 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6793 #line 2904 "parse.y"
6794 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6795 &prefix_attributes
);
6796 yyvsp
[-4].ttype
= current_declspecs
;
6797 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6798 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6801 #line 2913 "parse.y"
6802 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6803 &prefix_attributes
);
6804 yyvsp
[-4].ttype
= current_declspecs
;
6805 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6806 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6809 #line 2919 "parse.y"
6810 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6811 &prefix_attributes
);
6812 yyvsp
[-4].ttype
= current_declspecs
;
6813 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6814 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6817 #line 2925 "parse.y"
6818 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6819 &prefix_attributes
);
6820 yyvsp
[-4].ttype
= current_declspecs
;
6821 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6822 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6825 #line 2931 "parse.y"
6826 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6827 &prefix_attributes
);
6828 yyvsp
[-3].ttype
= current_declspecs
;
6829 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6830 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6833 #line 2940 "parse.y"
6834 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6835 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6838 #line 2943 "parse.y"
6839 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6840 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6843 #line 2949 "parse.y"
6844 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6845 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6848 #line 2952 "parse.y"
6849 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6850 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6853 #line 2955 "parse.y"
6854 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6855 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6858 #line 2966 "parse.y"
6859 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6862 #line 2971 "parse.y"
6863 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
); ;
6866 #line 2973 "parse.y"
6867 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
); ;
6870 #line 2979 "parse.y"
6871 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6872 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6875 #line 2982 "parse.y"
6876 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6877 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6880 #line 2987 "parse.y"
6883 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6884 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6885 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6886 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6890 #line 2998 "parse.y"
6891 { yyval
.ttype
= NULL_TREE
; ;
6894 #line 3000 "parse.y"
6895 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6898 #line 3005 "parse.y"
6899 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6900 yyval
.ftype
.new_type_flag
= 0; ;
6903 #line 3008 "parse.y"
6904 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6905 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6908 #line 3017 "parse.y"
6909 { yyval
.itype
= suspend_momentary (); ;
6912 #line 3022 "parse.y"
6913 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6916 #line 3028 "parse.y"
6917 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6920 #line 3030 "parse.y"
6921 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6924 #line 3032 "parse.y"
6925 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6928 #line 3034 "parse.y"
6929 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6932 #line 3041 "parse.y"
6933 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6936 #line 3043 "parse.y"
6937 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6940 #line 3045 "parse.y"
6941 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6944 #line 3047 "parse.y"
6945 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6948 #line 3049 "parse.y"
6949 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6950 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6954 #line 3057 "parse.y"
6956 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6958 arg_looking_for_template
= processing_template_arg
;
6959 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6960 arg_looking_for_template
= 0;
6962 if (current_class_type
6963 && TYPE_BEING_DEFINED (current_class_type
)
6964 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6966 /* Remember that this name has been used in the class
6967 definition, as per [class.scope0] */
6968 pushdecl_class_level (yyval
.ttype
);
6972 yyval
.ttype
= yyvsp
[0].ttype
;
6976 #line 3077 "parse.y"
6978 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6979 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6981 yyval
.ttype
= yyvsp
[0].ttype
;
6982 got_scope
= NULL_TREE
;
6986 #line 3090 "parse.y"
6987 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6990 #line 3095 "parse.y"
6991 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6994 #line 3100 "parse.y"
6995 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6998 #line 3102 "parse.y"
6999 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7002 #line 3104 "parse.y"
7003 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7006 #line 3106 "parse.y"
7007 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7010 #line 3108 "parse.y"
7011 { push_nested_class (yyvsp
[-1].ttype
, 3);
7012 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
7013 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
7016 #line 3119 "parse.y"
7017 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7020 #line 3121 "parse.y"
7021 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7024 #line 3123 "parse.y"
7025 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7028 #line 3125 "parse.y"
7029 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7032 #line 3127 "parse.y"
7033 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7034 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7038 #line 3135 "parse.y"
7039 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7042 #line 3137 "parse.y"
7043 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7046 #line 3139 "parse.y"
7047 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7050 #line 3141 "parse.y"
7051 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7054 #line 3143 "parse.y"
7055 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7056 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7060 #line 3151 "parse.y"
7061 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7064 #line 3153 "parse.y"
7065 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7068 #line 3155 "parse.y"
7069 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7072 #line 3157 "parse.y"
7073 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7076 #line 3159 "parse.y"
7077 { if (OP0 (yyval
.ttype
) != current_class_type
)
7079 push_nested_class (OP0 (yyval
.ttype
), 3);
7080 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
7085 #line 3166 "parse.y"
7086 { got_scope
= NULL_TREE
;
7087 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7088 if (yyvsp
[-1].ttype
!= current_class_type
)
7090 push_nested_class (yyvsp
[-1].ttype
, 3);
7091 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
7096 #line 3178 "parse.y"
7097 { got_scope
= NULL_TREE
;
7098 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7101 #line 3181 "parse.y"
7102 { got_scope
= NULL_TREE
;
7103 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7106 #line 3187 "parse.y"
7107 { got_scope
= NULL_TREE
;
7108 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7111 #line 3190 "parse.y"
7112 { got_scope
= NULL_TREE
;
7113 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7116 #line 3197 "parse.y"
7117 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7120 #line 3202 "parse.y"
7121 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7124 #line 3204 "parse.y"
7125 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7128 #line 3206 "parse.y"
7129 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7132 #line 3218 "parse.y"
7133 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7136 #line 3225 "parse.y"
7138 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7140 yyval
.ttype
= lastiddecl
;
7141 /* Remember that this name has been used in the class
7142 definition, as per [class.scope0] */
7143 if (current_class_type
7144 && TYPE_BEING_DEFINED (current_class_type
)
7145 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
7146 pushdecl_class_level (yyval
.ttype
);
7148 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7152 #line 3239 "parse.y"
7154 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7155 yyval
.ttype
= lastiddecl
;
7156 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7160 #line 3245 "parse.y"
7162 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7163 yyval
.ttype
= lastiddecl
;
7164 got_scope
= yyval
.ttype
;
7168 #line 3251 "parse.y"
7169 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
7172 #line 3267 "parse.y"
7173 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7176 #line 3272 "parse.y"
7178 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7179 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7180 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7181 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7184 yyval
.ttype
= yyvsp
[0].ttype
;
7185 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7186 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7191 #line 3288 "parse.y"
7193 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7194 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7198 #line 3293 "parse.y"
7200 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7201 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7202 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7203 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7206 yyval
.ttype
= yyvsp
[0].ttype
;
7207 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7208 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7213 #line 3309 "parse.y"
7215 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7216 yyval
.ttype
= lastiddecl
;
7217 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7221 #line 3315 "parse.y"
7223 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7224 yyval
.ttype
= lastiddecl
;
7225 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7229 #line 3321 "parse.y"
7230 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7233 #line 3325 "parse.y"
7235 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7236 yyval
.ttype
= lastiddecl
;
7237 got_scope
= yyval
.ttype
;
7241 #line 3334 "parse.y"
7243 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7244 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7246 yyval
.ttype
= yyvsp
[0].ttype
;
7247 got_scope
= NULL_TREE
;
7251 #line 3343 "parse.y"
7252 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7255 #line 3348 "parse.y"
7256 { got_scope
= NULL_TREE
; ;
7259 #line 3350 "parse.y"
7260 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7263 #line 3357 "parse.y"
7264 { got_scope
= void_type_node
; ;
7267 #line 3363 "parse.y"
7268 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7271 #line 3365 "parse.y"
7272 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7275 #line 3367 "parse.y"
7276 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7279 #line 3369 "parse.y"
7280 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7283 #line 3371 "parse.y"
7284 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7285 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7289 #line 3375 "parse.y"
7290 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7291 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7295 #line 3384 "parse.y"
7296 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7299 #line 3386 "parse.y"
7300 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7303 #line 3392 "parse.y"
7304 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7307 #line 3394 "parse.y"
7308 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7311 #line 3396 "parse.y"
7312 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7315 #line 3398 "parse.y"
7316 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7319 #line 3400 "parse.y"
7320 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7323 #line 3402 "parse.y"
7324 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7327 #line 3404 "parse.y"
7328 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7331 #line 3406 "parse.y"
7332 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7335 #line 3408 "parse.y"
7336 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7337 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7341 #line 3412 "parse.y"
7342 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7343 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7347 #line 3421 "parse.y"
7348 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7351 #line 3425 "parse.y"
7352 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7355 #line 3427 "parse.y"
7356 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7359 #line 3429 "parse.y"
7360 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7363 #line 3431 "parse.y"
7364 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7367 #line 3433 "parse.y"
7368 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7371 #line 3435 "parse.y"
7372 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7375 #line 3437 "parse.y"
7376 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7379 #line 3439 "parse.y"
7380 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7383 #line 3441 "parse.y"
7384 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7387 #line 3465 "parse.y"
7388 { do_pushlevel (); ;
7391 #line 3470 "parse.y"
7392 { yyval
.ttype
= do_poplevel (); ;
7395 #line 3478 "parse.y"
7397 pedwarn ("ANSI C++ forbids label declarations"); ;
7400 #line 3489 "parse.y"
7402 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7404 tree label
= shadow_label (TREE_VALUE (link
));
7405 C_DECLARED_LABEL_FLAG (label
) = 1;
7406 declare_nonlocal_label (label
);
7411 #line 3503 "parse.y"
7415 #line 3509 "parse.y"
7417 if (processing_template_decl
)
7419 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
7420 add_tree (yyval
.ttype
);
7425 #line 3517 "parse.y"
7427 if (processing_template_decl
)
7429 TREE_OPERAND (yyvsp
[-3].ttype
, 0) = TREE_CHAIN (yyvsp
[-3].ttype
);
7430 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7431 last_tree
= yyvsp
[-3].ttype
;
7433 yyval
.ttype
= yyvsp
[0].ttype
;
7437 #line 3530 "parse.y"
7439 if (processing_template_decl
)
7441 yyval
.ttype
= build_min_nt (IF_STMT
, NULL_TREE
, NULL_TREE
,
7443 add_tree (yyval
.ttype
);
7445 cond_stmt_keyword
= "if";
7449 #line 3540 "parse.y"
7451 if (processing_template_decl
)
7453 if (last_tree
!= yyvsp
[-2].ttype
)
7455 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = last_tree
;
7456 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7457 last_tree
= yyvsp
[-2].ttype
;
7460 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = yyvsp
[0].ttype
;
7464 emit_line_note (input_filename
, lineno
);
7465 expand_start_cond (yyvsp
[0].ttype
, 0);
7470 #line 3559 "parse.y"
7472 if (processing_template_decl
)
7474 TREE_OPERAND (yyvsp
[-4].ttype
, 1) = TREE_CHAIN (yyvsp
[-4].ttype
);
7475 TREE_CHAIN (yyvsp
[-4].ttype
) = NULL_TREE
;
7476 yyval
.ttype
= last_tree
= yyvsp
[-4].ttype
;
7481 #line 3571 "parse.y"
7485 #line 3573 "parse.y"
7487 if (processing_template_decl
)
7489 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
7490 add_tree (yyval
.ttype
);
7495 #line 3581 "parse.y"
7497 if (processing_template_decl
)
7499 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7500 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7501 last_tree
= yyvsp
[-2].ttype
;
7503 yyval
.ttype
= yyvsp
[0].ttype
;
7507 #line 3594 "parse.y"
7511 #line 3600 "parse.y"
7515 #line 3602 "parse.y"
7517 tree expr
= yyvsp
[-1].ttype
;
7518 if (! processing_template_decl
)
7520 emit_line_note (input_filename
, lineno
);
7521 /* Do default conversion if safe and possibly important,
7522 in case within ({...}). */
7523 if ((TREE_CODE (TREE_TYPE (expr
)) == ARRAY_TYPE
7525 || TREE_CODE (TREE_TYPE (expr
)) == FUNCTION_TYPE
)
7526 expr
= default_conversion (expr
);
7528 cplus_expand_expr_stmt (expr
);
7533 #line 3618 "parse.y"
7534 { if (! processing_template_decl
) expand_start_else (); ;
7537 #line 3620 "parse.y"
7539 if (processing_template_decl
)
7541 TREE_OPERAND (yyvsp
[-3].ttype
, 2) = TREE_CHAIN (yyvsp
[-3].ttype
);
7542 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7543 last_tree
= yyvsp
[-3].ttype
;
7550 #line 3631 "parse.y"
7554 #line 3633 "parse.y"
7555 { if (! processing_template_decl
) expand_end_cond ();
7560 #line 3637 "parse.y"
7562 if (processing_template_decl
)
7564 yyval
.ttype
= build_min_nt (WHILE_STMT
, NULL_TREE
, NULL_TREE
);
7565 add_tree (yyval
.ttype
);
7570 emit_line_note (input_filename
, lineno
);
7571 expand_start_loop (1);
7573 cond_stmt_keyword
= "while";
7577 #line 3652 "parse.y"
7579 if (processing_template_decl
)
7581 if (last_tree
!= yyvsp
[-2].ttype
)
7583 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = last_tree
;
7584 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7585 last_tree
= yyvsp
[-2].ttype
;
7588 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = yyvsp
[0].ttype
;
7592 emit_line_note (input_filename
, lineno
);
7593 expand_exit_loop_if_false (0, yyvsp
[0].ttype
);
7598 #line 3671 "parse.y"
7600 if (processing_template_decl
)
7602 TREE_OPERAND (yyvsp
[-5].ttype
, 1) = TREE_CHAIN (yyvsp
[-5].ttype
);
7603 TREE_CHAIN (yyvsp
[-5].ttype
) = NULL_TREE
;
7604 last_tree
= yyvsp
[-5].ttype
;
7612 #line 3683 "parse.y"
7614 if (processing_template_decl
)
7616 yyval
.ttype
= build_min_nt (DO_STMT
, NULL_TREE
, NULL_TREE
);
7617 add_tree (yyval
.ttype
);
7622 emit_line_note (input_filename
, lineno
);
7623 expand_start_loop_continue_elsewhere (1);
7628 #line 3697 "parse.y"
7630 if (processing_template_decl
)
7632 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7633 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7634 last_tree
= yyvsp
[-2].ttype
;
7638 expand_loop_continue_here ();
7639 cond_stmt_keyword
= "do";
7644 #line 3711 "parse.y"
7646 if (processing_template_decl
)
7647 TREE_OPERAND (yyvsp
[-5].ttype
, 1) = yyvsp
[-1].ttype
;
7650 emit_line_note (input_filename
, lineno
);
7651 expand_exit_loop_if_false (0, yyvsp
[-1].ttype
);
7659 #line 3724 "parse.y"
7660 { if (processing_template_decl
)
7662 yyval
.ttype
= build_min_nt (FOR_STMT
, NULL_TREE
, NULL_TREE
,
7663 NULL_TREE
, NULL_TREE
);
7664 add_tree (yyval
.ttype
);
7667 emit_line_note (input_filename
, lineno
);
7668 if (flag_new_for_scope
> 0)
7670 /* Conditionalize .pushlevel */
7672 note_level_for_for ();
7675 expand_start_bindings (0);
7680 #line 3743 "parse.y"
7682 if (processing_template_decl
)
7684 if (last_tree
!= yyvsp
[-2].ttype
)
7686 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7687 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7688 last_tree
= yyvsp
[-2].ttype
;
7694 emit_line_note (input_filename
, lineno
);
7695 expand_start_loop_continue_elsewhere (1);
7700 #line 3761 "parse.y"
7702 if (processing_template_decl
)
7704 if (last_tree
!= yyvsp
[-6].ttype
)
7706 TREE_OPERAND (yyvsp
[-6].ttype
, 1) = last_tree
;
7707 TREE_CHAIN (yyvsp
[-6].ttype
) = NULL_TREE
;
7708 last_tree
= yyvsp
[-6].ttype
;
7711 TREE_OPERAND (yyvsp
[-6].ttype
, 1) = yyvsp
[-1].ttype
;
7715 emit_line_note (input_filename
, lineno
);
7716 if (yyvsp
[-1].ttype
) expand_exit_loop_if_false (0, yyvsp
[-1].ttype
);
7721 #line 3782 "parse.y"
7723 if (processing_template_decl
)
7724 TREE_OPERAND (yyvsp
[-9].ttype
, 2) = yyvsp
[-1].ttype
;
7729 #line 3788 "parse.y"
7731 if (processing_template_decl
)
7733 TREE_OPERAND (yyvsp
[-12].ttype
, 3) = TREE_CHAIN (yyvsp
[-12].ttype
);
7734 TREE_CHAIN (yyvsp
[-12].ttype
) = NULL_TREE
;
7735 last_tree
= yyvsp
[-12].ttype
;
7739 emit_line_note (input_filename
, lineno
);
7740 expand_loop_continue_here ();
7741 if (yyvsp
[-4].ttype
) cplus_expand_expr_stmt (yyvsp
[-4].ttype
);
7745 if (flag_new_for_scope
> 0)
7752 #line 3809 "parse.y"
7754 if (processing_template_decl
)
7756 yyval
.ttype
= build_min_nt (SWITCH_STMT
, yyvsp
[-1].ttype
, NULL_TREE
);
7757 add_tree (yyval
.ttype
);
7761 emit_line_note (input_filename
, lineno
);
7762 c_expand_start_case (yyvsp
[-1].ttype
);
7765 /* Don't let the tree nodes for $4 be discarded by
7766 clear_momentary during the parsing of the next stmt. */
7771 #line 3826 "parse.y"
7773 if (processing_template_decl
)
7775 TREE_OPERAND (yyvsp
[-1].ttype
, 1) = TREE_CHAIN (yyvsp
[-1].ttype
);
7776 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
7777 last_tree
= yyvsp
[-1].ttype
;
7780 expand_end_case (yyvsp
[-3].ttype
);
7786 #line 3839 "parse.y"
7790 #line 3841 "parse.y"
7791 { do_case (yyvsp
[-1].ttype
, NULL_TREE
); ;
7794 #line 3844 "parse.y"
7795 { do_case (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7798 #line 3847 "parse.y"
7799 { do_case (NULL_TREE
, NULL_TREE
); ;
7802 #line 3850 "parse.y"
7803 { emit_line_note (input_filename
, lineno
);
7804 if (processing_template_decl
)
7805 add_tree (build_min_nt (BREAK_STMT
));
7806 else if ( ! expand_exit_something ())
7807 error ("break statement not within loop or switch"); ;
7810 #line 3856 "parse.y"
7811 { emit_line_note (input_filename
, lineno
);
7812 if (processing_template_decl
)
7813 add_tree (build_min_nt (CONTINUE_STMT
));
7814 else if (! expand_continue_loop (0))
7815 error ("continue statement not within a loop"); ;
7818 #line 3862 "parse.y"
7819 { emit_line_note (input_filename
, lineno
);
7820 c_expand_return (NULL_TREE
); ;
7823 #line 3865 "parse.y"
7824 { emit_line_note (input_filename
, lineno
);
7825 c_expand_return (yyvsp
[-1].ttype
);
7830 #line 3870 "parse.y"
7831 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
7832 emit_line_note (input_filename
, lineno
);
7833 expand_asm (yyvsp
[-2].ttype
);
7838 #line 3877 "parse.y"
7839 { if (TREE_CHAIN (yyvsp
[-4].ttype
)) yyvsp
[-4].ttype
= combine_strings (yyvsp
[-4].ttype
);
7840 emit_line_note (input_filename
, lineno
);
7841 c_expand_asm_operands (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7842 yyvsp
[-6].ttype
== ridpointers
[(int)RID_VOLATILE
],
7843 input_filename
, lineno
);
7848 #line 3886 "parse.y"
7849 { if (TREE_CHAIN (yyvsp
[-6].ttype
)) yyvsp
[-6].ttype
= combine_strings (yyvsp
[-6].ttype
);
7850 emit_line_note (input_filename
, lineno
);
7851 c_expand_asm_operands (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7852 yyvsp
[-8].ttype
== ridpointers
[(int)RID_VOLATILE
],
7853 input_filename
, lineno
);
7858 #line 3896 "parse.y"
7859 { if (TREE_CHAIN (yyvsp
[-8].ttype
)) yyvsp
[-8].ttype
= combine_strings (yyvsp
[-8].ttype
);
7860 emit_line_note (input_filename
, lineno
);
7861 c_expand_asm_operands (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
,
7862 yyvsp
[-10].ttype
== ridpointers
[(int)RID_VOLATILE
],
7863 input_filename
, lineno
);
7868 #line 3904 "parse.y"
7870 if (processing_template_decl
)
7871 add_tree (build_min_nt (GOTO_STMT
, yyvsp
[-1].ttype
));
7873 { emit_line_note (input_filename
, lineno
);
7874 expand_computed_goto (yyvsp
[-1].ttype
); }
7878 #line 3912 "parse.y"
7880 if (processing_template_decl
)
7881 add_tree (build_min_nt (GOTO_STMT
, yyvsp
[-1].ttype
));
7885 emit_line_note (input_filename
, lineno
);
7886 decl
= lookup_label (yyvsp
[-1].ttype
);
7887 TREE_USED (decl
) = 1;
7893 #line 3925 "parse.y"
7897 #line 3927 "parse.y"
7898 { error ("label must be followed by statement");
7903 #line 3931 "parse.y"
7907 #line 3937 "parse.y"
7909 if (! current_function_parms_stored
)
7910 store_parm_decls ();
7911 expand_start_early_try_stmts ();
7915 #line 3943 "parse.y"
7916 { expand_start_all_catch (); ;
7919 #line 3945 "parse.y"
7921 int nested
= (hack_decl_function_context
7922 (current_function_decl
) != NULL_TREE
);
7923 expand_end_all_catch ();
7924 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7928 #line 3955 "parse.y"
7930 if (processing_template_decl
)
7932 yyval
.ttype
= build_min_nt (TRY_BLOCK
, NULL_TREE
,
7934 add_tree (yyval
.ttype
);
7938 emit_line_note (input_filename
, lineno
);
7939 expand_start_try_stmts ();
7944 #line 3969 "parse.y"
7946 if (processing_template_decl
)
7948 TREE_OPERAND (yyvsp
[-1].ttype
, 0) = TREE_CHAIN (yyvsp
[-1].ttype
);
7949 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
7950 last_tree
= yyvsp
[-1].ttype
;
7953 expand_start_all_catch ();
7957 #line 3980 "parse.y"
7959 if (processing_template_decl
)
7961 TREE_OPERAND (yyvsp
[-3].ttype
, 1) = TREE_CHAIN (yyvsp
[-3].ttype
);
7962 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7963 last_tree
= yyvsp
[-3].ttype
;
7966 expand_end_all_catch ();
7970 #line 3999 "parse.y"
7972 if (processing_template_decl
)
7974 yyval
.ttype
= build_min_nt (HANDLER
, NULL_TREE
,
7976 add_tree (yyval
.ttype
);
7981 #line 4008 "parse.y"
7983 if (processing_template_decl
)
7985 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7986 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7987 last_tree
= yyvsp
[-2].ttype
;
7992 #line 4017 "parse.y"
7994 if (processing_template_decl
)
7996 TREE_OPERAND (yyvsp
[-4].ttype
, 1) = TREE_CHAIN (yyvsp
[-4].ttype
);
7997 TREE_CHAIN (yyvsp
[-4].ttype
) = NULL_TREE
;
7998 last_tree
= yyvsp
[-4].ttype
;
8001 expand_end_catch_block ();
8005 #line 4037 "parse.y"
8006 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
8009 #line 4053 "parse.y"
8010 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
8011 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
8012 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
8015 #line 4060 "parse.y"
8018 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
8019 if (label
&& ! minimal_parse_mode
)
8020 expand_label (label
);
8024 #line 4067 "parse.y"
8028 #line 4069 "parse.y"
8032 #line 4071 "parse.y"
8036 #line 4076 "parse.y"
8037 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
8040 #line 4079 "parse.y"
8042 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
8046 #line 4088 "parse.y"
8047 { emit_line_note (input_filename
, lineno
);
8048 yyval
.ttype
= NULL_TREE
; ;
8051 #line 4091 "parse.y"
8052 { emit_line_note (input_filename
, lineno
); ;
8055 #line 4096 "parse.y"
8056 { yyval
.ttype
= NULL_TREE
; ;
8059 #line 4099 "parse.y"
8060 { yyval
.ttype
= NULL_TREE
; ;
8063 #line 4106 "parse.y"
8064 { yyval
.ttype
= NULL_TREE
; ;
8067 #line 4113 "parse.y"
8068 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
8071 #line 4118 "parse.y"
8072 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
8075 #line 4123 "parse.y"
8076 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
8079 #line 4125 "parse.y"
8080 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
8083 #line 4136 "parse.y"
8085 yyval
.ttype
= empty_parms();
8089 #line 4141 "parse.y"
8090 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, void_list_node
);
8091 TREE_PARMLIST (yyval
.ttype
) = 1;
8092 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
8095 #line 4150 "parse.y"
8097 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
8098 TREE_PARMLIST (yyval
.ttype
) = 1;
8102 #line 4155 "parse.y"
8104 TREE_PARMLIST (yyval
.ttype
) = 1;
8108 #line 4160 "parse.y"
8110 TREE_PARMLIST (yyval
.ttype
) = 1;
8114 #line 4164 "parse.y"
8116 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
8117 TREE_PARMLIST (yyval
.ttype
) = 1;
8121 #line 4169 "parse.y"
8123 yyval
.ttype
= NULL_TREE
;
8127 #line 4173 "parse.y"
8129 TREE_PARMLIST (yyval
.ttype
) = 1;
8133 #line 4177 "parse.y"
8135 TREE_PARMLIST (yyval
.ttype
) = 1;
8139 #line 4181 "parse.y"
8141 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
8142 TREE_PARMLIST (yyval
.ttype
) = 1;
8146 #line 4186 "parse.y"
8148 /* This helps us recover from really nasty
8149 parse errors, for example, a missing right
8151 yyerror ("possibly missing ')'");
8152 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
8153 TREE_PARMLIST (yyval
.ttype
) = 1;
8159 #line 4197 "parse.y"
8161 /* This helps us recover from really nasty
8162 parse errors, for example, a missing right
8164 yyerror ("possibly missing ')'");
8165 yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
8166 TREE_PARMLIST (yyval
.ttype
) = 1;
8172 #line 4212 "parse.y"
8173 { maybe_snarf_defarg (); ;
8176 #line 4214 "parse.y"
8177 { yyval
.ttype
= yyvsp
[0].ttype
; ;
8180 #line 4225 "parse.y"
8181 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8182 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
8185 #line 4228 "parse.y"
8186 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8187 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
8190 #line 4231 "parse.y"
8191 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8192 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
8195 #line 4234 "parse.y"
8196 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
8199 #line 4236 "parse.y"
8200 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
8203 #line 4242 "parse.y"
8204 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8205 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
8208 #line 4252 "parse.y"
8209 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8210 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
8211 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
8214 #line 4256 "parse.y"
8215 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
8216 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8219 #line 4259 "parse.y"
8220 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
8221 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8224 #line 4262 "parse.y"
8225 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8226 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8227 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8230 #line 4266 "parse.y"
8231 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
8232 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
8233 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8236 #line 4270 "parse.y"
8237 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
8238 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8239 yyval
.ftype
.new_type_flag
= 0; ;
8242 #line 4277 "parse.y"
8243 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
8244 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8247 #line 4280 "parse.y"
8248 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
8249 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8252 #line 4291 "parse.y"
8253 { see_typename (); ;
8256 #line 4296 "parse.y"
8258 error ("type specifier omitted for parameter");
8259 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
8263 #line 4301 "parse.y"
8265 error ("type specifier omitted for parameter");
8266 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
8267 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
8268 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
8269 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
8270 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
8274 #line 4313 "parse.y"
8275 { yyval
.ttype
= NULL_TREE
; ;
8278 #line 4315 "parse.y"
8279 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
8282 #line 4317 "parse.y"
8283 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
8286 #line 4322 "parse.y"
8287 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
8290 #line 4328 "parse.y"
8292 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
8293 yyval
.ttype
= yyvsp
[0].ttype
;
8297 #line 4336 "parse.y"
8298 { yyval
.ttype
= NULL_TREE
; ;
8301 #line 4338 "parse.y"
8302 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8305 #line 4340 "parse.y"
8306 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8309 #line 4342 "parse.y"
8310 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
8311 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
8315 #line 4349 "parse.y"
8316 { got_scope
= NULL_TREE
; ;
8319 #line 4354 "parse.y"
8320 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
8323 #line 4356 "parse.y"
8324 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
8327 #line 4358 "parse.y"
8328 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
8331 #line 4360 "parse.y"
8332 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
8335 #line 4362 "parse.y"
8336 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
8339 #line 4364 "parse.y"
8340 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
8343 #line 4366 "parse.y"
8344 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
8347 #line 4368 "parse.y"
8348 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
8351 #line 4370 "parse.y"
8352 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
8355 #line 4372 "parse.y"
8356 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
8359 #line 4374 "parse.y"
8360 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8363 #line 4376 "parse.y"
8364 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
8367 #line 4378 "parse.y"
8368 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
8371 #line 4380 "parse.y"
8372 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8375 #line 4382 "parse.y"
8376 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
8379 #line 4384 "parse.y"
8380 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
8383 #line 4386 "parse.y"
8384 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8387 #line 4388 "parse.y"
8388 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8391 #line 4390 "parse.y"
8392 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
8395 #line 4392 "parse.y"
8396 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
8399 #line 4394 "parse.y"
8400 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
8403 #line 4396 "parse.y"
8404 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
8407 #line 4398 "parse.y"
8408 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
8411 #line 4400 "parse.y"
8412 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
8415 #line 4402 "parse.y"
8416 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8419 #line 4404 "parse.y"
8420 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
8423 #line 4406 "parse.y"
8424 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
8427 #line 4408 "parse.y"
8428 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
8431 #line 4410 "parse.y"
8432 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
8435 #line 4412 "parse.y"
8436 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
8439 #line 4414 "parse.y"
8440 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
8443 #line 4416 "parse.y"
8444 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
8447 #line 4418 "parse.y"
8448 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
8451 #line 4421 "parse.y"
8452 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
8455 #line 4423 "parse.y"
8456 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
8459 /* the action file gets copied in in place of this dollarsign */
8460 #line 498 "/usr/share/bison.simple"
8471 short *ssp1
= yyss
- 1;
8472 fprintf (stderr
, "state stack now");
8473 while (ssp1
!= yyssp
)
8474 fprintf (stderr
, " %d", *++ssp1
);
8475 fprintf (stderr
, "\n");
8485 yylsp
->first_line
= yylloc
.first_line
;
8486 yylsp
->first_column
= yylloc
.first_column
;
8487 yylsp
->last_line
= (yylsp
-1)->last_line
;
8488 yylsp
->last_column
= (yylsp
-1)->last_column
;
8493 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
8494 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
8498 /* Now "shift" the result of the reduction.
8499 Determine what state that goes to,
8500 based on the state we popped back to
8501 and the rule number reduced by. */
8505 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
8506 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
8507 yystate
= yytable
[yystate
];
8509 yystate
= yydefgoto
[yyn
- YYNTBASE
];
8513 yyerrlab
: /* here on detecting error */
8516 /* If not already recovering from an error, report this error. */
8520 #ifdef YYERROR_VERBOSE
8521 yyn
= yypact
[yystate
];
8523 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
8530 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8531 for (x
= (yyn
< 0 ? -yyn
: 0);
8532 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8533 if (yycheck
[x
+ yyn
] == x
)
8534 size
+= strlen(yytname
[x
]) + 15, count
++;
8535 msg
= (char *) malloc(size
+ 15);
8538 strcpy(msg
, "parse error");
8543 for (x
= (yyn
< 0 ? -yyn
: 0);
8544 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8545 if (yycheck
[x
+ yyn
] == x
)
8547 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
8548 strcat(msg
, yytname
[x
]);
8557 yyerror ("parse error; also virtual memory exceeded");
8560 #endif /* YYERROR_VERBOSE */
8561 yyerror("parse error");
8565 yyerrlab1
: /* here on error raised explicitly by an action */
8567 if (yyerrstatus
== 3)
8569 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8571 /* return failure if at end of input */
8572 if (yychar
== YYEOF
)
8577 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8583 /* Else will try to reuse lookahead token
8584 after shifting the error token. */
8586 yyerrstatus
= 3; /* Each real token shifted decrements this */
8590 yyerrdefault
: /* current state does not do anything special for the error token. */
8593 /* This is wrong; only states that explicitly want error tokens
8594 should shift them. */
8595 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8596 if (yyn
) goto yydefault
;
8599 yyerrpop
: /* pop the current state because it cannot handle the error token */
8601 if (yyssp
== yyss
) YYABORT
;
8611 short *ssp1
= yyss
- 1;
8612 fprintf (stderr
, "Error: state stack now");
8613 while (ssp1
!= yyssp
)
8614 fprintf (stderr
, " %d", *++ssp1
);
8615 fprintf (stderr
, "\n");
8621 yyn
= yypact
[yystate
];
8626 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8645 fprintf(stderr
, "Shifting error token, ");
8656 #line 4426 "parse.y"
8661 debug_yytranslate (value
)
8664 return yytname
[YYTRANSLATE (value
)];