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 static tree empty_parms
PROTO((void));
144 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
145 int have_extern_spec
;
146 int used_extern_spec
;
148 /* Cons up an empty parameter list. */
158 || current_class_type
!= NULL
)
159 parms
= void_list_node
;
167 typedef union {long itype
; tree ttype
; char *strtype
; enum tree_code code
; flagged_type_tree ftype
; } YYSTYPE
;
170 /* List of types and structure classes of the current declaration. */
171 static tree current_declspecs
= NULL_TREE
;
172 /* List of prefix attributes in effect.
173 Prefix attributes are parsed by the reserved_declspecs and declmods
174 rules. They create a list that contains *both* declspecs and attrs. */
175 /* ??? It is not clear yet that all cases where an attribute can now appear in
176 a declspec list have been updated. */
177 static tree prefix_attributes
= NULL_TREE
;
179 /* When defining an aggregate, this is the most recent one being defined. */
180 static tree current_aggr
;
182 /* Tell yyparse how to print a token's value, if yydebug is set. */
184 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
185 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
186 extern tree combine_strings
PROTO((tree
));
198 #define YYFLAG -32768
201 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 389)
203 static const char yytranslate
[] = { 0,
204 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
205 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
206 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
207 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
208 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
209 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
210 65, 76, 66, 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 95, 2, 113, 70, 2, 2, 2, 2, 2, 2,
214 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
215 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
216 2, 2, 59, 69, 111, 89, 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 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 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, 1, 2, 3, 4, 5,
230 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
231 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
232 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
233 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
234 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
235 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
236 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
237 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
242 static const short yyprhs
[] = { 0,
243 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
244 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
245 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
246 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
247 119, 123, 125, 129, 131, 132, 135, 138, 142, 144,
248 148, 150, 154, 156, 160, 163, 166, 169, 173, 177,
249 180, 183, 186, 189, 192, 194, 196, 198, 199, 201,
250 204, 205, 207, 212, 216, 220, 221, 230, 236, 237,
251 247, 254, 255, 264, 270, 271, 281, 288, 291, 294,
252 296, 299, 301, 308, 313, 320, 325, 328, 330, 333,
253 336, 338, 341, 343, 346, 349, 352, 357, 360, 364,
254 365, 366, 368, 372, 375, 379, 381, 386, 389, 394,
255 397, 402, 405, 407, 409, 411, 413, 415, 417, 419,
256 421, 423, 425, 427, 428, 435, 436, 443, 444, 450,
257 451, 457, 458, 466, 467, 475, 476, 483, 484, 491,
258 492, 493, 498, 503, 505, 510, 512, 514, 515, 517,
259 519, 523, 525, 527, 529, 531, 533, 535, 537, 539,
260 541, 543, 547, 549, 553, 554, 556, 558, 559, 567,
261 569, 571, 575, 580, 584, 585, 589, 591, 595, 599,
262 603, 607, 609, 611, 613, 616, 619, 622, 625, 628,
263 631, 634, 639, 642, 647, 650, 654, 658, 663, 668,
264 674, 680, 687, 690, 695, 701, 704, 707, 711, 715,
265 719, 721, 725, 728, 732, 737, 739, 742, 748, 750,
266 754, 758, 762, 766, 770, 774, 778, 782, 786, 790,
267 794, 798, 802, 806, 810, 814, 818, 822, 826, 832,
268 836, 840, 842, 845, 849, 851, 853, 855, 857, 859,
269 860, 866, 872, 878, 884, 890, 892, 894, 896, 898,
270 901, 904, 908, 913, 918, 920, 922, 924, 928, 930,
271 932, 934, 936, 940, 944, 948, 949, 954, 959, 962,
272 967, 970, 973, 975, 980, 982, 990, 998, 1006, 1014,
273 1019, 1024, 1027, 1030, 1032, 1037, 1040, 1043, 1049, 1053,
274 1056, 1059, 1065, 1069, 1075, 1079, 1084, 1091, 1094, 1096,
275 1099, 1101, 1104, 1106, 1108, 1110, 1113, 1114, 1117, 1120,
276 1124, 1128, 1132, 1135, 1138, 1141, 1143, 1145, 1147, 1150,
277 1153, 1156, 1159, 1161, 1163, 1165, 1167, 1170, 1173, 1177,
278 1181, 1185, 1190, 1192, 1195, 1198, 1201, 1203, 1205, 1207,
279 1210, 1213, 1216, 1218, 1220, 1223, 1226, 1230, 1232, 1235,
280 1237, 1239, 1241, 1246, 1251, 1256, 1261, 1263, 1265, 1267,
281 1269, 1273, 1275, 1279, 1281, 1285, 1286, 1291, 1292, 1299,
282 1303, 1304, 1311, 1315, 1316, 1323, 1327, 1328, 1335, 1339,
283 1343, 1344, 1346, 1348, 1351, 1358, 1360, 1364, 1365, 1367,
284 1372, 1379, 1384, 1386, 1388, 1390, 1392, 1394, 1398, 1399,
285 1402, 1404, 1407, 1411, 1416, 1418, 1420, 1424, 1426, 1431,
286 1435, 1439, 1440, 1444, 1448, 1452, 1453, 1456, 1459, 1460,
287 1468, 1473, 1474, 1481, 1485, 1488, 1491, 1494, 1495, 1496,
288 1506, 1508, 1509, 1511, 1512, 1514, 1516, 1519, 1522, 1525,
289 1528, 1531, 1534, 1538, 1543, 1547, 1550, 1554, 1555, 1557,
290 1561, 1564, 1567, 1569, 1571, 1572, 1575, 1579, 1581, 1586,
291 1588, 1592, 1594, 1596, 1601, 1606, 1609, 1612, 1616, 1620,
292 1622, 1623, 1625, 1628, 1633, 1637, 1639, 1642, 1645, 1648,
293 1651, 1654, 1657, 1660, 1662, 1665, 1668, 1671, 1676, 1681,
294 1684, 1686, 1692, 1697, 1699, 1702, 1703, 1705, 1709, 1710,
295 1712, 1716, 1718, 1720, 1722, 1724, 1729, 1734, 1739, 1744,
296 1749, 1753, 1758, 1763, 1768, 1773, 1777, 1779, 1783, 1785,
297 1789, 1792, 1794, 1801, 1802, 1805, 1807, 1810, 1811, 1814,
298 1819, 1824, 1827, 1832, 1836, 1840, 1843, 1846, 1850, 1852,
299 1854, 1857, 1859, 1861, 1864, 1867, 1872, 1877, 1881, 1885,
300 1888, 1890, 1894, 1898, 1901, 1904, 1908, 1910, 1914, 1918,
301 1921, 1924, 1928, 1930, 1935, 1939, 1944, 1948, 1950, 1953,
302 1956, 1959, 1962, 1965, 1967, 1970, 1975, 1980, 1983, 1985,
303 1987, 1989, 1991, 1994, 1997, 2000, 2003, 2006, 2008, 2011,
304 2014, 2016, 2019, 2022, 2025, 2028, 2031, 2034, 2037, 2040,
305 2042, 2045, 2048, 2052, 2054, 2058, 2061, 2065, 2068, 2071,
306 2075, 2077, 2081, 2086, 2090, 2093, 2096, 2098, 2102, 2105,
307 2108, 2110, 2113, 2117, 2119, 2123, 2125, 2132, 2137, 2142,
308 2146, 2152, 2156, 2160, 2164, 2167, 2169, 2171, 2174, 2177,
309 2180, 2181, 2182, 2183, 2185, 2187, 2190, 2194, 2196, 2199,
310 2200, 2206, 2207, 2208, 2215, 2217, 2218, 2223, 2225, 2227,
311 2229, 2232, 2233, 2234, 2241, 2243, 2244, 2245, 2253, 2254,
312 2255, 2263, 2264, 2265, 2266, 2267, 2282, 2283, 2284, 2294,
313 2295, 2301, 2302, 2310, 2311, 2316, 2319, 2322, 2325, 2329,
314 2336, 2345, 2356, 2369, 2374, 2378, 2381, 2384, 2386, 2388,
315 2389, 2390, 2397, 2398, 2399, 2405, 2407, 2410, 2411, 2412,
316 2413, 2422, 2424, 2426, 2430, 2434, 2437, 2440, 2443, 2446,
317 2449, 2451, 2454, 2455, 2457, 2458, 2460, 2462, 2463, 2465,
318 2467, 2471, 2476, 2478, 2482, 2483, 2485, 2487, 2489, 2492,
319 2495, 2498, 2500, 2502, 2505, 2508, 2511, 2514, 2515, 2519,
320 2521, 2523, 2525, 2528, 2531, 2534, 2539, 2542, 2545, 2548,
321 2551, 2554, 2557, 2559, 2562, 2564, 2567, 2569, 2571, 2572,
322 2573, 2575, 2576, 2581, 2584, 2586, 2588, 2592, 2593, 2597,
323 2601, 2605, 2607, 2610, 2613, 2616, 2619, 2622, 2625, 2628,
324 2631, 2634, 2637, 2640, 2643, 2646, 2649, 2652, 2655, 2658,
325 2661, 2664, 2667, 2670, 2673, 2676, 2680, 2683, 2686, 2689,
326 2692, 2696, 2699, 2702, 2707, 2712, 2716
329 static const short yyrhs
[] = { -1,
330 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
331 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
332 0, 123, 124, 0, 142, 141, 0, 138, 0, 137,
333 0, 121, 94, 208, 110, 61, 0, 129, 59, 117,
334 111, 0, 129, 118, 142, 119, 141, 0, 129, 118,
335 138, 119, 0, 0, 45, 157, 59, 125, 117, 111,
336 0, 0, 45, 59, 126, 117, 111, 0, 45, 157,
337 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
338 61, 0, 120, 124, 0, 47, 300, 0, 47, 313,
339 300, 0, 47, 313, 199, 0, 199, 0, 300, 0,
340 313, 300, 0, 313, 199, 0, 100, 0, 129, 100,
341 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
342 76, 0, 136, 0, 132, 60, 136, 0, 157, 0,
343 0, 257, 133, 0, 46, 133, 0, 130, 257, 133,
344 0, 134, 0, 134, 65, 214, 0, 380, 0, 380,
345 65, 194, 0, 135, 0, 135, 65, 176, 0, 130,
346 124, 0, 130, 1, 0, 225, 61, 0, 218, 224,
347 61, 0, 215, 223, 61, 0, 218, 61, 0, 160,
348 61, 0, 215, 61, 0, 1, 61, 0, 1, 111,
349 0, 61, 0, 209, 0, 153, 0, 0, 152, 0,
350 152, 61, 0, 0, 109, 0, 148, 140, 139, 325,
351 0, 148, 140, 350, 0, 148, 140, 1, 0, 0,
352 305, 5, 94, 144, 371, 110, 287, 383, 0, 305,
353 5, 48, 287, 383, 0, 0, 313, 305, 5, 94,
354 145, 371, 110, 287, 383, 0, 313, 305, 5, 48,
355 287, 383, 0, 0, 305, 172, 94, 146, 371, 110,
356 287, 383, 0, 305, 172, 48, 287, 383, 0, 0,
357 313, 305, 172, 94, 147, 371, 110, 287, 383, 0,
358 313, 305, 172, 48, 287, 383, 0, 215, 212, 0,
359 218, 297, 0, 297, 0, 218, 143, 0, 143, 0,
360 5, 94, 371, 110, 287, 383, 0, 5, 48, 287,
361 383, 0, 172, 94, 371, 110, 287, 383, 0, 172,
362 48, 287, 383, 0, 218, 149, 0, 149, 0, 215,
363 212, 0, 218, 297, 0, 297, 0, 218, 143, 0,
364 143, 0, 130, 150, 0, 25, 3, 0, 151, 242,
365 0, 151, 94, 188, 110, 0, 151, 48, 0, 63,
366 154, 155, 0, 0, 0, 156, 0, 155, 60, 156,
367 0, 155, 1, 0, 94, 188, 110, 0, 48, 0,
368 158, 94, 188, 110, 0, 158, 48, 0, 293, 94,
369 188, 110, 0, 293, 48, 0, 307, 94, 188, 110,
370 0, 307, 48, 0, 3, 0, 4, 0, 5, 0,
371 57, 0, 58, 0, 3, 0, 57, 0, 58, 0,
372 106, 0, 105, 0, 107, 0, 0, 49, 169, 221,
373 61, 161, 170, 0, 0, 49, 169, 215, 212, 162,
374 170, 0, 0, 49, 169, 297, 163, 170, 0, 0,
375 49, 169, 143, 164, 170, 0, 0, 7, 49, 169,
376 221, 61, 165, 170, 0, 0, 7, 49, 169, 215,
377 212, 166, 170, 0, 0, 7, 49, 169, 297, 167,
378 170, 0, 0, 7, 49, 169, 143, 168, 170, 0,
379 0, 0, 57, 75, 174, 173, 0, 4, 75, 174,
380 173, 0, 172, 0, 5, 75, 174, 173, 0, 76,
381 0, 78, 0, 0, 175, 0, 176, 0, 175, 60,
382 176, 0, 214, 0, 194, 0, 80, 0, 79, 0,
383 87, 0, 88, 0, 112, 0, 187, 0, 194, 0,
384 48, 0, 94, 178, 110, 0, 48, 0, 94, 182,
385 110, 0, 0, 182, 0, 1, 0, 0, 361, 212,
386 226, 235, 65, 183, 243, 0, 178, 0, 111, 0,
387 322, 318, 111, 0, 322, 318, 1, 111, 0, 322,
388 1, 111, 0, 0, 59, 186, 184, 0, 334, 0,
389 194, 60, 194, 0, 194, 60, 1, 0, 187, 60,
390 194, 0, 187, 60, 1, 0, 194, 0, 187, 0,
391 203, 0, 120, 193, 0, 81, 193, 0, 71, 193,
392 0, 89, 193, 0, 177, 193, 0, 68, 157, 0,
393 13, 189, 0, 13, 94, 214, 110, 0, 30, 189,
394 0, 30, 94, 214, 110, 0, 205, 286, 0, 205,
395 286, 191, 0, 205, 190, 286, 0, 205, 190, 286,
396 191, 0, 205, 94, 214, 110, 0, 205, 94, 214,
397 110, 191, 0, 205, 190, 94, 214, 110, 0, 205,
398 190, 94, 214, 110, 191, 0, 206, 193, 0, 206,
399 95, 113, 193, 0, 206, 95, 178, 113, 193, 0,
400 35, 193, 0, 36, 193, 0, 94, 188, 110, 0,
401 59, 188, 111, 0, 94, 188, 110, 0, 48, 0,
402 94, 221, 110, 0, 65, 243, 0, 94, 214, 110,
403 0, 192, 94, 214, 110, 0, 189, 0, 192, 189,
404 0, 192, 59, 244, 255, 111, 0, 193, 0, 194,
405 84, 194, 0, 194, 85, 194, 0, 194, 79, 194,
406 0, 194, 80, 194, 0, 194, 81, 194, 0, 194,
407 82, 194, 0, 194, 83, 194, 0, 194, 77, 194,
408 0, 194, 78, 194, 0, 194, 74, 194, 0, 194,
409 75, 194, 0, 194, 76, 194, 0, 194, 73, 194,
410 0, 194, 72, 194, 0, 194, 71, 194, 0, 194,
411 69, 194, 0, 194, 70, 194, 0, 194, 68, 194,
412 0, 194, 67, 194, 0, 194, 66, 366, 63, 194,
413 0, 194, 65, 194, 0, 194, 64, 194, 0, 62,
414 0, 62, 194, 0, 89, 381, 157, 0, 197, 0,
415 388, 0, 3, 0, 57, 0, 58, 0, 0, 6,
416 75, 196, 174, 173, 0, 388, 75, 196, 174, 173,
417 0, 49, 157, 75, 174, 173, 0, 49, 6, 75,
418 174, 173, 0, 49, 388, 75, 174, 173, 0, 195,
419 0, 4, 0, 5, 0, 195, 0, 81, 200, 0,
420 71, 200, 0, 94, 200, 110, 0, 3, 75, 174,
421 173, 0, 58, 75, 175, 173, 0, 299, 0, 195,
422 0, 201, 0, 94, 200, 110, 0, 195, 0, 10,
423 0, 207, 0, 208, 0, 94, 178, 110, 0, 94,
424 200, 110, 0, 94, 1, 110, 0, 0, 94, 204,
425 326, 110, 0, 203, 94, 188, 110, 0, 203, 48,
426 0, 203, 95, 178, 113, 0, 203, 87, 0, 203,
427 88, 0, 41, 0, 9, 94, 188, 110, 0, 303,
428 0, 51, 75, 214, 76, 94, 178, 110, 0, 52,
429 75, 214, 76, 94, 178, 110, 0, 53, 75, 214,
430 76, 94, 178, 110, 0, 54, 75, 214, 76, 94,
431 178, 110, 0, 50, 94, 178, 110, 0, 50, 94,
432 214, 110, 0, 313, 3, 0, 313, 388, 0, 302,
433 0, 302, 94, 188, 110, 0, 302, 48, 0, 210,
434 198, 0, 210, 198, 94, 188, 110, 0, 210, 198,
435 48, 0, 210, 199, 0, 210, 302, 0, 210, 199,
436 94, 188, 110, 0, 210, 199, 48, 0, 210, 302,
437 94, 188, 110, 0, 210, 302, 48, 0, 210, 89,
438 8, 48, 0, 210, 8, 55, 89, 8, 48, 0,
439 210, 1, 0, 40, 0, 313, 40, 0, 39, 0,
440 313, 206, 0, 43, 0, 44, 0, 11, 0, 208,
441 11, 0, 0, 203, 93, 0, 203, 92, 0, 221,
442 223, 61, 0, 215, 223, 61, 0, 218, 224, 61,
443 0, 215, 61, 0, 218, 61, 0, 120, 211, 0,
444 292, 0, 297, 0, 48, 0, 213, 48, 0, 219,
445 316, 0, 288, 316, 0, 221, 316, 0, 219, 0,
446 288, 0, 219, 0, 216, 0, 218, 221, 0, 221,
447 217, 0, 221, 220, 217, 0, 218, 221, 217, 0,
448 218, 221, 220, 0, 218, 221, 220, 217, 0, 7,
449 0, 217, 222, 0, 217, 7, 0, 217, 236, 0,
450 236, 0, 288, 0, 7, 0, 218, 9, 0, 218,
451 7, 0, 218, 236, 0, 236, 0, 221, 0, 288,
452 221, 0, 221, 220, 0, 288, 221, 220, 0, 222,
453 0, 220, 222, 0, 250, 0, 8, 0, 294, 0,
454 29, 94, 178, 110, 0, 29, 94, 214, 110, 0,
455 31, 94, 178, 110, 0, 31, 94, 214, 110, 0,
456 8, 0, 9, 0, 250, 0, 227, 0, 223, 60,
457 229, 0, 231, 0, 224, 60, 229, 0, 233, 0,
458 225, 60, 229, 0, 0, 121, 94, 208, 110, 0,
459 0, 212, 226, 235, 65, 228, 243, 0, 212, 226,
460 235, 0, 0, 212, 226, 235, 65, 230, 243, 0,
461 212, 226, 235, 0, 0, 297, 226, 235, 65, 232,
462 243, 0, 297, 226, 235, 0, 0, 297, 226, 235,
463 65, 234, 243, 0, 297, 226, 235, 0, 143, 226,
464 235, 0, 0, 236, 0, 237, 0, 236, 237, 0,
465 32, 94, 94, 238, 110, 110, 0, 239, 0, 238,
466 60, 239, 0, 0, 240, 0, 240, 94, 3, 110,
467 0, 240, 94, 3, 60, 188, 110, 0, 240, 94,
468 188, 110, 0, 157, 0, 7, 0, 8, 0, 9,
469 0, 157, 0, 241, 60, 157, 0, 0, 65, 243,
470 0, 194, 0, 59, 111, 0, 59, 244, 111, 0,
471 59, 244, 60, 111, 0, 1, 0, 243, 0, 244,
472 60, 243, 0, 99, 0, 245, 140, 139, 325, 0,
473 245, 140, 350, 0, 245, 140, 1, 0, 0, 247,
474 246, 141, 0, 104, 194, 109, 0, 104, 1, 109,
475 0, 0, 249, 248, 0, 249, 1, 0, 0, 14,
476 157, 59, 251, 284, 256, 111, 0, 14, 157, 59,
477 111, 0, 0, 14, 59, 252, 284, 256, 111, 0,
478 14, 59, 111, 0, 14, 157, 0, 14, 311, 0,
479 46, 307, 0, 0, 0, 264, 270, 272, 111, 235,
480 253, 249, 254, 247, 0, 264, 0, 0, 60, 0,
481 0, 60, 0, 37, 0, 257, 7, 0, 257, 8,
482 0, 257, 9, 0, 257, 37, 0, 257, 157, 0,
483 257, 159, 0, 257, 305, 157, 0, 257, 313, 305,
484 157, 0, 257, 313, 157, 0, 257, 171, 0, 257,
485 305, 171, 0, 0, 258, 0, 259, 261, 265, 0,
486 260, 265, 0, 257, 59, 0, 263, 0, 262, 0,
487 0, 63, 381, 0, 63, 381, 266, 0, 267, 0,
488 266, 60, 381, 267, 0, 268, 0, 269, 381, 268,
489 0, 307, 0, 293, 0, 31, 94, 178, 110, 0,
490 31, 94, 214, 110, 0, 38, 381, 0, 7, 381,
491 0, 269, 38, 381, 0, 269, 7, 381, 0, 59,
492 0, 0, 271, 0, 271, 273, 0, 272, 38, 63,
493 273, 0, 272, 38, 63, 0, 274, 0, 273, 274,
494 0, 275, 61, 0, 275, 111, 0, 150, 63, 0,
495 150, 96, 0, 150, 25, 0, 150, 59, 0, 61,
496 0, 120, 274, 0, 215, 276, 0, 218, 277, 0,
497 297, 226, 235, 242, 0, 143, 226, 235, 242, 0,
498 63, 194, 0, 1, 0, 218, 149, 226, 235, 242,
499 0, 149, 226, 235, 242, 0, 127, 0, 130, 275,
500 0, 0, 278, 0, 276, 60, 279, 0, 0, 281,
501 0, 277, 60, 283, 0, 280, 0, 281, 0, 282,
502 0, 283, 0, 292, 226, 235, 242, 0, 4, 63,
503 194, 235, 0, 297, 226, 235, 242, 0, 143, 226,
504 235, 242, 0, 3, 63, 194, 235, 0, 63, 194,
505 235, 0, 292, 226, 235, 242, 0, 4, 63, 194,
506 235, 0, 297, 226, 235, 242, 0, 3, 63, 194,
507 235, 0, 63, 194, 235, 0, 285, 0, 284, 60,
508 285, 0, 157, 0, 157, 65, 194, 0, 361, 314,
509 0, 361, 0, 94, 214, 110, 95, 178, 113, 0,
510 0, 287, 9, 0, 9, 0, 288, 9, 0, 0,
511 289, 178, 0, 289, 94, 188, 110, 0, 289, 94,
512 371, 110, 0, 289, 48, 0, 289, 94, 1, 110,
513 0, 81, 288, 292, 0, 71, 288, 292, 0, 81,
514 292, 0, 71, 292, 0, 312, 287, 292, 0, 296,
515 0, 304, 0, 313, 304, 0, 293, 0, 295, 0,
516 313, 295, 0, 305, 304, 0, 296, 291, 287, 383,
517 0, 296, 95, 290, 113, 0, 296, 95, 113, 0,
518 94, 292, 110, 0, 305, 304, 0, 304, 0, 81,
519 288, 297, 0, 71, 288, 297, 0, 81, 297, 0,
520 71, 297, 0, 312, 287, 297, 0, 202, 0, 81,
521 288, 297, 0, 71, 288, 297, 0, 81, 298, 0,
522 71, 298, 0, 312, 287, 297, 0, 299, 0, 202,
523 291, 287, 383, 0, 94, 298, 110, 0, 202, 95,
524 290, 113, 0, 202, 95, 113, 0, 301, 0, 305,
525 201, 0, 305, 199, 0, 305, 198, 0, 305, 195,
526 0, 305, 198, 0, 301, 0, 313, 301, 0, 221,
527 94, 188, 110, 0, 221, 94, 200, 110, 0, 221,
528 213, 0, 4, 0, 5, 0, 171, 0, 306, 0,
529 305, 306, 0, 4, 55, 0, 5, 55, 0, 58,
530 55, 0, 171, 55, 0, 308, 0, 313, 308, 0,
531 309, 157, 0, 310, 0, 309, 310, 0, 4, 55,
532 0, 5, 55, 0, 171, 55, 0, 57, 55, 0,
533 3, 55, 0, 58, 55, 0, 313, 304, 0, 295,
534 0, 313, 295, 0, 305, 81, 0, 313, 305, 81,
535 0, 55, 0, 81, 287, 314, 0, 81, 287, 0,
536 71, 287, 314, 0, 71, 287, 0, 312, 287, 0,
537 312, 287, 314, 0, 315, 0, 95, 178, 113, 0,
538 315, 95, 290, 113, 0, 81, 288, 316, 0, 81,
539 316, 0, 81, 288, 0, 81, 0, 71, 288, 316,
540 0, 71, 316, 0, 71, 288, 0, 71, 0, 312,
541 287, 0, 312, 287, 316, 0, 317, 0, 94, 316,
542 110, 0, 91, 0, 317, 94, 371, 110, 287, 383,
543 0, 317, 48, 287, 383, 0, 317, 95, 290, 113,
544 0, 317, 95, 113, 0, 94, 372, 110, 287, 383,
545 0, 192, 287, 383, 0, 213, 287, 383, 0, 95,
546 290, 113, 0, 95, 113, 0, 333, 0, 319, 0,
547 318, 333, 0, 318, 319, 0, 1, 61, 0, 0,
548 0, 0, 323, 0, 324, 0, 323, 324, 0, 34,
549 241, 61, 0, 326, 0, 1, 326, 0, 0, 59,
550 327, 320, 184, 321, 0, 0, 0, 15, 329, 320,
551 180, 330, 331, 0, 326, 0, 0, 320, 332, 334,
552 321, 0, 326, 0, 334, 0, 211, 0, 178, 61,
553 0, 0, 0, 328, 16, 335, 331, 336, 321, 0,
554 328, 0, 0, 0, 17, 337, 320, 180, 338, 185,
555 321, 0, 0, 0, 18, 339, 331, 17, 340, 179,
556 61, 0, 0, 0, 0, 0, 19, 341, 94, 364,
557 342, 320, 181, 61, 343, 366, 110, 344, 185, 321,
558 0, 0, 0, 20, 320, 94, 182, 110, 345, 331,
559 346, 321, 0, 0, 21, 194, 63, 347, 333, 0,
560 0, 21, 194, 12, 194, 63, 348, 333, 0, 0,
561 22, 63, 349, 333, 0, 23, 61, 0, 24, 61,
562 0, 25, 61, 0, 25, 178, 61, 0, 121, 365,
563 94, 208, 110, 61, 0, 121, 365, 94, 208, 63,
564 367, 110, 61, 0, 121, 365, 94, 208, 63, 367,
565 63, 367, 110, 61, 0, 121, 365, 94, 208, 63,
566 367, 63, 367, 63, 370, 110, 61, 0, 26, 81,
567 178, 61, 0, 26, 157, 61, 0, 363, 333, 0,
568 363, 111, 0, 61, 0, 353, 0, 0, 0, 96,
569 351, 139, 326, 352, 356, 0, 0, 0, 96, 354,
570 326, 355, 356, 0, 357, 0, 356, 357, 0, 0,
571 0, 0, 97, 358, 320, 362, 359, 326, 360, 321,
572 0, 219, 0, 288, 0, 94, 12, 110, 0, 94,
573 380, 110, 0, 3, 63, 0, 57, 63, 0, 4,
574 63, 0, 5, 63, 0, 366, 61, 0, 211, 0,
575 59, 184, 0, 0, 9, 0, 0, 178, 0, 1,
576 0, 0, 368, 0, 369, 0, 368, 60, 369, 0,
577 11, 94, 178, 110, 0, 11, 0, 370, 60, 11,
578 0, 0, 372, 0, 214, 0, 376, 0, 377, 12,
579 0, 376, 12, 0, 214, 12, 0, 12, 0, 98,
580 0, 376, 98, 0, 214, 98, 0, 376, 63, 0,
581 214, 63, 0, 0, 65, 374, 375, 0, 103, 0,
582 243, 0, 378, 0, 380, 373, 0, 377, 379, 0,
583 377, 382, 0, 377, 382, 65, 243, 0, 376, 60,
584 0, 214, 60, 0, 216, 212, 0, 219, 212, 0,
585 221, 212, 0, 216, 316, 0, 216, 0, 218, 297,
586 0, 380, 0, 380, 373, 0, 378, 0, 214, 0,
587 0, 0, 297, 0, 0, 62, 94, 385, 110, 0,
588 62, 48, 0, 214, 0, 384, 0, 385, 60, 384,
589 0, 0, 81, 287, 386, 0, 71, 287, 386, 0,
590 312, 287, 386, 0, 42, 0, 387, 81, 0, 387,
591 82, 0, 387, 83, 0, 387, 79, 0, 387, 80,
592 0, 387, 71, 0, 387, 69, 0, 387, 70, 0,
593 387, 89, 0, 387, 60, 0, 387, 74, 0, 387,
594 75, 0, 387, 76, 0, 387, 73, 0, 387, 64,
595 0, 387, 65, 0, 387, 77, 0, 387, 78, 0,
596 387, 87, 0, 387, 88, 0, 387, 68, 0, 387,
597 67, 0, 387, 112, 0, 387, 66, 63, 0, 387,
598 72, 0, 387, 92, 0, 387, 84, 0, 387, 48,
599 0, 387, 95, 113, 0, 387, 40, 0, 387, 39,
600 0, 387, 40, 95, 113, 0, 387, 39, 95, 113,
601 0, 387, 361, 386, 0, 387, 1, 0
607 static const short yyrline
[] = { 0,
608 311, 313, 327, 330, 331, 335, 337, 340, 345, 349,
609 355, 357, 360, 363, 367, 370, 372, 374, 377, 379,
610 382, 385, 387, 389, 391, 393, 395, 397, 403, 407,
611 410, 412, 416, 418, 419, 421, 425, 428, 434, 437,
612 439, 444, 447, 451, 454, 457, 469, 473, 491, 501,
613 503, 505, 507, 509, 522, 531, 541, 544, 546, 550,
614 552, 553, 560, 561, 562, 565, 568, 572, 574, 575,
615 578, 580, 583, 586, 588, 592, 602, 604, 614, 623,
616 625, 635, 644, 646, 656, 665, 667, 679, 687, 694,
617 699, 706, 713, 716, 718, 720, 726, 736, 738, 741,
618 744, 746, 749, 751, 755, 764, 767, 769, 773, 786,
619 806, 809, 811, 812, 815, 822, 828, 830, 832, 834,
620 836, 839, 844, 846, 847, 848, 849, 852, 854, 855,
621 858, 860, 861, 864, 869, 869, 873, 873, 876, 876,
622 879, 879, 883, 883, 888, 888, 891, 891, 894, 896,
623 899, 906, 913, 919, 922, 931, 933, 941, 944, 947,
624 950, 954, 957, 960, 963, 965, 967, 969, 973, 976,
625 979, 984, 988, 993, 997, 1000, 1002, 1006, 1026, 1033,
626 1036, 1038, 1039, 1040, 1043, 1054, 1063, 1067, 1071, 1074,
627 1076, 1080, 1083, 1086, 1090, 1093, 1095, 1097, 1099, 1106,
628 1119, 1121, 1123, 1125, 1131, 1134, 1137, 1140, 1143, 1147,
629 1150, 1153, 1157, 1159, 1163, 1167, 1169, 1173, 1176, 1183,
630 1186, 1188, 1196, 1205, 1211, 1218, 1220, 1222, 1235, 1238,
631 1240, 1242, 1244, 1246, 1248, 1250, 1252, 1254, 1256, 1258,
632 1260, 1262, 1264, 1266, 1268, 1270, 1272, 1274, 1276, 1278,
633 1282, 1284, 1286, 1303, 1306, 1307, 1308, 1309, 1310, 1313,
634 1316, 1319, 1323, 1326, 1328, 1333, 1335, 1336, 1339, 1341,
635 1343, 1345, 1349, 1352, 1356, 1358, 1359, 1360, 1364, 1372,
636 1373, 1374, 1382, 1390, 1398, 1400, 1412, 1442, 1449, 1456,
637 1458, 1467, 1472, 1495, 1539, 1540, 1544, 1548, 1552, 1556,
638 1558, 1562, 1564, 1572, 1574, 1579, 1585, 1589, 1594, 1599,
639 1601, 1606, 1621, 1636, 1647, 1659, 1667, 1676, 1720, 1723,
640 1727, 1730, 1734, 1737, 1742, 1744, 1748, 1761, 1764, 1771,
641 1778, 1783, 1785, 1790, 1792, 1799, 1801, 1805, 1809, 1815,
642 1819, 1822, 1825, 1828, 1838, 1840, 1843, 1847, 1850, 1853,
643 1856, 1859, 1865, 1871, 1873, 1878, 1880, 1889, 1892, 1894,
644 1897, 1903, 1905, 1915, 1919, 1922, 1925, 1930, 1933, 1941,
645 1943, 1945, 1947, 1950, 1953, 1968, 1987, 1990, 1992, 1995,
646 1997, 2000, 2002, 2005, 2007, 2010, 2013, 2017, 2036, 2038,
647 2058, 2064, 2065, 2071, 2080, 2082, 2092, 2101, 2103, 2111,
648 2123, 2126, 2130, 2133, 2137, 2142, 2145, 2149, 2152, 2154,
649 2156, 2158, 2165, 2167, 2168, 2169, 2173, 2176, 2180, 2183,
650 2189, 2191, 2194, 2197, 2200, 2206, 2209, 2227, 2233, 2241,
651 2243, 2247, 2249, 2254, 2257, 2260, 2262, 2264, 2268, 2272,
652 2277, 2281, 2284, 2289, 2293, 2296, 2299, 2303, 2338, 2344,
653 2353, 2373, 2375, 2378, 2380, 2385, 2387, 2389, 2391, 2393,
654 2397, 2402, 2407, 2413, 2418, 2423, 2425, 2429, 2434, 2437,
655 2444, 2472, 2478, 2480, 2483, 2486, 2488, 2492, 2494, 2498,
656 2524, 2553, 2556, 2557, 2578, 2601, 2603, 2607, 2618, 2632,
657 2721, 2728, 2731, 2739, 2750, 2759, 2763, 2778, 2781, 2786,
658 2788, 2790, 2792, 2794, 2796, 2801, 2807, 2809, 2812, 2815,
659 2817, 2828, 2833, 2836, 2838, 2843, 2846, 2847, 2858, 2861,
660 2862, 2873, 2875, 2878, 2880, 2883, 2890, 2898, 2905, 2911,
661 2917, 2925, 2929, 2934, 2938, 2941, 2950, 2952, 2956, 2959,
662 2964, 2968, 2973, 2983, 2986, 2990, 2994, 3002, 3007, 3013,
663 3016, 3018, 3020, 3026, 3029, 3031, 3033, 3035, 3039, 3042,
664 3060, 3070, 3072, 3073, 3077, 3082, 3085, 3087, 3089, 3091,
665 3095, 3101, 3104, 3106, 3108, 3110, 3114, 3117, 3120, 3122,
666 3124, 3126, 3130, 3133, 3136, 3138, 3140, 3142, 3149, 3160,
667 3164, 3169, 3173, 3178, 3180, 3184, 3187, 3189, 3193, 3195,
668 3196, 3199, 3201, 3207, 3222, 3228, 3234, 3248, 3250, 3254,
669 3270, 3276, 3291, 3302, 3308, 3310, 3311, 3312, 3320, 3329,
670 3330, 3334, 3337, 3343, 3349, 3352, 3354, 3356, 3358, 3362,
671 3366, 3370, 3373, 3378, 3381, 3383, 3385, 3387, 3389, 3391,
672 3393, 3395, 3399, 3403, 3407, 3411, 3412, 3414, 3416, 3418,
673 3420, 3422, 3424, 3426, 3428, 3436, 3438, 3439, 3440, 3443,
674 3451, 3456, 3463, 3465, 3470, 3472, 3475, 3489, 3492, 3495,
675 3504, 3516, 3527, 3547, 3557, 3560, 3568, 3580, 3583, 3586,
676 3589, 3605, 3608, 3619, 3620, 3624, 3639, 3667, 3679, 3693,
677 3707, 3720, 3739, 3757, 3785, 3793, 3814, 3832, 3845, 3846,
678 3849, 3849, 3852, 3852, 3855, 3855, 3861, 3867, 3870, 3875,
679 3882, 3891, 3900, 3909, 3917, 3930, 3932, 3936, 3938, 3941,
680 3948, 3951, 3959, 3975, 3986, 3998, 4000, 4003, 4013, 4023,
681 4034, 4036, 4038, 4041, 4058, 4064, 4072, 4074, 4076, 4080,
682 4083, 4084, 4092, 4096, 4100, 4103, 4104, 4110, 4113, 4116,
683 4118, 4122, 4127, 4130, 4140, 4145, 4146, 4154, 4160, 4165,
684 4169, 4174, 4178, 4182, 4186, 4191, 4202, 4216, 4220, 4223,
685 4225, 4229, 4233, 4236, 4239, 4241, 4245, 4247, 4254, 4261,
686 4264, 4267, 4271, 4275, 4281, 4285, 4290, 4292, 4295, 4300,
687 4306, 4317, 4320, 4322, 4326, 4331, 4333, 4340, 4343, 4345,
688 4347, 4353, 4358, 4361, 4363, 4365, 4367, 4369, 4371, 4373,
689 4375, 4377, 4379, 4381, 4383, 4385, 4387, 4389, 4391, 4393,
690 4395, 4397, 4399, 4401, 4403, 4405, 4407, 4409, 4411, 4413,
691 4415, 4417, 4419, 4421, 4423, 4426, 4428
696 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
698 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
699 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
700 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
701 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
702 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
703 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
704 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
705 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
706 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
707 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
708 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
709 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
710 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
711 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
712 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
713 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
714 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
715 "@5","template_parm_list","maybe_identifier","template_type_parm","template_template_parm",
716 "template_parm","template_def","datadef","ctor_initializer_opt","maybe_return_init",
717 "eat_saved_input","fndef","constructor_declarator","@6","@7","@8","@9","fn.def1",
718 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
719 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
720 "identifier_defn","explicit_instantiation","@10","@11","@12","@13","@14","@15",
721 "@16","@17","begin_explicit_instantiation","end_explicit_instantiation","template_type",
722 "self_template_type","template_close_bracket","template_arg_list_opt","template_arg_list",
723 "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond",
724 "condition","@18","compstmtend","already_scoped_stmt","@19","nontrivial_exprlist",
725 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
726 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
727 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
728 "primary","@20","new","delete","boolean.literal","string","nodecls","object",
729 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
730 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
731 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
732 "initdcl0","@21","initdcl","@22","notype_initdcl0","@23","nomods_initdcl0","@24",
733 "maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
734 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
735 "pending_inlines","defarg_again","pending_defargs","structsp","@25","@26","@27",
736 "@28","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
737 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
738 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
739 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
740 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
741 "component_decl_1","components","notype_components","component_declarator0",
742 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
743 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
744 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
745 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
746 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
747 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
748 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
749 "typename_sub","typename_sub0","typename_sub1","typename_sub2","complex_type_name",
750 "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
751 "direct_abstract_declarator","stmts","errstmt",".pushlevel",".poplevel","maybe_label_decls",
752 "label_decls","label_decl","compstmt_or_error","compstmt","@29","simple_if",
753 "@30","@31","implicitly_scoped_stmt","@32","stmt","simple_stmt","@33","@34",
754 "@35","@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47",
755 "function_try_block","@48","@49","try_block","@50","@51","handler_seq","handler",
756 "@52","@53","@54","type_specifier_seq","handler_args","label_colon","for.init.statement",
757 "maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
758 "asm_clobbers","parmlist","complex_parmlist","defarg","@55","defarg1","parms",
759 "parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
760 "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
761 "operator_name", NULL
765 static const short yyr1
[] = { 0,
766 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
767 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
768 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
769 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
770 130, 132, 132, 133, 133, 134, 134, 135, 136, 136,
771 136, 136, 136, 136, 137, 137, 138, 138, 138, 138,
772 138, 138, 138, 138, 138, 139, 139, 140, 140, 140,
773 141, 141, 142, 142, 142, 144, 143, 143, 145, 143,
774 143, 146, 143, 143, 147, 143, 143, 148, 148, 148,
775 148, 148, 149, 149, 149, 149, 150, 150, 150, 150,
776 150, 150, 150, 150, 151, 152, 152, 152, 153, 154,
777 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
778 156, 156, 157, 157, 157, 157, 157, 158, 158, 158,
779 159, 159, 159, 161, 160, 162, 160, 163, 160, 164,
780 160, 165, 160, 166, 160, 167, 160, 168, 160, 169,
781 170, 171, 171, 171, 172, 173, 173, 174, 174, 175,
782 175, 176, 176, 177, 177, 177, 177, 177, 178, 178,
783 179, 179, 180, 180, 181, 181, 181, 183, 182, 182,
784 184, 184, 184, 184, 186, 185, 185, 187, 187, 187,
785 187, 188, 188, 189, 189, 189, 189, 189, 189, 189,
786 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
787 189, 189, 189, 189, 189, 189, 189, 190, 190, 191,
788 191, 191, 191, 192, 192, 193, 193, 193, 194, 194,
789 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
790 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
791 194, 194, 194, 195, 195, 195, 195, 195, 195, 196,
792 197, 197, 198, 198, 198, 199, 199, 199, 200, 200,
793 200, 200, 201, 201, 202, 202, 202, 202, 203, 203,
794 203, 203, 203, 203, 203, 204, 203, 203, 203, 203,
795 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
796 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
797 203, 203, 203, 203, 203, 203, 203, 203, 205, 205,
798 206, 206, 207, 207, 208, 208, 209, 210, 210, 211,
799 211, 211, 211, 211, 211, 212, 212, 213, 213, 214,
800 214, 214, 214, 214, 215, 215, 216, 216, 216, 216,
801 216, 216, 217, 217, 217, 217, 217, 218, 218, 218,
802 218, 218, 218, 219, 219, 219, 219, 220, 220, 221,
803 221, 221, 221, 221, 221, 221, 222, 222, 222, 223,
804 223, 224, 224, 225, 225, 226, 226, 228, 227, 227,
805 230, 229, 229, 232, 231, 231, 234, 233, 233, 233,
806 235, 235, 236, 236, 237, 238, 238, 239, 239, 239,
807 239, 239, 240, 240, 240, 240, 241, 241, 242, 242,
808 243, 243, 243, 243, 243, 244, 244, 245, 246, 246,
809 246, 247, 247, 248, 248, 249, 249, 249, 251, 250,
810 250, 252, 250, 250, 250, 250, 250, 253, 254, 250,
811 250, 255, 255, 256, 256, 257, 257, 257, 257, 257,
812 258, 259, 260, 260, 260, 260, 260, 261, 262, 262,
813 262, 263, 264, 264, 265, 265, 265, 266, 266, 267,
814 267, 268, 268, 268, 268, 269, 269, 269, 269, 270,
815 271, 272, 272, 272, 272, 273, 273, 274, 274, 274,
816 274, 274, 274, 274, 274, 275, 275, 275, 275, 275,
817 275, 275, 275, 275, 275, 276, 276, 276, 277, 277,
818 277, 278, 278, 279, 279, 280, 280, 281, 281, 281,
819 281, 282, 282, 283, 283, 283, 284, 284, 285, 285,
820 286, 286, 286, 287, 287, 288, 288, 289, 290, 291,
821 291, 291, 291, 292, 292, 292, 292, 292, 292, 293,
822 293, 294, 294, 294, 295, 296, 296, 296, 296, 296,
823 296, 297, 297, 297, 297, 297, 297, 298, 298, 298,
824 298, 298, 298, 299, 299, 299, 299, 299, 299, 300,
825 300, 301, 301, 302, 302, 303, 303, 303, 304, 304,
826 304, 305, 305, 306, 306, 306, 306, 307, 307, 308,
827 309, 309, 310, 310, 310, 310, 310, 310, 311, 311,
828 311, 312, 312, 313, 314, 314, 314, 314, 314, 314,
829 314, 315, 315, 316, 316, 316, 316, 316, 316, 316,
830 316, 316, 316, 316, 317, 317, 317, 317, 317, 317,
831 317, 317, 317, 317, 317, 318, 318, 318, 318, 319,
832 320, 321, 322, 322, 323, 323, 324, 325, 325, 327,
833 326, 329, 330, 328, 331, 332, 331, 333, 333, 334,
834 334, 335, 336, 334, 334, 337, 338, 334, 339, 340,
835 334, 341, 342, 343, 344, 334, 345, 346, 334, 347,
836 334, 348, 334, 349, 334, 334, 334, 334, 334, 334,
837 334, 334, 334, 334, 334, 334, 334, 334, 334, 351,
838 352, 350, 354, 355, 353, 356, 356, 358, 359, 360,
839 357, 361, 361, 362, 362, 363, 363, 363, 363, 364,
840 364, 364, 365, 365, 366, 366, 366, 367, 367, 368,
841 368, 369, 370, 370, 371, 371, 371, 372, 372, 372,
842 372, 372, 372, 372, 372, 372, 372, 374, 373, 375,
843 375, 376, 376, 376, 376, 376, 377, 377, 378, 378,
844 378, 378, 378, 378, 379, 379, 380, 380, 381, 382,
845 382, 383, 383, 383, 384, 385, 385, 386, 386, 386,
846 386, 387, 388, 388, 388, 388, 388, 388, 388, 388,
847 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
848 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
849 388, 388, 388, 388, 388, 388, 388
852 static const short yyr2
[] = { 0,
853 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
854 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
855 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
856 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
857 3, 1, 3, 1, 0, 2, 2, 3, 1, 3,
858 1, 3, 1, 3, 2, 2, 2, 3, 3, 2,
859 2, 2, 2, 2, 1, 1, 1, 0, 1, 2,
860 0, 1, 4, 3, 3, 0, 8, 5, 0, 9,
861 6, 0, 8, 5, 0, 9, 6, 2, 2, 1,
862 2, 1, 6, 4, 6, 4, 2, 1, 2, 2,
863 1, 2, 1, 2, 2, 2, 4, 2, 3, 0,
864 0, 1, 3, 2, 3, 1, 4, 2, 4, 2,
865 4, 2, 1, 1, 1, 1, 1, 1, 1, 1,
866 1, 1, 1, 0, 6, 0, 6, 0, 5, 0,
867 5, 0, 7, 0, 7, 0, 6, 0, 6, 0,
868 0, 4, 4, 1, 4, 1, 1, 0, 1, 1,
869 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
870 1, 3, 1, 3, 0, 1, 1, 0, 7, 1,
871 1, 3, 4, 3, 0, 3, 1, 3, 3, 3,
872 3, 1, 1, 1, 2, 2, 2, 2, 2, 2,
873 2, 4, 2, 4, 2, 3, 3, 4, 4, 5,
874 5, 6, 2, 4, 5, 2, 2, 3, 3, 3,
875 1, 3, 2, 3, 4, 1, 2, 5, 1, 3,
876 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
877 3, 3, 3, 3, 3, 3, 3, 3, 5, 3,
878 3, 1, 2, 3, 1, 1, 1, 1, 1, 0,
879 5, 5, 5, 5, 5, 1, 1, 1, 1, 2,
880 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
881 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
882 2, 2, 1, 4, 1, 7, 7, 7, 7, 4,
883 4, 2, 2, 1, 4, 2, 2, 5, 3, 2,
884 2, 5, 3, 5, 3, 4, 6, 2, 1, 2,
885 1, 2, 1, 1, 1, 2, 0, 2, 2, 3,
886 3, 3, 2, 2, 2, 1, 1, 1, 2, 2,
887 2, 2, 1, 1, 1, 1, 2, 2, 3, 3,
888 3, 4, 1, 2, 2, 2, 1, 1, 1, 2,
889 2, 2, 1, 1, 2, 2, 3, 1, 2, 1,
890 1, 1, 4, 4, 4, 4, 1, 1, 1, 1,
891 3, 1, 3, 1, 3, 0, 4, 0, 6, 3,
892 0, 6, 3, 0, 6, 3, 0, 6, 3, 3,
893 0, 1, 1, 2, 6, 1, 3, 0, 1, 4,
894 6, 4, 1, 1, 1, 1, 1, 3, 0, 2,
895 1, 2, 3, 4, 1, 1, 3, 1, 4, 3,
896 3, 0, 3, 3, 3, 0, 2, 2, 0, 7,
897 4, 0, 6, 3, 2, 2, 2, 0, 0, 9,
898 1, 0, 1, 0, 1, 1, 2, 2, 2, 2,
899 2, 2, 3, 4, 3, 2, 3, 0, 1, 3,
900 2, 2, 1, 1, 0, 2, 3, 1, 4, 1,
901 3, 1, 1, 4, 4, 2, 2, 3, 3, 1,
902 0, 1, 2, 4, 3, 1, 2, 2, 2, 2,
903 2, 2, 2, 1, 2, 2, 2, 4, 4, 2,
904 1, 5, 4, 1, 2, 0, 1, 3, 0, 1,
905 3, 1, 1, 1, 1, 4, 4, 4, 4, 4,
906 3, 4, 4, 4, 4, 3, 1, 3, 1, 3,
907 2, 1, 6, 0, 2, 1, 2, 0, 2, 4,
908 4, 2, 4, 3, 3, 2, 2, 3, 1, 1,
909 2, 1, 1, 2, 2, 4, 4, 3, 3, 2,
910 1, 3, 3, 2, 2, 3, 1, 3, 3, 2,
911 2, 3, 1, 4, 3, 4, 3, 1, 2, 2,
912 2, 2, 2, 1, 2, 4, 4, 2, 1, 1,
913 1, 1, 2, 2, 2, 2, 2, 1, 2, 2,
914 1, 2, 2, 2, 2, 2, 2, 2, 2, 1,
915 2, 2, 3, 1, 3, 2, 3, 2, 2, 3,
916 1, 3, 4, 3, 2, 2, 1, 3, 2, 2,
917 1, 2, 3, 1, 3, 1, 6, 4, 4, 3,
918 5, 3, 3, 3, 2, 1, 1, 2, 2, 2,
919 0, 0, 0, 1, 1, 2, 3, 1, 2, 0,
920 5, 0, 0, 6, 1, 0, 4, 1, 1, 1,
921 2, 0, 0, 6, 1, 0, 0, 7, 0, 0,
922 7, 0, 0, 0, 0, 14, 0, 0, 9, 0,
923 5, 0, 7, 0, 4, 2, 2, 2, 3, 6,
924 8, 10, 12, 4, 3, 2, 2, 1, 1, 0,
925 0, 6, 0, 0, 5, 1, 2, 0, 0, 0,
926 8, 1, 1, 3, 3, 2, 2, 2, 2, 2,
927 1, 2, 0, 1, 0, 1, 1, 0, 1, 1,
928 3, 4, 1, 3, 0, 1, 1, 1, 2, 2,
929 2, 1, 1, 2, 2, 2, 2, 0, 3, 1,
930 1, 1, 2, 2, 2, 4, 2, 2, 2, 2,
931 2, 2, 1, 2, 1, 2, 1, 1, 0, 0,
932 1, 0, 4, 2, 1, 1, 3, 0, 3, 3,
933 3, 1, 2, 2, 2, 2, 2, 2, 2, 2,
934 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
935 2, 2, 2, 2, 2, 3, 2, 2, 2, 2,
939 static const short yydefact
[] = { 3,
940 13, 13, 5, 0, 4, 0, 257, 599, 600, 0,
941 359, 371, 546, 0, 11, 12, 0, 0, 0, 10,
942 456, 802, 0, 0, 0, 150, 624, 258, 259, 65,
943 0, 0, 789, 0, 37, 0, 0, 14, 0, 8,
944 0, 17, 16, 71, 92, 68, 0, 601, 154, 276,
945 255, 277, 577, 0, 346, 0, 345, 364, 0, 384,
946 363, 403, 370, 0, 469, 468, 475, 474, 473, 451,
947 358, 562, 372, 563, 90, 275, 588, 560, 0, 602,
948 544, 0, 0, 256, 63, 64, 158, 604, 158, 605,
949 158, 260, 150, 123, 124, 125, 126, 127, 442, 445,
950 0, 620, 0, 446, 0, 0, 0, 0, 124, 125,
951 126, 127, 24, 0, 0, 0, 0, 0, 0, 0,
952 447, 608, 0, 611, 0, 0, 0, 0, 0, 0,
953 30, 0, 0, 39, 0, 158, 606, 0, 0, 575,
954 0, 0, 0, 574, 0, 0, 0, 0, 276, 0,
955 548, 0, 275, 544, 29, 0, 27, 3, 38, 0,
956 56, 55, 72, 15, 0, 401, 0, 0, 419, 69,
957 61, 607, 548, 0, 544, 62, 0, 0, 0, 88,
958 0, 380, 336, 559, 337, 571, 0, 544, 361, 360,
959 60, 91, 347, 0, 382, 362, 89, 353, 377, 378,
960 348, 366, 368, 357, 379, 0, 57, 404, 457, 458,
961 459, 460, 472, 132, 131, 133, 461, 462, 466, 0,
962 0, 475, 789, 471, 490, 491, 547, 365, 0, 401,
963 600, 0, 622, 154, 592, 593, 589, 565, 603, 0,
964 564, 561, 0, 837, 833, 832, 830, 812, 817, 818,
965 0, 824, 823, 809, 810, 808, 827, 816, 813, 814,
966 815, 819, 820, 806, 807, 803, 804, 805, 829, 821,
967 822, 811, 828, 0, 825, 732, 364, 733, 798, 260,
968 257, 546, 280, 325, 0, 0, 0, 0, 321, 319,
969 293, 323, 324, 0, 0, 0, 0, 0, 259, 252,
970 0, 0, 165, 164, 0, 166, 167, 0, 0, 168,
971 0, 0, 159, 160, 0, 226, 0, 229, 163, 279,
972 194, 0, 0, 281, 282, 0, 162, 343, 364, 344,
973 594, 304, 295, 0, 0, 0, 0, 158, 0, 444,
974 0, 439, 621, 619, 0, 169, 170, 0, 0, 0,
975 408, 3, 22, 0, 617, 613, 614, 616, 618, 615,
976 123, 124, 125, 126, 127, 610, 612, 609, 267, 268,
977 0, 266, 33, 34, 0, 591, 590, 32, 31, 41,
978 0, 359, 140, 0, 0, 364, 138, 0, 0, 573,
979 0, 572, 254, 271, 0, 581, 270, 0, 580, 0,
980 278, 585, 0, 0, 13, 0, 150, 9, 9, 0,
981 400, 402, 105, 75, 110, 720, 0, 67, 66, 74,
982 108, 0, 0, 106, 70, 587, 0, 0, 552, 0,
983 792, 0, 557, 0, 556, 0, 0, 0, 0, 544,
984 401, 0, 59, 548, 544, 570, 0, 350, 351, 0,
985 58, 401, 355, 354, 356, 349, 369, 386, 385, 463,
986 467, 465, 0, 470, 476, 0, 0, 367, 399, 544,
987 76, 0, 0, 0, 544, 82, 545, 576, 600, 623,
988 154, 0, 0, 826, 831, 366, 544, 544, 0, 544,
989 836, 158, 0, 0, 0, 201, 0, 0, 203, 216,
990 217, 0, 0, 0, 0, 0, 253, 200, 197, 196,
991 198, 0, 0, 0, 0, 0, 279, 0, 0, 0,
992 195, 156, 157, 273, 0, 199, 0, 0, 227, 0,
993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
995 0, 289, 291, 292, 329, 328, 0, 0, 0, 0,
996 0, 205, 542, 0, 213, 326, 318, 0, 789, 307,
997 310, 311, 0, 0, 338, 641, 637, 646, 0, 548,
998 544, 544, 544, 340, 644, 0, 598, 342, 0, 0,
999 341, 306, 0, 302, 320, 322, 595, 0, 303, 153,
1000 155, 0, 148, 0, 364, 146, 539, 454, 537, 441,
1001 0, 373, 0, 0, 374, 375, 376, 414, 415, 416,
1002 413, 0, 406, 409, 0, 3, 0, 28, 36, 35,
1003 45, 0, 0, 0, 49, 53, 42, 788, 783, 0,
1004 343, 364, 45, 344, 787, 51, 151, 136, 134, 151,
1005 152, 274, 579, 578, 278, 582, 0, 19, 21, 71,
1006 0, 111, 327, 0, 670, 73, 668, 425, 0, 421,
1007 420, 193, 0, 192, 549, 586, 0, 762, 763, 0,
1008 757, 364, 0, 756, 758, 790, 772, 0, 0, 584,
1009 555, 554, 0, 0, 569, 0, 390, 381, 568, 0,
1010 792, 558, 352, 383, 396, 401, 464, 599, 600, 789,
1011 0, 789, 601, 477, 478, 480, 789, 483, 482, 0,
1012 511, 600, 0, 504, 0, 0, 514, 0, 103, 98,
1013 0, 154, 516, 519, 0, 496, 0, 101, 0, 401,
1014 397, 792, 755, 158, 158, 158, 792, 755, 544, 79,
1015 544, 85, 835, 834, 798, 798, 798, 0, 0, 0,
1016 0, 598, 0, 0, 0, 0, 364, 0, 0, 0,
1017 285, 0, 283, 284, 0, 224, 161, 426, 452, 0,
1018 251, 250, 747, 746, 0, 248, 247, 245, 246, 244,
1019 243, 242, 239, 240, 241, 237, 238, 232, 233, 234,
1020 235, 236, 230, 231, 0, 0, 0, 0, 0, 0,
1021 207, 221, 0, 0, 206, 544, 544, 0, 544, 541,
1022 631, 0, 0, 0, 0, 309, 0, 313, 0, 315,
1023 0, 640, 639, 636, 635, 788, 0, 0, 655, 0,
1024 0, 792, 339, 792, 642, 544, 755, 548, 641, 637,
1025 0, 0, 544, 0, 0, 0, 0, 0, 261, 151,
1026 144, 142, 151, 0, 455, 0, 454, 191, 190, 189,
1027 188, 408, 0, 0, 25, 0, 26, 47, 44, 45,
1028 0, 40, 0, 0, 641, 637, 0, 779, 544, 782,
1029 784, 0, 780, 781, 46, 461, 0, 141, 151, 151,
1030 139, 18, 20, 387, 128, 116, 129, 130, 0, 109,
1031 112, 0, 0, 0, 0, 669, 661, 422, 0, 107,
1032 553, 550, 761, 778, 767, 765, 0, 551, 760, 777,
1033 766, 764, 759, 791, 774, 785, 775, 768, 773, 794,
1034 0, 388, 567, 566, 394, 393, 487, 0, 486, 789,
1035 789, 789, 0, 544, 755, 510, 505, 104, 515, 401,
1036 401, 502, 503, 500, 501, 544, 755, 257, 599, 0,
1037 386, 99, 506, 517, 522, 523, 386, 386, 0, 0,
1038 386, 97, 507, 520, 386, 497, 498, 499, 401, 0,
1039 448, 0, 78, 0, 0, 0, 0, 84, 0, 792,
1040 755, 792, 755, 800, 799, 801, 262, 294, 202, 204,
1041 300, 301, 0, 0, 0, 0, 284, 287, 0, 0,
1042 225, 0, 288, 290, 219, 218, 209, 0, 208, 223,
1043 0, 0, 628, 626, 0, 629, 548, 214, 0, 0,
1044 316, 0, 0, 0, 638, 634, 645, 544, 654, 652,
1045 653, 643, 792, 0, 650, 0, 596, 597, 0, 305,
1046 149, 151, 151, 147, 540, 538, 443, 0, 407, 405,
1047 257, 0, 23, 48, 43, 50, 54, 640, 636, 641,
1048 637, 0, 560, 0, 544, 642, 52, 137, 135, 0,
1049 114, 0, 118, 0, 120, 0, 122, 0, 721, 663,
1050 0, 423, 641, 637, 0, 279, 0, 594, 786, 0,
1051 0, 795, 796, 0, 0, 0, 391, 0, 0, 0,
1052 489, 488, 481, 792, 0, 419, 419, 792, 0, 0,
1053 0, 401, 401, 0, 401, 401, 0, 401, 0, 419,
1054 0, 436, 398, 544, 264, 263, 265, 544, 81, 0,
1055 87, 0, 0, 0, 0, 0, 427, 228, 249, 0,
1056 210, 211, 220, 222, 627, 625, 632, 630, 0, 215,
1057 0, 308, 312, 314, 792, 648, 544, 649, 145, 143,
1058 440, 0, 410, 412, 640, 636, 565, 642, 115, 113,
1059 0, 0, 0, 0, 0, 181, 662, 0, 664, 665,
1060 424, 0, 597, 776, 770, 771, 769, 0, 793, 389,
1061 395, 0, 484, 485, 479, 94, 544, 509, 513, 96,
1062 544, 401, 401, 531, 419, 257, 599, 0, 518, 524,
1063 525, 386, 386, 419, 419, 0, 419, 521, 508, 0,
1064 792, 792, 544, 544, 0, 0, 0, 0, 0, 212,
1065 633, 317, 651, 792, 0, 117, 119, 121, 728, 722,
1066 726, 417, 0, 671, 0, 257, 599, 600, 672, 686,
1067 689, 692, 661, 0, 0, 0, 0, 0, 0, 258,
1068 718, 723, 0, 743, 0, 680, 0, 0, 364, 0,
1069 657, 678, 685, 656, 679, 719, 0, 666, 284, 797,
1070 392, 792, 792, 530, 527, 529, 0, 0, 401, 401,
1071 401, 526, 528, 512, 438, 0, 437, 432, 77, 83,
1072 792, 792, 296, 297, 298, 299, 543, 647, 411, 661,
1073 727, 0, 667, 660, 184, 736, 738, 739, 661, 661,
1074 661, 0, 0, 0, 704, 706, 707, 708, 0, 0,
1075 0, 737, 0, 335, 744, 0, 681, 333, 386, 0,
1076 334, 0, 386, 0, 0, 0, 182, 659, 658, 682,
1077 717, 716, 93, 95, 401, 401, 536, 419, 419, 0,
1078 0, 450, 80, 86, 0, 418, 0, 0, 676, 675,
1079 0, 0, 0, 0, 700, 0, 709, 0, 715, 724,
1080 0, 331, 332, 0, 0, 0, 330, 183, 661, 535,
1081 533, 532, 534, 435, 434, 428, 68, 71, 0, 729,
1082 173, 0, 673, 687, 0, 690, 663, 741, 693, 0,
1083 180, 0, 364, 0, 0, 0, 705, 714, 0, 0,
1084 683, 0, 433, 0, 0, 0, 0, 661, 0, 662,
1085 0, 742, 661, 740, 697, 386, 702, 701, 725, 748,
1086 0, 662, 431, 0, 430, 734, 735, 730, 174, 674,
1087 185, 662, 187, 677, 171, 0, 0, 0, 661, 401,
1088 0, 0, 0, 749, 750, 710, 684, 429, 662, 663,
1089 688, 0, 691, 177, 0, 176, 698, 0, 703, 0,
1090 748, 0, 0, 731, 186, 172, 694, 662, 178, 0,
1091 0, 711, 751, 0, 699, 0, 752, 0, 0, 0,
1092 179, 753, 0, 712, 695, 0, 0, 0, 754, 713,
1096 static const short yydefgoto
[] = { 1533,
1097 405, 2, 406, 160, 659, 311, 165, 3, 4, 38,
1098 626, 352, 727, 371, 40, 728, 381, 634, 878, 635,
1099 636, 637, 42, 43, 417, 168, 164, 44, 729, 743,
1100 1001, 748, 1003, 46, 730, 731, 169, 170, 418, 662,
1101 910, 911, 607, 912, 218, 47, 900, 899, 650, 647,
1102 1063, 1062, 863, 860, 135, 898, 48, 49, 524, 312,
1103 313, 314, 315, 1285, 1477, 1423, 1495, 1432, 1516, 1197,
1104 1472, 1490, 346, 852, 316, 561, 815, 317, 318, 347,
1105 320, 338, 51, 236, 373, 394, 52, 53, 321, 519,
1106 322, 323, 324, 325, 419, 326, 1286, 458, 582, 327,
1107 1287, 55, 201, 640, 328, 202, 497, 203, 181, 194,
1108 59, 441, 182, 1115, 459, 1212, 195, 1116, 60, 992,
1109 411, 61, 62, 622, 623, 624, 1263, 424, 778, 779,
1110 1417, 1418, 1382, 1317, 1240, 63, 611, 341, 1142, 1318,
1111 1020, 866, 64, 65, 66, 67, 222, 68, 69, 70,
1112 224, 714, 715, 716, 717, 226, 466, 467, 735, 736,
1113 737, 973, 983, 974, 1229, 975, 976, 1230, 1231, 608,
1114 609, 562, 842, 330, 427, 428, 175, 183, 72, 73,
1115 74, 184, 185, 152, 76, 131, 331, 332, 333, 78,
1116 334, 80, 719, 122, 123, 124, 104, 81, 335, 820,
1117 821, 837, 585, 1290, 1291, 1389, 1264, 1198, 1199, 1200,
1118 666, 1292, 917, 1293, 1339, 1448, 1391, 1425, 1294, 1295,
1119 1409, 1462, 1340, 1449, 1341, 1451, 1342, 1453, 1514, 1528,
1120 1479, 1508, 1436, 1481, 1396, 420, 663, 1194, 1296, 1353,
1121 1439, 1260, 1261, 1330, 1446, 1489, 1434, 1420, 1297, 1429,
1122 1356, 785, 1483, 1484, 1485, 1523, 683, 684, 939, 1111,
1123 1207, 685, 686, 687, 935, 688, 145, 937, 690, 1113,
1127 static const short yypact
[] = { 208,
1128 211,-32768,-32768, 5271,-32768, 49, 147, 53, 70, 151,
1129 207,-32768,-32768, 799,-32768,-32768, 233, 265, 286,-32768,
1130 -32768,-32768, 869, 522, 909, 226,-32768, 241, 75,-32768,
1131 1223, 1223,-32768, 8672,-32768, 5271, 294,-32768, 347, 299,
1132 5583,-32768,-32768, 285, 1145, 417, 387, 416,-32768,-32768,
1133 -32768,-32768, 159, 1297,-32768, 3960,-32768, 1693, 473,-32768,
1134 461,-32768,-32768, 1651,-32768,-32768, 434,-32768,-32768, 471,
1135 3925,-32768,-32768,-32768, 806,-32768,-32768,-32768, 836,-32768,
1136 -32768, 755, 5693, 429,-32768,-32768, 8925,-32768, 8925,-32768,
1137 8925,-32768,-32768,-32768, 53, 70, 241, 468, 430, 487,
1138 416,-32768, 755,-32768, 755, 8925, 8925, 474,-32768,-32768,
1139 -32768,-32768,-32768, 76, 523, 464, 489, 593, 541, 560,
1140 -32768,-32768, 937,-32768, 944, 53, 70, 370, 241, 468,
1141 -32768, 2008, 970, 553, 5823, 8925,-32768, 8925, 3322,-32768,
1142 1027, 840, 3322,-32768, 1303, 4154, 4154, 8672, 542, 548,
1143 575, 568, 578,-32768,-32768, 644,-32768, 592,-32768, 3431,
1144 49,-32768,-32768,-32768, 620, 461, 715, 143, 330, 668,
1145 -32768,-32768, 610, 107,-32768,-32768, 4661, 4661, 10186, 806,
1146 573,-32768,-32768, 227,-32768,-32768, 1153,-32768,-32768,-32768,
1147 -32768,-32768, 1693, 631,-32768, 461, 806,-32768,-32768,-32768,
1148 2039, 1693,-32768, 461,-32768, 10227,-32768,-32768,-32768,-32768,
1149 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 416, 1558,
1150 1558, 434,-32768,-32768,-32768,-32768,-32768, 1096, 755, 461,
1151 562, 1562,-32768, 166,-32768,-32768,-32768,-32768,-32768, 4766,
1152 -32768,-32768, 215,-32768, 637, 650,-32768,-32768,-32768,-32768,
1153 708,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1154 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1155 -32768,-32768,-32768, 673,-32768,-32768, 1096, 3925, 1395,-32768,
1156 -32768, 681,-32768,-32768, 9540, 9627, 9714, 9714,-32768,-32768,
1157 -32768,-32768,-32768, 685, 718, 721, 733, 747, 468, 9012,
1158 1303, 9714,-32768,-32768, 9714,-32768,-32768, 9714, 6914,-32768,
1159 9714, 287, 745,-32768, 9714,-32768, 9099,-32768, 5121,-32768,
1160 1544, 3642, 9186,-32768, 812, 2255,-32768, 2094, 3938, 3218,
1161 -32768, 266,-32768, 2235, 1121, 287, 287, 8925, 5823,-32768,
1162 1303, 714,-32768,-32768, 717, 768, 10326, 719, 725, 742,
1163 1141, 592,-32768, 370,-32768,-32768,-32768,-32768,-32768,-32768,
1164 523, 464, 489, 593, 541,-32768,-32768,-32768, 53, 70,
1165 771,-32768,-32768,-32768, 970,-32768,-32768,-32768,-32768,-32768,
1166 5467,-32768,-32768, 10227, 4986, 1768,-32768, 287, 529,-32768,
1167 273,-32768,-32768,-32768, 3322,-32768,-32768, 3322,-32768, 750,
1168 -32768,-32768, 4766, 85, 737, 758,-32768,-32768,-32768, 644,
1169 -32768, 461,-32768,-32768,-32768,-32768, 100,-32768,-32768,-32768,
1170 -32768, 7006, 9012,-32768,-32768,-32768, 9012, 762,-32768, 6432,
1171 84, 4969,-32768, 4969,-32768, 5173, 5173, 10186, 779,-32768,
1172 461, 10227,-32768, 778,-32768,-32768, 7870, 2039, 1693, 10227,
1173 -32768, 461,-32768,-32768, 461, 2039,-32768, 670,-32768,-32768,
1174 416,-32768, 1558,-32768, 1541, 1850, 46, 1096, 837,-32768,
1175 -32768, 828, 830, 834,-32768,-32768,-32768,-32768, 587,-32768,
1176 309, 797, 802,-32768,-32768, 1096,-32768,-32768, 333,-32768,
1177 -32768, 8925, 9012, 681, 6914,-32768, 381, 6914,-32768,-32768,
1178 -32768, 8925, 4335, 4335, 4335, 4335, 10371,-32768,-32768,-32768,
1179 -32768, 809, 9801, 9801, 6914, 824, 542, 826, 884, 835,
1180 -32768,-32768,-32768,-32768, 8925,-32768, 7006, 6914,-32768, 9012,
1181 9012, 7098, 9012, 9012, 9012, 9012, 9012, 9012, 9012, 9012,
1182 9012, 9012, 9012, 9012, 9012, 9012, 9012, 9012, 9012, 9012,
1183 9012,-32768,-32768,-32768,-32768,-32768, 9012, 9012, 9012, 8925,
1184 3159, 384, 1032, 7737,-32768,-32768,-32768, 903, 947, 391,
1185 393, 396, 2917, 840,-32768, 1424, 1424,-32768, 2976, 852,
1186 875, 929,-32768,-32768, 324, 8368, 1732,-32768, 618, 755,
1187 -32768,-32768, 9012,-32768,-32768,-32768,-32768, 204,-32768,-32768,
1188 -32768, 287,-32768, 10227, 1921,-32768, 913, 925,-32768,-32768,
1189 1303,-32768, 7466, 7558,-32768,-32768,-32768,-32768,-32768,-32768,
1190 -32768, 83,-32768, 893, 879, 592, 939,-32768,-32768,-32768,
1191 1459, 226, 966, 280, 940, 943,-32768,-32768, 2819, 10122,
1192 2819, 4057, 1651, 4644,-32768, 945,-32768,-32768,-32768,-32768,
1193 -32768,-32768,-32768,-32768, 894,-32768, 948,-32768,-32768, 285,
1194 93, 177, 953, 884,-32768,-32768,-32768,-32768, 6542, 10371,
1195 -32768, 768, 907, 10326,-32768,-32768, 911,-32768,-32768, 916,
1196 445, 4869, 919,-32768, 126, 3677, 969, 981, 490,-32768,
1197 -32768,-32768, 4969, 4969,-32768, 7870, 982,-32768,-32768, 922,
1198 84,-32768, 2039,-32768, 987, 461,-32768, 464, 489,-32768,
1199 960,-32768, 560, 978,-32768,-32768, 104,-32768,-32768, 1622,
1200 -32768, 722, 1113,-32768, 9012, 9957,-32768, 3072, 369, 369,
1201 492, 519, 1946, 10018, 4267,-32768, 87, 369, 995, 461,
1202 -32768, 84, 2191, 8925, 8925, 8925, 84, 2191,-32768,-32768,
1203 -32768,-32768,-32768,-32768, 1309, 1309, 1309, 287, 951, 952,
1204 9279, 929, 954, 956, 957, 994, 4405, 998, 999, 1004,
1205 -32768, 971,-32768,-32768, 985,-32768,-32768,-32768, 1023, 988,
1206 10371, 10371,-32768,-32768, 1029, 10298, 10388, 4706, 2853, 5454,
1207 2334, 2734, 2554, 2554, 2554, 1764, 1764, 848, 848, 623,
1208 623, 623,-32768,-32768, 992, 993, 996, 1001, 1005, 4335,
1209 384,-32768, 7006, 9012,-32768,-32768,-32768, 9012,-32768,-32768,
1210 1014, 9714, 1009, 1025, 1081,-32768, 9012,-32768, 9012,-32768,
1211 9012, 2650,-32768, 2650,-32768, 178, 1020, 1022,-32768, 1026,
1212 4335, 84,-32768, 84, 3517,-32768, 2191, 1028, 8560, 8560,
1213 6240, 1041, 9099, 1043, 1647, 1121, 730, 1052,-32768,-32768,
1214 -32768,-32768,-32768, 9012, 1303, 1024, 925,-32768, 10371,-32768,
1215 10371, 1141, 1056, 9366,-32768, 1063,-32768,-32768,-32768, 2523,
1216 5467,-32768, 4335, 8925, 2064, 2064, 2680,-32768,-32768,-32768,
1217 -32768, 1153,-32768,-32768,-32768, 405, 9012,-32768,-32768,-32768,
1218 -32768,-32768,-32768,-32768, 523,-32768, 593, 541, 9012, 1115,
1219 -32768, 545, 552, 571, 884,-32768,-32768,-32768, 66,-32768,
1220 -32768,-32768,-32768,-32768,-32768,-32768, 8464,-32768,-32768,-32768,
1221 -32768,-32768,-32768,-32768,-32768, 981, 1116,-32768,-32768,-32768,
1222 4335,-32768,-32768,-32768,-32768, 1117,-32768, 8925,-32768,-32768,
1223 -32768,-32768, 967,-32768, 2191, 10371,-32768,-32768,-32768, 461,
1224 461,-32768,-32768,-32768,-32768,-32768, 2191, 54, 270, 9012,
1225 670,-32768, 1120,-32768,-32768,-32768, 410, 600, 836, 840,
1226 767, 369, 1125,-32768, 790,-32768,-32768,-32768, 461, 7806,
1227 -32768, 7006,-32768, 1080, 287, 287, 287,-32768, 1082, 84,
1228 2191, 84, 2191,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1229 -32768,-32768, 1107, 1109, 1118, 1126, 894,-32768, 6634, 1098,
1230 -32768, 9012,-32768,-32768,-32768,-32768, 58, 1111,-32768,-32768,
1231 1112, 26, 984, 984, 1106, 984,-32768,-32768, 9714, 1216,
1232 -32768, 1133, 1134, 1135,-32768,-32768,-32768,-32768,-32768,-32768,
1233 -32768,-32768, 84, 1137,-32768, 1142,-32768,-32768, 1828,-32768,
1234 -32768,-32768,-32768,-32768, 10371,-32768,-32768, 1119,-32768,-32768,
1235 134, 1147,-32768,-32768,-32768,-32768,-32768, 2311, 2311, 2454,
1236 2454, 2680,-32768, 1153,-32768, 2749, 5121,-32768,-32768, 1148,
1237 -32768, 177,-32768, 9012,-32768, 9012,-32768, 9012,-32768, 55,
1238 6726,-32768, 8653, 8653, 6336, 556, 1149, 626,-32768, 7006,
1239 6818,-32768,-32768, 152, 7006, 7006,-32768, 1150, 1151, 1541,
1240 -32768,-32768,-32768, 84, 1154, 1166, 1166, 84, 1157, 9012,
1241 9012, 10258, 461, 3803, 461, 461, 743, 461, 8579, 1166,
1242 7877,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1158,
1243 -32768, 1165, 9012, 9012, 9012, 9012,-32768,-32768, 10371, 9012,
1244 -32768, 58,-32768,-32768,-32768,-32768,-32768,-32768, 1163,-32768,
1245 1229,-32768,-32768,-32768, 84,-32768,-32768,-32768,-32768,-32768,
1246 -32768, 9012,-32768,-32768, 2311, 2311,-32768, 2749,-32768,-32768,
1247 1173, 1177, 1178, 1193, 1303,-32768,-32768, 6130, 1257,-32768,
1248 -32768, 1185, 2076,-32768,-32768,-32768,-32768, 4335,-32768,-32768,
1249 -32768, 7006,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1250 -32768, 10258, 10258,-32768, 1166, 158, 807, 9012,-32768,-32768,
1251 -32768, 670, 670, 1166, 1166, 587, 1166,-32768,-32768, 5883,
1252 84, 84,-32768,-32768, 1188, 1199, 1200, 1206, 1202,-32768,
1253 -32768,-32768,-32768, 84, 1209,-32768,-32768,-32768,-32768, 1193,
1254 -32768,-32768, 666,-32768, 156, 1258, 841, 845,-32768,-32768,
1255 -32768,-32768,-32768, 9012, 1261, 1259, 1264, 8746, 479, 389,
1256 -32768,-32768, 8838, 1318, 1267,-32768, 10179, 10063, 10167, 5998,
1257 -32768,-32768, 1313,-32768,-32768,-32768, 7972,-32768, 726,-32768,
1258 -32768, 84, 84,-32768,-32768,-32768, 9012, 9012, 10258, 461,
1259 461,-32768,-32768,-32768,-32768, 7650,-32768,-32768,-32768,-32768,
1260 84, 84,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1261 -32768, 1303,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1262 884, 1240, 1247, 2364,-32768,-32768,-32768,-32768, 1281, 9012,
1263 1282,-32768, 884,-32768,-32768, 1252,-32768,-32768, 670, 692,
1264 -32768, 723, 670, 9453, 738, 179,-32768,-32768,-32768,-32768,
1265 -32768,-32768,-32768,-32768, 10258, 10258,-32768, 1166, 1166, 1239,
1266 10280, 1250,-32768,-32768, 1256,-32768, 583, 583,-32768,-32768,
1267 1334, 5399, 8925, 9012,-32768, 8082,-32768, 1296,-32768,-32768,
1268 644,-32768,-32768, 9888, 9888, 7190,-32768,-32768, 884,-32768,
1269 -32768,-32768,-32768,-32768,-32768,-32768, 417, 285, 4834,-32768,
1270 -32768, 8925,-32768,-32768, 8274,-32768, 55,-32768,-32768, 1298,
1271 -32768, 1255, 544, 10227, 10349, 8082,-32768,-32768, 1193, 61,
1272 -32768, 150,-32768, 1260, 1265, 884, 1266, 884, 8178,-32768,
1273 596,-32768,-32768,-32768,-32768, 670,-32768,-32768, 1193, 1358,
1274 1310,-32768,-32768, 100,-32768,-32768,-32768,-32768,-32768,-32768,
1275 -32768,-32768,-32768,-32768,-32768, 9012, 1316, 7282, 884, 461,
1276 8082, 1285, 222, 1322,-32768,-32768,-32768,-32768,-32768, 55,
1277 -32768, 1274,-32768,-32768, 1324,-32768,-32768, 1331,-32768, 9012,
1278 1358, 1326, 1358,-32768,-32768,-32768,-32768,-32768,-32768, 1287,
1279 234,-32768,-32768, 7374,-32768, 7006,-32768, 1392, 1344, 1302,
1280 -32768,-32768, 257,-32768,-32768, 1396, 1345, 8178,-32768,-32768,
1281 -32768,-32768, 1408, 1413,-32768
1284 static const short yypgoto
[] = {-32768,
1285 1417,-32768, -324,-32768, 1010, 2, -1, 1418,-32768, 380,
1286 -32768,-32768, 955, 1068,-32768, 6,-32768,-32768, -594,-32768,
1287 -32768, 555,-32768, 1280, -651, 17, -646, 1283, 32,-32768,
1288 -32768,-32768,-32768,-32768, 710, 728,-32768,-32768,-32768,-32768,
1289 -32768, 357, 275,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1290 -32768,-32768,-32768,-32768, 1365, -477, 5094, -55, -311, -29,
1291 1327, -514,-32768, 33,-32768, 79,-32768, -1317,-32768, -1306,
1292 -59,-32768, 1205, 900, -241,-32768, -778, 4490, -60, 3985,
1293 3318, 1198,-32768, -74, -62, 973, -78, -32,-32768,-32768,
1294 -32768, -294,-32768, -149,-32768,-32768, -1214, -33, -321, 4058,
1295 23, -194, -137, 50, 164, -180, -4, -120, -831, 185,
1296 -32768, -25,-32768,-32768, -35,-32768,-32768,-32768,-32768,-32768,
1297 616, -39, 19,-32768, 612,-32768,-32768, -758, -347, 816,
1298 -32768,-32768,-32768,-32768,-32768, 64,-32768,-32768,-32768,-32768,
1299 -32768, 622, -352,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1300 1268,-32768, 371, 539,-32768,-32768,-32768,-32768, 504, -680,
1301 770,-32768,-32768,-32768,-32768,-32768, 769,-32768, 363, 885,
1302 642, 949, 2764, 133, 45, -405, 1328, 1777, -431,-32768,
1303 8,-32768, 4657, -142, 136, -67, 3747, 1182,-32768, 3183,
1304 1539, 1194, -15, -109,-32768, 1390,-32768, 1914, 2451, -684,
1305 -32768, 2714,-32768,-32768, 230, -894, -848,-32768,-32768, 322,
1306 59, -213,-32768,-32768,-32768,-32768, -1179,-32768, -1178, -1331,
1307 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1308 -32768,-32768,-32768,-32768,-32768, 80,-32768,-32768,-32768,-32768,
1309 -32768, 95, -1209,-32768,-32768,-32768, -52,-32768,-32768,-32768,
1310 -32768, -1335, 31,-32768, 36,-32768, -648, -487, 599,-32768,
1311 -32768,-32768,-32768, -366,-32768, -363, -170,-32768, 662, 328,
1312 -32768, 0,-32768, -202
1316 #define YYLAST 10473
1319 static const short yytable
[] = { 58,
1320 237, 151, 37, 396, 399, 36, 404, 587, 121, 41,
1321 777, 915, 449, 903, 645, 368, 196, 646, 204, 166,
1322 180, 102, 1100, 234, 600, 601, 54, 625, 643, 474,
1323 279, 58, 1029, 718, 37, 45, 58, 36, 700, 37,
1324 596, 41, 36, 496, 499, 957, 41, 468, 895, 230,
1325 1331, 193, 465, 56, 986, 448, 1430, 376, 54, 336,
1326 374, 337, 237, 54, 456, 379, 228, 45, 1354, 377,
1327 378, 566, 45, 575, 671, 529, 651, 652, 277, 208,
1328 454, 457, 329, 739, 329, 56, 329, 192, 1195, 241,
1329 56, 838, 477, 1450, 994, 566, 486, 174, 838, 999,
1330 664, 329, 329, 566, 1447, 812, 388, 88, 237, 85,
1331 951, 1369, 343, 151, 151, 151, 1130, 1473, 1372, 761,
1332 1452, 205, 813, 1460, 90, 1101, 412, 89, 87, 137,
1333 386, 329, 599, 329, 353, 1164, 71, 929, 345, 349,
1334 354, 952, 872, 414, 91, 689, 151, 987, 486, 138,
1335 1463, 814, 1160, 204, 429, 58, 740, 384, 665, 86,
1336 1496, 455, 204, 139, 143, 1196, 383, 57, 71, 153,
1337 1461, 452, 901, 71, 840, 762, 1102, 1428, 1520, 905,
1338 708, 709, 54, 1505, 385, 930, 639, 481, 931, 923,
1339 412, 45, 873, 1182, 657, 174, 1473, 988, 1054, 57,
1340 430, -327, 904, 667, 57, 415, -548, -1, -327, 56,
1341 -2, 1208, 415, 475, 208, 278, 1334, 1437, 8, 479,
1342 1307, 87, 208, 932, 906, 92, 500, 501, 174, 1441,
1343 913, 27, 87, 907, 908, 639, 241, 924, 416, 1334,
1344 925, 509, 289, 1183, 510, 416, 276, 511, 1161, 1331,
1345 521, 570, -548, 173, 526, 93, 205, 1458, 27, 476,
1346 661, 1209, 565, 571, 205, 205, 1335, 71, 1470, 563,
1347 909, 129, 130, 228, -548, 926, 126, 127, 395, 398,
1348 880, 153, 153, 153, 1501, 1074, 374, 776, 100, 1408,
1349 859, 205, 71, 396, 399, 480, 1518, 114, 57, 1497,
1350 134, 876, 1499, 596, 329, 775, 1125, 630, 602, 432,
1351 434, 703, 629, 592, 153, 136, 1526, 277, 1129, 645,
1352 -548, 444, 936, 57, 88, 228, 106, 454, 457, 129,
1353 130, 1502, 1131, 329, 605, 454, 126, 127, 217, 881,
1354 205, 516, 241, 1519, 89, 196, 204, 457, 1165, 1166,
1355 648, 1168, 1150, 480, 1152, 882, 751, 158, 107, 593,
1356 587, 604, 522, 838, 523, 457, 1527, 1218, 1219, 1077,
1357 603, 846, 281, 369, 370, 10, 642, 421, 1343, 108,
1358 193, 1239, 1061, 1250, 639, 1064, 633, 156, 385, 129,
1359 130, 639, 205, 163, 422, 15, 16, 366, 159, 838,
1360 -386, 412, 752, 151, 151, 151, 698, 157, 455, 204,
1361 732, 22, 412, 233, 704, 155, 455, 847, 848, 393,
1362 162, 1088, 1089, 423, 27, 682, 28, 299, 575, -386,
1363 208, 812, 706, -386, -336, 1385, 15, 16, 826, 838,
1364 828, 167, 1056, 830, 1387, 1388, 1007, 171, 813, 205,
1365 916, 1352, 509, 510, 278, 1360, 923, 1365, 33, 675,
1366 986, 58, 758, 136, -44, 1030, 1306, 726, -336, -44,
1367 172, 71, -336, 208, 761, 1312, 1313, 814, 1314, -386,
1368 -44, 94, 109, 110, 827, 276, 829, 329, 733, 831,
1369 329, 639, 19, 329, 460, 462, 223, 329, 767, 767,
1370 767, 767, 57, 280, 924, -336, 473, 925, 563, -788,
1371 329, 205, 205, 644, 645, 734, 962, 646, 356, 205,
1372 329, 718, 137, 329, 115, 116, 117, 516, 643, 225,
1373 516, 205, 206, 207, 764, 111, 112, 940, 89, 947,
1374 340, 949, 926, 357, 641, 342, 953, 516, 639, 205,
1375 963, 199, 200, 639, 964, 329, 277, 14, 1478, 1350,
1376 516, 596, 644, 91, 784, 204, 966, 351, 693, 694,
1377 861, 153, 153, 153, 642, 508, 27, 355, 118, 119,
1378 21, 682, 454, 941, 1179, 1180, 486, 965, 525, 24,
1379 806, 575, 1093, 641, 838, 359, 823, 241, 71, 1095,
1380 196, 1474, 204, -276, 522, 888, 523, 893, 894, 470,
1381 368, 529, 967, 1487, 360, 121, 90, 838, 1097, 1412,
1382 1413, 8, 9, 1491, -337, 621, 15, 16, 380, 57,
1383 1421, 1169, 442, 443, 749, 193, 91, 761, 1094, 228,
1384 1504, 90, 204, 1475, 1143, 1096, 914, 358, 894, -276,
1385 -276, -269, 639, 599, 284, 471, 639, 401, -337, 1515,
1386 913, 91, -337, 455, 1098, -269, 412, 136, 205, 173,
1387 732, 1157, 732, -588, 129, 130, 1422, 402, 732, 732,
1388 750, 642, 1532, 1145, 1146, 1147, 639, -583, 718, 1476,
1389 450, 451, 639, 278, 196, -337, 15, 16, 233, 972,
1390 412, 1099, -7, 960, 961, 205, 550, 551, 832, 834,
1391 762, 644, 989, 410, 995, 996, 997, 413, 644, -588,
1392 -588, 58, 426, 58, 276, 1332, 1333, 726, 425, 193,
1393 58, 482, 639, 8, 9, -588, 726, 707, 642, 329,
1394 329, 329, 641, 642, 483, 205, 126, 1236, 733, 641,
1395 733, 442, 1402, 1157, 1004, 1005, 1006, 733, 8, 9,
1396 639, 1038, 1204, 1206, 971, 981, 205, 1210, 1211, 954,
1397 484, 1443, 639, -278, 493, 734, 90, 734, 502, 1120,
1398 1121, 1122, 450, 1403, 734, 485, 129, 130, 509, 510,
1399 1464, -102, 503, 15, 16, 504, 91, 442, 1407, 129,
1400 130, 94, 95, 96, 525, 767, 639, 505, 639, 1032,
1401 480, 129, 130, 237, -100, 955, 15, 16, 644, -278,
1402 -278, 506, 566, 480, 610, -102, 612, 613, 615, -102,
1403 205, 628, 15, 16, 616, -272, 767, -386, 7, 8,
1404 231, 10, 642, 126, 127, 469, 682, -6, -100, 641,
1405 1035, 617, -100, 27, 151, 97, 98, 99, 71, 655,
1406 71, 88, -102, 241, 1301, -386, -386, 71, 658, 1308,
1407 -386, 94, 109, 110, 676, 644, 642, 22, 767, 329,
1408 644, 89, 642, 516, 232, -100, 633, 639, 695, 57,
1409 699, 57, 28, 29, 151, 88, 129, 130, 57, 90,
1410 237, 741, 744, 1337, 745, 879, 641, 1338, 746, 753,
1411 639, 641, 126, 127, 754, 89, 233, 896, 771, 91,
1412 412, 412, 682, 234, 33, 111, 112, 113, 547, 548,
1413 549, 550, 551, 773, 732, 774, 767, 396, 399, 361,
1414 362, 363, 665, 329, 776, 1133, 115, 116, 117, 412,
1415 642, 1135, 1136, 128, 825, 1133, 1138, 824, 39, 1136,
1416 396, 399, 642, 27, 839, 129, 130, 762, 841, 115,
1417 708, 709, 281, 369, 370, 10, 843, 864, 1170, 644,
1418 1118, 832, 834, 644, 865, 58, 874, 126, 127, 875,
1419 39, 726, 477, 364, 365, 39, 642, 711, 642, 877,
1420 118, 119, 21, -272, 883, 237, 150, 884, 902, 897,
1421 641, 22, 733, 644, 641, 415, 920, 1078, 1079, 644,
1422 921, 27, 153, 118, 119, 922, 28, 299, 928, 7,
1423 126, 127, 10, -787, 943, 126, 127, 950, 27, 734,
1424 129, 130, 509, 510, 641, 938, 942, 151, 151, 151,
1425 641, 945, 645, 948, 816, 1445, 697, 990, 33, 644,
1426 1008, 1009, 153, 1010, 817, 1011, 1012, 705, 22, 1013,
1427 151, 151, 151, 1014, 1015, 232, 914, 642, 818, 1016,
1428 1017, 481, 1019, 28, 29, 732, 27, 644, 129, 130,
1429 641, 1022, 412, 412, 1018, 412, 412, 1021, 412, 644,
1430 682, 1023, 816, 199, 200, 1024, 1025, 233, 1037, 14,
1431 1026, 762, 817, 1040, 1027, 33, 126, 127, 641, 397,
1432 400, 1039, 71, 594, 8, 9, 818, 1390, 1041, 1047,
1433 641, 1048, 21, 644, 1067, 644, 58, 516, 1049, 1400,
1434 1055, 24, 726, 94, 109, 110, 621, 618, 619, 620,
1435 1057, 150, 1058, 57, 879, 7, 8, 9, 10, 289,
1436 595, 1060, 22, 733, 641, 1070, 641, 27, 1521, 129,
1437 130, 15, 16, 1073, 1092, 27, -386, 129, 130, 1134,
1438 1110, 1117, 412, 412, 1139, 1245, 1246, 1247, 1248, 1144,
1439 734, 1148, 1249, 1289, 22, 1390, 1284, 111, 112, 1283,
1440 1153, 232, 1154, 767, -386, -386, 1310, 1311, 1158, 28,
1441 29, 1155, 1185, 1186, 644, 153, 153, 153, 1167, 1156,
1442 1162, 1163, 521, 1171, 639, 7, 126, 127, 10, 1181,
1443 422, 13, 1468, 233, 1390, 1185, 1186, 644, 153, 153,
1444 153, 33, 1172, 1173, 1174, 641, 1177, 1288, 196, 204,
1445 667, 1440, 486, 1359, 1178, 1359, 1184, 1189, 1203, 1213,
1446 1214, 396, 399, 1217, 22, 1390, 1221, 1243, 641, 412,
1447 412, 412, 239, 71, 1244, 1251, 1252, 27, 1289, 28,
1448 29, 518, 1256, 193, 1283, 1289, 1257, 1258, 1284, 1259,
1449 1195, 1283, 1289, 31, 1299, 1284, 239, 1323, 1283, 7,
1450 8, 9, 10, 32, 57, 94, 109, 110, 1324, 1325,
1451 1349, 33, 126, 127, 1327, 1326, 34, 477, 1329, 1346,
1452 1336, 946, 673, 1345, 1347, 239, 1355, 1357, 1370, 680,
1453 71, 151, 1288, 1392, 239, 412, 412, 452, 22, 1288,
1454 1393, 1397, 1399, 509, 510, 1401, 1288, 1414, 1416, 1419,
1455 1426, 27, 205, 28, 29, 991, 1438, 176, 1454, 111,
1456 112, 57, 944, 27, 1455, 129, 130, 177, 1482, 1466,
1457 1486, 151, 151, 151, 1467, 1469, 1493, 178, 1500, 487,
1458 239, 1503, 1398, 1506, 1507, 33, 1512, 1289, 1433, 488,
1459 179, 1289, 759, 1283, 1284, 1509, 1517, 1283, 126, 127,
1460 1456, 329, 1522, 993, 1524, 1530, 1529, 1534, 998, 397,
1461 400, 1525, 1535, 239, 642, 71, 1, 1433, 660, 5,
1462 1289, 627, 71, 1284, 784, 1431, 1283, 126, 127, 71,
1463 1480, 1289, 13, 1442, 1284, 1075, 239, 1283, 516, 408,
1464 412, 1288, 409, 982, 1289, 1288, 57, 1284, 1190, 27,
1465 1283, 129, 130, 57, 1431, 958, 805, 339, 807, 808,
1466 57, 361, 362, 363, 389, 487, 1424, 518, 1531, 1262,
1467 518, 575, 1362, 1433, 1288, 488, 1289, 492, 27, 1284,
1468 129, 130, 1283, 1069, 919, 1288, 397, 772, 1068, 464,
1469 1215, 1123, 858, 1141, 576, 867, 205, 959, 1288, 153,
1470 518, 1238, 984, 1050, 577, 1051, 1066, 572, 1492, 811,
1471 1431, 445, 367, 27, 578, 364, 365, 579, 580, 1368,
1472 1298, 1465, 1488, 1289, 71, 278, 1284, 239, 71, 1283,
1473 1288, 1511, 1510, 1459, 1109, 1300, 693, 694, 1513, 153,
1474 153, 153, 79, 115, 708, 709, 784, 710, 0, 0,
1475 0, 644, 103, 1351, 278, 57, 276, 71, 854, 57,
1476 94, 95, 96, 132, 94, 109, 110, 472, 71, 141,
1477 141, 711, 141, 0, 79, 1126, 1127, 1288, 712, 79,
1478 0, 71, 641, 0, 239, 276, 0, 0, 57, 0,
1479 0, 552, 187, 0, 79, 27, 0, 118, 119, 57,
1480 0, 0, 220, 22, 1140, 0, 1386, 0, 0, 103,
1481 278, 0, 57, 71, 97, 98, 0, 0, 111, 112,
1482 243, 103, 0, 0, 115, 708, 709, 672, 0, 0,
1483 553, 554, 0, 0, 672, 555, 556, 557, 558, 0,
1484 0, 276, 0, 103, 57, 0, 0, 0, 0, 281,
1485 8, 9, 10, 94, 95, 96, 239, 209, 210, 211,
1486 71, 1149, 0, 1151, 0, 0, 132, 0, 0, 0,
1487 0, 132, 0, 79, 0, 0, 0, 141, 118, 119,
1488 391, 141, 239, 0, 141, 141, 141, 212, 22, 0,
1489 0, 57, 0, 0, 0, 232, 0, 672, 79, 198,
1490 199, 200, 0, 28, 299, 27, 14, 97, 98, 213,
1491 0, 0, 0, 1031, 1176, 187, 187, 187, 0, 0,
1492 0, 0, 0, 0, 19, 0, 1042, 233, 1043, 21,
1493 1044, 0, 0, 854, 0, 33, 0, 0, 24, 0,
1494 -544, 0, 0, -544, 187, 0, 0, 1224, 1225, 0,
1495 1234, 1235, 0, 1237, 0, 214, 215, 216, 0, 463,
1496 0, 672, 0, 672, 672, 0, 239, 103, 0, 0,
1497 0, 0, 0, 1072, 198, 199, 200, 0, 141, 843,
1498 0, 14, 239, 0, 0, 1216, 0, 0, 0, 1220,
1499 672, -544, 0, -544, -544, 0, -544, 672, 0, 19,
1500 0, 0, 0, 0, 21, 0, 0, -544, 1090, -544,
1501 0, 0, 0, 24, 0, 0, 103, 489, 0, 0,
1502 0, 0, 397, 772, 0, -544, -544, 0, 649, -544,
1503 281, 8, 9, 10, 0, 0, 1253, 1304, 1305, 0,
1504 0, -544, 545, 546, 547, 548, 549, 550, 551, 0,
1505 721, 0, 7, 8, 722, 10, 382, 12, 13, 150,
1506 103, 0, 0, 14, 573, 0, 489, 489, 589, 22,
1507 0, 0, 0, 0, 0, 0, 232, 79, 17, 0,
1508 18, 19, 20, 0, 28, 299, 21, -492, 0, 0,
1509 0, 22, 132, 0, 0, 24, 723, 0, 632, 1107,
1510 0, 0, 1319, 1320, 27, 0, 28, 29, 480, 0,
1511 724, 0, 725, 132, 0, 1328, 33, 0, 0, 103,
1512 31, 0, 187, 103, 1377, 1378, 1379, 198, 199, 200,
1513 32, 0, 0, 141, 14, 0, 141, 0, 33, 0,
1514 0, 141, 0, 34, 0, 0, 0, 154, 968, 969,
1515 9, 10, 19, 433, 435, 439, 0, 21, 0, 0,
1516 -492, 0, 0, 1373, 1374, 672, 24, 188, 0, 0,
1517 187, 0, 187, 0, 187, 187, 187, 0, 0, 0,
1518 187, 862, 1383, 1384, 0, 187, 0, 22, 187, 0,
1519 1410, 1411, 0, 1191, 0, 1192, 0, 1193, 0, 0,
1520 27, 0, 28, 29, 79, 0, 0, 0, 970, 0,
1521 281, 369, 370, 10, 0, 0, 177, 0, 672, 0,
1522 0, 0, 0, 0, 0, 0, 178, 0, 0, 0,
1523 0, 672, 0, 672, 33, 672, 0, 0, 0, 179,
1524 0, 103, 103, 103, 103, 453, 199, 200, 239, 22,
1525 239, 0, 14, 397, 400, 0, 232, 0, 0, 154,
1526 154, 154, 0, 0, 28, 299, 7, 8, 9, 10,
1527 19, 0, 13, 0, 0, 21, 397, 1202, 672, 0,
1528 0, 1255, 0, 0, 24, 239, 0, -278, 0, 0,
1529 188, 188, 440, 0, 0, 1498, 33, 126, 127, 103,
1530 0, 489, -278, -278, 0, 22, 0, -278, 0, 0,
1531 0, 575, 573, 672, 489, 489, 0, 589, 27, 188,
1532 28, 29, 0, -278, 855, 0, 0, 0, 857, 0,
1533 0, 672, 0, 0, 885, -278, -278, 0, -278, 0,
1534 -278, 575, 187, 0, 886, 0, 0, 0, 27, 0,
1535 129, 130, 33, 0, 578, 0, 0, 887, 580, 0,
1536 0, 0, 0, 0, 576, 0, 0, 0, 0, -278,
1537 -278, 0, 239, -278, 577, 0, 0, 187, 892, 187,
1538 187, 220, 589, 0, 578, -278, 0, 579, 580, 0,
1539 0, 0, 490, 0, 8, 9, 0, 382, 12, 13,
1540 0, 0, 678, 0, 14, 0, 0, 0, 691, 0,
1541 692, 0, 433, 435, 439, 0, 0, 0, 0, 17,
1542 187, 18, 19, 702, 892, 0, 0, 21, 0, 0,
1543 0, 187, 187, 0, 187, 0, 24, 281, 8, 9,
1544 10, 583, 583, 583, 0, 27, 0, 129, 130, 0,
1545 0, 0, 239, 0, 0, 567, 0, 281, 369, 370,
1546 10, 132, 568, 0, 79, 0, 79, 0, 0, 0,
1547 0, 979, 79, 79, 0, 0, 22, 239, 0, 0,
1548 0, 103, 0, 232, 0, 0, 103, 0, 679, 0,
1549 0, 28, 299, 489, 489, 489, 22, 188, 672, 0,
1550 672, 0, 672, 232, 0, 489, 0, 0, 0, 27,
1551 0, 28, 299, 7, 8, 9, 10, 0, 0, 227,
1552 0, 0, 0, 33, 0, 0, 0, 0, 0, 0,
1553 239, 0, 0, 0, 0, 0, 1107, 0, 0, 0,
1554 0, 0, 0, 569, 0, 188, 0, 188, 103, 440,
1555 440, 440, 22, 0, 0, 188, 0, 0, 575, 0,
1556 188, 0, 0, 188, 0, 27, 0, 28, 29, 0,
1557 489, 0, 489, 0, 0, 1394, 0, 397, 1202, 103,
1558 0, 885, 0, 489, 0, 103, 672, 855, 855, 855,
1559 0, 886, 0, 0, 1059, 0, 0, 0, 0, 33,
1560 0, 578, 0, 0, 887, 580, 539, 540, 541, 542,
1561 543, 544, 545, 546, 547, 548, 549, 550, 551, 103,
1562 0, 103, 0, 187, 187, 1084, 1395, 530, 531, 532,
1563 533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
1564 543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
1565 0, 0, 0, 0, 82, 0, 7, 8, 9, 10,
1566 0, 0, 13, 0, 105, 1084, 0, 0, 0, 691,
1567 692, 0, 702, 0, 125, 133, 819, 0, 0, 103,
1568 0, 142, 142, 0, 142, 0, 82, 0, 0, 583,
1569 583, 82, 583, 103, 0, 22, 0, 0, 0, 583,
1570 0, 575, 0, 0, 142, 103, 82, 0, 27, 977,
1571 28, 29, 0, 0, 221, 0, 0, 188, 1137, 0,
1572 0, 229, 0, 0, 1080, 94, 109, 110, 79, 209,
1573 210, 211, 0, 229, 1081, 0, 0, 0, 0, 103,
1574 0, 103, 33, 0, 578, 0, 0, 1082, 580, 0,
1575 0, 0, 889, 0, 889, 889, 0, 583, 0, 212,
1576 0, 0, 0, 0, 0, 0, 0, 0, 672, 0,
1577 0, 489, 489, 0, 489, 0, 0, 0, 375, 111,
1578 112, 0, 0, 0, 0, 82, 0, 0, 0, 142,
1579 0, 0, 0, 142, 0, 889, 142, 142, 142, 0,
1580 0, 0, 0, 0, 0, 0, 188, 188, 0, 188,
1581 82, 0, 0, 0, 0, 0, 187, 187, 187, 187,
1582 1084, 0, 0, 0, 187, 0, 0, 142, 142, 142,
1583 543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
1584 0, 1084, 1084, 1084, 0, 0, 188, 0, 0, 0,
1585 0, 0, 0, 126, 127, 0, 142, 0, 227, 0,
1586 0, 433, 435, 439, 0, 0, 0, 0, 490, 490,
1587 490, 0, 187, 0, 0, 0, 0, 141, 0, 79,
1588 583, 0, 7, 8, 9, 10, 382, 12, 13, 0,
1589 142, 678, 0, 14, 0, 0, 0, 575, 0, 0,
1590 0, 0, 0, 439, 27, 0, 129, 130, 17, 0,
1591 18, 19, 0, 0, 0, 0, 21, 0, 0, 0,
1592 576, 22, 0, 187, 187, 24, 187, 575, 229, 142,
1593 577, 0, 0, 0, 27, 0, 28, 29, 0, 0,
1594 578, 0, 0, 579, 580, 583, 103, 583, 0, 0,
1595 1080, 7, 8, 9, 10, 0, 0, 477, 583, 0,
1596 1081, 0, 583, 583, 583, 0, 0, 0, 33, 0,
1597 578, 0, 229, 1082, 580, 0, 574, 679, 142, 142,
1598 590, 0, 0, 0, 0, 598, 0, 0, 0, 82,
1599 22, 0, 0, 0, 0, 0, 575, 0, 889, 889,
1600 1085, 0, 0, 27, 375, 28, 29, 540, 541, 542,
1601 543, 544, 545, 546, 547, 548, 549, 550, 551, 885,
1602 0, 7, 8, 9, 10, 187, 892, 187, 0, 886,
1603 0, 229, 0, 0, 142, 229, 0, 33, 0, 578,
1604 1085, 0, 887, 580, 240, 142, 0, 0, 142, 0,
1605 0, 0, 0, 142, 691, 692, 433, 435, 439, 0,
1606 22, 0, 702, 0, 0, 0, 575, 0, 0, 0,
1607 0, 0, 0, 27, 0, 28, 29, 0, 0, 433,
1608 435, 439, 142, 0, 142, 0, 142, 142, 142, 885,
1609 0, 0, 142, 0, 0, 0, 0, 142, 0, 886,
1610 142, 0, 1084, 0, 0, 0, 0, 33, 0, 578,
1611 1232, 0, 887, 580, 0, 720, 82, 403, 0, 281,
1612 126, 127, 10, 537, 538, 539, 540, 541, 542, 543,
1613 544, 545, 546, 547, 548, 549, 550, 551, 431, 0,
1614 0, 0, 1084, 1084, 1084, 0, 819, 819, 0, 819,
1615 0, 447, 0, 229, 229, 229, 229, 103, 22, 0,
1616 0, 691, 692, 0, 702, 232, 0, 0, 0, 0,
1617 0, 0, 187, 28, 299, 0, 0, 0, 0, 8,
1618 9, 0, 382, 12, 13, 0, 0, 678, 0, 14,
1619 0, 889, 889, 1085, 1085, 1085, 0, 0, 0, 889,
1620 0, 0, 0, 0, 17, 33, 18, 19, 0, 0,
1621 0, 229, 21, 142, 0, 0, 1085, 1085, 1085, 0,
1622 0, 24, 0, 575, 0, 0, 142, 142, 0, 590,
1623 27, 0, 129, 130, 0, 0, 856, 0, 0, 0,
1624 0, 584, 588, 591, 0, 0, 576, 188, 598, 0,
1625 0, 0, 0, 0, 142, 0, 577, 0, 0, 0,
1626 0, 0, 0, 0, 0, 0, 578, 0, 0, 579,
1627 580, 0, 721, 679, 7, 8, 722, 10, 382, 12,
1628 13, 125, 0, 0, 0, 14, 0, 0, 0, 142,
1629 590, 142, 142, 221, 590, 0, 0, 0, 889, 889,
1630 17, 889, 18, 19, 0, 0, 0, 0, 21, 0,
1631 0, 0, 720, 22, 0, 0, 0, 24, 723, 0,
1632 632, 0, 0, 0, 0, 0, 27, 0, 28, 29,
1633 0, 0, 142, 0, 725, 0, 590, 0, 0, 0,
1634 439, 0, 31, 142, 142, 0, 142, 0, 0, 0,
1635 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
1636 33, 0, 8, 9, 0, 34, 12, 13, 0, 0,
1637 0, 0, 14, 133, 0, 0, 82, 0, 82, 0,
1638 433, 435, 439, 980, 82, 82, 0, 17, 0, 18,
1639 0, 0, 0, 229, 0, 21, 0, 0, 229, 0,
1640 188, 0, 188, 696, 24, 142, 142, 142, 701, 0,
1641 0, 0, 0, 27, 0, 129, 130, 142, 0, 0,
1642 0, 8, 9, 0, 0, 12, 227, 0, 0, 0,
1643 0, 14, 0, 742, 0, 0, 186, 0, 747, 0,
1644 0, 0, 0, 0, 0, 0, 17, 0, 18, 0,
1645 755, 756, 810, 757, 21, 0, 0, 0, 0, 0,
1646 229, 238, 0, 24, 242, 575, 0, 0, 0, 0,
1647 0, 0, 27, 0, 129, 130, 0, 440, 0, 0,
1648 0, 0, 142, 0, 142, 238, 0, 344, 576, 833,
1649 835, 229, 0, 0, 0, 142, 0, 229, 577, 856,
1650 856, 856, 0, 0, 0, 0, 598, 0, 578, 0,
1651 0, 579, 580, 0, 0, 0, 0, 440, 440, 440,
1652 0, 50, 0, 0, 7, 126, 127, 10, 0, 0,
1653 227, 229, 0, 229, 0, 142, 142, 590, 0, 0,
1654 0, 0, 0, 0, 0, 844, 845, 188, 50, 50,
1655 844, 149, 890, 50, 584, 588, 0, 591, 50, 186,
1656 186, 186, 0, 22, 0, 0, 0, 0, 0, 446,
1657 0, 50, 0, 50, 0, 0, 27, 856, 28, 29,
1658 0, 0, 0, 0, 0, 0, 0, 0, 186, 0,
1659 0, 229, 31, 0, 0, 588, 235, 0, 0, 0,
1660 0, 0, 32, 720, 0, 229, 0, 0, 0, 0,
1661 33, 242, 0, 0, 0, 34, 0, 229, 0, 0,
1662 0, 0, 0, 0, 0, 238, 0, 0, 0, 0,
1663 0, 6, 0, 7, 8, 9, 10, 11, 12, 13,
1664 82, 0, 0, 0, 14, 372, 0, 0, 0, 372,
1665 372, 229, 50, 229, 0, 0, 50, 0, 235, 17,
1666 50, 18, 19, 149, 149, 149, 0, 21, 0, 0,
1667 0, 0, 22, 0, 0, 0, 24, 50, 0, 407,
1668 588, 0, 0, 142, 142, 27, 142, 28, 29, 0,
1669 0, 30, 0, 0, 50, 50, 149, 0, 0, 0,
1670 0, 31, 0, 0, 235, 0, 0, 0, 0, 0,
1671 0, 32, 1000, 0, 1002, 0, 238, 242, 0, 33,
1672 126, 127, 0, 50, 34, 477, 0, 0, 142, 142,
1673 142, 142, 590, 0, 0, 0, 142, 0, 0, 0,
1674 0, 0, 720, 0, 0, 1045, 0, 1046, 0, 0,
1675 0, 0, 0, 856, 856, 856, 0, 50, 1052, 0,
1676 0, 0, 833, 835, 575, 0, 186, 0, 0, 0,
1677 720, 27, 0, 129, 130, 0, 0, 0, 0, 1033,
1678 1034, 0, 1036, 0, 142, 0, 0, 576, 0, 142,
1679 0, 82, 0, 0, 0, 0, 0, 577, 833, 835,
1680 0, 0, 0, 0, 0, 0, 0, 578, 0, 1053,
1681 579, 580, 0, 0, 186, 0, 186, 0, 186, 186,
1682 186, 0, 0, 0, 186, 0, 517, 0, 0, 186,
1683 0, 0, 186, 0, 0, 142, 142, 0, 142, 0,
1684 0, 0, 0, 372, 0, 8, 9, 0, 0, 12,
1685 13, 235, 1086, 0, 0, 14, 50, 0, 229, 0,
1686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1687 17, 372, 18, 0, 0, 0, 0, 0, 21, 7,
1688 8, 9, 10, 382, 12, 13, 0, 24, 933, 0,
1689 14, 0, 372, 0, 0, 0, 27, 0, 129, 130,
1690 559, 50, 0, 0, 0, 17, 0, 18, 19, 0,
1691 0, 0, 50, 21, 0, 50, 0, 1124, 22, 0,
1692 50, 0, 24, 0, 0, 0, 0, 0, 0, 1128,
1693 0, 27, 0, 28, 29, 560, 0, 142, 590, 142,
1694 0, 0, 0, 0, 0, 0, 0, 31, 0, 50,
1695 77, 50, 0, 149, 149, 149, 0, 32, 0, 50,
1696 0, 0, 0, 0, 50, 33, 0, 50, 0, 0,
1697 34, 238, 242, 0, 0, 0, 0, 77, 77, 0,
1698 77, 0, 77, 50, 0, 0, 186, 77, 0, 0,
1699 0, 1045, 1046, 833, 835, 0, 0, 0, 0, 1052,
1700 77, 0, 77, 0, 0, 1226, 1227, 9, 10, 0,
1701 0, 1175, 517, 0, 856, 517, 833, 835, 0, 0,
1702 0, 186, 0, 186, 186, 0, 0, 0, 0, 0,
1703 517, 517, 517, 0, 0, 0, 0, 0, 0, 0,
1704 0, 0, 0, 0, 22, 517, 0, 0, 1188, 0,
1705 0, 0, 0, 0, 856, 856, 856, 27, 0, 28,
1706 29, 0, 0, 0, 186, 1228, 0, 0, 0, 229,
1707 0, 0, 0, 177, 0, 186, 186, 0, 186, 0,
1708 0, 77, 0, 178, 142, 77, 0, 0, 0, 77,
1709 235, 33, 77, 77, 77, 0, 179, 0, 1045, 1046,
1710 0, 1052, 242, 517, 0, 0, 77, 1241, 0, 0,
1711 0, 1242, 0, 0, 0, 186, 0, 0, 0, 0,
1712 0, 50, 0, 77, 77, 77, 0, 0, 8, 9,
1713 0, 0, 12, 227, 0, 0, 0, 0, 14, 0,
1714 1254, 126, 127, 0, 0, 199, 200, 0, 0, 0,
1715 0, 14, 77, 17, 0, 18, 50, 50, 50, 50,
1716 0, 21, 7, 8, 9, 10, 189, 12, 190, 0,
1717 24, 0, 0, 14, 21, 0, 0, 0, 0, 27,
1718 1302, 129, 130, 24, 1303, 575, 77, 0, 17, 0,
1719 18, 19, 27, 0, 129, 130, 21, 0, 0, 50,
1720 0, 22, 0, 50, 0, 24, 1321, 1322, 576, 0,
1721 50, 50, 0, 50, 27, 0, 28, 29, 577, 0,
1722 191, 0, 0, 0, 0, 0, 0, 0, 578, 0,
1723 31, 586, 580, 0, 0, 0, 0, 238, 242, 238,
1724 32, 0, 0, 50, 0, 50, 0, 0, 33, 0,
1725 50, 50, 50, 34, 0, 0, 0, 0, 0, 7,
1726 8, 9, 10, 198, 199, 200, 0, 186, 186, 1083,
1727 14, 319, 0, 319, 238, 319, 0, 0, 517, 0,
1728 0, 597, 0, 0, 0, 77, 0, 0, 19, 0,
1729 0, 0, 0, 21, 0, 0, 0, 0, 22, 0,
1730 0, 0, 24, 0, 575, 0, 0, 0, 0, 1083,
1731 0, 27, 0, 28, 29, 0, 0, 0, 0, 0,
1732 319, 0, 319, 0, 0, 0, 0, 885, 0, 0,
1733 77, 0, 0, 0, 0, 0, 0, 886, 0, 0,
1734 0, 77, 0, 0, 77, 33, 0, 578, 0, 77,
1735 887, 580, 0, 0, 0, 0, 7, 126, 127, 10,
1736 0, 446, 13, 348, 350, 0, 517, 517, 517, 0,
1737 0, 0, 235, 0, 0, 0, 0, 0, 77, 0,
1738 77, 0, 77, 77, 77, 0, 0, 0, 77, 0,
1739 0, 0, 0, 77, 0, 22, 77, 0, 0, 0,
1740 0, 0, 50, 50, 149, 0, 0, 0, 27, 235,
1741 28, 29, 77, 0, 0, 0, 0, 0, 0, 0,
1742 0, 0, 0, 0, 146, 0, 0, 0, 0, 0,
1743 0, 0, 0, 0, 147, 0, 0, 0, 0, 0,
1744 0, 238, 33, 0, 1106, 0, 0, 148, 0, 0,
1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1746 186, 186, 186, 186, 1083, 0, 1187, 721, 186, 7,
1747 8, 722, 10, 382, 12, 13, 0, 0, 0, 0,
1748 14, 0, 0, 0, 507, 1083, 1083, 1083, 0, 0,
1749 0, 0, 0, 0, 0, 17, 235, 18, 19, 20,
1750 0, 0, 0, 21, -493, 0, 0, 50, 22, 0,
1751 0, 0, 24, 723, 0, 632, 186, 0, 0, 0,
1752 597, 27, 319, 28, 29, 0, 0, 724, 0, 725,
1753 0, 0, 0, 0, 0, 0, 0, 31, 8, 9,
1754 0, 0, 12, 13, 0, 0, 0, 32, 14, 0,
1755 77, 0, 0, 0, 0, 33, 0, 0, 0, 0,
1756 34, 0, 0, 17, 0, 18, 520, 186, 186, 0,
1757 186, 21, 0, 0, 0, 0, 235, -493, 0, 0,
1758 24, 0, 0, 0, 0, 77, 77, 77, 77, 27,
1759 0, 129, 130, 0, 0, 50, 50, 149, 149, 149,
1760 0, 235, 0, 50, 0, 0, 670, 674, 126, 127,
1761 0, 0, 199, 200, 674, 0, 0, 0, 14, 0,
1762 1106, 1106, 1106, 0, 0, 0, 0, 0, 77, 0,
1763 0, 0, 77, 0, 0, 0, 0, 0, 638, 77,
1764 77, 21, 77, 0, 0, 0, 0, 0, 0, 0,
1765 24, 50, 575, 0, 0, 0, 50, 0, 50, 27,
1766 0, 129, 130, 0, 0, 0, 0, 0, 0, 186,
1767 0, 186, 77, 0, 77, 576, 319, 674, 0, 77,
1768 77, 77, 0, 0, 0, 577, 0, 681, 0, 0,
1769 0, 0, 0, 0, 0, 578, 0, 0, 579, 580,
1770 0, 0, 50, 50, 0, 50, 0, 0, 0, 319,
1771 0, 670, 0, 0, 781, 782, 0, 786, 787, 788,
1772 789, 790, 791, 792, 793, 794, 795, 796, 797, 798,
1773 799, 800, 801, 802, 803, 804, 0, 0, 0, 0,
1774 0, 674, 0, 674, 674, 0, 1083, 0, 0, 0,
1775 0, 0, 760, 0, 0, 763, 0, 0, 0, 765,
1776 766, 768, 769, 770, 0, 0, 0, 0, 0, 0,
1777 674, 0, 520, 0, 0, 0, 0, 674, 0, 0,
1778 0, 0, 0, 0, 0, 780, 1083, 1083, 1083, 0,
1779 0, 0, 0, 0, 0, 0, 0, 869, 871, 0,
1780 0, 0, 597, 0, 50, 50, 50, 0, 0, 0,
1781 0, 0, 0, 0, 0, 0, 186, 809, 0, 0,
1782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1783 0, 77, 77, 77, 0, 0, 836, 0, 0, 0,
1784 0, 0, 0, 836, 0, 0, -358, 8, 9, -358,
1785 -358, 12, 227, 670, 0, 0, 0, 14, 0, 0,
1786 75, 0, 0, 7, 8, 9, 10, 0, 0, 13,
1787 0, 0, 17, 1108, 18, -358, 0, 0, 0, 0,
1788 21, 1106, 0, 0, 0, -358, 0, 140, 144, 24,
1789 0, 575, 75, 0, 0, 0, 0, 75, 27, 0,
1790 129, 130, 22, 0, 0, 0, 0, 0, 0, 956,
1791 0, 0, 197, 0, 576, 27, 0, 28, 29, 0,
1792 0, 1106, 1106, 1106, 577, 0, 0, 0, 319, 319,
1793 319, 177, -358, 0, 578, 0, 77, 579, 580, 0,
1794 0, 178, 0, 638, 0, 674, 0, 0, 0, 33,
1795 0, 50, 0, 0, 179, 0, 0, 0, 0, 0,
1796 0, 0, 0, 0, 0, 0, 0, 0, 7, 126,
1797 127, 10, 0, 0, 477, 536, 537, 538, 539, 540,
1798 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
1799 551, 387, 0, 0, 0, 390, 0, 670, 674, 392,
1800 681, 0, 0, 0, 0, 681, 0, 22, 0, 0,
1801 0, 674, 0, 674, 0, 674, 75, 581, 581, 581,
1802 27, 0, 28, 29, 77, 77, 77, 77, 77, 0,
1803 0, 0, 77, 140, 144, 0, 31, 8, 9, 0,
1804 382, 12, 13, 0, 0, 1444, 32, 14, 1065, 1108,
1805 1108, 1108, 0, 0, 33, 0, 0, 0, 674, 34,
1806 0, 0, 17, 0, 18, 19, 0, 1028, 319, 0,
1807 21, 7, 8, 9, 10, 198, 199, 200, 0, 24,
1808 77, 1087, 14, 0, 0, 77, 0, 77, 27, 0,
1809 129, 130, 0, 674, 0, 0, 478, 0, 780, 0,
1810 19, 0, 0, 0, 681, 21, 0, 0, 836, 0,
1811 22, 674, 0, 0, 24, 0, 575, 0, 0, 0,
1812 0, 0, 0, 27, 0, 28, 29, 0, 0, 0,
1813 0, 77, 77, 0, 77, 0, 0, 0, 638, 885,
1814 1076, 0, 0, 0, 836, 0, 0, 0, 0, 886,
1815 0, 0, 0, 0, 1132, 0, 0, 33, 0, 578,
1816 0, 0, 927, 580, 0, 0, 0, 0, 0, 0,
1817 0, 7, 8, 9, 10, 0, 670, 227, 0, 0,
1818 0, 0, 0, 0, 836, 0, 0, 0, 0, 8,
1819 9, 0, 189, 12, 190, 606, 0, 0, 1112, 14,
1820 0, 0, 0, 670, 0, 1119, 1159, 0, 0, 0,
1821 22, 0, 681, 0, 17, 0, 18, 19, 0, 0,
1822 0, 0, 21, 27, 681, 28, 29, 0, 0, 0,
1823 0, 24, 0, 77, 77, 77, 0, 0, 0, 177,
1824 27, 0, 129, 130, 0, 0, 0, 0, 0, 178,
1825 0, 653, 0, 0, 654, 0, 0, 33, 681, 656,
1826 681, 0, 179, 0, 0, 581, 581, 0, 581, 0,
1827 0, 0, 0, 0, 0, 853, 0, 0, 674, 0,
1828 674, 0, 674, 0, 0, 670, 0, 0, 390, 0,
1829 392, 0, 0, 0, 670, 670, 0, 0, 0, 670,
1830 670, 0, 0, 478, 0, 0, 0, 101, 0, 0,
1831 1108, 0, 0, 0, 1222, 1223, 0, 120, 101, 0,
1832 0, 0, 738, 0, 101, 101, 0, 101, 581, 0,
1833 581, 581, 0, 581, 0, 0, 0, 0, 0, 836,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 1108, 1108, 1108, 0, 0, 0, 0, 219, 0, 0,
1836 0, 0, 836, 0, 0, 0, 674, 0, 0, 0,
1837 0, 581, 0, 0, 0, 7, 8, 9, 10, 0,
1838 77, 13, 0, 0, 530, 531, 532, 533, 534, 535,
1839 536, 537, 538, 539, 540, 541, 670, 543, 544, 545,
1840 546, 547, 548, 549, 550, 551, 0, 0, 0, 0,
1841 0, 0, 1309, 0, 22, 0, 120, 0, 120, 0,
1842 0, 101, 0, 0, 0, 101, 101, 27, 0, 28,
1843 29, 0, 101, 0, 101, 101, 101, 0, 0, 101,
1844 101, 101, 0, 436, 0, 0, 0, 0, 0, 0,
1845 0, 0, 0, 437, 0, 0, 581, 0, 1344, 0,
1846 0, 33, 0, 0, 0, 1112, 438, 0, 0, 0,
1847 0, 6, 0, 7, 8, 9, 10, 11, 12, 13,
1848 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
1849 0, 1375, 1376, 0, 0, 0, 891, 15, 16, 17,
1850 1381, 18, 19, 20, 0, 0, 0, 21, 0, 0,
1851 0, 0, 22, 461, 101, 23, 24, 25, 0, 26,
1852 0, 581, 0, 581, 0, 27, 0, 28, 29, 0,
1853 0, 30, 0, 101, 581, 0, 0, 0, 853, 853,
1854 853, 31, 934, 0, 0, 0, 0, 0, 674, 653,
1855 654, 32, 656, 0, 0, 0, 0, 0, 0, 33,
1856 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
1857 35, 0, 101, 0, 581, 581, 581, 0, 1435, 0,
1858 0, 0, 738, 0, 738, 0, 0, 0, 0, 978,
1859 985, 738, 0, 0, 0, 0, 0, 0, 0, 783,
1860 0, 281, 8, 9, 10, 382, 12, 282, 283, 284,
1861 0, 285, 14, 0, 0, 0, 853, 0, 0, 101,
1862 0, 101, 101, 0, 0, 0, 0, 17, 286, 18,
1863 19, 20, 0, 287, 288, 21, 0, 289, 290, 291,
1864 22, 292, 293, 0, 24, 0, 0, 101, 294, 295,
1865 296, 297, 298, 27, 0, 28, 299, 1427, 0, -745,
1866 300, 0, 0, 520, 0, 0, 301, 0, 101, 302,
1867 8, 9, 0, 382, 12, 13, 638, 303, 304, 305,
1868 14, 0, 0, 0, 101, 306, 307, 308, 101, 0,
1869 0, 101, 309, 0, 0, 17, 101, 18, 19, 0,
1870 670, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1871 310, 0, 631, 0, 0, 632, 0, 0, 0, 0,
1872 0, 27, 0, 129, 130, 538, 539, 540, 541, 542,
1873 543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
1874 0, 140, 144, 0, 0, 0, 0, 0, 0, 0,
1875 0, 0, 0, 0, 0, 0, 101, 0, 713, 0,
1876 0, 0, 0, 0, 0, 0, 0, 581, 581, 581,
1877 581, 581, 0, 0, 0, 581, 0, 0, 0, 0,
1878 0, 0, 101, 161, 0, 7, 8, 9, 10, 11,
1879 12, 13, 853, 853, 853, 0, 14, 0, 0, 0,
1880 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
1881 16, 17, 0, 18, 19, 20, 0, 0, 0, 21,
1882 0, 0, 0, 0, 22, 0, 0, 23, 24, 25,
1883 0, 26, 0, 0, 0, 0, 0, 27, 0, 28,
1884 29, 0, 0, 30, 0, 0, 738, 0, 0, 0,
1885 0, 0, 0, 31, 0, 0, 101, 0, 0, 0,
1886 0, 0, 0, 32, 0, 0, 101, 101, 0, 101,
1887 101, 33, 0, 0, 581, 581, 34, 581, 0, 0,
1888 0, 0, 35, 0, 0, 0, 0, 0, 0, 0,
1889 0, 0, 0, 244, 0, 0, 8, 9, 0, 0,
1890 12, 13, 0, 0, 0, 0, 14, 0, 0, 0,
1891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1892 0, 17, 0, 18, 120, 0, 0, 0, 0, 21,
1893 0, 245, 246, 0, 390, 392, 219, 0, 24, 0,
1894 247, 0, 478, 0, 0, 0, 0, 27, 0, 129,
1895 130, 0, 248, 0, 0, 713, 249, 250, 251, 252,
1896 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
1897 263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
1898 271, 272, 0, 0, 273, 0, 0, 274, 0, 0,
1899 1233, 0, 0, 0, 0, 1233, 0, 738, 0, 0,
1900 0, 0, 0, 0, 275, 0, 0, 0, 0, 0,
1901 0, 0, 0, 713, 0, 0, 101, 0, 0, 0,
1902 0, 0, 0, 0, 0, 7, 8, 9, 10, 382,
1903 12, 13, 0, 0, 0, 0, 14, 0, 0, 0,
1904 0, 653, 654, 0, 656, 0, 0, 0, 101, 101,
1905 101, 17, 0, 18, 19, 0, 0, 0, 0, 21,
1906 101, 0, 0, 0, 22, 0, 0, 0, 24, 0,
1907 0, 0, 0, 0, 0, 0, 0, 27, 0, 28,
1908 29, 0, 0, 1315, 0, -449, -449, -449, -449, -449,
1909 -449, -449, 0, 31, -449, 0, -449, 0, 0, 0,
1910 0, 0, 0, 32, 0, 0, 0, -449, 0, -449,
1911 -449, 33, 0, 0, -449, 0, 34, 0, 0, -449,
1912 0, 0, 0, 0, -449, 101, 0, 101, -449, 0,
1913 -449, 0, 0, 0, 0, 0, 0, -449, 101, -449,
1914 -449, -449, -449, -449, 1363, -449, -449, -449, -449, -449,
1915 -449, -449, -449, -449, -449, -449, -449, -449, -449, -449,
1916 -449, -449, -449, -449, -449, -449, -449, -449, 0, -449,
1917 -449, -449, 0, -449, -449, -449, -449, -449, -449, 0,
1918 -449, -449, 0, 0, 0, 0, 1316, 0, 0, 0,
1919 0, -449, -449, -449, 0, -449, 0, 0, 1366, 0,
1920 1266, 1267, 1268, 10, 382, 12, 282, 283, 284, 0,
1921 285, 14, 1269, 0, 1270, 1271, 1272, 1273, 1274, 1275,
1922 1276, 1277, 1278, 1279, 15, 16, 17, 286, 18, 19,
1923 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
1924 292, 293, 0, 24, 0, 0, 713, 294, 295, 296,
1925 297, 298, 27, 0, 1280, 299, 665, 0, 1281, 300,
1926 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
1927 0, 0, 0, 101, 0, 0, 303, 304, 305, 0,
1928 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
1929 0, 309, 0, 1282, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0, 1367, 310,
1931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932 0, 0, 0, 0, 0, 0, 101, 101, 0, 101,
1933 1265, 0, 1266, 1267, 1268, 10, 382, 12, 282, 283,
1934 284, 0, 285, 14, 1269, 0, 1270, 1271, 1272, 1273,
1935 1274, 1275, 1276, 1277, 1278, 1279, 15, 16, 17, 286,
1936 18, 19, 20, 0, 287, 288, 21, 0, 289, 290,
1937 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
1938 295, 296, 297, 298, 27, 713, 1280, 299, 665, 0,
1939 1281, 300, 0, 0, 0, 0, 0, 301, 0, 0,
1940 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
1941 305, 0, 0, 713, 0, 0, 306, 307, 308, 0,
1942 0, 0, 0, 309, 0, 1282, 0, 0, 0, 0,
1943 101, 0, 101, 0, 0, 0, 0, 0, 0, 0,
1944 512, 310, 281, 8, 9, 10, 382, 12, 282, 283,
1945 284, 678, 285, 14, 0, 0, 0, 0, 0, 0,
1946 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
1947 18, 19, 20, 0, 287, 288, 21, 0, 289, 290,
1948 291, 22, 292, 293, 0, 24, 0, 575, 0, 294,
1949 295, 296, 297, 298, 27, 0, 28, 299, -286, 0,
1950 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
1951 849, 0, 0, 0, 0, 0, 0, 0, 303, 304,
1952 850, 0, 0, 0, 0, 0, 306, 307, 308, 0,
1953 578, 0, 0, 851, 580, 0, 512, 679, 7, 8,
1954 9, 10, 382, 12, 282, 283, 284, 678, 285, 14,
1955 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
1956 0, 0, 0, 0, 17, 286, 18, 19, 20, 0,
1957 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
1958 0, 24, 0, 575, 0, 294, 295, 296, 297, 298,
1959 27, 0, 28, 29, -286, 0, 0, 300, 0, 0,
1960 0, 0, 0, 301, 0, 0, 1103, 0, 0, 0,
1961 0, 0, 0, 0, 303, 304, 1104, 0, 0, 0,
1962 0, 0, 306, 307, 308, 0, 578, 0, 0, 1105,
1963 580, 0, 677, 679, 281, 8, 9, 10, 382, 12,
1964 282, 283, 284, 678, 285, 14, 0, 310, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1966 17, 286, 18, 19, 20, 0, 287, 288, 21, 0,
1967 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
1968 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
1969 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
1970 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
1971 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
1972 308, 0, 0, 0, 0, 309, 0, 0, 0, 679,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, -755, 668, 310, 281, 8, 9, 10, 0, 12,
1975 494, 283, 284, 0, 285, 14, 0, 0, 0, 0,
1976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977 17, 286, 18, 0, 20, 0, 287, 288, 21, 0,
1978 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
1979 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
1980 669, 0, 0, 300, 0, 0, 0, 0, 0, 301,
1981 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
1982 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
1983 308, 0, 0, 0, 668, 309, 281, 8, 9, 10,
1984 0, 12, 494, 283, 284, 0, 285, 14, 0, 0,
1985 0, 0, 918, 310, 0, 0, 0, 0, 0, 0,
1986 0, 0, 17, 286, 18, 0, 20, 0, 287, 288,
1987 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
1988 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
1989 28, 299, 669, 0, 0, 300, 0, 0, 0, 0,
1990 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
1991 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
1992 306, 307, 308, 0, 0, 0, 668, 309, 281, 8,
1993 9, 10, 0, 12, 494, 283, 284, 0, 285, 14,
1994 0, 0, 0, 0, -453, 310, 0, 0, 0, 0,
1995 0, 0, 0, 0, 17, 286, 18, 0, 20, 0,
1996 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
1997 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
1998 27, 0, 28, 299, 669, 0, 0, 300, 0, 0,
1999 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2000 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2001 0, 0, 306, 307, 308, 0, 0, 0, 668, 309,
2002 281, 8, 9, 10, 0, 12, 494, 283, 284, 0,
2003 285, 14, 0, 0, 0, 0, 1201, 310, 0, 0,
2004 0, 0, 0, 0, 0, 0, 17, 286, 18, 0,
2005 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2006 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2007 297, 298, 27, 0, 28, 299, 669, 0, 0, 300,
2008 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2009 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2010 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2011 0, 309, 0, 0, 512, 0, 281, 8, 9, 10,
2012 1205, 12, 282, 283, 284, 0, 285, 14, 0, 310,
2013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2014 0, 0, 17, 286, 18, 0, 20, 0, 287, 288,
2015 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2016 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2017 28, 299, -286, 0, 0, 300, 0, 0, 0, 0,
2018 0, 301, 0, 0, 513, 0, 0, 0, 0, 0,
2019 0, 0, 303, 304, 514, 0, 0, 0, 0, 0,
2020 306, 307, 308, 0, 0, 0, 668, 515, 281, 8,
2021 9, 10, 0, 12, 494, 283, 284, 0, 285, 14,
2022 0, 0, 0, 0, 0, 310, 0, 0, 0, 0,
2023 0, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2024 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2025 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2026 27, 0, 28, 299, 669, 0, 0, 300, 0, 0,
2027 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2028 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2029 0, 0, 306, 307, 308, 0, 0, 0, 783, 309,
2030 281, 8, 9, 10, 0, 12, 494, 283, 284, 0,
2031 285, 14, 0, 0, 0, 0, 0, 310, 0, 0,
2032 0, 0, 0, 0, 0, 0, 17, 286, 18, 0,
2033 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2034 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2035 297, 298, 27, 0, 28, 299, 0, 0, 0, 300,
2036 -745, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2037 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2038 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2039 512, 309, 7, 8, 9, 10, 0, 12, 282, 283,
2040 284, 0, 285, 14, 0, 0, 0, 0, 0, 310,
2041 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2042 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2043 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2044 295, 296, 297, 298, 27, 0, 28, 29, -286, 0,
2045 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2046 1404, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2047 1405, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2048 0, 0, 1494, 1406, 281, 8, 9, 10, 0, 12,
2049 282, 283, 284, 0, 285, 14, 0, 0, 0, 0,
2050 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2051 17, 286, 18, 0, 20, 0, 287, 288, 21, 0,
2052 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2053 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
2054 0, 0, -175, 300, 0, 0, 0, 0, 0, 301,
2055 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2056 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2057 308, 0, 0, 0, 783, 309, 281, 8, 9, 10,
2058 0, 12, 494, 283, 284, 0, 285, 14, 0, 0,
2059 0, 0, 0, 310, 0, 0, 0, 0, 0, 0,
2060 0, 0, 17, 286, 18, 0, 20, 0, 287, 288,
2061 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2062 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2063 28, 299, 0, 0, 0, 300, 0, 0, 0, 0,
2064 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2065 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2066 306, 307, 308, 0, 0, 0, 868, 309, 281, 8,
2067 9, 10, 0, 12, 494, 283, 284, 0, 285, 14,
2068 0, 0, 0, -745, 0, 310, 0, 0, 0, 0,
2069 0, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2070 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2071 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2072 27, 0, 28, 299, 0, 0, 0, 300, 0, 0,
2073 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2074 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2075 0, 0, 306, 307, 308, 0, 0, 0, 870, 309,
2076 281, 8, 9, 10, 0, 12, 494, 283, 284, 0,
2077 285, 14, 0, 0, 0, 0, 0, 310, 0, 0,
2078 0, 0, 0, 0, 0, 0, 17, 286, 18, 0,
2079 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2080 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2081 297, 298, 27, 0, 28, 299, 0, 0, 0, 300,
2082 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2083 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2084 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2085 1380, 309, 281, 8, 9, 10, 0, 12, 494, 283,
2086 284, 0, 285, 14, 0, 0, 0, 0, 0, 310,
2087 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2088 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2089 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2090 295, 296, 297, 298, 27, 0, 28, 299, 0, 0,
2091 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2092 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2093 305, 0, 0, 0, 0, 0, 306, 307, 308, 281,
2094 8, 9, 10, 309, 12, 494, 283, 284, 0, 285,
2095 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2096 0, 310, 0, 0, 0, 17, 286, 18, 0, 20,
2097 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2098 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2099 298, 27, 0, 28, 299, 0, 0, 0, 300, 0,
2100 0, 0, 0, 0, 301, 0, 721, 302, 7, 8,
2101 722, 10, 382, 12, 13, 303, 304, 305, 0, 14,
2102 0, 0, 0, 306, 307, 308, 0, 0, 0, 0,
2103 309, 0, 0, 0, 17, 0, 18, 19, 20, 0,
2104 0, 0, 21, -495, 0, 0, 0, 22, 310, 822,
2105 0, 24, 723, 0, 632, 0, 0, 0, 0, 0,
2106 27, 0, 28, 29, 0, 0, 724, 0, 725, 0,
2107 0, 0, 7, 8, 9, 10, 31, 721, 477, 7,
2108 8, 722, 10, 382, 12, 13, 32, 0, 0, 0,
2109 14, 0, 0, 0, 33, 0, 0, 0, 0, 34,
2110 0, 0, 0, 0, 0, 17, 0, 18, 19, 20,
2111 0, 22, 0, 21, -494, 0, -495, 0, 22, 0,
2112 0, 0, 24, 723, 27, 632, 28, 29, 0, 0,
2113 0, 27, 0, 28, 29, 0, 0, 724, 0, 725,
2114 177, 0, 0, 0, 0, 0, 0, 31, 0, 0,
2115 178, 0, 0, 0, 0, 0, 0, 32, 33, 0,
2116 0, 0, 0, 179, 0, 33, 0, 0, 0, 0,
2117 34, 0, 0, 0, 1266, 1267, 1268, 10, 382, 12,
2118 282, 283, 284, 0, 285, 14, 1269, -494, 1270, 1271,
2119 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 15, 16,
2120 17, 286, 18, 19, 20, 0, 287, 288, 21, 0,
2121 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2122 0, 294, 295, 296, 297, 298, 27, 0, 1280, 299,
2123 665, 0, 1281, 300, 0, 0, 0, 0, 0, 301,
2124 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2125 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2126 308, 0, 0, 0, 0, 309, 0, 1282, 0, 0,
2127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2128 0, 0, 1371, 310, 1266, 1267, 1268, 10, 382, 12,
2129 282, 283, 284, 0, 285, 14, 1269, 0, 1270, 1271,
2130 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 15, 16,
2131 17, 286, 18, 19, 20, 0, 287, 288, 21, 0,
2132 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2133 0, 294, 295, 296, 297, 298, 27, 0, 1280, 299,
2134 665, 0, 1281, 300, 0, 0, 0, 0, 0, 301,
2135 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2136 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2137 308, 0, 0, 0, 0, 309, 0, 1282, 0, 0,
2138 1266, 1267, 1268, 10, 382, 12, 282, 283, 284, 0,
2139 285, 14, 1269, 310, 1270, 1271, 1272, 1273, 1274, 1275,
2140 1276, 1277, 1278, 1279, 15, 16, 17, 286, 18, 19,
2141 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2142 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2143 297, 298, 27, 0, 1280, 299, 1471, 0, 1281, 300,
2144 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2145 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2146 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2147 0, 309, 0, 1282, 0, 0, 1266, 1267, 1268, 10,
2148 382, 12, 282, 283, 284, 0, 285, 14, 1269, 310,
2149 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279,
2150 15, 16, 17, 286, 18, 19, 20, 0, 287, 288,
2151 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2152 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2153 1280, 299, 0, 0, 1281, 300, 0, 0, 0, 0,
2154 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2155 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2156 306, 307, 308, 0, 0, 0, 0, 309, 0, 1282,
2157 281, 8, 9, 10, 382, 12, 282, 283, 284, 678,
2158 285, 14, 0, 0, 0, 310, 0, 0, 0, 0,
2159 0, 0, 0, 0, 0, 0, 17, 286, 18, 19,
2160 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2161 292, 293, 0, 24, 0, 575, 0, 294, 295, 296,
2162 297, 298, 27, 0, 28, 299, 0, 0, 0, 300,
2163 0, 0, 0, 0, 0, 301, 0, 0, 849, 0,
2164 0, 0, 0, 0, 0, 0, 303, 304, 850, 0,
2165 0, 0, 0, 0, 306, 307, 308, 0, 578, 0,
2166 0, 851, 580, 0, 0, 679, 7, 8, 9, 10,
2167 382, 12, 282, 283, 284, 678, 285, 14, 0, 310,
2168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2169 0, 0, 17, 286, 18, 19, 20, 0, 287, 288,
2170 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2171 0, 575, 0, 294, 295, 296, 297, 298, 27, 0,
2172 28, 29, 0, 0, 0, 300, 0, 0, 0, 0,
2173 0, 301, 0, 0, 1103, 0, 0, 0, 0, 0,
2174 0, 0, 303, 304, 1104, 0, 0, 0, 0, 0,
2175 306, 307, 308, 0, 578, 0, 0, 1105, 580, 0,
2176 0, 679, 281, 8, 9, 10, 0, 12, 282, 283,
2177 284, 0, 285, 14, 0, 310, 0, 0, 0, 0,
2178 0, 1226, 126, 127, 10, 0, 0, 0, 17, 286,
2179 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2180 291, 22, 292, 293, 0, 24, 0, 575, 0, 294,
2181 295, 296, 297, 298, 27, 0, 28, 299, 0, 0,
2182 22, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2183 849, 0, 0, 27, 0, 28, 29, 0, 303, 304,
2184 850, 1228, 0, 0, 0, 0, 306, 307, 308, 31,
2185 578, 0, 0, 851, 580, 7, 8, 9, 10, 32,
2186 12, 282, 283, 284, 0, 285, 14, 33, 0, 0,
2187 0, 310, 34, 0, 7, 126, 127, 10, 0, 0,
2188 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2189 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2190 575, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2191 29, 0, 0, 22, 0, 0, 0, 0, 0, 0,
2192 301, 0, 0, 1103, 0, 0, 27, 0, 28, 29,
2193 0, 303, 304, 1104, 0, 0, 0, 0, 0, 306,
2194 307, 308, 146, 578, 0, 0, 1105, 580, 281, 8,
2195 9, 10, 147, 12, 494, 283, 284, 0, 285, 14,
2196 33, 0, 0, 0, 310, 148, 0, 0, 0, 0,
2197 0, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2198 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2199 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2200 27, 0, 28, 299, 0, 0, 1348, 300, 0, 0,
2201 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2202 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2203 0, 0, 306, 307, 308, 0, 0, 0, 0, 309,
2204 281, 8, 9, 10, 382, 12, 282, 283, 284, 0,
2205 285, 14, 0, 0, 0, 0, 0, 310, 0, 0,
2206 0, 0, 0, 0, 0, 0, 17, 286, 18, 19,
2207 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2208 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2209 297, 298, 27, 0, 28, 299, 0, 0, 0, 0,
2210 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2211 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2212 0, 0, 0, 0, 306, 307, 308, 281, 8, 9,
2213 10, 309, 12, 282, 283, 284, 0, 285, 14, 0,
2214 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2215 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2216 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2217 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2218 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2219 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2220 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2221 0, 306, 307, 308, 281, 8, 9, 10, 309, 12,
2222 494, 283, 284, 0, 285, 14, 0, 0, 0, 0,
2223 0, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2224 17, 286, 18, 0, 20, 0, 287, 288, 21, 0,
2225 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2226 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
2227 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2228 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2229 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2230 308, 281, 8, 9, 10, 309, 12, 494, 283, 284,
2231 0, 285, 14, 0, 0, 0, 0, 0, 0, 0,
2232 0, 0, 0, 310, 0, 0, 0, 17, 286, 18,
2233 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2234 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2235 296, 297, 298, 27, 0, 28, 299, 527, 0, 0,
2236 0, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2237 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2238 0, 0, 0, 0, 0, 306, 307, 308, 281, 8,
2239 9, 10, 528, 12, 494, 283, 284, 0, 285, 14,
2240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2241 310, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2242 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2243 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2244 27, 0, 28, 299, 0, 0, 0, 0, 0, 0,
2245 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2246 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2247 0, 0, 306, 307, 308, 0, 0, 0, 0, 309,
2248 564, 281, 8, 9, 10, 0, 12, 494, 283, 284,
2249 0, 285, 14, 0, 0, 0, 0, 310, 0, 0,
2250 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2251 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2252 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2253 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2254 300, 0, 0, 0, 0, 0, 301, 0, 0, 513,
2255 0, 0, 0, 0, 0, 0, 0, 303, 304, 514,
2256 0, 0, 0, 0, 0, 306, 307, 308, 1071, 8,
2257 9, 10, 515, 12, 494, 283, 284, 0, 285, 14,
2258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2259 310, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2260 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2261 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2262 27, 0, 28, 299, 0, 0, 0, 300, 0, 0,
2263 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2264 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2265 0, 0, 306, 307, 308, 7, 8, 9, 10, 309,
2266 12, 494, 283, 284, 0, 285, 14, 0, 0, 0,
2267 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2268 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2269 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2270 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2271 29, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2272 301, 0, 0, 1404, 0, 0, 0, 0, 0, 0,
2273 0, 303, 304, 1405, 0, 0, 0, 0, 0, 306,
2274 307, 308, 281, 8, 9, 10, 1406, 12, 494, 283,
2275 284, 0, 285, 14, 0, 0, 0, 0, 0, 0,
2276 0, 0, 0, 0, 310, 0, 0, 0, 17, 286,
2277 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2278 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2279 295, 296, 297, 298, 27, 0, 28, 299, 0, 0,
2280 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2281 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2282 305, 0, 0, 0, 0, 0, 306, 307, 308, 281,
2283 8, 9, 10, 495, 12, 494, 283, 284, 0, 285,
2284 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2285 0, 310, 0, 0, 0, 17, 286, 18, 0, 20,
2286 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2287 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2288 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2289 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2290 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2291 0, 0, 0, 306, 307, 308, 281, 8, 9, 10,
2292 498, 12, 494, 283, 284, 0, 285, 14, 0, 0,
2293 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2294 0, 0, 17, 286, 18, 0, 20, 0, 287, 288,
2295 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2296 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2297 28, 299, 0, 0, 0, 0, 0, 0, 0, 0,
2298 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2299 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2300 306, 307, 308, 281, 8, 9, 10, 309, 12, 494,
2301 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2302 0, 0, 0, 0, 0, 310, 0, 0, 0, 17,
2303 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2304 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2305 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2306 0, 0, 0, 0, 0, 0, 0, 0, 301, 0,
2307 0, 513, 0, 0, 0, 0, 0, 0, 0, 303,
2308 304, 514, 0, 0, 0, 0, 0, 306, 307, 308,
2309 7, 8, 9, 10, 515, 12, 282, 283, 284, 0,
2310 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2311 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2312 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2313 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2314 297, 298, 27, 0, 28, 29, 0, 0, 0, 0,
2315 0, 0, 0, 0, 0, 301, 0, 721, 1404, 7,
2316 8, 722, 10, 382, 12, 13, 303, 304, 1405, 0,
2317 14, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2318 0, 1406, 0, 0, 0, 17, 0, 18, 19, 20,
2319 0, 0, 0, 21, 0, 0, 0, 0, 22, 310,
2320 0, 0, 24, 723, 0, 632, 0, 0, 0, 0,
2321 0, 27, 0, 28, 29, 0, 0, 724, 0, 725,
2322 968, 8, 722, 10, 189, 12, 190, 31, 0, 0,
2323 0, 14, 0, 0, 0, 0, 0, 32, 0, 0,
2324 0, 0, 0, 0, 0, 33, 17, 0, 18, 19,
2325 34, 0, 0, 0, 21, 0, 0, 0, 0, 22,
2326 0, 0, 0, 24, 0, 7, 8, 9, 10, 189,
2327 12, 190, 27, 0, 28, 29, 14, 0, 0, 0,
2328 970, 0, 0, 0, 0, 0, 0, 0, 31, 0,
2329 0, 17, 0, 18, 19, 0, 0, 0, 32, 21,
2330 0, 0, 0, 0, 22, 0, 33, 0, 24, 0,
2331 0, 34, 0, 0, 0, 0, 0, 27, 0, 28,
2332 29, 0, 0, 1361, 7, 8, 9, 10, 189, 12,
2333 190, 0, 0, 31, 0, 14, 0, 0, 0, 0,
2334 0, 0, 0, 32, 0, 0, 0, 0, 0, 0,
2335 17, 33, 18, 19, 0, 0, 34, 0, 21, 0,
2336 0, 0, 0, 22, 0, 0, 0, 24, 0, 7,
2337 8, 9, 10, 198, 199, 200, 27, 0, 28, 29,
2338 14, 7, 8, 9, 10, 0, 0, 0, 7, 8,
2339 9, 10, 31, 0, 0, 0, 0, 0, 19, 0,
2340 0, 0, 32, 21, 0, 0, 0, 0, 22, 0,
2341 33, 0, 24, 0, 575, 34, 0, 0, 0, 0,
2342 22, 27, 0, 28, 29, 0, 0, 22, 0, 7,
2343 8, 9, 10, 27, 0, 28, 29, 177, 0, 1358,
2344 27, 0, 28, 29, 0, 0, 0, 178, 0, 177,
2345 0, 0, 0, 0, 0, 33, 436, 0, 0, 178,
2346 1364, 0, 0, 0, 0, 0, 437, 33, 22, 0,
2347 0, 0, 179, 0, 33, 0, 0, 0, 0, 438,
2348 0, 27, 0, 28, 29, 0, 0, 0, 0, 19,
2349 0, 0, 0, 0, 0, 0, 0, 177, 0, 0,
2350 0, 0, 0, 0, 0, 0, 0, 178, 0, 0,
2351 0, 0, 0, 0, 0, 33, 0, 0, 0, 0,
2352 179, 530, 531, 532, 533, 534, 535, 536, 537, 538,
2353 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
2354 549, 550, 551, 530, 531, 532, 533, 534, 535, 536,
2355 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
2356 547, 548, 549, 550, 551, 534, 535, 536, 537, 538,
2357 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
2358 549, 550, 551, 0, 0, 614, 0, 0, 1415, 530,
2359 531, 532, 533, 534, 535, 536, 537, 538, 539, 540,
2360 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2361 551, 1457, 530, 531, 532, 533, 534, 535, 536, 537,
2362 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2363 548, 549, 550, 551, 530, 531, 532, 533, 534, 535,
2364 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2365 546, 547, 548, 549, 550, 551, 535, 536, 537, 538,
2366 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
2370 static const short yycheck
[] = { 4,
2371 79, 34, 4, 146, 147, 4, 156, 329, 24, 4,
2372 525, 663, 193, 660, 381, 125, 56, 381, 58, 45,
2373 54, 14, 917, 79, 336, 337, 4, 352, 381, 232,
2374 83, 36, 811, 465, 36, 4, 41, 36, 444, 41,
2375 335, 36, 41, 285, 286, 726, 41, 228, 643, 75,
2376 1260, 56, 223, 4, 735, 193, 1392, 132, 36, 89,
2377 128, 91, 141, 41, 202, 133, 71, 36, 1283, 132,
2378 133, 11, 41, 48, 422, 317, 388, 389, 83, 61,
2379 201, 202, 87, 38, 89, 36, 91, 56, 34, 82,
2380 41, 579, 9, 1425, 743, 11, 277, 53, 586, 748,
2381 1, 106, 107, 11, 1422, 48, 136, 55, 187, 61,
2382 7, 1290, 105, 146, 147, 148, 63, 1449, 1297, 94,
2383 1427, 58, 65, 63, 55, 60, 166, 75, 75, 55,
2384 135, 136, 335, 138, 59, 110, 4, 12, 106, 107,
2385 65, 38, 60, 1, 75, 62, 179, 61, 329, 75,
2386 1, 94, 95, 193, 48, 160, 111, 135, 59, 111,
2387 1478, 201, 202, 31, 32, 111, 135, 4, 36, 34,
2388 110, 197, 650, 41, 580, 497, 111, 1392, 1514, 3,
2389 4, 5, 160, 1490, 135, 60, 381, 243, 63, 12,
2390 230, 160, 110, 60, 110, 151, 1528, 111, 847, 36,
2391 94, 59, 110, 417, 41, 63, 48, 0, 59, 160,
2392 0, 60, 63, 48, 196, 83, 61, 1396, 4, 5,
2393 63, 75, 204, 98, 48, 75, 287, 288, 184, 1409,
2394 662, 55, 75, 57, 58, 430, 229, 60, 96, 61,
2395 63, 302, 39, 110, 305, 96, 83, 308, 1027, 1459,
2396 311, 326, 94, 95, 315, 49, 193, 1436, 55, 94,
2397 410, 110, 323, 326, 201, 202, 111, 135, 1448, 322,
2398 94, 57, 58, 278, 48, 98, 4, 5, 146, 147,
2399 633, 146, 147, 148, 63, 880, 354, 110, 14, 111,
2400 602, 228, 160, 436, 437, 81, 63, 23, 135, 1479,
2401 75, 626, 1481, 598, 309, 519, 955, 375, 338, 177,
2402 178, 449, 375, 48, 179, 75, 60, 322, 967, 686,
2403 94, 95, 686, 160, 55, 330, 94, 448, 449, 57,
2404 58, 110, 63, 338, 339, 456, 4, 5, 64, 60,
2405 277, 309, 335, 110, 75, 385, 386, 468, 1033, 1034,
2406 384, 1036, 1001, 81, 1003, 76, 48, 59, 94, 94,
2407 682, 339, 76, 851, 78, 486, 110, 1126, 1127, 884,
2408 339, 48, 3, 4, 5, 6, 381, 48, 1273, 94,
2409 385, 1140, 860, 1162, 579, 863, 381, 94, 339, 57,
2410 58, 586, 329, 109, 65, 27, 28, 123, 100, 887,
2411 32, 441, 94, 436, 437, 438, 442, 61, 448, 449,
2412 466, 42, 452, 81, 450, 36, 456, 94, 95, 145,
2413 41, 899, 900, 94, 55, 430, 57, 58, 48, 61,
2414 412, 48, 458, 65, 25, 1330, 27, 28, 48, 927,
2415 48, 25, 848, 48, 1339, 1340, 758, 61, 65, 386,
2416 664, 63, 513, 514, 322, 1287, 12, 1289, 89, 427,
2417 1141, 466, 492, 75, 60, 813, 1225, 466, 59, 65,
2418 55, 339, 63, 455, 94, 1234, 1235, 94, 1237, 111,
2419 76, 3, 4, 5, 94, 322, 94, 492, 466, 94,
2420 495, 686, 32, 498, 220, 221, 63, 502, 503, 504,
2421 505, 506, 339, 75, 60, 96, 232, 63, 561, 65,
2422 515, 448, 449, 381, 881, 466, 25, 881, 55, 456,
2423 525, 953, 55, 528, 3, 4, 5, 495, 881, 59,
2424 498, 468, 60, 61, 502, 57, 58, 48, 75, 710,
2425 111, 712, 98, 55, 381, 59, 717, 515, 743, 486,
2426 59, 8, 9, 748, 63, 560, 561, 14, 1453, 81,
2427 528, 856, 430, 75, 532, 605, 48, 94, 436, 437,
2428 604, 436, 437, 438, 579, 301, 55, 55, 57, 58,
2429 37, 586, 703, 94, 1062, 1063, 767, 96, 60, 46,
2430 558, 48, 48, 430, 1082, 55, 564, 590, 466, 48,
2431 640, 1450, 642, 48, 76, 639, 78, 641, 642, 48,
2432 720, 853, 94, 1462, 55, 631, 55, 1105, 48, 1378,
2433 1379, 4, 5, 1472, 25, 351, 27, 28, 76, 466,
2434 48, 1037, 60, 61, 48, 640, 75, 94, 94, 644,
2435 1489, 55, 682, 48, 992, 94, 662, 55, 682, 94,
2436 95, 110, 847, 856, 11, 94, 851, 110, 59, 1508,
2437 1092, 75, 63, 703, 94, 110, 706, 75, 605, 95,
2438 726, 1019, 728, 48, 57, 58, 94, 110, 734, 735,
2439 94, 686, 1531, 995, 996, 997, 881, 110, 1120, 94,
2440 60, 61, 887, 561, 734, 96, 27, 28, 81, 733,
2441 740, 915, 111, 729, 730, 642, 84, 85, 576, 577,
2442 1032, 579, 738, 94, 744, 745, 746, 3, 586, 94,
2443 95, 726, 113, 728, 561, 60, 61, 726, 61, 734,
2444 735, 95, 927, 4, 5, 110, 735, 463, 743, 744,
2445 745, 746, 579, 748, 95, 682, 4, 5, 726, 586,
2446 728, 60, 61, 1101, 755, 756, 757, 735, 4, 5,
2447 955, 822, 1110, 1111, 733, 734, 703, 1115, 1116, 48,
2448 63, 1418, 967, 48, 94, 726, 55, 728, 94, 950,
2449 951, 952, 60, 61, 735, 113, 57, 58, 849, 850,
2450 1442, 25, 75, 27, 28, 75, 75, 60, 61, 57,
2451 58, 3, 4, 5, 60, 810, 1001, 75, 1003, 814,
2452 81, 57, 58, 892, 25, 94, 27, 28, 686, 94,
2453 95, 75, 11, 81, 111, 59, 110, 60, 110, 63,
2454 767, 61, 27, 28, 110, 110, 841, 32, 3, 4,
2455 5, 6, 847, 4, 5, 230, 851, 111, 59, 686,
2456 818, 110, 63, 55, 887, 57, 58, 59, 726, 110,
2457 728, 55, 96, 856, 1212, 60, 61, 735, 111, 63,
2458 65, 3, 4, 5, 113, 743, 881, 42, 883, 884,
2459 748, 75, 887, 851, 49, 96, 881, 1082, 110, 726,
2460 113, 728, 57, 58, 927, 55, 57, 58, 735, 55,
2461 979, 65, 75, 63, 75, 631, 743, 63, 75, 113,
2462 1105, 748, 4, 5, 113, 75, 81, 643, 110, 75,
2463 960, 961, 927, 979, 89, 57, 58, 59, 81, 82,
2464 83, 84, 85, 110, 990, 110, 941, 1080, 1081, 3,
2465 4, 5, 59, 948, 110, 971, 3, 4, 5, 989,
2466 955, 977, 978, 45, 8, 981, 982, 55, 4, 985,
2467 1103, 1104, 967, 55, 113, 57, 58, 1289, 94, 3,
2468 4, 5, 3, 4, 5, 6, 48, 65, 1039, 847,
2469 948, 849, 850, 851, 60, 990, 94, 4, 5, 111,
2470 36, 990, 9, 57, 58, 41, 1001, 31, 1003, 61,
2471 57, 58, 37, 110, 65, 1084, 34, 65, 61, 65,
2472 847, 42, 990, 881, 851, 63, 110, 885, 886, 887,
2473 110, 55, 887, 57, 58, 110, 57, 58, 110, 3,
2474 4, 5, 6, 65, 113, 4, 5, 60, 55, 990,
2475 57, 58, 1103, 1104, 881, 65, 65, 1080, 1081, 1082,
2476 887, 65, 1419, 94, 71, 1419, 441, 63, 89, 927,
2477 110, 110, 927, 110, 81, 110, 110, 452, 42, 76,
2478 1103, 1104, 1105, 76, 76, 49, 1092, 1082, 95, 76,
2479 110, 1137, 60, 57, 58, 1141, 55, 955, 57, 58,
2480 927, 63, 1132, 1133, 110, 1135, 1136, 110, 1138, 967,
2481 1105, 110, 71, 8, 9, 113, 111, 81, 95, 14,
2482 110, 1433, 81, 89, 110, 89, 4, 5, 955, 147,
2483 148, 113, 990, 3, 4, 5, 95, 1341, 48, 110,
2484 967, 110, 37, 1001, 111, 1003, 1141, 1105, 113, 1353,
2485 113, 46, 1141, 3, 4, 5, 872, 7, 8, 9,
2486 110, 179, 110, 990, 880, 3, 4, 5, 6, 39,
2487 40, 110, 42, 1141, 1001, 110, 1003, 55, 1516, 57,
2488 58, 27, 28, 111, 60, 55, 32, 57, 58, 60,
2489 65, 65, 1222, 1223, 60, 1153, 1154, 1155, 1156, 110,
2490 1141, 110, 1160, 1198, 42, 1409, 1198, 57, 58, 1198,
2491 94, 49, 94, 1208, 60, 61, 1232, 1233, 111, 57,
2492 58, 94, 1080, 1081, 1082, 1080, 1081, 1082, 113, 94,
2493 110, 110, 1283, 8, 1419, 3, 4, 5, 6, 111,
2494 65, 9, 1446, 81, 1448, 1103, 1104, 1105, 1103, 1104,
2495 1105, 89, 110, 110, 110, 1082, 110, 1198, 1288, 1289,
2496 1464, 1401, 1433, 1287, 113, 1289, 110, 110, 110, 110,
2497 110, 1404, 1405, 110, 42, 1479, 110, 110, 1105, 1309,
2498 1310, 1311, 79, 1141, 110, 113, 48, 55, 1283, 57,
2499 58, 309, 110, 1288, 1283, 1290, 110, 110, 1290, 97,
2500 34, 1290, 1297, 71, 110, 1297, 103, 110, 1297, 3,
2501 4, 5, 6, 81, 1141, 3, 4, 5, 110, 110,
2502 1278, 89, 4, 5, 113, 110, 94, 9, 110, 61,
2503 63, 706, 423, 63, 61, 132, 9, 61, 16, 430,
2504 1198, 1364, 1283, 94, 141, 1375, 1376, 1363, 42, 1290,
2505 94, 61, 61, 1404, 1405, 94, 1297, 109, 99, 94,
2506 17, 55, 1289, 57, 58, 740, 61, 61, 61, 57,
2507 58, 1198, 701, 55, 110, 57, 58, 71, 11, 110,
2508 61, 1404, 1405, 1406, 110, 110, 61, 81, 94, 71,
2509 187, 60, 1350, 110, 61, 89, 61, 1392, 1393, 81,
2510 94, 1396, 493, 1392, 1396, 65, 110, 1396, 4, 5,
2511 1434, 1406, 11, 742, 61, 61, 11, 0, 747, 437,
2512 438, 110, 0, 220, 1419, 1283, 0, 1422, 409, 2,
2513 1425, 354, 1290, 1425, 1392, 1393, 1425, 4, 5, 1297,
2514 1456, 1436, 9, 1417, 1436, 881, 243, 1436, 1406, 160,
2515 1480, 1392, 160, 734, 1449, 1396, 1283, 1449, 1092, 55,
2516 1449, 57, 58, 1290, 1422, 728, 557, 93, 559, 560,
2517 1297, 3, 4, 5, 138, 71, 1388, 495, 1528, 1195,
2518 498, 48, 1288, 1478, 1425, 81, 1481, 280, 55, 1481,
2519 57, 58, 1481, 872, 669, 1436, 514, 515, 867, 222,
2520 1120, 953, 593, 990, 71, 611, 1433, 728, 1449, 1364,
2521 528, 1139, 734, 842, 81, 844, 865, 326, 1476, 561,
2522 1478, 184, 123, 55, 91, 57, 58, 94, 95, 1290,
2523 1199, 1442, 1464, 1528, 1392, 1393, 1528, 334, 1396, 1528,
2524 1481, 1501, 1500, 1439, 936, 1208, 1404, 1405, 1503, 1404,
2525 1405, 1406, 4, 3, 4, 5, 1514, 7, -1, -1,
2526 -1, 1419, 14, 1279, 1422, 1392, 1393, 1425, 586, 1396,
2527 3, 4, 5, 25, 3, 4, 5, 6, 1436, 31,
2528 32, 31, 34, -1, 36, 960, 961, 1528, 38, 41,
2529 -1, 1449, 1419, -1, 391, 1422, -1, -1, 1425, -1,
2530 -1, 48, 54, -1, 56, 55, -1, 57, 58, 1436,
2531 -1, -1, 64, 42, 989, -1, 1332, -1, -1, 71,
2532 1478, -1, 1449, 1481, 57, 58, -1, -1, 57, 58,
2533 82, 83, -1, -1, 3, 4, 5, 423, -1, -1,
2534 87, 88, -1, -1, 430, 92, 93, 94, 95, -1,
2535 -1, 1478, -1, 105, 1481, -1, -1, -1, -1, 3,
2536 4, 5, 6, 3, 4, 5, 463, 7, 8, 9,
2537 1528, 1000, -1, 1002, -1, -1, 128, -1, -1, -1,
2538 -1, 133, -1, 135, -1, -1, -1, 139, 57, 58,
2539 142, 143, 489, -1, 146, 147, 148, 37, 42, -1,
2540 -1, 1528, -1, -1, -1, 49, -1, 493, 160, 7,
2541 8, 9, -1, 57, 58, 55, 14, 57, 58, 59,
2542 -1, -1, -1, 814, 1053, 177, 178, 179, -1, -1,
2543 -1, -1, -1, -1, 32, -1, 827, 81, 829, 37,
2544 831, -1, -1, 761, -1, 89, -1, -1, 46, -1,
2545 9, -1, -1, 12, 206, -1, -1, 1132, 1133, -1,
2546 1135, 1136, -1, 1138, -1, 105, 106, 107, -1, 221,
2547 -1, 557, -1, 559, 560, -1, 573, 229, -1, -1,
2548 -1, -1, -1, 874, 7, 8, 9, -1, 240, 48,
2549 -1, 14, 589, -1, -1, 1124, -1, -1, -1, 1128,
2550 586, 60, -1, 62, 63, -1, 65, 593, -1, 32,
2551 -1, -1, -1, -1, 37, -1, -1, 76, 909, 78,
2552 -1, -1, -1, 46, -1, -1, 278, 279, -1, -1,
2553 -1, -1, 850, 851, -1, 94, 95, -1, 61, 98,
2554 3, 4, 5, 6, -1, -1, 1175, 1222, 1223, -1,
2555 -1, 110, 79, 80, 81, 82, 83, 84, 85, -1,
2556 1, -1, 3, 4, 5, 6, 7, 8, 9, 887,
2557 322, -1, -1, 14, 326, -1, 328, 329, 330, 42,
2558 -1, -1, -1, -1, -1, -1, 49, 339, 29, -1,
2559 31, 32, 33, -1, 57, 58, 37, 38, -1, -1,
2560 -1, 42, 354, -1, -1, 46, 47, -1, 49, 927,
2561 -1, -1, 1241, 1242, 55, -1, 57, 58, 81, -1,
2562 61, -1, 63, 375, -1, 1254, 89, -1, -1, 381,
2563 71, -1, 384, 385, 1309, 1310, 1311, 7, 8, 9,
2564 81, -1, -1, 395, 14, -1, 398, -1, 89, -1,
2565 -1, 403, -1, 94, -1, -1, -1, 34, 3, 4,
2566 5, 6, 32, 177, 178, 179, -1, 37, -1, -1,
2567 111, -1, -1, 1302, 1303, 761, 46, 54, -1, -1,
2568 432, -1, 434, -1, 436, 437, 438, -1, -1, -1,
2569 442, 61, 1321, 1322, -1, 447, -1, 42, 450, -1,
2570 1375, 1376, -1, 1094, -1, 1096, -1, 1098, -1, -1,
2571 55, -1, 57, 58, 466, -1, -1, -1, 63, -1,
2572 3, 4, 5, 6, -1, -1, 71, -1, 814, -1,
2573 -1, -1, -1, -1, -1, -1, 81, -1, -1, -1,
2574 -1, 827, -1, 829, 89, 831, -1, -1, -1, 94,
2575 -1, 503, 504, 505, 506, 7, 8, 9, 855, 42,
2576 857, -1, 14, 1081, 1082, -1, 49, -1, -1, 146,
2577 147, 148, -1, -1, 57, 58, 3, 4, 5, 6,
2578 32, -1, 9, -1, -1, 37, 1104, 1105, 874, -1,
2579 -1, 1182, -1, -1, 46, 892, -1, 12, -1, -1,
2580 177, 178, 179, -1, -1, 1480, 89, 4, 5, 561,
2581 -1, 563, 27, 28, -1, 42, -1, 32, -1, -1,
2582 -1, 48, 574, 909, 576, 577, -1, 579, 55, 206,
2583 57, 58, -1, 48, 586, -1, -1, -1, 590, -1,
2584 -1, 927, -1, -1, 71, 60, 61, -1, 63, -1,
2585 65, 48, 604, -1, 81, -1, -1, -1, 55, -1,
2586 57, 58, 89, -1, 91, -1, -1, 94, 95, -1,
2587 -1, -1, -1, -1, 71, -1, -1, -1, -1, 94,
2588 95, -1, 979, 98, 81, -1, -1, 639, 640, 641,
2589 642, 643, 644, -1, 91, 110, -1, 94, 95, -1,
2590 -1, -1, 279, -1, 4, 5, -1, 7, 8, 9,
2591 -1, -1, 12, -1, 14, -1, -1, -1, 432, -1,
2592 434, -1, 436, 437, 438, -1, -1, -1, -1, 29,
2593 682, 31, 32, 447, 686, -1, -1, 37, -1, -1,
2594 -1, 693, 694, -1, 696, -1, 46, 3, 4, 5,
2595 6, 328, 329, 330, -1, 55, -1, 57, 58, -1,
2596 -1, -1, 1059, -1, -1, 1, -1, 3, 4, 5,
2597 6, 723, 8, -1, 726, -1, 728, -1, -1, -1,
2598 -1, 733, 734, 735, -1, -1, 42, 1084, -1, -1,
2599 -1, 743, -1, 49, -1, -1, 748, -1, 98, -1,
2600 -1, 57, 58, 755, 756, 757, 42, 384, 1094, -1,
2601 1096, -1, 1098, 49, -1, 767, -1, -1, -1, 55,
2602 -1, 57, 58, 3, 4, 5, 6, -1, -1, 9,
2603 -1, -1, -1, 89, -1, -1, -1, -1, -1, -1,
2604 1137, -1, -1, -1, -1, -1, 1364, -1, -1, -1,
2605 -1, -1, -1, 89, -1, 432, -1, 434, 810, 436,
2606 437, 438, 42, -1, -1, 442, -1, -1, 48, -1,
2607 447, -1, -1, 450, -1, 55, -1, 57, 58, -1,
2608 832, -1, 834, -1, -1, 12, -1, 1405, 1406, 841,
2609 -1, 71, -1, 845, -1, 847, 1182, 849, 850, 851,
2610 -1, 81, -1, -1, 856, -1, -1, -1, -1, 89,
2611 -1, 91, -1, -1, 94, 95, 73, 74, 75, 76,
2612 77, 78, 79, 80, 81, 82, 83, 84, 85, 881,
2613 -1, 883, -1, 885, 886, 887, 63, 64, 65, 66,
2614 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2615 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
2616 -1, -1, -1, -1, 4, -1, 3, 4, 5, 6,
2617 -1, -1, 9, -1, 14, 927, -1, -1, -1, 693,
2618 694, -1, 696, -1, 24, 25, 563, -1, -1, 941,
2619 -1, 31, 32, -1, 34, -1, 36, -1, -1, 576,
2620 577, 41, 579, 955, -1, 42, -1, -1, -1, 586,
2621 -1, 48, -1, -1, 54, 967, 56, -1, 55, 733,
2622 57, 58, -1, -1, 64, -1, -1, 604, 980, -1,
2623 -1, 71, -1, -1, 71, 3, 4, 5, 990, 7,
2624 8, 9, -1, 83, 81, -1, -1, -1, -1, 1001,
2625 -1, 1003, 89, -1, 91, -1, -1, 94, 95, -1,
2626 -1, -1, 639, -1, 641, 642, -1, 644, -1, 37,
2627 -1, -1, -1, -1, -1, -1, -1, -1, 1364, -1,
2628 -1, 1033, 1034, -1, 1036, -1, -1, -1, 128, 57,
2629 58, -1, -1, -1, -1, 135, -1, -1, -1, 139,
2630 -1, -1, -1, 143, -1, 682, 146, 147, 148, -1,
2631 -1, -1, -1, -1, -1, -1, 693, 694, -1, 696,
2632 160, -1, -1, -1, -1, -1, 1078, 1079, 1080, 1081,
2633 1082, -1, -1, -1, 1086, -1, -1, 177, 178, 179,
2634 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
2635 -1, 1103, 1104, 1105, -1, -1, 733, -1, -1, -1,
2636 -1, -1, -1, 4, 5, -1, 206, -1, 9, -1,
2637 -1, 885, 886, 887, -1, -1, -1, -1, 755, 756,
2638 757, -1, 1134, -1, -1, -1, -1, 1139, -1, 1141,
2639 767, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2640 240, 12, -1, 14, -1, -1, -1, 48, -1, -1,
2641 -1, -1, -1, 927, 55, -1, 57, 58, 29, -1,
2642 31, 32, -1, -1, -1, -1, 37, -1, -1, -1,
2643 71, 42, -1, 1185, 1186, 46, 1188, 48, 278, 279,
2644 81, -1, -1, -1, 55, -1, 57, 58, -1, -1,
2645 91, -1, -1, 94, 95, 832, 1208, 834, -1, -1,
2646 71, 3, 4, 5, 6, -1, -1, 9, 845, -1,
2647 81, -1, 849, 850, 851, -1, -1, -1, 89, -1,
2648 91, -1, 322, 94, 95, -1, 326, 98, 328, 329,
2649 330, -1, -1, -1, -1, 335, -1, -1, -1, 339,
2650 42, -1, -1, -1, -1, -1, 48, -1, 885, 886,
2651 887, -1, -1, 55, 354, 57, 58, 74, 75, 76,
2652 77, 78, 79, 80, 81, 82, 83, 84, 85, 71,
2653 -1, 3, 4, 5, 6, 1287, 1288, 1289, -1, 81,
2654 -1, 381, -1, -1, 384, 385, -1, 89, -1, 91,
2655 927, -1, 94, 95, 81, 395, -1, -1, 398, -1,
2656 -1, -1, -1, 403, 1078, 1079, 1080, 1081, 1082, -1,
2657 42, -1, 1086, -1, -1, -1, 48, -1, -1, -1,
2658 -1, -1, -1, 55, -1, 57, 58, -1, -1, 1103,
2659 1104, 1105, 432, -1, 434, -1, 436, 437, 438, 71,
2660 -1, -1, 442, -1, -1, -1, -1, 447, -1, 81,
2661 450, -1, 1364, -1, -1, -1, -1, 89, -1, 91,
2662 1134, -1, 94, 95, -1, 465, 466, 154, -1, 3,
2663 4, 5, 6, 71, 72, 73, 74, 75, 76, 77,
2664 78, 79, 80, 81, 82, 83, 84, 85, 175, -1,
2665 -1, -1, 1404, 1405, 1406, -1, 1033, 1034, -1, 1036,
2666 -1, 188, -1, 503, 504, 505, 506, 1419, 42, -1,
2667 -1, 1185, 1186, -1, 1188, 49, -1, -1, -1, -1,
2668 -1, -1, 1434, 57, 58, -1, -1, -1, -1, 4,
2669 5, -1, 7, 8, 9, -1, -1, 12, -1, 14,
2670 -1, 1078, 1079, 1080, 1081, 1082, -1, -1, -1, 1086,
2671 -1, -1, -1, -1, 29, 89, 31, 32, -1, -1,
2672 -1, 561, 37, 563, -1, -1, 1103, 1104, 1105, -1,
2673 -1, 46, -1, 48, -1, -1, 576, 577, -1, 579,
2674 55, -1, 57, 58, -1, -1, 586, -1, -1, -1,
2675 -1, 328, 329, 330, -1, -1, 71, 1134, 598, -1,
2676 -1, -1, -1, -1, 604, -1, 81, -1, -1, -1,
2677 -1, -1, -1, -1, -1, -1, 91, -1, -1, 94,
2678 95, -1, 1, 98, 3, 4, 5, 6, 7, 8,
2679 9, 631, -1, -1, -1, 14, -1, -1, -1, 639,
2680 640, 641, 642, 643, 644, -1, -1, -1, 1185, 1186,
2681 29, 1188, 31, 32, -1, -1, -1, -1, 37, -1,
2682 -1, -1, 662, 42, -1, -1, -1, 46, 47, -1,
2683 49, -1, -1, -1, -1, -1, 55, -1, 57, 58,
2684 -1, -1, 682, -1, 63, -1, 686, -1, -1, -1,
2685 1364, -1, 71, 693, 694, -1, 696, -1, -1, -1,
2686 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
2687 89, -1, 4, 5, -1, 94, 8, 9, -1, -1,
2688 -1, -1, 14, 723, -1, -1, 726, -1, 728, -1,
2689 1404, 1405, 1406, 733, 734, 735, -1, 29, -1, 31,
2690 -1, -1, -1, 743, -1, 37, -1, -1, 748, -1,
2691 1287, -1, 1289, 440, 46, 755, 756, 757, 445, -1,
2692 -1, -1, -1, 55, -1, 57, 58, 767, -1, -1,
2693 -1, 4, 5, -1, -1, 8, 9, -1, -1, -1,
2694 -1, 14, -1, 470, -1, -1, 54, -1, 475, -1,
2695 -1, -1, -1, -1, -1, -1, 29, -1, 31, -1,
2696 487, 488, 94, 490, 37, -1, -1, -1, -1, -1,
2697 810, 79, -1, 46, 82, 48, -1, -1, -1, -1,
2698 -1, -1, 55, -1, 57, 58, -1, 1364, -1, -1,
2699 -1, -1, 832, -1, 834, 103, -1, 105, 71, 576,
2700 577, 841, -1, -1, -1, 845, -1, 847, 81, 849,
2701 850, 851, -1, -1, -1, -1, 856, -1, 91, -1,
2702 -1, 94, 95, -1, -1, -1, -1, 1404, 1405, 1406,
2703 -1, 4, -1, -1, 3, 4, 5, 6, -1, -1,
2704 9, 881, -1, 883, -1, 885, 886, 887, -1, -1,
2705 -1, -1, -1, -1, -1, 582, 583, 1434, 31, 32,
2706 587, 34, 639, 36, 641, 642, -1, 644, 41, 177,
2707 178, 179, -1, 42, -1, -1, -1, -1, -1, 187,
2708 -1, 54, -1, 56, -1, -1, 55, 927, 57, 58,
2709 -1, -1, -1, -1, -1, -1, -1, -1, 206, -1,
2710 -1, 941, 71, -1, -1, 682, 79, -1, -1, -1,
2711 -1, -1, 81, 953, -1, 955, -1, -1, -1, -1,
2712 89, 229, -1, -1, -1, 94, -1, 967, -1, -1,
2713 -1, -1, -1, -1, -1, 243, -1, -1, -1, -1,
2714 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
2715 990, -1, -1, -1, 14, 128, -1, -1, -1, 132,
2716 133, 1001, 135, 1003, -1, -1, 139, -1, 141, 29,
2717 143, 31, 32, 146, 147, 148, -1, 37, -1, -1,
2718 -1, -1, 42, -1, -1, -1, 46, 160, -1, 49,
2719 767, -1, -1, 1033, 1034, 55, 1036, 57, 58, -1,
2720 -1, 61, -1, -1, 177, 178, 179, -1, -1, -1,
2721 -1, 71, -1, -1, 187, -1, -1, -1, -1, -1,
2722 -1, 81, 749, -1, 751, -1, 334, 335, -1, 89,
2723 4, 5, -1, 206, 94, 9, -1, -1, 1078, 1079,
2724 1080, 1081, 1082, -1, -1, -1, 1086, -1, -1, -1,
2725 -1, -1, 1092, -1, -1, 832, -1, 834, -1, -1,
2726 -1, -1, -1, 1103, 1104, 1105, -1, 240, 845, -1,
2727 -1, -1, 849, 850, 48, -1, 384, -1, -1, -1,
2728 1120, 55, -1, 57, 58, -1, -1, -1, -1, 816,
2729 817, -1, 819, -1, 1134, -1, -1, 71, -1, 1139,
2730 -1, 1141, -1, -1, -1, -1, -1, 81, 885, 886,
2731 -1, -1, -1, -1, -1, -1, -1, 91, -1, 846,
2732 94, 95, -1, -1, 432, -1, 434, -1, 436, 437,
2733 438, -1, -1, -1, 442, -1, 309, -1, -1, 447,
2734 -1, -1, 450, -1, -1, 1185, 1186, -1, 1188, -1,
2735 -1, -1, -1, 326, -1, 4, 5, -1, -1, 8,
2736 9, 334, 889, -1, -1, 14, 339, -1, 1208, -1,
2737 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2738 29, 354, 31, -1, -1, -1, -1, -1, 37, 3,
2739 4, 5, 6, 7, 8, 9, -1, 46, 12, -1,
2740 14, -1, 375, -1, -1, -1, 55, -1, 57, 58,
2741 59, 384, -1, -1, -1, 29, -1, 31, 32, -1,
2742 -1, -1, 395, 37, -1, 398, -1, 954, 42, -1,
2743 403, -1, 46, -1, -1, -1, -1, -1, -1, 966,
2744 -1, 55, -1, 57, 58, 94, -1, 1287, 1288, 1289,
2745 -1, -1, -1, -1, -1, -1, -1, 71, -1, 432,
2746 4, 434, -1, 436, 437, 438, -1, 81, -1, 442,
2747 -1, -1, -1, -1, 447, 89, -1, 450, -1, -1,
2748 94, 589, 590, -1, -1, -1, -1, 31, 32, -1,
2749 34, -1, 36, 466, -1, -1, 604, 41, -1, -1,
2750 -1, 1078, 1079, 1080, 1081, -1, -1, -1, -1, 1086,
2751 54, -1, 56, -1, -1, 3, 4, 5, 6, -1,
2752 -1, 1048, 495, -1, 1364, 498, 1103, 1104, -1, -1,
2753 -1, 639, -1, 641, 642, -1, -1, -1, -1, -1,
2754 513, 514, 515, -1, -1, -1, -1, -1, -1, -1,
2755 -1, -1, -1, -1, 42, 528, -1, -1, 1085, -1,
2756 -1, -1, -1, -1, 1404, 1405, 1406, 55, -1, 57,
2757 58, -1, -1, -1, 682, 63, -1, -1, -1, 1419,
2758 -1, -1, -1, 71, -1, 693, 694, -1, 696, -1,
2759 -1, 135, -1, 81, 1434, 139, -1, -1, -1, 143,
2760 573, 89, 146, 147, 148, -1, 94, -1, 1185, 1186,
2761 -1, 1188, 720, 586, -1, -1, 160, 1144, -1, -1,
2762 -1, 1148, -1, -1, -1, 733, -1, -1, -1, -1,
2763 -1, 604, -1, 177, 178, 179, -1, -1, 4, 5,
2764 -1, -1, 8, 9, -1, -1, -1, -1, 14, -1,
2765 1177, 4, 5, -1, -1, 8, 9, -1, -1, -1,
2766 -1, 14, 206, 29, -1, 31, 639, 640, 641, 642,
2767 -1, 37, 3, 4, 5, 6, 7, 8, 9, -1,
2768 46, -1, -1, 14, 37, -1, -1, -1, -1, 55,
2769 1217, 57, 58, 46, 1221, 48, 240, -1, 29, -1,
2770 31, 32, 55, -1, 57, 58, 37, -1, -1, 682,
2771 -1, 42, -1, 686, -1, 46, 1243, 1244, 71, -1,
2772 693, 694, -1, 696, 55, -1, 57, 58, 81, -1,
2773 61, -1, -1, -1, -1, -1, -1, -1, 91, -1,
2774 71, 94, 95, -1, -1, -1, -1, 855, 856, 857,
2775 81, -1, -1, 726, -1, 728, -1, -1, 89, -1,
2776 733, 734, 735, 94, -1, -1, -1, -1, -1, 3,
2777 4, 5, 6, 7, 8, 9, -1, 885, 886, 887,
2778 14, 87, -1, 89, 892, 91, -1, -1, 761, -1,
2779 -1, 335, -1, -1, -1, 339, -1, -1, 32, -1,
2780 -1, -1, -1, 37, -1, -1, -1, -1, 42, -1,
2781 -1, -1, 46, -1, 48, -1, -1, -1, -1, 927,
2782 -1, 55, -1, 57, 58, -1, -1, -1, -1, -1,
2783 136, -1, 138, -1, -1, -1, -1, 71, -1, -1,
2784 384, -1, -1, -1, -1, -1, -1, 81, -1, -1,
2785 -1, 395, -1, -1, 398, 89, -1, 91, -1, 403,
2786 94, 95, -1, -1, -1, -1, 3, 4, 5, 6,
2787 -1, 979, 9, 106, 107, -1, 849, 850, 851, -1,
2788 -1, -1, 855, -1, -1, -1, -1, -1, 432, -1,
2789 434, -1, 436, 437, 438, -1, -1, -1, 442, -1,
2790 -1, -1, -1, 447, -1, 42, 450, -1, -1, -1,
2791 -1, -1, 885, 886, 887, -1, -1, -1, 55, 892,
2792 57, 58, 466, -1, -1, -1, -1, -1, -1, -1,
2793 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
2794 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
2795 -1, 1059, 89, -1, 927, -1, -1, 94, -1, -1,
2796 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2797 1078, 1079, 1080, 1081, 1082, -1, 1084, 1, 1086, 3,
2798 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
2799 14, -1, -1, -1, 300, 1103, 1104, 1105, -1, -1,
2800 -1, -1, -1, -1, -1, 29, 979, 31, 32, 33,
2801 -1, -1, -1, 37, 38, -1, -1, 990, 42, -1,
2802 -1, -1, 46, 47, -1, 49, 1134, -1, -1, -1,
2803 574, 55, 338, 57, 58, -1, -1, 61, -1, 63,
2804 -1, -1, -1, -1, -1, -1, -1, 71, 4, 5,
2805 -1, -1, 8, 9, -1, -1, -1, 81, 14, -1,
2806 604, -1, -1, -1, -1, 89, -1, -1, -1, -1,
2807 94, -1, -1, 29, -1, 31, 309, 1185, 1186, -1,
2808 1188, 37, -1, -1, -1, -1, 1059, 111, -1, -1,
2809 46, -1, -1, -1, -1, 639, 640, 641, 642, 55,
2810 -1, 57, 58, -1, -1, 1078, 1079, 1080, 1081, 1082,
2811 -1, 1084, -1, 1086, -1, -1, 422, 423, 4, 5,
2812 -1, -1, 8, 9, 430, -1, -1, -1, 14, -1,
2813 1103, 1104, 1105, -1, -1, -1, -1, -1, 682, -1,
2814 -1, -1, 686, -1, -1, -1, -1, -1, 381, 693,
2815 694, 37, 696, -1, -1, -1, -1, -1, -1, -1,
2816 46, 1134, 48, -1, -1, -1, 1139, -1, 1141, 55,
2817 -1, 57, 58, -1, -1, -1, -1, -1, -1, 1287,
2818 -1, 1289, 726, -1, 728, 71, 492, 493, -1, 733,
2819 734, 735, -1, -1, -1, 81, -1, 430, -1, -1,
2820 -1, -1, -1, -1, -1, 91, -1, -1, 94, 95,
2821 -1, -1, 1185, 1186, -1, 1188, -1, -1, -1, 525,
2822 -1, 527, -1, -1, 530, 531, -1, 533, 534, 535,
2823 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2824 546, 547, 548, 549, 550, 551, -1, -1, -1, -1,
2825 -1, 557, -1, 559, 560, -1, 1364, -1, -1, -1,
2826 -1, -1, 495, -1, -1, 498, -1, -1, -1, 502,
2827 503, 504, 505, 506, -1, -1, -1, -1, -1, -1,
2828 586, -1, 515, -1, -1, -1, -1, 593, -1, -1,
2829 -1, -1, -1, -1, -1, 528, 1404, 1405, 1406, -1,
2830 -1, -1, -1, -1, -1, -1, -1, 613, 614, -1,
2831 -1, -1, 856, -1, 1287, 1288, 1289, -1, -1, -1,
2832 -1, -1, -1, -1, -1, -1, 1434, 560, -1, -1,
2833 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2834 -1, 885, 886, 887, -1, -1, 579, -1, -1, -1,
2835 -1, -1, -1, 586, -1, -1, 3, 4, 5, 6,
2836 7, 8, 9, 669, -1, -1, -1, 14, -1, -1,
2837 4, -1, -1, 3, 4, 5, 6, -1, -1, 9,
2838 -1, -1, 29, 927, 31, 32, -1, -1, -1, -1,
2839 37, 1364, -1, -1, -1, 42, -1, 31, 32, 46,
2840 -1, 48, 36, -1, -1, -1, -1, 41, 55, -1,
2841 57, 58, 42, -1, -1, -1, -1, -1, -1, 725,
2842 -1, -1, 56, -1, 71, 55, -1, 57, 58, -1,
2843 -1, 1404, 1405, 1406, 81, -1, -1, -1, 744, 745,
2844 746, 71, 89, -1, 91, -1, 990, 94, 95, -1,
2845 -1, 81, -1, 686, -1, 761, -1, -1, -1, 89,
2846 -1, 1434, -1, -1, 94, -1, -1, -1, -1, -1,
2847 -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
2848 5, 6, -1, -1, 9, 70, 71, 72, 73, 74,
2849 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2850 85, 135, -1, -1, -1, 139, -1, 813, 814, 143,
2851 743, -1, -1, -1, -1, 748, -1, 42, -1, -1,
2852 -1, 827, -1, 829, -1, 831, 160, 328, 329, 330,
2853 55, -1, 57, 58, 1078, 1079, 1080, 1081, 1082, -1,
2854 -1, -1, 1086, 177, 178, -1, 71, 4, 5, -1,
2855 7, 8, 9, -1, -1, 12, 81, 14, 864, 1103,
2856 1104, 1105, -1, -1, 89, -1, -1, -1, 874, 94,
2857 -1, -1, 29, -1, 31, 32, -1, 810, 884, -1,
2858 37, 3, 4, 5, 6, 7, 8, 9, -1, 46,
2859 1134, 897, 14, -1, -1, 1139, -1, 1141, 55, -1,
2860 57, 58, -1, 909, -1, -1, 240, -1, 841, -1,
2861 32, -1, -1, -1, 847, 37, -1, -1, 851, -1,
2862 42, 927, -1, -1, 46, -1, 48, -1, -1, -1,
2863 -1, -1, -1, 55, -1, 57, 58, -1, -1, -1,
2864 -1, 1185, 1186, -1, 1188, -1, -1, -1, 881, 71,
2865 883, -1, -1, -1, 887, -1, -1, -1, -1, 81,
2866 -1, -1, -1, -1, 970, -1, -1, 89, -1, 91,
2867 -1, -1, 94, 95, -1, -1, -1, -1, -1, -1,
2868 -1, 3, 4, 5, 6, -1, 992, 9, -1, -1,
2869 -1, -1, -1, -1, 927, -1, -1, -1, -1, 4,
2870 5, -1, 7, 8, 9, 339, -1, -1, 941, 14,
2871 -1, -1, -1, 1019, -1, 948, 1022, -1, -1, -1,
2872 42, -1, 955, -1, 29, -1, 31, 32, -1, -1,
2873 -1, -1, 37, 55, 967, 57, 58, -1, -1, -1,
2874 -1, 46, -1, 1287, 1288, 1289, -1, -1, -1, 71,
2875 55, -1, 57, 58, -1, -1, -1, -1, -1, 81,
2876 -1, 395, -1, -1, 398, -1, -1, 89, 1001, 403,
2877 1003, -1, 94, -1, -1, 576, 577, -1, 579, -1,
2878 -1, -1, -1, -1, -1, 586, -1, -1, 1094, -1,
2879 1096, -1, 1098, -1, -1, 1101, -1, -1, 432, -1,
2880 434, -1, -1, -1, 1110, 1111, -1, -1, -1, 1115,
2881 1116, -1, -1, 447, -1, -1, -1, 14, -1, -1,
2882 1364, -1, -1, -1, 1130, 1131, -1, 24, 25, -1,
2883 -1, -1, 466, -1, 31, 32, -1, 34, 639, -1,
2884 641, 642, -1, 644, -1, -1, -1, -1, -1, 1082,
2885 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2886 1404, 1405, 1406, -1, -1, -1, -1, 64, -1, -1,
2887 -1, -1, 1105, -1, -1, -1, 1182, -1, -1, -1,
2888 -1, 682, -1, -1, -1, 3, 4, 5, 6, -1,
2889 1434, 9, -1, -1, 64, 65, 66, 67, 68, 69,
2890 70, 71, 72, 73, 74, 75, 1212, 77, 78, 79,
2891 80, 81, 82, 83, 84, 85, -1, -1, -1, -1,
2892 -1, -1, 1228, -1, 42, -1, 123, -1, 125, -1,
2893 -1, 128, -1, -1, -1, 132, 133, 55, -1, 57,
2894 58, -1, 139, -1, 141, 142, 143, -1, -1, 146,
2895 147, 148, -1, 71, -1, -1, -1, -1, -1, -1,
2896 -1, -1, -1, 81, -1, -1, 767, -1, 1274, -1,
2897 -1, 89, -1, -1, -1, 1208, 94, -1, -1, -1,
2898 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
2899 -1, -1, -1, -1, 14, -1, -1, -1, -1, -1,
2900 -1, 1307, 1308, -1, -1, -1, 640, 27, 28, 29,
2901 1316, 31, 32, 33, -1, -1, -1, 37, -1, -1,
2902 -1, -1, 42, 220, 221, 45, 46, 47, -1, 49,
2903 -1, 832, -1, 834, -1, 55, -1, 57, 58, -1,
2904 -1, 61, -1, 240, 845, -1, -1, -1, 849, 850,
2905 851, 71, 686, -1, -1, -1, -1, -1, 1364, 693,
2906 694, 81, 696, -1, -1, -1, -1, -1, -1, 89,
2907 -1, -1, -1, -1, 94, -1, -1, -1, -1, -1,
2908 100, -1, 279, -1, 885, 886, 887, -1, 1394, -1,
2909 -1, -1, 726, -1, 728, -1, -1, -1, -1, 733,
2910 734, 735, -1, -1, -1, -1, -1, -1, -1, 1,
2911 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
2912 -1, 13, 14, -1, -1, -1, 927, -1, -1, 326,
2913 -1, 328, 329, -1, -1, -1, -1, 29, 30, 31,
2914 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
2915 42, 43, 44, -1, 46, -1, -1, 354, 50, 51,
2916 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
2917 62, -1, -1, 1406, -1, -1, 68, -1, 375, 71,
2918 4, 5, -1, 7, 8, 9, 1419, 79, 80, 81,
2919 14, -1, -1, -1, 391, 87, 88, 89, 395, -1,
2920 -1, 398, 94, -1, -1, 29, 403, 31, 32, -1,
2921 1516, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2922 112, -1, 46, -1, -1, 49, -1, -1, -1, -1,
2923 -1, 55, -1, 57, 58, 72, 73, 74, 75, 76,
2924 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
2925 -1, 885, 886, -1, -1, -1, -1, -1, -1, -1,
2926 -1, -1, -1, -1, -1, -1, 463, -1, 465, -1,
2927 -1, -1, -1, -1, -1, -1, -1, 1078, 1079, 1080,
2928 1081, 1082, -1, -1, -1, 1086, -1, -1, -1, -1,
2929 -1, -1, 489, 1, -1, 3, 4, 5, 6, 7,
2930 8, 9, 1103, 1104, 1105, -1, 14, -1, -1, -1,
2931 -1, -1, -1, -1, -1, -1, -1, -1, -1, 27,
2932 28, 29, -1, 31, 32, 33, -1, -1, -1, 37,
2933 -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
2934 -1, 49, -1, -1, -1, -1, -1, 55, -1, 57,
2935 58, -1, -1, 61, -1, -1, 990, -1, -1, -1,
2936 -1, -1, -1, 71, -1, -1, 563, -1, -1, -1,
2937 -1, -1, -1, 81, -1, -1, 573, 574, -1, 576,
2938 577, 89, -1, -1, 1185, 1186, 94, 1188, -1, -1,
2939 -1, -1, 100, -1, -1, -1, -1, -1, -1, -1,
2940 -1, -1, -1, 1, -1, -1, 4, 5, -1, -1,
2941 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
2942 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2943 -1, 29, -1, 31, 631, -1, -1, -1, -1, 37,
2944 -1, 39, 40, -1, 1078, 1079, 643, -1, 46, -1,
2945 48, -1, 1086, -1, -1, -1, -1, 55, -1, 57,
2946 58, -1, 60, -1, -1, 662, 64, 65, 66, 67,
2947 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2948 78, 79, 80, 81, 82, 83, 84, -1, -1, 87,
2949 88, 89, -1, -1, 92, -1, -1, 95, -1, -1,
2950 1134, -1, -1, -1, -1, 1139, -1, 1141, -1, -1,
2951 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
2952 -1, -1, -1, 720, -1, -1, 723, -1, -1, -1,
2953 -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
2954 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
2955 -1, 1185, 1186, -1, 1188, -1, -1, -1, 755, 756,
2956 757, 29, -1, 31, 32, -1, -1, -1, -1, 37,
2957 767, -1, -1, -1, 42, -1, -1, -1, 46, -1,
2958 -1, -1, -1, -1, -1, -1, -1, 55, -1, 57,
2959 58, -1, -1, 1, -1, 3, 4, 5, 6, 7,
2960 8, 9, -1, 71, 12, -1, 14, -1, -1, -1,
2961 -1, -1, -1, 81, -1, -1, -1, 25, -1, 27,
2962 28, 89, -1, -1, 32, -1, 94, -1, -1, 37,
2963 -1, -1, -1, -1, 42, 832, -1, 834, 46, -1,
2964 48, -1, -1, -1, -1, -1, -1, 55, 845, 57,
2965 58, 59, 60, 61, 1288, 63, 64, 65, 66, 67,
2966 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2967 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
2968 88, 89, -1, 91, 92, 93, 94, 95, 96, -1,
2969 98, 99, -1, -1, -1, -1, 104, -1, -1, -1,
2970 -1, 109, 110, 111, -1, 113, -1, -1, 1, -1,
2971 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
2972 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
2973 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
2974 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
2975 43, 44, -1, 46, -1, -1, 953, 50, 51, 52,
2976 53, 54, 55, -1, 57, 58, 59, -1, 61, 62,
2977 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
2978 -1, -1, -1, 980, -1, -1, 79, 80, 81, -1,
2979 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
2980 -1, 94, -1, 96, -1, -1, -1, -1, -1, -1,
2981 -1, -1, -1, -1, -1, -1, -1, -1, 111, 112,
2982 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2983 -1, -1, -1, -1, -1, -1, 1033, 1034, -1, 1036,
2984 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
2985 11, -1, 13, 14, 15, -1, 17, 18, 19, 20,
2986 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
2987 31, 32, 33, -1, 35, 36, 37, -1, 39, 40,
2988 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
2989 51, 52, 53, 54, 55, 1092, 57, 58, 59, -1,
2990 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
2991 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
2992 81, -1, -1, 1120, -1, -1, 87, 88, 89, -1,
2993 -1, -1, -1, 94, -1, 96, -1, -1, -1, -1,
2994 1137, -1, 1139, -1, -1, -1, -1, -1, -1, -1,
2995 1, 112, 3, 4, 5, 6, 7, 8, 9, 10,
2996 11, 12, 13, 14, -1, -1, -1, -1, -1, -1,
2997 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
2998 31, 32, 33, -1, 35, 36, 37, -1, 39, 40,
2999 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3000 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3001 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3002 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3003 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3004 91, -1, -1, 94, 95, -1, 1, 98, 3, 4,
3005 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3006 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3007 -1, -1, -1, -1, 29, 30, 31, 32, 33, -1,
3008 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3009 -1, 46, -1, 48, -1, 50, 51, 52, 53, 54,
3010 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
3011 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3012 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3013 -1, -1, 87, 88, 89, -1, 91, -1, -1, 94,
3014 95, -1, 1, 98, 3, 4, 5, 6, 7, 8,
3015 9, 10, 11, 12, 13, 14, -1, 112, -1, -1,
3016 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3017 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
3018 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3019 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3020 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3021 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3022 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3023 89, -1, -1, -1, -1, 94, -1, -1, -1, 98,
3024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3025 -1, 110, 1, 112, 3, 4, 5, 6, -1, 8,
3026 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3027 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3028 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3029 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3030 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3031 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3032 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3033 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3034 89, -1, -1, -1, 1, 94, 3, 4, 5, 6,
3035 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3036 -1, -1, 111, 112, -1, -1, -1, -1, -1, -1,
3037 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3038 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3039 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3040 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3041 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3042 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3043 87, 88, 89, -1, -1, -1, 1, 94, 3, 4,
3044 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3045 -1, -1, -1, -1, 111, 112, -1, -1, -1, -1,
3046 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3047 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3048 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3049 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
3050 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3051 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3052 -1, -1, 87, 88, 89, -1, -1, -1, 1, 94,
3053 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3054 13, 14, -1, -1, -1, -1, 111, 112, -1, -1,
3055 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3056 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3057 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3058 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3059 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3060 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3061 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3062 -1, 94, -1, -1, 1, -1, 3, 4, 5, 6,
3063 103, 8, 9, 10, 11, -1, 13, 14, -1, 112,
3064 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3065 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3066 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3067 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3068 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3069 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3070 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3071 87, 88, 89, -1, -1, -1, 1, 94, 3, 4,
3072 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3073 -1, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3074 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3075 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3076 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3077 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
3078 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3079 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3080 -1, -1, 87, 88, 89, -1, -1, -1, 1, 94,
3081 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3082 13, 14, -1, -1, -1, -1, -1, 112, -1, -1,
3083 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3084 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3085 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3086 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3087 63, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3088 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3089 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3090 1, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3091 11, -1, 13, 14, -1, -1, -1, -1, -1, 112,
3092 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3093 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3094 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3095 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3096 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3097 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3098 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3099 -1, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3100 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3101 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3102 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3103 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3104 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3105 -1, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3106 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3107 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3108 89, -1, -1, -1, 1, 94, 3, 4, 5, 6,
3109 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3110 -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
3111 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3112 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3113 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3114 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3115 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3116 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3117 87, 88, 89, -1, -1, -1, 1, 94, 3, 4,
3118 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3119 -1, -1, -1, 110, -1, 112, -1, -1, -1, -1,
3120 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3121 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3122 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3123 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3124 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3125 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3126 -1, -1, 87, 88, 89, -1, -1, -1, 1, 94,
3127 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3128 13, 14, -1, -1, -1, -1, -1, 112, -1, -1,
3129 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3130 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3131 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3132 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3133 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3134 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3135 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3136 1, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3137 11, -1, 13, 14, -1, -1, -1, -1, -1, 112,
3138 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3139 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3140 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3141 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3142 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3143 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3144 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3145 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3146 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3147 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3148 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3149 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3150 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3151 -1, -1, -1, -1, 68, -1, 1, 71, 3, 4,
3152 5, 6, 7, 8, 9, 79, 80, 81, -1, 14,
3153 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3154 94, -1, -1, -1, 29, -1, 31, 32, 33, -1,
3155 -1, -1, 37, 38, -1, -1, -1, 42, 112, 113,
3156 -1, 46, 47, -1, 49, -1, -1, -1, -1, -1,
3157 55, -1, 57, 58, -1, -1, 61, -1, 63, -1,
3158 -1, -1, 3, 4, 5, 6, 71, 1, 9, 3,
3159 4, 5, 6, 7, 8, 9, 81, -1, -1, -1,
3160 14, -1, -1, -1, 89, -1, -1, -1, -1, 94,
3161 -1, -1, -1, -1, -1, 29, -1, 31, 32, 33,
3162 -1, 42, -1, 37, 38, -1, 111, -1, 42, -1,
3163 -1, -1, 46, 47, 55, 49, 57, 58, -1, -1,
3164 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
3165 71, -1, -1, -1, -1, -1, -1, 71, -1, -1,
3166 81, -1, -1, -1, -1, -1, -1, 81, 89, -1,
3167 -1, -1, -1, 94, -1, 89, -1, -1, -1, -1,
3168 94, -1, -1, -1, 3, 4, 5, 6, 7, 8,
3169 9, 10, 11, -1, 13, 14, 15, 111, 17, 18,
3170 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3171 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
3172 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3173 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3174 59, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3175 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3176 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3177 89, -1, -1, -1, -1, 94, -1, 96, -1, -1,
3178 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3179 -1, -1, 111, 112, 3, 4, 5, 6, 7, 8,
3180 9, 10, 11, -1, 13, 14, 15, -1, 17, 18,
3181 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3182 29, 30, 31, 32, 33, -1, 35, 36, 37, -1,
3183 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3184 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3185 59, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3186 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3187 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3188 89, -1, -1, -1, -1, 94, -1, 96, -1, -1,
3189 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3190 13, 14, 15, 112, 17, 18, 19, 20, 21, 22,
3191 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3192 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3193 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3194 53, 54, 55, -1, 57, 58, 59, -1, 61, 62,
3195 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3196 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3197 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3198 -1, 94, -1, 96, -1, -1, 3, 4, 5, 6,
3199 7, 8, 9, 10, 11, -1, 13, 14, 15, 112,
3200 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3201 27, 28, 29, 30, 31, 32, 33, -1, 35, 36,
3202 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3203 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3204 57, 58, -1, -1, 61, 62, -1, -1, -1, -1,
3205 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3206 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3207 87, 88, 89, -1, -1, -1, -1, 94, -1, 96,
3208 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
3209 13, 14, -1, -1, -1, 112, -1, -1, -1, -1,
3210 -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
3211 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3212 43, 44, -1, 46, -1, 48, -1, 50, 51, 52,
3213 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3214 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3215 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3216 -1, -1, -1, -1, 87, 88, 89, -1, 91, -1,
3217 -1, 94, 95, -1, -1, 98, 3, 4, 5, 6,
3218 7, 8, 9, 10, 11, 12, 13, 14, -1, 112,
3219 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3220 -1, -1, 29, 30, 31, 32, 33, -1, 35, 36,
3221 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3222 -1, 48, -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, 91, -1, -1, 94, 95, -1,
3227 -1, 98, 3, 4, 5, 6, -1, 8, 9, 10,
3228 11, -1, 13, 14, -1, 112, -1, -1, -1, -1,
3229 -1, 3, 4, 5, 6, -1, -1, -1, 29, 30,
3230 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3231 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3232 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3233 42, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3234 71, -1, -1, 55, -1, 57, 58, -1, 79, 80,
3235 81, 63, -1, -1, -1, -1, 87, 88, 89, 71,
3236 91, -1, -1, 94, 95, 3, 4, 5, 6, 81,
3237 8, 9, 10, 11, -1, 13, 14, 89, -1, -1,
3238 -1, 112, 94, -1, 3, 4, 5, 6, -1, -1,
3239 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3240 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3241 48, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3242 58, -1, -1, 42, -1, -1, -1, -1, -1, -1,
3243 68, -1, -1, 71, -1, -1, 55, -1, 57, 58,
3244 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3245 88, 89, 71, 91, -1, -1, 94, 95, 3, 4,
3246 5, 6, 81, 8, 9, 10, 11, -1, 13, 14,
3247 89, -1, -1, -1, 112, 94, -1, -1, -1, -1,
3248 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3249 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3250 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3251 55, -1, 57, 58, -1, -1, 61, 62, -1, -1,
3252 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3253 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3254 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3255 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3256 13, 14, -1, -1, -1, -1, -1, 112, -1, -1,
3257 -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
3258 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3259 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3260 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3261 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3262 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3263 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3264 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3265 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3266 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3267 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3268 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3269 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3270 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3271 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3272 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3273 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3274 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3275 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3276 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3277 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3278 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3279 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3280 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3281 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3282 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3283 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3284 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3285 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3286 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3287 -1, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3288 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3289 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3290 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3292 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3293 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3294 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3295 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3296 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3297 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3298 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3299 95, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3300 -1, 13, 14, -1, -1, -1, -1, 112, -1, -1,
3301 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3302 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3303 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3304 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3305 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3306 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3307 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3308 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3309 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3310 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3311 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3312 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3313 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3314 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3315 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3316 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3317 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3318 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3319 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3320 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3321 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3322 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3323 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3324 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3325 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3326 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3327 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3328 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3329 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3330 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3331 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3332 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3333 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3334 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3335 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3336 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3337 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3338 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3339 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3340 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3341 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3342 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3343 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3344 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3345 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3346 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3347 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3348 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3349 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3350 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3351 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3352 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3353 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3354 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3355 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3356 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3357 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3358 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3359 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3360 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3361 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3362 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3363 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3364 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3365 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3366 -1, -1, -1, -1, -1, 68, -1, 1, 71, 3,
3367 4, 5, 6, 7, 8, 9, 79, 80, 81, -1,
3368 14, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3369 -1, 94, -1, -1, -1, 29, -1, 31, 32, 33,
3370 -1, -1, -1, 37, -1, -1, -1, -1, 42, 112,
3371 -1, -1, 46, 47, -1, 49, -1, -1, -1, -1,
3372 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
3373 3, 4, 5, 6, 7, 8, 9, 71, -1, -1,
3374 -1, 14, -1, -1, -1, -1, -1, 81, -1, -1,
3375 -1, -1, -1, -1, -1, 89, 29, -1, 31, 32,
3376 94, -1, -1, -1, 37, -1, -1, -1, -1, 42,
3377 -1, -1, -1, 46, -1, 3, 4, 5, 6, 7,
3378 8, 9, 55, -1, 57, 58, 14, -1, -1, -1,
3379 63, -1, -1, -1, -1, -1, -1, -1, 71, -1,
3380 -1, 29, -1, 31, 32, -1, -1, -1, 81, 37,
3381 -1, -1, -1, -1, 42, -1, 89, -1, 46, -1,
3382 -1, 94, -1, -1, -1, -1, -1, 55, -1, 57,
3383 58, -1, -1, 61, 3, 4, 5, 6, 7, 8,
3384 9, -1, -1, 71, -1, 14, -1, -1, -1, -1,
3385 -1, -1, -1, 81, -1, -1, -1, -1, -1, -1,
3386 29, 89, 31, 32, -1, -1, 94, -1, 37, -1,
3387 -1, -1, -1, 42, -1, -1, -1, 46, -1, 3,
3388 4, 5, 6, 7, 8, 9, 55, -1, 57, 58,
3389 14, 3, 4, 5, 6, -1, -1, -1, 3, 4,
3390 5, 6, 71, -1, -1, -1, -1, -1, 32, -1,
3391 -1, -1, 81, 37, -1, -1, -1, -1, 42, -1,
3392 89, -1, 46, -1, 48, 94, -1, -1, -1, -1,
3393 42, 55, -1, 57, 58, -1, -1, 42, -1, 3,
3394 4, 5, 6, 55, -1, 57, 58, 71, -1, 61,
3395 55, -1, 57, 58, -1, -1, -1, 81, -1, 71,
3396 -1, -1, -1, -1, -1, 89, 71, -1, -1, 81,
3397 94, -1, -1, -1, -1, -1, 81, 89, 42, -1,
3398 -1, -1, 94, -1, 89, -1, -1, -1, -1, 94,
3399 -1, 55, -1, 57, 58, -1, -1, -1, -1, 32,
3400 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
3401 -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
3402 -1, -1, -1, -1, -1, 89, -1, -1, -1, -1,
3403 94, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3404 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3405 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
3406 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3407 81, 82, 83, 84, 85, 68, 69, 70, 71, 72,
3408 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3409 83, 84, 85, -1, -1, 60, -1, -1, 109, 64,
3410 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3411 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3412 85, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3413 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3414 82, 83, 84, 85, 64, 65, 66, 67, 68, 69,
3415 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3416 80, 81, 82, 83, 84, 85, 69, 70, 71, 72,
3417 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3420 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3421 #line 3 "/usr/lib/bison.simple"
3423 /* Skeleton output parser for bison,
3424 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3426 This program is free software; you can redistribute it and/or modify
3427 it under the terms of the GNU General Public License as published by
3428 the Free Software Foundation; either version 2, or (at your option)
3431 This program is distributed in the hope that it will be useful,
3432 but WITHOUT ANY WARRANTY; without even the implied warranty of
3433 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3434 GNU General Public License for more details.
3436 You should have received a copy of the GNU General Public License
3437 along with this program; if not, write to the Free Software
3438 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3440 /* As a special exception, when this file is copied by Bison into a
3441 Bison output file, you may use that output file without restriction.
3442 This special exception was added by the Free Software Foundation
3443 in version 1.24 of Bison. */
3447 #define alloca __builtin_alloca
3448 #else /* not GNU C. */
3449 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3451 #else /* not sparc */
3452 #if defined (MSDOS) && !defined (__TURBOC__)
3454 #else /* not MSDOS, or __TURBOC__ */
3458 #else /* not MSDOS, __TURBOC__, or _AIX */
3462 void *alloca (unsigned int);
3464 #else /* not __cplusplus */
3466 #endif /* not __cplusplus */
3468 #endif /* not _AIX */
3469 #endif /* not MSDOS, or __TURBOC__ */
3470 #endif /* not sparc. */
3471 #endif /* not GNU C. */
3472 #endif /* alloca not defined. */
3474 /* This is the parser code that is written into each bison parser
3475 when the %semantic_parser declaration is not specified in the grammar.
3476 It was written by Richard Stallman by simplifying the hairy parser
3477 used when %semantic_parser is specified. */
3479 /* Note: there must be only one dollar sign in this file.
3480 It is replaced by the list of actions, each action
3481 as one case of the switch. */
3483 #define yyerrok (yyerrstatus = 0)
3484 #define yyclearin (yychar = YYEMPTY)
3487 #define YYACCEPT return(0)
3488 #define YYABORT return(1)
3489 #define YYERROR goto yyerrlab1
3490 /* Like YYERROR except do call yyerror.
3491 This remains here temporarily to ease the
3492 transition to the new meaning of YYERROR, for GCC.
3493 Once GCC version 2 has supplanted version 1, this can go. */
3494 #define YYFAIL goto yyerrlab
3495 #define YYRECOVERING() (!!yyerrstatus)
3496 #define YYBACKUP(token, value) \
3498 if (yychar == YYEMPTY && yylen == 1) \
3499 { yychar = (token), yylval = (value); \
3500 yychar1 = YYTRANSLATE (yychar); \
3505 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3509 #define YYERRCODE 256
3512 #define YYLEX yylex()
3518 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3520 #define YYLEX yylex(&yylval, &yylloc)
3522 #else /* not YYLSP_NEEDED */
3524 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3526 #define YYLEX yylex(&yylval)
3528 #endif /* not YYLSP_NEEDED */
3531 /* If nonreentrant, generate the variables here */
3535 int yychar
; /* the lookahead symbol */
3536 YYSTYPE yylval
; /* the semantic value of the */
3537 /* lookahead symbol */
3540 YYLTYPE yylloc
; /* location data for the lookahead */
3544 int yynerrs
; /* number of parse errors so far */
3545 #endif /* not YYPURE */
3548 int yydebug
; /* nonzero means print parse trace */
3549 /* Since this is uninitialized, it does not stop multiple parsers
3553 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3556 #define YYINITDEPTH 200
3559 /* YYMAXDEPTH is the maximum size the stacks can grow to
3560 (effective only if the built-in stack extension method is used). */
3567 #define YYMAXDEPTH 10000
3570 /* Prevent warning if -Wstrict-prototypes. */
3575 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3576 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3577 #else /* not GNU C or C++ */
3580 /* This is the most reliable way to avoid incompatibilities
3581 in available built-in functions on various systems. */
3583 __yy_memcpy (to
, from
, count
)
3588 register char *f
= from
;
3589 register char *t
= to
;
3590 register int i
= count
;
3596 #else /* __cplusplus */
3598 /* This is the most reliable way to avoid incompatibilities
3599 in available built-in functions on various systems. */
3601 __yy_memcpy (char *to
, char *from
, int count
)
3603 register char *f
= from
;
3604 register char *t
= to
;
3605 register int i
= count
;
3614 #line 196 "/usr/lib/bison.simple"
3616 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3617 into yyparse. The argument should have type void *.
3618 It should actually point to an object.
3619 Grammar actions can access the variable by casting it
3620 to the proper pointer type. */
3622 #ifdef YYPARSE_PARAM
3624 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3625 #define YYPARSE_PARAM_DECL
3626 #else /* not __cplusplus */
3627 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3628 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3629 #endif /* not __cplusplus */
3630 #else /* not YYPARSE_PARAM */
3631 #define YYPARSE_PARAM_ARG
3632 #define YYPARSE_PARAM_DECL
3633 #endif /* not YYPARSE_PARAM */
3636 yyparse(YYPARSE_PARAM_ARG
)
3639 register int yystate
;
3641 register short *yyssp
;
3642 register YYSTYPE
*yyvsp
;
3643 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3644 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3646 short yyssa
[YYINITDEPTH
]; /* the state stack */
3647 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3649 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3650 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3653 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3654 YYLTYPE
*yyls
= yylsa
;
3657 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3659 #define YYPOPSTACK (yyvsp--, yyssp--)
3662 int yystacksize
= YYINITDEPTH
;
3673 YYSTYPE yyval
; /* the variable used to return */
3674 /* semantic values from the action */
3681 fprintf(stderr
, "Starting parse\n");
3687 yychar
= YYEMPTY
; /* Cause a token to be read. */
3689 /* Initialize stack pointers.
3690 Waste one element of value and location stack
3691 so that they stay on the same level as the state stack.
3692 The wasted elements are never initialized. */
3700 /* Push a new state, which is found in yystate . */
3701 /* In all cases, when you get here, the value and location stacks
3702 have just been pushed. so pushing a state here evens the stacks. */
3707 if (yyssp
>= yyss
+ yystacksize
- 1)
3709 /* Give user a chance to reallocate the stack */
3710 /* Use copies of these so that the &'s don't force the real ones into memory. */
3711 YYSTYPE
*yyvs1
= yyvs
;
3712 short *yyss1
= yyss
;
3714 YYLTYPE
*yyls1
= yyls
;
3717 /* Get the current used size of the three stacks, in elements. */
3718 int size
= yyssp
- yyss
+ 1;
3721 /* Each stack pointer address is followed by the size of
3722 the data in use in that stack, in bytes. */
3724 /* This used to be a conditional around just the two extra args,
3725 but that might be undefined if yyoverflow is a macro. */
3726 yyoverflow("parser stack overflow",
3727 &yyss1
, size
* sizeof (*yyssp
),
3728 &yyvs1
, size
* sizeof (*yyvsp
),
3729 &yyls1
, size
* sizeof (*yylsp
),
3732 yyoverflow("parser stack overflow",
3733 &yyss1
, size
* sizeof (*yyssp
),
3734 &yyvs1
, size
* sizeof (*yyvsp
),
3738 yyss
= yyss1
; yyvs
= yyvs1
;
3742 #else /* no yyoverflow */
3743 /* Extend the stack our own way. */
3744 if (yystacksize
>= YYMAXDEPTH
)
3746 yyerror("parser stack overflow");
3750 if (yystacksize
> YYMAXDEPTH
)
3751 yystacksize
= YYMAXDEPTH
;
3752 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3753 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3754 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3755 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3757 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3758 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3760 #endif /* no yyoverflow */
3762 yyssp
= yyss
+ size
- 1;
3763 yyvsp
= yyvs
+ size
- 1;
3765 yylsp
= yyls
+ size
- 1;
3770 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3773 if (yyssp
>= yyss
+ yystacksize
- 1)
3779 fprintf(stderr
, "Entering state %d\n", yystate
);
3785 /* Do appropriate processing given the current state. */
3786 /* Read a lookahead token if we need one and don't already have one. */
3789 /* First try to decide what to do without reference to lookahead token. */
3791 yyn
= yypact
[yystate
];
3795 /* Not known => get a lookahead token if don't already have one. */
3797 /* yychar is either YYEMPTY or YYEOF
3798 or a valid token in external form. */
3800 if (yychar
== YYEMPTY
)
3804 fprintf(stderr
, "Reading a token: ");
3809 /* Convert token to internal form (in yychar1) for indexing tables with */
3811 if (yychar
<= 0) /* This means end of input. */
3814 yychar
= YYEOF
; /* Don't call YYLEX any more */
3818 fprintf(stderr
, "Now at end of input.\n");
3823 yychar1
= YYTRANSLATE(yychar
);
3828 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
3829 /* Give the individual parser a way to print the precise meaning
3830 of a token, for further debugging info. */
3832 YYPRINT (stderr
, yychar
, yylval
);
3834 fprintf (stderr
, ")\n");
3840 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
3845 /* yyn is what to do for this token type in this state.
3846 Negative => reduce, -yyn is rule number.
3847 Positive => shift, yyn is new state.
3848 New state is final state => don't bother to shift,
3849 just return success.
3850 0, or most negative number => error. */
3865 /* Shift the lookahead token. */
3869 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
3872 /* Discard the token being shifted unless it is eof. */
3873 if (yychar
!= YYEOF
)
3881 /* count tokens shifted since error; after three, turn off error status. */
3882 if (yyerrstatus
) yyerrstatus
--;
3887 /* Do the default action for the current state. */
3890 yyn
= yydefact
[yystate
];
3894 /* Do a reduction. yyn is the number of a rule to reduce with. */
3898 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
3905 fprintf (stderr
, "Reducing via rule %d (line %d), ",
3908 /* Print the symbols being reduced, and their result. */
3909 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
3910 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
3911 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
3921 /* In case there were missing closebraces,
3922 get us back to the global binding level. */
3923 while (! global_bindings_p ())
3930 { yyval
.ttype
= NULL_TREE
; ;
3934 { yyval
.ttype
= NULL_TREE
; ;
3938 { yyval
.ttype
= NULL_TREE
; ;
3942 { have_extern_spec
= 1;
3943 used_extern_spec
= 0;
3944 yyval
.ttype
= NULL_TREE
; ;
3948 { have_extern_spec
= 0; ;
3952 { yyval
.itype
= pedantic
;
3957 { if (pending_lang_change
) do_pending_lang_change(); ;
3961 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
3962 pop_everything (); ;
3966 { if (pending_inlines
) do_pending_inlines (); ;
3970 { if (pending_inlines
) do_pending_inlines (); ;
3974 { if (pending_inlines
) do_pending_inlines (); ;
3978 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
3979 assemble_asm (yyvsp
[-2].ttype
); ;
3983 { pop_lang_context (); ;
3987 { if (pending_inlines
) do_pending_inlines ();
3988 pop_lang_context (); ;
3992 { if (pending_inlines
) do_pending_inlines ();
3993 pop_lang_context (); ;
3997 { push_namespace (yyvsp
[-1].ttype
); ;
4001 { pop_namespace (); ;
4005 { push_namespace (NULL_TREE
); ;
4009 { pop_namespace (); ;
4013 { do_namespace_alias (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4017 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4022 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
4023 yyvsp
[-1].ttype
= lastiddecl
;
4024 do_using_directive (yyvsp
[-1].ttype
);
4029 { pedantic
= yyvsp
[-1].itype
; ;
4033 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4037 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4041 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4045 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4049 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4053 { push_lang_context (yyvsp
[0].ttype
); ;
4057 { if (current_lang_name
!= yyvsp
[0].ttype
)
4058 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4059 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4063 { begin_template_parm_list (); ;
4067 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4071 { begin_specialization();
4072 yyval
.ttype
= NULL_TREE
; ;
4076 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4080 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4084 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4088 { yyval
.ttype
= NULL_TREE
; ;
4093 yyval
.ttype
= build_tree_list (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4094 if (TREE_PURPOSE (yyval
.ttype
) == signature_type_node
)
4095 sorry ("signature as template type parameter");
4096 else if (TREE_PURPOSE (yyval
.ttype
) != class_type_node
)
4098 pedwarn ("template type parameters must use the keyword `class'");
4099 TREE_PURPOSE (yyval
.ttype
) = class_type_node
;
4105 { yyval
.ttype
= build_tree_list (class_type_node
, yyvsp
[0].ttype
); ;
4110 tree decl
= build_decl (TYPE_DECL
, yyvsp
[0].ttype
, NULL_TREE
);
4111 tree tmpl
= build_lang_decl (TEMPLATE_DECL
, yyvsp
[0].ttype
, NULL_TREE
);
4112 DECL_TEMPLATE_PARMS (tmpl
) = current_template_parms
;
4113 DECL_TEMPLATE_RESULT (tmpl
) = decl
;
4114 SET_DECL_ARTIFICIAL (decl
);
4115 end_template_decl ();
4117 if (yyvsp
[-1].ttype
== signature_type_node
)
4118 sorry ("signature as template template parameter");
4119 else if (yyvsp
[-1].ttype
!= class_type_node
)
4120 pedwarn ("template template parameters must use the keyword `class'");
4121 yyval
.ttype
= build_tree_list (class_type_node
, tmpl
);
4126 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4130 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4134 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4138 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4142 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4147 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4148 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4149 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4151 error ("invalid default template argument");
4152 yyvsp
[0].ttype
= error_mark_node
;
4154 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4160 if (yyvsp
[-1].ttype
)
4161 end_template_decl ();
4163 end_specialization ();
4169 if (yyvsp
[-1].ttype
)
4170 end_template_decl ();
4172 end_specialization ();
4186 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
4191 { pedwarn ("empty declaration"); ;
4197 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4199 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4204 { yyval
.itype
= 0; ;
4208 { yyval
.itype
= 1; ;
4212 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4225 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4226 if (yyvsp
[-2].ttype
!= current_class_type
)
4228 push_nested_class (yyvsp
[-2].ttype
, 3);
4229 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4235 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4240 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4241 if (yyvsp
[-4].ttype
!= current_class_type
)
4243 push_nested_class (yyvsp
[-4].ttype
, 3);
4244 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4246 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4252 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4253 if (yyvsp
[-2].ttype
!= current_class_type
)
4255 push_nested_class (yyvsp
[-2].ttype
, 3);
4256 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4262 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4267 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4268 if (yyvsp
[-4].ttype
!= current_class_type
)
4270 push_nested_class (yyvsp
[-4].ttype
, 3);
4271 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4273 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4279 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4280 if (yyvsp
[-2].ttype
!= current_class_type
)
4282 push_nested_class (yyvsp
[-2].ttype
, 3);
4283 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4289 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4294 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4295 if (yyvsp
[-4].ttype
!= current_class_type
)
4297 push_nested_class (yyvsp
[-4].ttype
, 3);
4298 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4300 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4306 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4307 if (yyvsp
[-2].ttype
!= current_class_type
)
4309 push_nested_class (yyvsp
[-2].ttype
, 3);
4310 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4316 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4321 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4322 if (yyvsp
[-4].ttype
!= current_class_type
)
4324 push_nested_class (yyvsp
[-4].ttype
, 3);
4325 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4327 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4332 { tree specs
, attrs
;
4333 split_specs_attrs (yyvsp
[-1].ftype
.t
, &specs
, &attrs
);
4334 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4336 reinit_parse_for_function ();
4337 yyval
.ttype
= NULL_TREE
; ;
4341 { tree specs
, attrs
;
4342 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4343 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4345 reinit_parse_for_function ();
4346 yyval
.ttype
= NULL_TREE
; ;
4350 { if (! start_function (NULL_TREE
, yyval
.ttype
, NULL_TREE
, 0))
4352 reinit_parse_for_function ();
4353 yyval
.ttype
= NULL_TREE
; ;
4357 { tree specs
, attrs
;
4358 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4359 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4361 reinit_parse_for_function ();
4362 yyval
.ttype
= NULL_TREE
; ;
4366 { if (! start_function (NULL_TREE
, yyval
.ttype
, NULL_TREE
, 0))
4368 reinit_parse_for_function ();
4369 yyval
.ttype
= NULL_TREE
; ;
4373 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4377 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4381 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4385 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4389 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4390 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4394 if (yychar
== YYEMPTY
)
4396 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4400 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4404 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4405 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4409 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4410 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4414 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4418 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4419 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4423 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4427 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4432 if (! current_function_parms_stored
)
4433 store_parm_decls ();
4434 yyval
.ttype
= yyvsp
[0].ttype
;
4439 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4443 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4447 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4452 if (yyvsp
[0].itype
== 0)
4453 error ("no base initializers given following ':'");
4455 /* Always keep the BLOCK node associated with the outermost
4456 pair of curley braces of a function. These are needed
4457 for correct operation of dwarfout.c. */
4464 if (! current_function_parms_stored
)
4465 store_parm_decls ();
4467 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4469 /* Make a contour for the initializer list. */
4472 expand_start_bindings (0);
4474 else if (current_class_type
== NULL_TREE
)
4475 error ("base initializers not allowed for non-member functions");
4476 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4477 error ("only constructors take base initializers");
4482 { yyval
.itype
= 0; ;
4486 { yyval
.itype
= 1; ;
4491 if (current_class_name
)
4492 pedwarn ("anachronistic old style base class initializer");
4493 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4499 if (current_class_name
)
4500 pedwarn ("anachronistic old style base class initializer");
4501 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4506 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4510 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4514 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4518 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4522 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4527 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4532 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4533 yyungetc (';', 1); ;
4537 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4538 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4542 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4546 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4550 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4551 yyungetc (';', 1); ;
4555 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4556 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4560 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4564 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4568 { begin_explicit_instantiation(); ;
4572 { end_explicit_instantiation(); ;
4577 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4578 if (yyval
.ttype
!= error_mark_node
)
4579 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4585 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4586 if (yyval
.ttype
!= error_mark_node
)
4587 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4593 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
);
4594 if (yyval
.ttype
!= error_mark_node
)
4595 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4601 /* Handle `Class<Class<Type>>' without space in the `>>' */
4602 pedwarn ("`>>' should be `> >' in template class name");
4608 { yyval
.ttype
= NULL_TREE
; ;
4612 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4616 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4620 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4624 { yyval
.code
= NEGATE_EXPR
; ;
4628 { yyval
.code
= CONVERT_EXPR
; ;
4632 { yyval
.code
= PREINCREMENT_EXPR
; ;
4636 { yyval
.code
= PREDECREMENT_EXPR
; ;
4640 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4644 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4648 { error ("ANSI C++ forbids an empty condition for `%s'",
4650 yyval
.ttype
= integer_zero_node
; ;
4654 { yyval
.ttype
= condition_conversion (yyvsp
[-1].ttype
); ;
4658 { error ("ANSI C++ forbids an empty condition for `%s'",
4660 yyval
.ttype
= integer_zero_node
; ;
4664 { yyval
.ttype
= condition_conversion (yyvsp
[-1].ttype
); ;
4668 { yyval
.ttype
= NULL_TREE
; ;
4671 #line 1001 "parse.y"
4672 { yyval
.ttype
= condition_conversion (yyval
.ttype
); ;
4675 #line 1003 "parse.y"
4676 { yyval
.ttype
= NULL_TREE
; ;
4679 #line 1008 "parse.y"
4682 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4683 if (TREE_CODE (d
) == TYPE_DECL
) {
4684 tree s
= TREE_TYPE (d
);
4685 if (TREE_CODE (s
) == RECORD_TYPE
)
4686 cp_error ("definition of class `%T' in condition", s
);
4687 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4688 cp_error ("definition of enum `%T' in condition", s
);
4691 current_declspecs
= yyvsp
[-4].ftype
.t
;
4692 yyvsp
[0].itype
= suspend_momentary ();
4693 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
4694 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
,
4695 /*prefix_attributes*/ NULL_TREE
);
4699 #line 1026 "parse.y"
4701 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4702 resume_momentary (yyvsp
[-2].itype
);
4703 yyval
.ttype
= yyvsp
[-1].ttype
;
4704 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4705 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4709 #line 1045 "parse.y"
4711 if (processing_template_decl
)
4713 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
4714 COMPOUND_STMT_NO_SCOPE (yyval
.ttype
) = 1;
4715 add_tree (yyval
.ttype
);
4720 #line 1054 "parse.y"
4722 if (processing_template_decl
)
4724 TREE_OPERAND (yyvsp
[-1].ttype
, 0) = TREE_CHAIN (yyvsp
[-1].ttype
);
4725 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
4726 last_tree
= yyvsp
[-1].ttype
;
4732 #line 1069 "parse.y"
4733 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4734 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4737 #line 1072 "parse.y"
4738 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4739 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4742 #line 1075 "parse.y"
4743 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4746 #line 1077 "parse.y"
4747 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4750 #line 1082 "parse.y"
4751 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4754 #line 1088 "parse.y"
4755 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4758 #line 1091 "parse.y"
4759 { yyval
.ttype
= yyvsp
[0].ttype
;
4760 pedantic
= yyvsp
[-1].itype
; ;
4763 #line 1094 "parse.y"
4764 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4767 #line 1096 "parse.y"
4768 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4771 #line 1098 "parse.y"
4772 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4775 #line 1100 "parse.y"
4776 { yyval
.ttype
= build_x_unary_op (yyvsp
[-1].code
, yyvsp
[0].ttype
);
4777 if (yyvsp
[-1].code
== NEGATE_EXPR
&& TREE_CODE (yyvsp
[0].ttype
) == INTEGER_CST
)
4778 TREE_NEGATED_INT (yyval
.ttype
) = 1;
4779 overflow_warning (yyval
.ttype
);
4783 #line 1107 "parse.y"
4784 { tree label
= lookup_label (yyvsp
[0].ttype
);
4786 pedwarn ("ANSI C++ forbids `&&'");
4787 if (label
== NULL_TREE
)
4788 yyval
.ttype
= null_pointer_node
;
4791 TREE_USED (label
) = 1;
4792 yyval
.ttype
= build1 (ADDR_EXPR
, ptr_type_node
, label
);
4793 TREE_CONSTANT (yyval
.ttype
) = 1;
4798 #line 1120 "parse.y"
4799 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4802 #line 1122 "parse.y"
4803 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4806 #line 1124 "parse.y"
4807 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4810 #line 1126 "parse.y"
4811 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4812 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4815 #line 1132 "parse.y"
4816 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4817 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4820 #line 1135 "parse.y"
4821 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4822 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4825 #line 1138 "parse.y"
4826 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4827 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4830 #line 1141 "parse.y"
4831 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4832 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4835 #line 1144 "parse.y"
4836 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4837 NULL_TREE
, yyvsp
[-3].itype
);
4838 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4841 #line 1148 "parse.y"
4842 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-4].itype
);
4843 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4846 #line 1151 "parse.y"
4847 { yyval
.ttype
= build_new (yyvsp
[-3].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-4].itype
);
4848 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4851 #line 1154 "parse.y"
4852 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4853 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4856 #line 1158 "parse.y"
4857 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4860 #line 1160 "parse.y"
4861 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4862 if (yychar
== YYEMPTY
)
4866 #line 1164 "parse.y"
4867 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4868 if (yychar
== YYEMPTY
)
4872 #line 1168 "parse.y"
4873 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4876 #line 1170 "parse.y"
4877 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4880 #line 1175 "parse.y"
4881 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4884 #line 1177 "parse.y"
4886 yyval
.ttype
= yyvsp
[-1].ttype
;
4887 pedwarn ("old style placement syntax, use () instead");
4891 #line 1185 "parse.y"
4892 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4895 #line 1187 "parse.y"
4896 { yyval
.ttype
= NULL_TREE
; ;
4899 #line 1189 "parse.y"
4901 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
4902 yyval
.ttype
= error_mark_node
;
4906 #line 1197 "parse.y"
4909 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4910 yyval
.ttype
= yyvsp
[0].ttype
;
4914 #line 1207 "parse.y"
4915 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
4916 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
4917 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4918 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4921 #line 1212 "parse.y"
4922 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
4923 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
4924 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4925 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4928 #line 1221 "parse.y"
4929 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
4932 #line 1223 "parse.y"
4934 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
4935 nreverse (yyvsp
[-2].ttype
));
4937 pedwarn ("ANSI C++ forbids constructor-expressions");
4938 /* Indicate that this was a GNU C constructor expression. */
4939 TREE_HAS_CONSTRUCTOR (init
) = 1;
4941 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
4945 #line 1239 "parse.y"
4946 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4949 #line 1241 "parse.y"
4950 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
4953 #line 1243 "parse.y"
4954 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4957 #line 1245 "parse.y"
4958 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4961 #line 1247 "parse.y"
4962 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4965 #line 1249 "parse.y"
4966 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4969 #line 1251 "parse.y"
4970 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4973 #line 1253 "parse.y"
4974 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4977 #line 1255 "parse.y"
4978 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4981 #line 1257 "parse.y"
4982 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4985 #line 1259 "parse.y"
4986 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4989 #line 1261 "parse.y"
4990 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4993 #line 1263 "parse.y"
4994 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
4997 #line 1265 "parse.y"
4998 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5001 #line 1267 "parse.y"
5002 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5005 #line 1269 "parse.y"
5006 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5009 #line 1271 "parse.y"
5010 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5013 #line 1273 "parse.y"
5014 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5017 #line 1275 "parse.y"
5018 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5021 #line 1277 "parse.y"
5022 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5025 #line 1279 "parse.y"
5026 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5027 if (yyval
.ttype
!= error_mark_node
)
5028 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5031 #line 1283 "parse.y"
5032 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5035 #line 1285 "parse.y"
5036 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5039 #line 1287 "parse.y"
5040 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5043 #line 1305 "parse.y"
5044 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5047 #line 1314 "parse.y"
5048 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1); ;
5051 #line 1318 "parse.y"
5052 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5055 #line 1320 "parse.y"
5056 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5059 #line 1325 "parse.y"
5060 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5063 #line 1327 "parse.y"
5064 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5067 #line 1330 "parse.y"
5068 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5071 #line 1342 "parse.y"
5072 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5075 #line 1344 "parse.y"
5076 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5079 #line 1346 "parse.y"
5080 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5083 #line 1351 "parse.y"
5084 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5087 #line 1353 "parse.y"
5088 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5091 #line 1361 "parse.y"
5092 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5095 #line 1366 "parse.y"
5097 if (TREE_CODE (yyval
.ttype
) == BIT_NOT_EXPR
)
5098 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyval
.ttype
, 0));
5099 else if (TREE_CODE (yyval
.ttype
) != TEMPLATE_ID_EXPR
)
5100 yyval
.ttype
= do_identifier (yyval
.ttype
, 1);
5104 #line 1375 "parse.y"
5106 if (processing_template_decl
)
5107 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5108 yyval
.ttype
= combine_strings (yyval
.ttype
);
5109 if (processing_template_decl
)
5114 #line 1383 "parse.y"
5116 yyval
.ttype
= yyvsp
[-1].ttype
;
5117 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
5118 if (class == 'e' || class == '1'
5119 || class == '2' || class == '<')
5120 /* This inhibits warnings in truthvalue_conversion. */
5121 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, ERROR_MARK
); ;
5124 #line 1391 "parse.y"
5126 yyval
.ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5127 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
5128 if (class == 'e' || class == '1'
5129 || class == '2' || class == '<')
5130 /* This inhibits warnings in truthvalue_conversion. */
5131 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, ERROR_MARK
); ;
5134 #line 1399 "parse.y"
5135 { yyval
.ttype
= error_mark_node
; ;
5138 #line 1401 "parse.y"
5139 { if (current_function_decl
== 0)
5141 error ("braced-group within expression allowed only inside a function");
5145 if (!processing_template_decl
)
5146 yyval
.ttype
= expand_start_stmt_expr ();
5148 yyval
.ttype
= NULL_TREE
;
5152 #line 1413 "parse.y"
5155 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5156 if (!processing_template_decl
)
5158 rtl_exp
= expand_end_stmt_expr (yyvsp
[-2].ttype
);
5159 /* The statements have side effects, so the
5161 TREE_SIDE_EFFECTS (rtl_exp
) = 1;
5164 if (TREE_CODE (yyvsp
[-1].ttype
) == BLOCK
)
5166 /* Make a BIND_EXPR for the BLOCK already made. */
5167 if (processing_template_decl
)
5168 yyval
.ttype
= build (BIND_EXPR
, NULL_TREE
,
5169 NULL_TREE
, last_tree
, yyvsp
[-1].ttype
);
5171 yyval
.ttype
= build (BIND_EXPR
, TREE_TYPE (rtl_exp
),
5172 NULL_TREE
, rtl_exp
, yyvsp
[-1].ttype
);
5174 /* Remove the block from the tree at this point.
5175 It gets put back at the proper place
5176 when the BIND_EXPR is expanded. */
5177 delete_block (yyvsp
[-1].ttype
);
5180 yyval
.ttype
= yyvsp
[-1].ttype
;
5184 #line 1443 "parse.y"
5186 yyval
.ttype
= build_x_function_call (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, current_class_ref
);
5187 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5188 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5189 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5193 #line 1450 "parse.y"
5195 yyval
.ttype
= build_x_function_call (yyval
.ttype
, NULL_TREE
, current_class_ref
);
5196 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5197 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5198 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5202 #line 1457 "parse.y"
5203 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5206 #line 1459 "parse.y"
5207 { /* If we get an OFFSET_REF, turn it into what it really
5208 means (e.g., a COMPONENT_REF). This way if we've got,
5209 say, a reference to a static member that's being operated
5210 on, we don't end up trying to find a member operator for
5211 the class it's in. */
5212 if (TREE_CODE (yyval
.ttype
) == OFFSET_REF
)
5213 yyval
.ttype
= resolve_offset_ref (yyval
.ttype
);
5214 yyval
.ttype
= build_x_unary_op (POSTINCREMENT_EXPR
, yyval
.ttype
); ;
5217 #line 1468 "parse.y"
5218 { if (TREE_CODE (yyval
.ttype
) == OFFSET_REF
)
5219 yyval
.ttype
= resolve_offset_ref (yyval
.ttype
);
5220 yyval
.ttype
= build_x_unary_op (POSTDECREMENT_EXPR
, yyval
.ttype
); ;
5223 #line 1473 "parse.y"
5224 { if (current_class_ptr
)
5226 #ifdef WARNING_ABOUT_CCD
5227 TREE_USED (current_class_ptr
) = 1;
5229 yyval
.ttype
= current_class_ptr
;
5231 else if (current_function_decl
5232 && DECL_STATIC_FUNCTION_P (current_function_decl
))
5234 error ("`this' is unavailable for static member functions");
5235 yyval
.ttype
= error_mark_node
;
5239 if (current_function_decl
)
5240 error ("invalid use of `this' in non-member function");
5242 error ("invalid use of `this' at top level");
5243 yyval
.ttype
= error_mark_node
;
5248 #line 1496 "parse.y"
5250 tree type
= NULL_TREE
;
5251 tree id
= yyval
.ttype
;
5253 /* This is a C cast in C++'s `functional' notation. */
5254 if (yyvsp
[-1].ttype
== error_mark_node
)
5256 yyval
.ttype
= error_mark_node
;
5260 if (yyvsp
[-1].ttype
== NULL_TREE
)
5262 error ("cannot cast null list to type `%s'",
5263 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5264 yyval
.ttype
= error_mark_node
;
5269 /* type is not set! (mrs) */
5270 if (type
== error_mark_node
)
5271 yyval
.ttype
= error_mark_node
;
5275 if (id
== ridpointers
[(int) RID_CONST
])
5276 type
= build_type_variant (integer_type_node
, 1, 0);
5277 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5278 type
= build_type_variant (integer_type_node
, 0, 1);
5280 /* should not be able to get here (mrs) */
5281 else if (id
== ridpointers
[(int) RID_FRIEND
])
5283 error ("cannot cast expression to `friend' type");
5284 yyval
.ttype
= error_mark_node
;
5288 else my_friendly_abort (79);
5289 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5294 #line 1541 "parse.y"
5295 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5296 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5297 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5300 #line 1545 "parse.y"
5301 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5302 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5303 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5306 #line 1549 "parse.y"
5307 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5308 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5309 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5312 #line 1553 "parse.y"
5313 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5314 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5315 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5318 #line 1557 "parse.y"
5319 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5322 #line 1559 "parse.y"
5323 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5324 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5325 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5328 #line 1563 "parse.y"
5329 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5332 #line 1565 "parse.y"
5334 got_scope
= NULL_TREE
;
5335 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5336 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5338 yyval
.ttype
= yyvsp
[0].ttype
;
5342 #line 1573 "parse.y"
5343 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5346 #line 1575 "parse.y"
5347 { if (processing_template_decl
)
5348 yyval
.ttype
= build_min_nt (CALL_EXPR
, copy_to_permanent (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
, NULL_TREE
);
5350 yyval
.ttype
= build_member_call (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
), yyvsp
[-1].ttype
); ;
5353 #line 1580 "parse.y"
5354 { if (processing_template_decl
)
5355 yyval
.ttype
= build_min_nt (CALL_EXPR
, copy_to_permanent (yyvsp
[-1].ttype
),
5356 NULL_TREE
, NULL_TREE
);
5358 yyval
.ttype
= build_member_call (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
), NULL_TREE
); ;
5361 #line 1586 "parse.y"
5363 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5367 #line 1590 "parse.y"
5369 yyval
.ttype
= build_method_call (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
5370 NULL_TREE
, LOOKUP_NORMAL
);
5374 #line 1595 "parse.y"
5376 yyval
.ttype
= build_method_call (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, NULL_TREE
,
5377 NULL_TREE
, LOOKUP_NORMAL
);
5381 #line 1600 "parse.y"
5382 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5385 #line 1602 "parse.y"
5386 { if (processing_template_decl
)
5387 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5389 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5392 #line 1607 "parse.y"
5395 /* This is a future direction of this code, but because
5396 build_x_function_call cannot always undo what is done
5397 in build_component_ref entirely yet, we cannot do this. */
5398 yyval
.ttype
= build_x_function_call (build_component_ref (yyval
.ttype
, yyvsp
[-3].ttype
, NULL_TREE
, 1), yyvsp
[-1].ttype
, current_class_ref
);
5399 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5400 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5401 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5403 yyval
.ttype
= build_method_call (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
,
5409 #line 1622 "parse.y"
5412 /* This is a future direction of this code, but because
5413 build_x_function_call cannot always undo what is done
5414 in build_component_ref entirely yet, we cannot do this. */
5415 yyval
.ttype
= build_x_function_call (build_component_ref (yyval
.ttype
, yyvsp
[-1].ttype
, NULL_TREE
, 1), NULL_TREE
, current_class_ref
);
5416 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5417 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5418 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5420 yyval
.ttype
= build_method_call (yyval
.ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
,
5426 #line 1637 "parse.y"
5428 if (IS_SIGNATURE (OP0 (yyvsp
[-3].ttype
)))
5430 warning ("signature name in scope resolution ignored");
5431 yyval
.ttype
= build_method_call (yyval
.ttype
, OP1 (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
, NULL_TREE
,
5435 yyval
.ttype
= build_scoped_method_call (yyval
.ttype
, OP0 (yyvsp
[-3].ttype
), OP1 (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
);
5439 #line 1648 "parse.y"
5441 if (IS_SIGNATURE (OP0 (yyvsp
[-1].ttype
)))
5443 warning ("signature name in scope resolution ignored");
5444 yyval
.ttype
= build_method_call (yyval
.ttype
, OP1 (yyvsp
[-1].ttype
), NULL_TREE
, NULL_TREE
,
5448 yyval
.ttype
= build_scoped_method_call (yyval
.ttype
, OP0 (yyvsp
[-1].ttype
), OP1 (yyvsp
[-1].ttype
), NULL_TREE
);
5452 #line 1660 "parse.y"
5454 if (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-1].ttype
)
5455 && (TREE_CODE (TREE_TYPE (yyvsp
[-3].ttype
))
5456 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-1].ttype
)))))
5457 cp_error ("`%E' is not of type `%T'", yyvsp
[-3].ttype
, yyvsp
[-1].ttype
);
5458 yyval
.ttype
= cp_convert (void_type_node
, yyvsp
[-3].ttype
);
5462 #line 1668 "parse.y"
5464 if (yyvsp
[-4].ttype
!= yyvsp
[-1].ttype
)
5465 cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
5466 if (TREE_CODE (TREE_TYPE (yyvsp
[-5].ttype
))
5467 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-4].ttype
))))
5468 cp_error ("`%E' is not of type `%T'", yyvsp
[-5].ttype
, yyvsp
[-4].ttype
);
5469 yyval
.ttype
= cp_convert (void_type_node
, yyvsp
[-5].ttype
);
5473 #line 1677 "parse.y"
5475 yyval
.ttype
= error_mark_node
;
5479 #line 1722 "parse.y"
5480 { yyval
.itype
= 0; ;
5483 #line 1724 "parse.y"
5484 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5487 #line 1729 "parse.y"
5488 { yyval
.itype
= 0; ;
5491 #line 1731 "parse.y"
5492 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5495 #line 1736 "parse.y"
5496 { yyval
.ttype
= boolean_true_node
; ;
5499 #line 1738 "parse.y"
5500 { yyval
.ttype
= boolean_false_node
; ;
5503 #line 1745 "parse.y"
5504 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5507 #line 1750 "parse.y"
5509 if (! current_function_parms_stored
)
5510 store_parm_decls ();
5512 /* Always keep the BLOCK node associated with the outermost
5513 pair of curley braces of a function. These are needed
5514 for correct operation of dwarfout.c. */
5519 #line 1763 "parse.y"
5520 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5523 #line 1765 "parse.y"
5525 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5526 got_object
= TREE_TYPE (yyval
.ttype
);
5530 #line 1773 "parse.y"
5532 resume_momentary (yyvsp
[-1].itype
);
5533 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5534 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5538 #line 1779 "parse.y"
5540 resume_momentary (yyvsp
[-1].itype
);
5541 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5545 #line 1784 "parse.y"
5546 { resume_momentary (yyvsp
[-1].itype
); ;
5549 #line 1786 "parse.y"
5551 shadow_tag (yyvsp
[-1].ftype
.t
);
5552 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5556 #line 1791 "parse.y"
5557 { warning ("empty declaration"); ;
5560 #line 1793 "parse.y"
5561 { pedantic
= yyvsp
[-1].itype
; ;
5564 #line 1807 "parse.y"
5565 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5566 NULL_TREE
, NULL_TREE
); ;
5569 #line 1810 "parse.y"
5570 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5574 #line 1817 "parse.y"
5575 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5576 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5579 #line 1820 "parse.y"
5580 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5581 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5584 #line 1823 "parse.y"
5585 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5586 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5589 #line 1826 "parse.y"
5590 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5591 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5594 #line 1829 "parse.y"
5595 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5596 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5599 #line 1845 "parse.y"
5600 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5601 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5604 #line 1848 "parse.y"
5605 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5606 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5609 #line 1851 "parse.y"
5610 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5611 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5614 #line 1854 "parse.y"
5615 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5616 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5619 #line 1857 "parse.y"
5620 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5621 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5624 #line 1860 "parse.y"
5625 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5626 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5627 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5630 #line 1867 "parse.y"
5631 { if (extra_warnings
)
5632 warning ("`%s' is not at beginning of declaration",
5633 IDENTIFIER_POINTER (yyval
.ttype
));
5634 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5637 #line 1872 "parse.y"
5638 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5641 #line 1874 "parse.y"
5642 { if (extra_warnings
)
5643 warning ("`%s' is not at beginning of declaration",
5644 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5645 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5648 #line 1879 "parse.y"
5649 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5652 #line 1881 "parse.y"
5653 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5656 #line 1891 "parse.y"
5657 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5660 #line 1893 "parse.y"
5661 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5664 #line 1895 "parse.y"
5665 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5666 TREE_STATIC (yyval
.ttype
) = 1; ;
5669 #line 1898 "parse.y"
5670 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5671 warning ("`%s' is not at beginning of declaration",
5672 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5673 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5674 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5677 #line 1904 "parse.y"
5678 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5681 #line 1906 "parse.y"
5682 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5685 #line 1917 "parse.y"
5686 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5687 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5690 #line 1920 "parse.y"
5691 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5692 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5695 #line 1923 "parse.y"
5696 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5697 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5700 #line 1926 "parse.y"
5701 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5702 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5705 #line 1932 "parse.y"
5706 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5709 #line 1934 "parse.y"
5710 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5713 #line 1944 "parse.y"
5714 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5717 #line 1946 "parse.y"
5718 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5721 #line 1948 "parse.y"
5722 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5723 yyval
.ftype
.new_type_flag
= 0; ;
5726 #line 1951 "parse.y"
5727 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5728 yyval
.ftype
.new_type_flag
= 0; ;
5731 #line 1954 "parse.y"
5732 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5734 yyval
.ftype
.new_type_flag
= 0;
5735 if (IS_AGGR_TYPE (type
))
5737 sorry ("sigof type specifier");
5738 yyval
.ftype
.t
= type
;
5742 error ("`sigof' applied to non-aggregate expression");
5743 yyval
.ftype
.t
= error_mark_node
;
5748 #line 1969 "parse.y"
5749 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5751 yyval
.ftype
.new_type_flag
= 0;
5752 if (IS_AGGR_TYPE (type
))
5754 sorry ("sigof type specifier");
5755 yyval
.ftype
.t
= type
;
5759 error("`sigof' applied to non-aggregate type");
5760 yyval
.ftype
.t
= error_mark_node
;
5765 #line 1989 "parse.y"
5766 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5769 #line 1991 "parse.y"
5770 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5773 #line 2012 "parse.y"
5774 { yyval
.ttype
= NULL_TREE
; ;
5777 #line 2014 "parse.y"
5778 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5781 #line 2019 "parse.y"
5782 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
5783 &prefix_attributes
);
5784 if (current_declspecs
5785 && TREE_CODE (current_declspecs
) != TREE_LIST
)
5786 current_declspecs
= get_decl_list (current_declspecs
);
5787 if (have_extern_spec
&& !used_extern_spec
)
5789 current_declspecs
= decl_tree_cons
5790 (NULL_TREE
, get_identifier ("extern"),
5792 used_extern_spec
= 1;
5794 yyvsp
[0].itype
= suspend_momentary ();
5795 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5796 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5799 #line 2036 "parse.y"
5800 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5801 yyval
.itype
= yyvsp
[-2].itype
; ;
5804 #line 2039 "parse.y"
5806 split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
5807 &prefix_attributes
);
5808 if (current_declspecs
5809 && TREE_CODE (current_declspecs
) != TREE_LIST
)
5810 current_declspecs
= get_decl_list (current_declspecs
);
5811 if (have_extern_spec
&& !used_extern_spec
)
5813 current_declspecs
= decl_tree_cons
5814 (NULL_TREE
, get_identifier ("extern"),
5816 used_extern_spec
= 1;
5818 yyval
.itype
= suspend_momentary ();
5819 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5820 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5821 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5824 #line 2060 "parse.y"
5825 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5826 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5829 #line 2064 "parse.y"
5830 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5833 #line 2066 "parse.y"
5834 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5835 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
);
5836 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5839 #line 2073 "parse.y"
5840 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
5841 &prefix_attributes
);
5842 yyvsp
[0].itype
= suspend_momentary ();
5843 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5844 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5847 #line 2080 "parse.y"
5848 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5849 yyval
.itype
= yyvsp
[-2].itype
; ;
5852 #line 2083 "parse.y"
5854 split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
5855 &prefix_attributes
);
5856 yyval
.itype
= suspend_momentary ();
5857 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5858 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5859 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5862 #line 2094 "parse.y"
5863 { current_declspecs
= NULL_TREE
;
5864 prefix_attributes
= NULL_TREE
;
5865 yyvsp
[0].itype
= suspend_momentary ();
5866 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5867 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5870 #line 2101 "parse.y"
5871 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5872 yyval
.itype
= yyvsp
[-2].itype
; ;
5875 #line 2104 "parse.y"
5877 current_declspecs
= NULL_TREE
;
5878 prefix_attributes
= NULL_TREE
;
5879 yyval
.itype
= suspend_momentary ();
5880 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5881 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5882 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5885 #line 2112 "parse.y"
5887 current_declspecs
= NULL_TREE
;
5888 prefix_attributes
= NULL_TREE
;
5889 yyval
.itype
= suspend_momentary ();
5890 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5891 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5892 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5895 #line 2125 "parse.y"
5896 { yyval
.ttype
= NULL_TREE
; ;
5899 #line 2127 "parse.y"
5900 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5903 #line 2132 "parse.y"
5904 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5907 #line 2134 "parse.y"
5908 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5911 #line 2139 "parse.y"
5912 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5915 #line 2144 "parse.y"
5916 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5919 #line 2146 "parse.y"
5920 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5923 #line 2151 "parse.y"
5924 { yyval
.ttype
= NULL_TREE
; ;
5927 #line 2153 "parse.y"
5928 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5931 #line 2155 "parse.y"
5932 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5935 #line 2157 "parse.y"
5936 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5939 #line 2159 "parse.y"
5940 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5943 #line 2175 "parse.y"
5944 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5947 #line 2177 "parse.y"
5948 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5951 #line 2182 "parse.y"
5952 { yyval
.ttype
= NULL_TREE
; ;
5955 #line 2184 "parse.y"
5956 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5959 #line 2192 "parse.y"
5960 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5961 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5964 #line 2195 "parse.y"
5965 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
5966 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5969 #line 2198 "parse.y"
5970 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
5971 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5974 #line 2201 "parse.y"
5975 { yyval
.ttype
= NULL_TREE
; ;
5978 #line 2208 "parse.y"
5979 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5982 #line 2210 "parse.y"
5983 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5986 #line 2229 "parse.y"
5987 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
5989 reinit_parse_for_function (); ;
5992 #line 2235 "parse.y"
5994 int nested
= (hack_decl_function_context
5995 (current_function_decl
) != NULL_TREE
);
5996 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
5997 process_next_inline (yyvsp
[-3].ttype
);
6001 #line 2242 "parse.y"
6002 { process_next_inline (yyvsp
[-2].ttype
); ;
6005 #line 2244 "parse.y"
6006 { process_next_inline (yyvsp
[-2].ttype
); ;
6009 #line 2256 "parse.y"
6010 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6013 #line 2258 "parse.y"
6014 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6017 #line 2263 "parse.y"
6018 { do_pending_defargs (); ;
6021 #line 2265 "parse.y"
6022 { do_pending_defargs (); ;
6025 #line 2270 "parse.y"
6026 { yyvsp
[0].itype
= suspend_momentary ();
6027 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
6030 #line 2273 "parse.y"
6031 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
6032 yyval
.ftype
.new_type_flag
= 1;
6033 resume_momentary ((int) yyvsp
[-4].itype
);
6034 check_for_missing_semicolon (yyvsp
[-3].ttype
); ;
6037 #line 2278 "parse.y"
6038 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
), NULL_TREE
);
6039 yyval
.ftype
.new_type_flag
= 1;
6040 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6043 #line 2282 "parse.y"
6044 { yyvsp
[0].itype
= suspend_momentary ();
6045 yyval
.ttype
= start_enum (make_anon_name ()); ;
6048 #line 2285 "parse.y"
6049 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
6050 resume_momentary ((int) yyvsp
[-5].itype
);
6051 check_for_missing_semicolon (yyvsp
[-3].ttype
);
6052 yyval
.ftype
.new_type_flag
= 1; ;
6055 #line 2290 "parse.y"
6056 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()), NULL_TREE
);
6057 yyval
.ftype
.new_type_flag
= 1;
6058 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6061 #line 2294 "parse.y"
6062 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6063 yyval
.ftype
.new_type_flag
= 0; ;
6066 #line 2297 "parse.y"
6067 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6068 yyval
.ftype
.new_type_flag
= 0; ;
6071 #line 2300 "parse.y"
6072 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6073 yyval
.ftype
.new_type_flag
= 0; ;
6076 #line 2305 "parse.y"
6080 yyval
.ttype
= yyvsp
[-4].ttype
;
6082 /* Need to rework class nesting in the
6083 presence of nested classes, etc. */
6084 shadow_tag (CLASSTYPE_AS_LIST (yyvsp
[-4].ttype
)); */
6086 if (yychar
== YYEMPTY
)
6088 semi
= yychar
== ';';
6089 /* finish_struct nukes this anyway; if
6090 finish_exception does too, then it can go. */
6092 note_got_semicolon (yyvsp
[-4].ttype
);
6094 if (TREE_CODE (yyvsp
[-4].ttype
) == ENUMERAL_TYPE
)
6098 yyval
.ttype
= finish_struct (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
6099 if (semi
) note_got_semicolon (yyval
.ttype
);
6105 check_for_missing_semicolon (yyvsp
[-4].ttype
);
6106 if (current_scope () == current_function_decl
)
6107 do_pending_defargs ();
6111 #line 2338 "parse.y"
6114 && current_scope () == current_function_decl
)
6115 do_pending_inlines ();
6119 #line 2344 "parse.y"
6121 yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6122 yyval
.ftype
.new_type_flag
= 1;
6123 if (current_class_type
== NULL_TREE
)
6124 clear_inline_text_obstack ();
6126 /* Undo the begin_tree in left_curly. */
6131 #line 2354 "parse.y"
6133 yyval
.ftype
.new_type_flag
= 0;
6134 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
6136 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
6137 yyval
.ftype
.t
= error_mark_node
;
6141 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6142 /* struct B: public A; is not accepted by the WP grammar. */
6143 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6144 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6145 cp_error ("base clause without member specification for `%#T'",
6151 #line 2381 "parse.y"
6152 { if (pedantic
&& !in_system_header
)
6153 pedwarn ("comma at end of enumerator list"); ;
6156 #line 2388 "parse.y"
6157 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6160 #line 2390 "parse.y"
6161 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6164 #line 2392 "parse.y"
6165 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6168 #line 2394 "parse.y"
6169 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6172 #line 2399 "parse.y"
6173 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6176 #line 2404 "parse.y"
6177 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6180 #line 2409 "parse.y"
6182 current_aggr
= yyvsp
[-2].ttype
;
6183 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6187 #line 2414 "parse.y"
6189 current_aggr
= yyvsp
[-3].ttype
;
6190 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6194 #line 2419 "parse.y"
6196 current_aggr
= yyvsp
[-2].ttype
;
6197 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6201 #line 2424 "parse.y"
6202 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6205 #line 2426 "parse.y"
6206 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6209 #line 2431 "parse.y"
6210 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 0); ;
6213 #line 2436 "parse.y"
6214 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
6217 #line 2439 "parse.y"
6219 yyval
.ttype
= yyvsp
[-1].ttype
;
6221 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6225 #line 2445 "parse.y"
6227 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6228 if (TREE_INT_CST_LOW (current_aggr
) == union_type
6229 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
6230 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
6231 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
6232 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
6233 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
6236 if (IS_AGGR_TYPE (yyval
.ttype
) && CLASSTYPE_USE_TEMPLATE (yyval
.ttype
))
6238 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval
.ttype
)
6239 && TYPE_SIZE (yyval
.ttype
) == NULL_TREE
)
6241 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval
.ttype
);
6242 if (processing_template_decl
)
6243 push_template_decl (TYPE_MAIN_DECL (yyval
.ttype
));
6245 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval
.ttype
))
6246 cp_error ("specialization after instantiation of `%T'", yyval
.ttype
);
6248 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6253 #line 2474 "parse.y"
6254 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), NULL_TREE
, 0);
6255 yyungetc ('{', 1); ;
6258 #line 2485 "parse.y"
6259 { yyval
.ttype
= NULL_TREE
; ;
6262 #line 2487 "parse.y"
6263 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6266 #line 2489 "parse.y"
6267 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6270 #line 2495 "parse.y"
6271 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6274 #line 2500 "parse.y"
6276 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6277 if (! is_aggr_type (type
, 1))
6278 yyval
.ttype
= NULL_TREE
;
6279 else if (current_aggr
== signature_type_node
6280 && (! type
) && (! IS_SIGNATURE (type
)))
6282 error ("class name not allowed as base signature");
6283 yyval
.ttype
= NULL_TREE
;
6285 else if (current_aggr
== signature_type_node
)
6287 sorry ("signature inheritance, base type `%s' ignored",
6288 IDENTIFIER_POINTER (yyval
.ttype
));
6289 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6291 else if (type
&& IS_SIGNATURE (type
))
6293 error ("signature name not allowed as base class");
6294 yyval
.ttype
= NULL_TREE
;
6297 yyval
.ttype
= build_tree_list (access_default_node
, type
);
6301 #line 2525 "parse.y"
6303 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6304 if (current_aggr
== signature_type_node
)
6305 error ("access and source specifiers not allowed in signature");
6306 if (! IS_AGGR_TYPE (type
))
6307 yyval
.ttype
= NULL_TREE
;
6308 else if (current_aggr
== signature_type_node
6309 && (! type
) && (! IS_SIGNATURE (type
)))
6311 error ("class name not allowed as base signature");
6312 yyval
.ttype
= NULL_TREE
;
6314 else if (current_aggr
== signature_type_node
)
6316 sorry ("signature inheritance, base type `%s' ignored",
6317 IDENTIFIER_POINTER (yyval
.ttype
));
6318 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6320 else if (type
&& IS_SIGNATURE (type
))
6322 error ("signature name not allowed as base class");
6323 yyval
.ttype
= NULL_TREE
;
6326 yyval
.ttype
= build_tree_list (yyval
.ttype
, type
);
6330 #line 2555 "parse.y"
6331 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6334 #line 2558 "parse.y"
6336 if (current_aggr
== signature_type_node
)
6338 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6340 sorry ("`sigof' as base signature specifier");
6341 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6345 error ("`sigof' applied to non-aggregate expression");
6346 yyval
.ttype
= error_mark_node
;
6351 error ("`sigof' in struct or class declaration");
6352 yyval
.ttype
= error_mark_node
;
6357 #line 2579 "parse.y"
6359 if (current_aggr
== signature_type_node
)
6361 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6363 sorry ("`sigof' as base signature specifier");
6364 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6368 error ("`sigof' applied to non-aggregate expression");
6369 yyval
.ttype
= error_mark_node
;
6374 error ("`sigof' in struct or class declaration");
6375 yyval
.ttype
= error_mark_node
;
6380 #line 2604 "parse.y"
6381 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6382 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6383 yyval
.ttype
= access_default_virtual_node
; ;
6386 #line 2608 "parse.y"
6388 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6389 error ("multiple access specifiers");
6390 else if (yyvsp
[-1].ttype
== access_public_node
)
6391 yyval
.ttype
= access_public_virtual_node
;
6392 else if (yyvsp
[-1].ttype
== access_protected_node
)
6393 yyval
.ttype
= access_protected_virtual_node
;
6394 else /* $2 == access_private_node */
6395 yyval
.ttype
= access_private_virtual_node
;
6399 #line 2619 "parse.y"
6400 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6401 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6402 else if (yyval
.ttype
== access_public_node
)
6403 yyval
.ttype
= access_public_virtual_node
;
6404 else if (yyval
.ttype
== access_protected_node
)
6405 yyval
.ttype
= access_protected_virtual_node
;
6406 else if (yyval
.ttype
== access_private_node
)
6407 yyval
.ttype
= access_private_virtual_node
;
6409 error ("multiple `virtual' specifiers");
6413 #line 2634 "parse.y"
6414 { tree t
= yyvsp
[-1].ttype
;
6415 push_obstacks_nochange ();
6416 end_temporary_allocation ();
6418 if (t
== error_mark_node
6419 || ! IS_AGGR_TYPE (t
))
6421 t
= yyvsp
[-1].ttype
= make_lang_type (RECORD_TYPE
);
6422 pushtag (make_anon_name (), t
, 0);
6425 duplicate_tag_error (t
);
6426 if (TYPE_SIZE (t
) || TYPE_BEING_DEFINED (t
))
6428 t
= make_lang_type (TREE_CODE (t
));
6429 pushtag (TYPE_IDENTIFIER (yyvsp
[-1].ttype
), t
, 0);
6430 yyvsp
[-1].ttype
= t
;
6432 if (processing_template_decl
&& TYPE_CONTEXT (t
)
6433 && ! current_class_type
)
6434 push_template_decl (TYPE_STUB_DECL (t
));
6436 TYPE_BEING_DEFINED (t
) = 1;
6437 if (IS_AGGR_TYPE (t
) && CLASSTYPE_USE_TEMPLATE (t
))
6439 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t
)
6440 && TYPE_SIZE (t
) == NULL_TREE
)
6442 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t
);
6443 if (processing_template_decl
)
6444 push_template_decl (TYPE_MAIN_DECL (t
));
6446 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t
))
6447 cp_error ("specialization after instantiation of `%T'", t
);
6449 /* Reset the interface data, at the earliest possible
6450 moment, as it might have been set via a class foo;
6452 /* Don't change signatures. */
6453 if (! IS_SIGNATURE (t
))
6455 extern tree pending_vtables
;
6457 tree name
= TYPE_IDENTIFIER (t
);
6459 if (! ANON_AGGRNAME_P (name
))
6461 CLASSTYPE_INTERFACE_ONLY (t
) = interface_only
;
6462 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6463 (t
, interface_unknown
);
6466 /* Record how to set the access of this class's
6467 virtual functions. If write_virtuals == 2 or 3, then
6468 inline virtuals are ``extern inline''. */
6469 switch (write_virtuals
)
6476 needs_writing
= !! value_member (name
, pending_vtables
);
6479 needs_writing
= ! CLASSTYPE_INTERFACE_ONLY (t
)
6480 && CLASSTYPE_INTERFACE_KNOWN (t
);
6485 CLASSTYPE_VTABLE_NEEDS_WRITING (t
) = needs_writing
;
6488 t
= TYPE_IDENTIFIER (yyvsp
[-1].ttype
);
6489 if (t
&& IDENTIFIER_TEMPLATE (t
))
6490 overload_template_name (t
, 1);
6492 reset_specialization();
6494 /* In case this is a local class within a template
6495 function, we save the current tree structure so
6496 that we can get it back later. */
6501 #line 2723 "parse.y"
6503 yyval
.ttype
= build_self_reference ();
6507 #line 2730 "parse.y"
6508 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6511 #line 2732 "parse.y"
6513 if (current_aggr
== signature_type_node
)
6514 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6516 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6517 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6521 #line 2740 "parse.y"
6523 tree visspec
= yyvsp
[-2].ttype
;
6525 if (current_aggr
== signature_type_node
)
6527 error ("access specifier not allowed in signature");
6528 visspec
= access_public_node
;
6530 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6534 #line 2751 "parse.y"
6536 if (current_aggr
== signature_type_node
)
6537 error ("access specifier not allowed in signature");
6541 #line 2761 "parse.y"
6542 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6546 #line 2764 "parse.y"
6547 { /* In pushdecl, we created a reverse list of names
6548 in this binding level. Make sure that the chain
6549 of what we're trying to add isn't the item itself
6550 (which can happen with what pushdecl's doing). */
6551 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6553 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6554 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6556 yyval
.ttype
= yyvsp
[0].ttype
;
6561 #line 2780 "parse.y"
6565 #line 2782 "parse.y"
6566 { error ("missing ';' before right brace");
6567 yyungetc ('}', 0); ;
6570 #line 2787 "parse.y"
6571 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6574 #line 2789 "parse.y"
6575 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6578 #line 2791 "parse.y"
6579 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6582 #line 2793 "parse.y"
6583 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6586 #line 2795 "parse.y"
6587 { yyval
.ttype
= NULL_TREE
; ;
6590 #line 2797 "parse.y"
6591 { yyval
.ttype
= yyvsp
[0].ttype
;
6592 pedantic
= yyvsp
[-1].itype
; ;
6595 #line 2806 "parse.y"
6596 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6599 #line 2808 "parse.y"
6600 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6603 #line 2810 "parse.y"
6604 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6605 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6608 #line 2813 "parse.y"
6609 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6610 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6613 #line 2816 "parse.y"
6614 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6617 #line 2818 "parse.y"
6618 { yyval
.ttype
= NULL_TREE
; ;
6621 #line 2829 "parse.y"
6622 { tree specs
, attrs
;
6623 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6624 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6625 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6628 #line 2834 "parse.y"
6629 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6630 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6633 #line 2837 "parse.y"
6634 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6637 #line 2839 "parse.y"
6638 { yyval
.ttype
= finish_member_template_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6641 #line 2845 "parse.y"
6642 { yyval
.ttype
= NULL_TREE
; ;
6645 #line 2848 "parse.y"
6647 /* In this context, void_type_node encodes
6648 friends. They have been recorded elsewhere. */
6649 if (yyval
.ttype
== void_type_node
)
6650 yyval
.ttype
= yyvsp
[0].ttype
;
6652 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6656 #line 2860 "parse.y"
6657 { yyval
.ttype
= NULL_TREE
; ;
6660 #line 2863 "parse.y"
6662 /* In this context, void_type_node encodes
6663 friends. They have been recorded elsewhere. */
6664 if (yyval
.ttype
== void_type_node
)
6665 yyval
.ttype
= yyvsp
[0].ttype
;
6667 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6671 #line 2885 "parse.y"
6672 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6673 &prefix_attributes
);
6674 yyvsp
[-4].ttype
= current_declspecs
;
6675 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6676 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6679 #line 2891 "parse.y"
6680 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6681 &prefix_attributes
);
6682 yyvsp
[-4].ttype
= current_declspecs
;
6683 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6684 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6687 #line 2900 "parse.y"
6688 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6689 &prefix_attributes
);
6690 yyvsp
[-4].ttype
= current_declspecs
;
6691 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6692 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6695 #line 2906 "parse.y"
6696 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6697 &prefix_attributes
);
6698 yyvsp
[-4].ttype
= current_declspecs
;
6699 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6700 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6703 #line 2912 "parse.y"
6704 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6705 &prefix_attributes
);
6706 yyvsp
[-4].ttype
= current_declspecs
;
6707 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6708 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6711 #line 2918 "parse.y"
6712 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6713 &prefix_attributes
);
6714 yyvsp
[-3].ttype
= current_declspecs
;
6715 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6716 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6719 #line 2927 "parse.y"
6720 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6721 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6724 #line 2930 "parse.y"
6725 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6726 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6729 #line 2936 "parse.y"
6730 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6731 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6734 #line 2939 "parse.y"
6735 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6736 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6739 #line 2942 "parse.y"
6740 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6741 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6744 #line 2953 "parse.y"
6745 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6748 #line 2958 "parse.y"
6749 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
); ;
6752 #line 2960 "parse.y"
6753 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
); ;
6756 #line 2966 "parse.y"
6757 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6758 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6761 #line 2969 "parse.y"
6762 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6763 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6766 #line 2974 "parse.y"
6769 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6770 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6771 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6772 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6776 #line 2985 "parse.y"
6777 { yyval
.ttype
= NULL_TREE
; ;
6780 #line 2987 "parse.y"
6781 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6784 #line 2992 "parse.y"
6785 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6786 yyval
.ftype
.new_type_flag
= 0; ;
6789 #line 2995 "parse.y"
6790 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6791 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6794 #line 3004 "parse.y"
6795 { yyval
.itype
= suspend_momentary (); ;
6798 #line 3009 "parse.y"
6799 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6802 #line 3015 "parse.y"
6803 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6806 #line 3017 "parse.y"
6807 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6810 #line 3019 "parse.y"
6811 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6814 #line 3021 "parse.y"
6815 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6818 #line 3028 "parse.y"
6819 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6822 #line 3030 "parse.y"
6823 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6826 #line 3032 "parse.y"
6827 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6830 #line 3034 "parse.y"
6831 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6834 #line 3036 "parse.y"
6835 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6836 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6840 #line 3044 "parse.y"
6842 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6844 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6845 if (current_class_type
6846 && TYPE_BEING_DEFINED (current_class_type
)
6847 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6849 /* Remember that this name has been used in the class
6850 definition, as per [class.scope0] */
6851 pushdecl_class_level (yyval
.ttype
);
6855 yyval
.ttype
= yyvsp
[0].ttype
;
6859 #line 3061 "parse.y"
6861 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6862 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6864 yyval
.ttype
= yyvsp
[0].ttype
;
6865 got_scope
= NULL_TREE
;
6869 #line 3074 "parse.y"
6870 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6873 #line 3079 "parse.y"
6874 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6877 #line 3084 "parse.y"
6878 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6881 #line 3086 "parse.y"
6882 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6885 #line 3088 "parse.y"
6886 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6889 #line 3090 "parse.y"
6890 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6893 #line 3092 "parse.y"
6894 { push_nested_class (yyvsp
[-1].ttype
, 3);
6895 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6896 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6899 #line 3103 "parse.y"
6900 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6903 #line 3105 "parse.y"
6904 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6907 #line 3107 "parse.y"
6908 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6911 #line 3109 "parse.y"
6912 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6915 #line 3111 "parse.y"
6916 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6917 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6921 #line 3119 "parse.y"
6922 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6925 #line 3121 "parse.y"
6926 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6929 #line 3123 "parse.y"
6930 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6933 #line 3125 "parse.y"
6934 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6937 #line 3127 "parse.y"
6938 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6939 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6943 #line 3135 "parse.y"
6944 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6947 #line 3137 "parse.y"
6948 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6951 #line 3139 "parse.y"
6952 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6955 #line 3141 "parse.y"
6956 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6959 #line 3143 "parse.y"
6960 { if (OP0 (yyval
.ttype
) != current_class_type
)
6962 push_nested_class (OP0 (yyval
.ttype
), 3);
6963 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
6968 #line 3150 "parse.y"
6969 { got_scope
= NULL_TREE
;
6970 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6971 if (yyvsp
[-1].ttype
!= current_class_type
)
6973 push_nested_class (yyvsp
[-1].ttype
, 3);
6974 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
6979 #line 3162 "parse.y"
6980 { got_scope
= NULL_TREE
;
6981 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6984 #line 3165 "parse.y"
6985 { got_scope
= NULL_TREE
;
6986 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6989 #line 3171 "parse.y"
6990 { got_scope
= NULL_TREE
;
6991 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6994 #line 3174 "parse.y"
6995 { got_scope
= NULL_TREE
;
6996 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6999 #line 3181 "parse.y"
7000 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7003 #line 3186 "parse.y"
7004 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7007 #line 3188 "parse.y"
7008 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7011 #line 3190 "parse.y"
7012 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7015 #line 3202 "parse.y"
7016 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7019 #line 3209 "parse.y"
7021 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7023 yyval
.ttype
= lastiddecl
;
7024 /* Remember that this name has been used in the class
7025 definition, as per [class.scope0] */
7026 if (current_class_type
7027 && TYPE_BEING_DEFINED (current_class_type
)
7028 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
7029 pushdecl_class_level (yyval
.ttype
);
7031 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7035 #line 3223 "parse.y"
7037 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7038 yyval
.ttype
= lastiddecl
;
7039 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7043 #line 3229 "parse.y"
7045 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7046 yyval
.ttype
= lastiddecl
;
7047 got_scope
= yyval
.ttype
;
7051 #line 3235 "parse.y"
7052 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
7055 #line 3251 "parse.y"
7056 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7059 #line 3256 "parse.y"
7061 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7062 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7063 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7064 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7067 yyval
.ttype
= yyvsp
[0].ttype
;
7068 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7069 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7074 #line 3272 "parse.y"
7076 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7077 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7081 #line 3277 "parse.y"
7083 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7084 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7085 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7086 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7089 yyval
.ttype
= yyvsp
[0].ttype
;
7090 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7091 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7096 #line 3293 "parse.y"
7098 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7099 yyvsp
[-1].ttype
= lastiddecl
;
7101 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
));
7103 if (yyval
.ttype
== error_mark_node
)
7104 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
7108 #line 3303 "parse.y"
7110 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7111 yyval
.ttype
= lastiddecl
;
7112 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7116 #line 3309 "parse.y"
7117 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7120 #line 3313 "parse.y"
7122 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7123 yyval
.ttype
= lastiddecl
;
7124 got_scope
= yyval
.ttype
;
7128 #line 3322 "parse.y"
7130 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7131 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7133 yyval
.ttype
= yyvsp
[0].ttype
;
7134 got_scope
= NULL_TREE
;
7138 #line 3331 "parse.y"
7139 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7142 #line 3336 "parse.y"
7143 { got_scope
= NULL_TREE
; ;
7146 #line 3338 "parse.y"
7147 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7150 #line 3345 "parse.y"
7151 { got_scope
= void_type_node
; ;
7154 #line 3351 "parse.y"
7155 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7158 #line 3353 "parse.y"
7159 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7162 #line 3355 "parse.y"
7163 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7166 #line 3357 "parse.y"
7167 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7170 #line 3359 "parse.y"
7171 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7172 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7176 #line 3363 "parse.y"
7177 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7178 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7182 #line 3372 "parse.y"
7183 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7186 #line 3374 "parse.y"
7187 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7190 #line 3380 "parse.y"
7191 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7194 #line 3382 "parse.y"
7195 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7198 #line 3384 "parse.y"
7199 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7202 #line 3386 "parse.y"
7203 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7206 #line 3388 "parse.y"
7207 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7210 #line 3390 "parse.y"
7211 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7214 #line 3392 "parse.y"
7215 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7218 #line 3394 "parse.y"
7219 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7222 #line 3396 "parse.y"
7223 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7224 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7228 #line 3400 "parse.y"
7229 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7230 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7234 #line 3409 "parse.y"
7235 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7238 #line 3413 "parse.y"
7239 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7242 #line 3415 "parse.y"
7243 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7246 #line 3417 "parse.y"
7247 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7250 #line 3419 "parse.y"
7251 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7254 #line 3421 "parse.y"
7255 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7258 #line 3423 "parse.y"
7259 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7262 #line 3425 "parse.y"
7263 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7266 #line 3427 "parse.y"
7267 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7270 #line 3429 "parse.y"
7271 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7274 #line 3453 "parse.y"
7275 { do_pushlevel (); ;
7278 #line 3458 "parse.y"
7279 { yyval
.ttype
= do_poplevel (); ;
7282 #line 3466 "parse.y"
7284 pedwarn ("ANSI C++ forbids label declarations"); ;
7287 #line 3477 "parse.y"
7289 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7291 tree label
= shadow_label (TREE_VALUE (link
));
7292 C_DECLARED_LABEL_FLAG (label
) = 1;
7293 declare_nonlocal_label (label
);
7298 #line 3491 "parse.y"
7302 #line 3497 "parse.y"
7304 if (processing_template_decl
)
7306 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
7307 add_tree (yyval
.ttype
);
7312 #line 3505 "parse.y"
7314 if (processing_template_decl
)
7316 TREE_OPERAND (yyvsp
[-3].ttype
, 0) = TREE_CHAIN (yyvsp
[-3].ttype
);
7317 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7318 last_tree
= yyvsp
[-3].ttype
;
7320 yyval
.ttype
= yyvsp
[0].ttype
;
7324 #line 3518 "parse.y"
7326 if (processing_template_decl
)
7328 yyval
.ttype
= build_min_nt (IF_STMT
, NULL_TREE
, NULL_TREE
,
7330 add_tree (yyval
.ttype
);
7332 cond_stmt_keyword
= "if";
7336 #line 3528 "parse.y"
7338 if (processing_template_decl
)
7340 if (last_tree
!= yyvsp
[-2].ttype
)
7342 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = last_tree
;
7343 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7344 last_tree
= yyvsp
[-2].ttype
;
7347 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = yyvsp
[0].ttype
;
7351 emit_line_note (input_filename
, lineno
);
7352 expand_start_cond (yyvsp
[0].ttype
, 0);
7357 #line 3547 "parse.y"
7359 if (processing_template_decl
)
7361 TREE_OPERAND (yyvsp
[-4].ttype
, 1) = TREE_CHAIN (yyvsp
[-4].ttype
);
7362 TREE_CHAIN (yyvsp
[-4].ttype
) = NULL_TREE
;
7363 yyval
.ttype
= last_tree
= yyvsp
[-4].ttype
;
7368 #line 3559 "parse.y"
7372 #line 3561 "parse.y"
7374 if (processing_template_decl
)
7376 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
7377 add_tree (yyval
.ttype
);
7382 #line 3569 "parse.y"
7384 if (processing_template_decl
)
7386 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7387 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7388 last_tree
= yyvsp
[-2].ttype
;
7390 yyval
.ttype
= yyvsp
[0].ttype
;
7394 #line 3582 "parse.y"
7398 #line 3588 "parse.y"
7402 #line 3590 "parse.y"
7404 tree expr
= yyvsp
[-1].ttype
;
7405 if (! processing_template_decl
)
7407 emit_line_note (input_filename
, lineno
);
7408 /* Do default conversion if safe and possibly important,
7409 in case within ({...}). */
7410 if ((TREE_CODE (TREE_TYPE (expr
)) == ARRAY_TYPE
7412 || TREE_CODE (TREE_TYPE (expr
)) == FUNCTION_TYPE
)
7413 expr
= default_conversion (expr
);
7415 cplus_expand_expr_stmt (expr
);
7420 #line 3606 "parse.y"
7421 { if (! processing_template_decl
) expand_start_else (); ;
7424 #line 3608 "parse.y"
7426 if (processing_template_decl
)
7428 TREE_OPERAND (yyvsp
[-3].ttype
, 2) = TREE_CHAIN (yyvsp
[-3].ttype
);
7429 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7430 last_tree
= yyvsp
[-3].ttype
;
7437 #line 3619 "parse.y"
7441 #line 3621 "parse.y"
7442 { if (! processing_template_decl
) expand_end_cond ();
7447 #line 3625 "parse.y"
7449 if (processing_template_decl
)
7451 yyval
.ttype
= build_min_nt (WHILE_STMT
, NULL_TREE
, NULL_TREE
);
7452 add_tree (yyval
.ttype
);
7457 emit_line_note (input_filename
, lineno
);
7458 expand_start_loop (1);
7460 cond_stmt_keyword
= "while";
7464 #line 3640 "parse.y"
7466 if (processing_template_decl
)
7468 if (last_tree
!= yyvsp
[-2].ttype
)
7470 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = last_tree
;
7471 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7472 last_tree
= yyvsp
[-2].ttype
;
7475 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = yyvsp
[0].ttype
;
7479 emit_line_note (input_filename
, lineno
);
7480 expand_exit_loop_if_false (0, yyvsp
[0].ttype
);
7483 /* If the condition wasn't a declaration, clear out the
7484 block we made for it and start a new one here so the
7485 optimization in expand_end_loop will work. */
7486 if (getdecls () == NULL_TREE
)
7494 #line 3668 "parse.y"
7496 if (processing_template_decl
)
7498 TREE_OPERAND (yyvsp
[-5].ttype
, 1) = TREE_CHAIN (yyvsp
[-5].ttype
);
7499 TREE_CHAIN (yyvsp
[-5].ttype
) = NULL_TREE
;
7500 last_tree
= yyvsp
[-5].ttype
;
7508 #line 3680 "parse.y"
7510 if (processing_template_decl
)
7512 yyval
.ttype
= build_min_nt (DO_STMT
, NULL_TREE
, NULL_TREE
);
7513 add_tree (yyval
.ttype
);
7518 emit_line_note (input_filename
, lineno
);
7519 expand_start_loop_continue_elsewhere (1);
7524 #line 3694 "parse.y"
7526 if (processing_template_decl
)
7528 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7529 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7530 last_tree
= yyvsp
[-2].ttype
;
7534 expand_loop_continue_here ();
7535 cond_stmt_keyword
= "do";
7540 #line 3708 "parse.y"
7542 if (processing_template_decl
)
7543 TREE_OPERAND (yyvsp
[-5].ttype
, 1) = yyvsp
[-1].ttype
;
7546 emit_line_note (input_filename
, lineno
);
7547 expand_exit_loop_if_false (0, yyvsp
[-1].ttype
);
7555 #line 3721 "parse.y"
7556 { if (processing_template_decl
)
7558 yyval
.ttype
= build_min_nt (FOR_STMT
, NULL_TREE
, NULL_TREE
,
7559 NULL_TREE
, NULL_TREE
);
7560 add_tree (yyval
.ttype
);
7563 emit_line_note (input_filename
, lineno
);
7564 if (flag_new_for_scope
> 0)
7566 /* Conditionalize .pushlevel */
7568 note_level_for_for ();
7571 expand_start_bindings (0);
7576 #line 3740 "parse.y"
7578 if (processing_template_decl
)
7580 if (last_tree
!= yyvsp
[-2].ttype
)
7582 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7583 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7584 last_tree
= yyvsp
[-2].ttype
;
7590 emit_line_note (input_filename
, lineno
);
7591 expand_start_loop_continue_elsewhere (1);
7596 #line 3758 "parse.y"
7598 if (processing_template_decl
)
7600 if (last_tree
!= yyvsp
[-6].ttype
)
7602 TREE_OPERAND (yyvsp
[-6].ttype
, 1) = last_tree
;
7603 TREE_CHAIN (yyvsp
[-6].ttype
) = NULL_TREE
;
7604 last_tree
= yyvsp
[-6].ttype
;
7607 TREE_OPERAND (yyvsp
[-6].ttype
, 1) = yyvsp
[-1].ttype
;
7611 emit_line_note (input_filename
, lineno
);
7612 if (yyvsp
[-1].ttype
) expand_exit_loop_if_false (0, yyvsp
[-1].ttype
);
7615 /* If the condition wasn't a declaration, clear out the
7616 block we made for it and start a new one here so the
7617 optimization in expand_end_loop will work. */
7618 if (getdecls () == NULL_TREE
)
7626 #line 3788 "parse.y"
7628 if (processing_template_decl
)
7629 TREE_OPERAND (yyvsp
[-9].ttype
, 2) = yyvsp
[-1].ttype
;
7634 #line 3794 "parse.y"
7636 if (processing_template_decl
)
7638 TREE_OPERAND (yyvsp
[-12].ttype
, 3) = TREE_CHAIN (yyvsp
[-12].ttype
);
7639 TREE_CHAIN (yyvsp
[-12].ttype
) = NULL_TREE
;
7640 last_tree
= yyvsp
[-12].ttype
;
7644 emit_line_note (input_filename
, lineno
);
7645 expand_loop_continue_here ();
7646 if (yyvsp
[-4].ttype
) cplus_expand_expr_stmt (yyvsp
[-4].ttype
);
7650 if (flag_new_for_scope
> 0)
7657 #line 3815 "parse.y"
7659 if (processing_template_decl
)
7661 yyval
.ttype
= build_min_nt (SWITCH_STMT
, yyvsp
[-1].ttype
, NULL_TREE
);
7662 add_tree (yyval
.ttype
);
7666 emit_line_note (input_filename
, lineno
);
7667 c_expand_start_case (yyvsp
[-1].ttype
);
7670 /* Don't let the tree nodes for $4 be discarded by
7671 clear_momentary during the parsing of the next stmt. */
7676 #line 3832 "parse.y"
7678 if (processing_template_decl
)
7680 TREE_OPERAND (yyvsp
[-1].ttype
, 1) = TREE_CHAIN (yyvsp
[-1].ttype
);
7681 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
7682 last_tree
= yyvsp
[-1].ttype
;
7685 expand_end_case (yyvsp
[-3].ttype
);
7691 #line 3845 "parse.y"
7695 #line 3847 "parse.y"
7696 { do_case (yyvsp
[-1].ttype
, NULL_TREE
); ;
7699 #line 3850 "parse.y"
7700 { do_case (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7703 #line 3853 "parse.y"
7704 { do_case (NULL_TREE
, NULL_TREE
); ;
7707 #line 3856 "parse.y"
7708 { emit_line_note (input_filename
, lineno
);
7709 if (processing_template_decl
)
7710 add_tree (build_min_nt (BREAK_STMT
));
7711 else if ( ! expand_exit_something ())
7712 error ("break statement not within loop or switch"); ;
7715 #line 3862 "parse.y"
7716 { emit_line_note (input_filename
, lineno
);
7717 if (processing_template_decl
)
7718 add_tree (build_min_nt (CONTINUE_STMT
));
7719 else if (! expand_continue_loop (0))
7720 error ("continue statement not within a loop"); ;
7723 #line 3868 "parse.y"
7724 { emit_line_note (input_filename
, lineno
);
7725 c_expand_return (NULL_TREE
); ;
7728 #line 3871 "parse.y"
7729 { emit_line_note (input_filename
, lineno
);
7730 c_expand_return (yyvsp
[-1].ttype
);
7735 #line 3876 "parse.y"
7736 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
7737 emit_line_note (input_filename
, lineno
);
7738 expand_asm (yyvsp
[-2].ttype
);
7743 #line 3883 "parse.y"
7744 { if (TREE_CHAIN (yyvsp
[-4].ttype
)) yyvsp
[-4].ttype
= combine_strings (yyvsp
[-4].ttype
);
7745 emit_line_note (input_filename
, lineno
);
7746 c_expand_asm_operands (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7747 yyvsp
[-6].ttype
== ridpointers
[(int)RID_VOLATILE
],
7748 input_filename
, lineno
);
7753 #line 3892 "parse.y"
7754 { if (TREE_CHAIN (yyvsp
[-6].ttype
)) yyvsp
[-6].ttype
= combine_strings (yyvsp
[-6].ttype
);
7755 emit_line_note (input_filename
, lineno
);
7756 c_expand_asm_operands (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7757 yyvsp
[-8].ttype
== ridpointers
[(int)RID_VOLATILE
],
7758 input_filename
, lineno
);
7763 #line 3902 "parse.y"
7764 { if (TREE_CHAIN (yyvsp
[-8].ttype
)) yyvsp
[-8].ttype
= combine_strings (yyvsp
[-8].ttype
);
7765 emit_line_note (input_filename
, lineno
);
7766 c_expand_asm_operands (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
,
7767 yyvsp
[-10].ttype
== ridpointers
[(int)RID_VOLATILE
],
7768 input_filename
, lineno
);
7773 #line 3910 "parse.y"
7775 if (processing_template_decl
)
7776 add_tree (build_min_nt (GOTO_STMT
, yyvsp
[-1].ttype
));
7778 { emit_line_note (input_filename
, lineno
);
7779 expand_computed_goto (yyvsp
[-1].ttype
); }
7783 #line 3918 "parse.y"
7785 if (processing_template_decl
)
7786 add_tree (build_min_nt (GOTO_STMT
, yyvsp
[-1].ttype
));
7790 emit_line_note (input_filename
, lineno
);
7791 decl
= lookup_label (yyvsp
[-1].ttype
);
7792 TREE_USED (decl
) = 1;
7798 #line 3931 "parse.y"
7802 #line 3933 "parse.y"
7803 { error ("label must be followed by statement");
7808 #line 3937 "parse.y"
7812 #line 3943 "parse.y"
7814 if (! current_function_parms_stored
)
7815 store_parm_decls ();
7816 expand_start_early_try_stmts ();
7820 #line 3949 "parse.y"
7821 { expand_start_all_catch (); ;
7824 #line 3951 "parse.y"
7826 int nested
= (hack_decl_function_context
7827 (current_function_decl
) != NULL_TREE
);
7828 expand_end_all_catch ();
7829 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7833 #line 3961 "parse.y"
7835 if (processing_template_decl
)
7837 yyval
.ttype
= build_min_nt (TRY_BLOCK
, NULL_TREE
,
7839 add_tree (yyval
.ttype
);
7843 emit_line_note (input_filename
, lineno
);
7844 expand_start_try_stmts ();
7849 #line 3975 "parse.y"
7851 if (processing_template_decl
)
7853 TREE_OPERAND (yyvsp
[-1].ttype
, 0) = TREE_CHAIN (yyvsp
[-1].ttype
);
7854 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
7855 last_tree
= yyvsp
[-1].ttype
;
7858 expand_start_all_catch ();
7862 #line 3986 "parse.y"
7864 if (processing_template_decl
)
7866 TREE_OPERAND (yyvsp
[-3].ttype
, 1) = TREE_CHAIN (yyvsp
[-3].ttype
);
7867 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7868 last_tree
= yyvsp
[-3].ttype
;
7871 expand_end_all_catch ();
7875 #line 4005 "parse.y"
7877 if (processing_template_decl
)
7879 yyval
.ttype
= build_min_nt (HANDLER
, NULL_TREE
,
7881 add_tree (yyval
.ttype
);
7886 #line 4014 "parse.y"
7888 if (processing_template_decl
)
7890 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7891 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7892 last_tree
= yyvsp
[-2].ttype
;
7897 #line 4023 "parse.y"
7899 if (processing_template_decl
)
7901 TREE_OPERAND (yyvsp
[-4].ttype
, 1) = TREE_CHAIN (yyvsp
[-4].ttype
);
7902 TREE_CHAIN (yyvsp
[-4].ttype
) = NULL_TREE
;
7903 last_tree
= yyvsp
[-4].ttype
;
7906 expand_end_catch_block ();
7910 #line 4043 "parse.y"
7911 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7914 #line 4059 "parse.y"
7915 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7916 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7917 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7920 #line 4066 "parse.y"
7923 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7924 if (label
&& ! minimal_parse_mode
)
7925 expand_label (label
);
7929 #line 4073 "parse.y"
7933 #line 4075 "parse.y"
7937 #line 4077 "parse.y"
7941 #line 4082 "parse.y"
7942 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7945 #line 4085 "parse.y"
7947 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7951 #line 4094 "parse.y"
7952 { emit_line_note (input_filename
, lineno
);
7953 yyval
.ttype
= NULL_TREE
; ;
7956 #line 4097 "parse.y"
7957 { emit_line_note (input_filename
, lineno
); ;
7960 #line 4102 "parse.y"
7961 { yyval
.ttype
= NULL_TREE
; ;
7964 #line 4105 "parse.y"
7965 { yyval
.ttype
= NULL_TREE
; ;
7968 #line 4112 "parse.y"
7969 { yyval
.ttype
= NULL_TREE
; ;
7972 #line 4119 "parse.y"
7973 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7976 #line 4124 "parse.y"
7977 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7980 #line 4129 "parse.y"
7981 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7984 #line 4131 "parse.y"
7985 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7988 #line 4142 "parse.y"
7990 yyval
.ttype
= empty_parms();
7994 #line 4147 "parse.y"
7995 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, void_list_node
);
7996 TREE_PARMLIST (yyval
.ttype
) = 1;
7997 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
8000 #line 4156 "parse.y"
8002 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
8003 TREE_PARMLIST (yyval
.ttype
) = 1;
8007 #line 4161 "parse.y"
8009 TREE_PARMLIST (yyval
.ttype
) = 1;
8013 #line 4166 "parse.y"
8015 TREE_PARMLIST (yyval
.ttype
) = 1;
8019 #line 4170 "parse.y"
8021 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
8022 TREE_PARMLIST (yyval
.ttype
) = 1;
8026 #line 4175 "parse.y"
8028 yyval
.ttype
= NULL_TREE
;
8032 #line 4179 "parse.y"
8034 TREE_PARMLIST (yyval
.ttype
) = 1;
8038 #line 4183 "parse.y"
8040 TREE_PARMLIST (yyval
.ttype
) = 1;
8044 #line 4187 "parse.y"
8046 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
8047 TREE_PARMLIST (yyval
.ttype
) = 1;
8051 #line 4192 "parse.y"
8053 /* This helps us recover from really nasty
8054 parse errors, for example, a missing right
8056 yyerror ("possibly missing ')'");
8057 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
8058 TREE_PARMLIST (yyval
.ttype
) = 1;
8064 #line 4203 "parse.y"
8066 /* This helps us recover from really nasty
8067 parse errors, for example, a missing right
8069 yyerror ("possibly missing ')'");
8070 yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
8071 TREE_PARMLIST (yyval
.ttype
) = 1;
8077 #line 4218 "parse.y"
8078 { maybe_snarf_defarg (); ;
8081 #line 4220 "parse.y"
8082 { yyval
.ttype
= yyvsp
[0].ttype
; ;
8085 #line 4231 "parse.y"
8086 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8087 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
8090 #line 4234 "parse.y"
8091 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8092 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
8095 #line 4237 "parse.y"
8096 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8097 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
8100 #line 4240 "parse.y"
8101 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
8104 #line 4242 "parse.y"
8105 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
8108 #line 4248 "parse.y"
8109 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8110 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
8113 #line 4258 "parse.y"
8114 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8115 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
8116 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
8119 #line 4262 "parse.y"
8120 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
8121 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8124 #line 4265 "parse.y"
8125 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
8126 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8129 #line 4268 "parse.y"
8130 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8131 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8132 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8135 #line 4272 "parse.y"
8136 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
8137 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
8138 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8141 #line 4276 "parse.y"
8142 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
8143 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8144 yyval
.ftype
.new_type_flag
= 0; ;
8147 #line 4283 "parse.y"
8148 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
8149 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8152 #line 4286 "parse.y"
8153 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
8154 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8157 #line 4297 "parse.y"
8158 { see_typename (); ;
8161 #line 4302 "parse.y"
8163 error ("type specifier omitted for parameter");
8164 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
8168 #line 4307 "parse.y"
8170 error ("type specifier omitted for parameter");
8171 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
8172 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
8173 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
8174 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
8175 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
8179 #line 4319 "parse.y"
8180 { yyval
.ttype
= NULL_TREE
; ;
8183 #line 4321 "parse.y"
8184 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
8187 #line 4323 "parse.y"
8188 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
8191 #line 4328 "parse.y"
8192 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
8195 #line 4334 "parse.y"
8197 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
8198 yyval
.ttype
= yyvsp
[0].ttype
;
8202 #line 4342 "parse.y"
8203 { yyval
.ttype
= NULL_TREE
; ;
8206 #line 4344 "parse.y"
8207 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8210 #line 4346 "parse.y"
8211 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8214 #line 4348 "parse.y"
8215 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
8216 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
8220 #line 4355 "parse.y"
8221 { got_scope
= NULL_TREE
; ;
8224 #line 4360 "parse.y"
8225 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
8228 #line 4362 "parse.y"
8229 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
8232 #line 4364 "parse.y"
8233 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
8236 #line 4366 "parse.y"
8237 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
8240 #line 4368 "parse.y"
8241 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
8244 #line 4370 "parse.y"
8245 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
8248 #line 4372 "parse.y"
8249 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
8252 #line 4374 "parse.y"
8253 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
8256 #line 4376 "parse.y"
8257 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
8260 #line 4378 "parse.y"
8261 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
8264 #line 4380 "parse.y"
8265 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8268 #line 4382 "parse.y"
8269 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
8272 #line 4384 "parse.y"
8273 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
8276 #line 4386 "parse.y"
8277 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8280 #line 4388 "parse.y"
8281 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
8284 #line 4390 "parse.y"
8285 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
8288 #line 4392 "parse.y"
8289 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8292 #line 4394 "parse.y"
8293 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8296 #line 4396 "parse.y"
8297 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
8300 #line 4398 "parse.y"
8301 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
8304 #line 4400 "parse.y"
8305 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
8308 #line 4402 "parse.y"
8309 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
8312 #line 4404 "parse.y"
8313 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
8316 #line 4406 "parse.y"
8317 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
8320 #line 4408 "parse.y"
8321 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8324 #line 4410 "parse.y"
8325 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
8328 #line 4412 "parse.y"
8329 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
8332 #line 4414 "parse.y"
8333 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
8336 #line 4416 "parse.y"
8337 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
8340 #line 4418 "parse.y"
8341 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
8344 #line 4420 "parse.y"
8345 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
8348 #line 4422 "parse.y"
8349 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
8352 #line 4424 "parse.y"
8353 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
8356 #line 4427 "parse.y"
8357 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
8360 #line 4429 "parse.y"
8361 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
8364 /* the action file gets copied in in place of this dollarsign */
8365 #line 498 "/usr/lib/bison.simple"
8376 short *ssp1
= yyss
- 1;
8377 fprintf (stderr
, "state stack now");
8378 while (ssp1
!= yyssp
)
8379 fprintf (stderr
, " %d", *++ssp1
);
8380 fprintf (stderr
, "\n");
8390 yylsp
->first_line
= yylloc
.first_line
;
8391 yylsp
->first_column
= yylloc
.first_column
;
8392 yylsp
->last_line
= (yylsp
-1)->last_line
;
8393 yylsp
->last_column
= (yylsp
-1)->last_column
;
8398 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
8399 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
8403 /* Now "shift" the result of the reduction.
8404 Determine what state that goes to,
8405 based on the state we popped back to
8406 and the rule number reduced by. */
8410 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
8411 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
8412 yystate
= yytable
[yystate
];
8414 yystate
= yydefgoto
[yyn
- YYNTBASE
];
8418 yyerrlab
: /* here on detecting error */
8421 /* If not already recovering from an error, report this error. */
8425 #ifdef YYERROR_VERBOSE
8426 yyn
= yypact
[yystate
];
8428 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
8435 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8436 for (x
= (yyn
< 0 ? -yyn
: 0);
8437 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8438 if (yycheck
[x
+ yyn
] == x
)
8439 size
+= strlen(yytname
[x
]) + 15, count
++;
8440 msg
= (char *) malloc(size
+ 15);
8443 strcpy(msg
, "parse error");
8448 for (x
= (yyn
< 0 ? -yyn
: 0);
8449 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8450 if (yycheck
[x
+ yyn
] == x
)
8452 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
8453 strcat(msg
, yytname
[x
]);
8462 yyerror ("parse error; also virtual memory exceeded");
8465 #endif /* YYERROR_VERBOSE */
8466 yyerror("parse error");
8470 yyerrlab1
: /* here on error raised explicitly by an action */
8472 if (yyerrstatus
== 3)
8474 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8476 /* return failure if at end of input */
8477 if (yychar
== YYEOF
)
8482 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8488 /* Else will try to reuse lookahead token
8489 after shifting the error token. */
8491 yyerrstatus
= 3; /* Each real token shifted decrements this */
8495 yyerrdefault
: /* current state does not do anything special for the error token. */
8498 /* This is wrong; only states that explicitly want error tokens
8499 should shift them. */
8500 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8501 if (yyn
) goto yydefault
;
8504 yyerrpop
: /* pop the current state because it cannot handle the error token */
8506 if (yyssp
== yyss
) YYABORT
;
8516 short *ssp1
= yyss
- 1;
8517 fprintf (stderr
, "Error: state stack now");
8518 while (ssp1
!= yyssp
)
8519 fprintf (stderr
, " %d", *++ssp1
);
8520 fprintf (stderr
, "\n");
8526 yyn
= yypact
[yystate
];
8531 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8550 fprintf(stderr
, "Shifting error token, ");
8561 #line 4432 "parse.y"
8566 debug_yytranslate (value
)
8569 return yytname
[YYTRANSLATE (value
)];