2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
6 #define YYBISON 1 /* Identify Bison output. */
14 #define CV_QUALIFIER 264
32 #define ASM_KEYWORD 282
50 #define TYPENAME_KEYWORD 300
52 #define LEFT_RIGHT 302
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
69 #define ARITHCOMPARE 319
72 #define POINTSAT_STAR 322
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
85 #define PRE_PARSED_CLASS_DECL 335
87 #define DEFARG_MARKER 337
88 #define TYPENAME_DEFN 338
89 #define IDENTIFIER_DEFN 339
90 #define PTYPENAME_DEFN 340
91 #define END_OF_LINE 341
92 #define END_OF_SAVED_INPUT 342
96 /* Cause the `yydebug' variable to be defined. */
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 char *language_string
= "GNU C++";
116 extern tree void_list_node
;
117 extern struct obstack permanent_obstack
;
119 extern int end_of_file
;
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static char *cond_stmt_keyword
;
131 static tree empty_parms
PROTO((void));
133 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
134 int have_extern_spec
;
135 int used_extern_spec
;
137 /* Cons up an empty parameter list. */
147 || current_class_type
!= NULL
)
148 parms
= void_list_node
;
156 typedef union {long itype
; tree ttype
; char *strtype
; enum tree_code code
; flagged_type_tree ftype
; } YYSTYPE
;
159 /* List of types and structure classes of the current declaration. */
160 static tree current_declspecs
;
162 /* List of prefix attributes in effect.
163 Prefix attributes are parsed by the reserved_declspecs and declmods
164 rules. They create a list that contains *both* declspecs and attrs. */
165 /* ??? It is not clear yet that all cases where an attribute can now appear in
166 a declspec list have been updated. */
167 static tree prefix_attributes
;
169 /* When defining an aggregate, this is the kind of the most recent one
170 being defined. (For example, this might be class_type_node.) */
171 static tree current_aggr
;
173 /* When defining an enumeration, this is the type of the enumeration. */
174 static tree current_enum_type
;
176 /* Tell yyparse how to print a token's value, if yydebug is set. */
178 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
179 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
180 extern tree combine_strings
PROTO((tree
));
183 parse_decl(declarator
, specs_attrs
, attributes
, initialized
, decl
)
192 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
193 if (current_declspecs
194 && TREE_CODE (current_declspecs
) != TREE_LIST
)
195 current_declspecs
= get_decl_list (current_declspecs
);
196 if (have_extern_spec
&& !used_extern_spec
)
198 current_declspecs
= decl_tree_cons (NULL_TREE
,
199 get_identifier ("extern"),
201 used_extern_spec
= 1;
203 sm
= suspend_momentary ();
204 *decl
= start_decl (declarator
, current_declspecs
, initialized
,
205 attributes
, prefix_attributes
);
219 #define YYFLAG -32768
222 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 399)
224 static const char yytranslate
[] = { 0,
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, 110, 2, 2, 2, 82, 70, 2, 93,
229 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
230 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
231 64, 75, 65, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
234 94, 2, 111, 69, 2, 2, 2, 2, 2, 2,
235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 58, 68, 109, 88, 2, 2, 2, 2,
238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
247 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
248 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
249 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
250 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
251 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
252 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
253 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
254 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
255 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
256 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
257 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
258 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
263 static const short yyprhs
[] = { 0,
264 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
265 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
266 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
267 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
268 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
269 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
270 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
271 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
272 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
273 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
274 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
275 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
276 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
277 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
278 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
279 485, 486, 493, 494, 501, 502, 508, 509, 515, 516,
280 524, 525, 533, 534, 541, 542, 549, 550, 551, 557,
281 563, 565, 571, 572, 574, 576, 577, 579, 581, 585,
282 587, 589, 591, 593, 595, 597, 599, 601, 603, 605,
283 607, 611, 613, 617, 618, 620, 622, 623, 631, 633,
284 635, 639, 644, 648, 649, 653, 655, 659, 663, 667,
285 671, 673, 675, 677, 680, 683, 686, 689, 692, 695,
286 698, 703, 706, 711, 714, 718, 722, 727, 733, 740,
287 747, 755, 758, 763, 769, 772, 775, 777, 778, 783,
288 788, 792, 794, 798, 801, 805, 810, 812, 815, 821,
289 823, 827, 831, 835, 839, 843, 847, 851, 855, 859,
290 863, 867, 871, 875, 879, 883, 887, 891, 895, 899,
291 905, 909, 913, 915, 918, 922, 926, 928, 930, 932,
292 934, 936, 937, 943, 949, 955, 961, 967, 969, 971,
293 973, 975, 978, 980, 983, 986, 990, 995, 1000, 1002,
294 1004, 1006, 1010, 1012, 1014, 1016, 1018, 1022, 1026, 1030,
295 1031, 1036, 1041, 1044, 1049, 1052, 1057, 1060, 1063, 1065,
296 1070, 1072, 1080, 1088, 1096, 1104, 1109, 1114, 1117, 1120,
297 1123, 1125, 1130, 1133, 1136, 1142, 1146, 1149, 1152, 1158,
298 1162, 1168, 1172, 1177, 1184, 1187, 1189, 1192, 1194, 1197,
299 1199, 1201, 1203, 1206, 1207, 1210, 1213, 1217, 1221, 1225,
300 1228, 1231, 1234, 1236, 1238, 1240, 1243, 1246, 1249, 1252,
301 1254, 1256, 1258, 1260, 1263, 1266, 1270, 1274, 1278, 1283,
302 1285, 1288, 1291, 1294, 1296, 1298, 1300, 1303, 1306, 1309,
303 1311, 1313, 1316, 1319, 1323, 1325, 1328, 1330, 1332, 1334,
304 1339, 1344, 1349, 1354, 1356, 1358, 1360, 1362, 1366, 1368,
305 1372, 1374, 1378, 1379, 1384, 1385, 1392, 1396, 1397, 1402,
306 1404, 1408, 1412, 1413, 1418, 1422, 1423, 1425, 1427, 1430,
307 1437, 1439, 1443, 1444, 1446, 1451, 1458, 1463, 1465, 1467,
308 1469, 1471, 1473, 1477, 1478, 1481, 1483, 1486, 1490, 1495,
309 1497, 1499, 1503, 1508, 1512, 1518, 1520, 1525, 1529, 1533,
310 1534, 1538, 1542, 1546, 1547, 1550, 1553, 1554, 1562, 1567,
311 1568, 1575, 1579, 1582, 1585, 1588, 1589, 1590, 1600, 1602,
312 1603, 1605, 1606, 1608, 1610, 1613, 1616, 1619, 1622, 1625,
313 1628, 1631, 1634, 1637, 1641, 1646, 1650, 1653, 1657, 1659,
314 1660, 1664, 1665, 1669, 1672, 1674, 1676, 1677, 1680, 1684,
315 1686, 1691, 1693, 1697, 1699, 1701, 1706, 1711, 1714, 1717,
316 1721, 1725, 1727, 1728, 1730, 1733, 1737, 1740, 1743, 1745,
317 1748, 1751, 1754, 1757, 1760, 1763, 1766, 1768, 1771, 1774,
318 1778, 1781, 1784, 1789, 1794, 1797, 1799, 1805, 1810, 1812,
319 1813, 1815, 1819, 1820, 1822, 1826, 1828, 1830, 1832, 1834,
320 1839, 1844, 1849, 1854, 1859, 1863, 1868, 1873, 1878, 1883,
321 1887, 1889, 1893, 1895, 1899, 1902, 1904, 1912, 1913, 1916,
322 1918, 1921, 1922, 1925, 1930, 1935, 1938, 1943, 1947, 1951,
323 1954, 1957, 1961, 1963, 1965, 1968, 1970, 1972, 1975, 1978,
324 1983, 1988, 1992, 1996, 1999, 2001, 2003, 2006, 2010, 2014,
325 2017, 2020, 2024, 2026, 2030, 2034, 2037, 2040, 2044, 2046,
326 2051, 2055, 2060, 2064, 2066, 2069, 2072, 2075, 2078, 2081,
327 2083, 2086, 2091, 2096, 2099, 2101, 2103, 2105, 2107, 2110,
328 2115, 2118, 2121, 2124, 2127, 2129, 2132, 2135, 2138, 2141,
329 2145, 2147, 2150, 2154, 2159, 2162, 2165, 2168, 2171, 2174,
330 2177, 2182, 2185, 2187, 2190, 2193, 2197, 2199, 2203, 2206,
331 2210, 2213, 2216, 2220, 2222, 2226, 2231, 2235, 2238, 2241,
332 2243, 2247, 2250, 2253, 2255, 2258, 2262, 2264, 2268, 2270,
333 2277, 2282, 2287, 2291, 2297, 2301, 2305, 2309, 2312, 2314,
334 2316, 2319, 2322, 2325, 2326, 2328, 2330, 2333, 2337, 2339,
335 2342, 2343, 2347, 2348, 2349, 2355, 2357, 2358, 2361, 2363,
336 2365, 2367, 2370, 2371, 2376, 2378, 2379, 2380, 2386, 2387,
337 2388, 2396, 2397, 2398, 2399, 2400, 2413, 2414, 2415, 2423,
338 2424, 2430, 2431, 2439, 2440, 2445, 2448, 2451, 2454, 2458,
339 2465, 2474, 2485, 2498, 2503, 2507, 2510, 2513, 2515, 2517,
340 2519, 2521, 2523, 2524, 2525, 2532, 2533, 2534, 2540, 2542,
341 2545, 2546, 2547, 2553, 2555, 2557, 2561, 2565, 2568, 2571,
342 2574, 2577, 2580, 2582, 2585, 2586, 2588, 2589, 2591, 2593,
343 2594, 2596, 2598, 2602, 2607, 2609, 2613, 2614, 2616, 2618,
344 2620, 2623, 2626, 2629, 2631, 2634, 2637, 2638, 2642, 2644,
345 2646, 2648, 2651, 2654, 2657, 2662, 2665, 2668, 2671, 2674,
346 2677, 2680, 2682, 2685, 2687, 2690, 2692, 2694, 2695, 2696,
347 2698, 2699, 2704, 2707, 2709, 2711, 2715, 2716, 2720, 2724,
348 2728, 2730, 2733, 2736, 2739, 2742, 2745, 2748, 2751, 2754,
349 2757, 2760, 2763, 2766, 2769, 2772, 2775, 2778, 2781, 2784,
350 2787, 2790, 2793, 2796, 2799, 2803, 2806, 2809, 2812, 2815,
351 2819, 2822, 2825, 2830, 2835, 2839
354 static const short yyrhs
[] = { -1,
355 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
356 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
357 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
358 93, 218, 108, 60, 0, 133, 58, 115, 109, 0,
359 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
360 0, 0, 44, 163, 58, 123, 115, 109, 0, 0,
361 44, 58, 124, 115, 109, 0, 125, 0, 127, 60,
362 0, 129, 0, 118, 122, 0, 0, 44, 163, 64,
363 126, 132, 60, 0, 46, 313, 0, 46, 327, 313,
364 0, 46, 327, 208, 0, 46, 131, 163, 0, 46,
365 327, 163, 0, 46, 327, 131, 163, 0, 0, 46,
366 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
367 54, 0, 208, 0, 313, 0, 327, 313, 0, 327,
368 208, 0, 98, 0, 133, 98, 0, 0, 48, 74,
369 135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
370 136, 59, 140, 0, 163, 0, 0, 267, 137, 0,
371 45, 137, 0, 134, 267, 137, 0, 138, 0, 138,
372 64, 224, 0, 390, 0, 390, 64, 203, 0, 139,
373 0, 139, 64, 183, 0, 134, 142, 0, 134, 1,
374 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
375 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
376 142, 0, 235, 60, 0, 228, 234, 60, 0, 225,
377 233, 60, 0, 260, 60, 0, 235, 60, 0, 228,
378 234, 60, 0, 225, 233, 60, 0, 228, 60, 0,
379 166, 60, 0, 225, 60, 0, 1, 60, 0, 1,
380 109, 0, 60, 0, 219, 0, 159, 0, 0, 158,
381 0, 158, 60, 0, 0, 107, 0, 154, 146, 145,
382 337, 0, 154, 146, 361, 0, 154, 146, 1, 0,
383 0, 318, 5, 93, 150, 381, 108, 299, 393, 0,
384 318, 5, 47, 299, 393, 0, 0, 327, 318, 5,
385 93, 151, 381, 108, 299, 393, 0, 327, 318, 5,
386 47, 299, 393, 0, 0, 318, 178, 93, 152, 381,
387 108, 299, 393, 0, 318, 178, 47, 299, 393, 0,
388 0, 327, 318, 178, 93, 153, 381, 108, 299, 393,
389 0, 327, 318, 178, 47, 299, 393, 0, 225, 222,
390 0, 228, 310, 0, 310, 0, 228, 149, 0, 149,
391 0, 5, 93, 381, 108, 299, 393, 0, 5, 47,
392 299, 393, 0, 178, 93, 381, 108, 299, 393, 0,
393 178, 47, 299, 393, 0, 228, 155, 0, 155, 0,
394 225, 222, 0, 228, 310, 0, 310, 0, 228, 149,
395 0, 149, 0, 25, 3, 0, 157, 252, 0, 157,
396 93, 195, 108, 0, 157, 47, 0, 62, 160, 161,
397 0, 0, 0, 162, 0, 161, 59, 162, 0, 161,
398 1, 0, 93, 195, 108, 0, 47, 0, 164, 93,
399 195, 108, 0, 164, 47, 0, 305, 93, 195, 108,
400 0, 305, 47, 0, 320, 93, 195, 108, 0, 320,
401 47, 0, 3, 0, 4, 0, 5, 0, 56, 0,
402 57, 0, 3, 0, 56, 0, 57, 0, 104, 0,
403 103, 0, 105, 0, 0, 48, 175, 231, 60, 167,
404 176, 0, 0, 48, 175, 225, 222, 168, 176, 0,
405 0, 48, 175, 310, 169, 176, 0, 0, 48, 175,
406 149, 170, 176, 0, 0, 7, 48, 175, 231, 60,
407 171, 176, 0, 0, 7, 48, 175, 225, 222, 172,
408 176, 0, 0, 7, 48, 175, 310, 173, 176, 0,
409 0, 7, 48, 175, 149, 174, 176, 0, 0, 0,
410 56, 74, 181, 180, 179, 0, 4, 74, 181, 180,
411 179, 0, 178, 0, 5, 74, 181, 180, 179, 0,
412 0, 75, 0, 77, 0, 0, 182, 0, 183, 0,
413 182, 59, 183, 0, 224, 0, 56, 0, 203, 0,
414 79, 0, 78, 0, 86, 0, 87, 0, 110, 0,
415 194, 0, 203, 0, 47, 0, 93, 185, 108, 0,
416 47, 0, 93, 189, 108, 0, 0, 189, 0, 1,
417 0, 0, 371, 222, 236, 245, 64, 190, 253, 0,
418 185, 0, 109, 0, 334, 332, 109, 0, 334, 332,
419 1, 109, 0, 334, 1, 109, 0, 0, 58, 193,
420 191, 0, 346, 0, 203, 59, 203, 0, 203, 59,
421 1, 0, 194, 59, 203, 0, 194, 59, 1, 0,
422 203, 0, 194, 0, 213, 0, 118, 202, 0, 80,
423 202, 0, 70, 202, 0, 88, 202, 0, 184, 202,
424 0, 67, 163, 0, 13, 196, 0, 13, 93, 224,
425 108, 0, 29, 196, 0, 29, 93, 224, 108, 0,
426 215, 298, 0, 215, 298, 200, 0, 215, 199, 298,
427 0, 215, 199, 298, 200, 0, 215, 93, 198, 224,
428 197, 0, 215, 93, 198, 224, 197, 200, 0, 215,
429 199, 93, 198, 224, 197, 0, 215, 199, 93, 198,
430 224, 197, 200, 0, 216, 202, 0, 216, 94, 111,
431 202, 0, 216, 94, 185, 111, 202, 0, 34, 202,
432 0, 35, 202, 0, 108, 0, 0, 93, 198, 195,
433 108, 0, 58, 198, 195, 109, 0, 93, 195, 108,
434 0, 47, 0, 93, 231, 108, 0, 64, 253, 0,
435 93, 224, 108, 0, 201, 93, 224, 108, 0, 196,
436 0, 201, 196, 0, 201, 58, 254, 265, 109, 0,
437 202, 0, 203, 83, 203, 0, 203, 84, 203, 0,
438 203, 78, 203, 0, 203, 79, 203, 0, 203, 80,
439 203, 0, 203, 81, 203, 0, 203, 82, 203, 0,
440 203, 76, 203, 0, 203, 77, 203, 0, 203, 73,
441 203, 0, 203, 74, 203, 0, 203, 75, 203, 0,
442 203, 72, 203, 0, 203, 71, 203, 0, 203, 70,
443 203, 0, 203, 68, 203, 0, 203, 69, 203, 0,
444 203, 67, 203, 0, 203, 66, 203, 0, 203, 65,
445 376, 62, 203, 0, 203, 64, 203, 0, 203, 63,
446 203, 0, 61, 0, 61, 203, 0, 88, 391, 163,
447 0, 88, 391, 177, 0, 206, 0, 398, 0, 3,
448 0, 56, 0, 57, 0, 0, 6, 74, 205, 181,
449 180, 0, 398, 74, 205, 181, 180, 0, 48, 163,
450 74, 181, 180, 0, 48, 6, 74, 181, 180, 0,
451 48, 398, 74, 181, 180, 0, 204, 0, 4, 0,
452 5, 0, 210, 0, 246, 210, 0, 204, 0, 80,
453 209, 0, 70, 209, 0, 93, 209, 108, 0, 3,
454 74, 181, 180, 0, 57, 74, 182, 180, 0, 312,
455 0, 204, 0, 211, 0, 93, 209, 108, 0, 204,
456 0, 10, 0, 217, 0, 218, 0, 93, 185, 108,
457 0, 93, 209, 108, 0, 93, 1, 108, 0, 0,
458 93, 214, 338, 108, 0, 204, 93, 195, 108, 0,
459 204, 47, 0, 213, 93, 195, 108, 0, 213, 47,
460 0, 213, 94, 185, 111, 0, 213, 86, 0, 213,
461 87, 0, 40, 0, 9, 93, 195, 108, 0, 316,
462 0, 50, 74, 224, 75, 93, 185, 108, 0, 51,
463 74, 224, 75, 93, 185, 108, 0, 52, 74, 224,
464 75, 93, 185, 108, 0, 53, 74, 224, 75, 93,
465 185, 108, 0, 49, 93, 185, 108, 0, 49, 93,
466 224, 108, 0, 327, 3, 0, 327, 206, 0, 327,
467 398, 0, 315, 0, 315, 93, 195, 108, 0, 315,
468 47, 0, 220, 207, 0, 220, 207, 93, 195, 108,
469 0, 220, 207, 47, 0, 220, 208, 0, 220, 315,
470 0, 220, 208, 93, 195, 108, 0, 220, 208, 47,
471 0, 220, 315, 93, 195, 108, 0, 220, 315, 47,
472 0, 220, 88, 8, 47, 0, 220, 8, 54, 88,
473 8, 47, 0, 220, 1, 0, 39, 0, 327, 39,
474 0, 38, 0, 327, 216, 0, 42, 0, 43, 0,
475 11, 0, 218, 11, 0, 0, 213, 92, 0, 213,
476 91, 0, 231, 233, 60, 0, 225, 233, 60, 0,
477 228, 234, 60, 0, 225, 60, 0, 228, 60, 0,
478 118, 221, 0, 304, 0, 310, 0, 47, 0, 223,
479 47, 0, 229, 330, 0, 300, 330, 0, 231, 330,
480 0, 229, 0, 300, 0, 229, 0, 226, 0, 228,
481 231, 0, 231, 227, 0, 231, 230, 227, 0, 228,
482 231, 227, 0, 228, 231, 230, 0, 228, 231, 230,
483 227, 0, 7, 0, 227, 232, 0, 227, 7, 0,
484 227, 246, 0, 246, 0, 300, 0, 7, 0, 228,
485 9, 0, 228, 7, 0, 228, 246, 0, 246, 0,
486 231, 0, 300, 231, 0, 231, 230, 0, 300, 231,
487 230, 0, 232, 0, 230, 232, 0, 260, 0, 8,
488 0, 306, 0, 28, 93, 185, 108, 0, 28, 93,
489 224, 108, 0, 30, 93, 185, 108, 0, 30, 93,
490 224, 108, 0, 8, 0, 9, 0, 260, 0, 241,
491 0, 233, 59, 237, 0, 242, 0, 234, 59, 237,
492 0, 243, 0, 235, 59, 237, 0, 0, 119, 93,
493 218, 108, 0, 0, 222, 236, 245, 64, 238, 253,
494 0, 222, 236, 245, 0, 0, 245, 64, 240, 253,
495 0, 245, 0, 222, 236, 239, 0, 310, 236, 239,
496 0, 0, 310, 236, 244, 239, 0, 149, 236, 245,
497 0, 0, 246, 0, 247, 0, 246, 247, 0, 31,
498 93, 93, 248, 108, 108, 0, 249, 0, 248, 59,
499 249, 0, 0, 250, 0, 250, 93, 3, 108, 0,
500 250, 93, 3, 59, 195, 108, 0, 250, 93, 195,
501 108, 0, 163, 0, 7, 0, 8, 0, 9, 0,
502 163, 0, 251, 59, 163, 0, 0, 64, 253, 0,
503 203, 0, 58, 109, 0, 58, 254, 109, 0, 58,
504 254, 59, 109, 0, 1, 0, 253, 0, 254, 59,
505 253, 0, 94, 203, 111, 253, 0, 163, 62, 253,
506 0, 254, 59, 163, 62, 253, 0, 97, 0, 255,
507 146, 145, 337, 0, 255, 146, 361, 0, 255, 146,
508 1, 0, 0, 257, 256, 147, 0, 102, 203, 107,
509 0, 102, 1, 107, 0, 0, 259, 258, 0, 259,
510 1, 0, 0, 14, 163, 58, 261, 296, 266, 109,
511 0, 14, 163, 58, 109, 0, 0, 14, 58, 262,
512 296, 266, 109, 0, 14, 58, 109, 0, 14, 163,
513 0, 14, 325, 0, 45, 320, 0, 0, 0, 275,
514 281, 283, 109, 245, 263, 259, 264, 257, 0, 275,
515 0, 0, 59, 0, 0, 59, 0, 36, 0, 267,
516 7, 0, 267, 8, 0, 267, 9, 0, 267, 36,
517 0, 267, 246, 0, 267, 163, 0, 267, 165, 0,
518 268, 58, 0, 268, 62, 0, 267, 318, 163, 0,
519 267, 327, 318, 163, 0, 267, 327, 163, 0, 267,
520 177, 0, 267, 318, 177, 0, 268, 0, 0, 269,
521 272, 276, 0, 0, 270, 273, 276, 0, 267, 58,
522 0, 274, 0, 271, 0, 0, 62, 391, 0, 62,
523 391, 277, 0, 278, 0, 277, 59, 391, 278, 0,
524 279, 0, 280, 391, 279, 0, 320, 0, 305, 0,
525 30, 93, 185, 108, 0, 30, 93, 224, 108, 0,
526 37, 391, 0, 7, 391, 0, 280, 37, 391, 0,
527 280, 7, 391, 0, 58, 0, 0, 282, 0, 282,
528 285, 0, 283, 284, 285, 0, 283, 284, 0, 37,
529 62, 0, 286, 0, 285, 286, 0, 287, 60, 0,
530 287, 109, 0, 156, 62, 0, 156, 95, 0, 156,
531 25, 0, 156, 58, 0, 60, 0, 118, 286, 0,
532 134, 286, 0, 134, 225, 60, 0, 225, 288, 0,
533 228, 289, 0, 310, 236, 245, 252, 0, 149, 236,
534 245, 252, 0, 62, 203, 0, 1, 0, 228, 155,
535 236, 245, 252, 0, 155, 236, 245, 252, 0, 127,
536 0, 0, 290, 0, 288, 59, 291, 0, 0, 293,
537 0, 289, 59, 295, 0, 292, 0, 293, 0, 294,
538 0, 295, 0, 304, 236, 245, 252, 0, 4, 62,
539 203, 245, 0, 310, 236, 245, 252, 0, 149, 236,
540 245, 252, 0, 3, 62, 203, 245, 0, 62, 203,
541 245, 0, 304, 236, 245, 252, 0, 4, 62, 203,
542 245, 0, 310, 236, 245, 252, 0, 3, 62, 203,
543 245, 0, 62, 203, 245, 0, 297, 0, 296, 59,
544 297, 0, 163, 0, 163, 64, 203, 0, 371, 328,
545 0, 371, 0, 93, 198, 224, 197, 94, 185, 111,
546 0, 0, 299, 9, 0, 9, 0, 300, 9, 0,
547 0, 301, 185, 0, 301, 93, 195, 108, 0, 301,
548 93, 381, 108, 0, 301, 47, 0, 301, 93, 1,
549 108, 0, 80, 300, 304, 0, 70, 300, 304, 0,
550 80, 304, 0, 70, 304, 0, 326, 299, 304, 0,
551 308, 0, 317, 0, 327, 317, 0, 305, 0, 307,
552 0, 327, 307, 0, 318, 317, 0, 308, 303, 299,
553 393, 0, 308, 94, 302, 111, 0, 308, 94, 111,
554 0, 93, 304, 108, 0, 318, 317, 0, 317, 0,
555 310, 0, 246, 310, 0, 80, 300, 309, 0, 70,
556 300, 309, 0, 80, 309, 0, 70, 309, 0, 326,
557 299, 309, 0, 212, 0, 80, 300, 309, 0, 70,
558 300, 309, 0, 80, 311, 0, 70, 311, 0, 326,
559 299, 309, 0, 312, 0, 212, 303, 299, 393, 0,
560 93, 311, 108, 0, 212, 94, 302, 111, 0, 212,
561 94, 111, 0, 314, 0, 318, 211, 0, 318, 208,
562 0, 318, 207, 0, 318, 204, 0, 318, 207, 0,
563 314, 0, 327, 314, 0, 231, 93, 195, 108, 0,
564 231, 93, 209, 108, 0, 231, 223, 0, 4, 0,
565 5, 0, 177, 0, 319, 0, 318, 319, 0, 318,
566 48, 324, 54, 0, 4, 54, 0, 5, 54, 0,
567 57, 54, 0, 177, 54, 0, 321, 0, 327, 321,
568 0, 322, 163, 0, 322, 177, 0, 322, 324, 0,
569 322, 48, 324, 0, 323, 0, 322, 323, 0, 322,
570 324, 54, 0, 322, 48, 324, 54, 0, 4, 54,
571 0, 5, 54, 0, 177, 54, 0, 56, 54, 0,
572 3, 54, 0, 57, 54, 0, 163, 74, 181, 180,
573 0, 327, 317, 0, 307, 0, 327, 307, 0, 318,
574 80, 0, 327, 318, 80, 0, 54, 0, 80, 299,
575 328, 0, 80, 299, 0, 70, 299, 328, 0, 70,
576 299, 0, 326, 299, 0, 326, 299, 328, 0, 329,
577 0, 94, 185, 111, 0, 329, 94, 302, 111, 0,
578 80, 300, 330, 0, 80, 330, 0, 80, 300, 0,
579 80, 0, 70, 300, 330, 0, 70, 330, 0, 70,
580 300, 0, 70, 0, 326, 299, 0, 326, 299, 330,
581 0, 331, 0, 93, 330, 108, 0, 90, 0, 331,
582 93, 381, 108, 299, 393, 0, 331, 47, 299, 393,
583 0, 331, 94, 302, 111, 0, 331, 94, 111, 0,
584 93, 382, 108, 299, 393, 0, 201, 299, 393, 0,
585 223, 299, 393, 0, 94, 302, 111, 0, 94, 111,
586 0, 345, 0, 333, 0, 332, 345, 0, 332, 333,
587 0, 1, 60, 0, 0, 335, 0, 336, 0, 335,
588 336, 0, 33, 251, 60, 0, 338, 0, 1, 338,
589 0, 0, 58, 339, 191, 0, 0, 0, 15, 341,
590 187, 342, 343, 0, 338, 0, 0, 344, 346, 0,
591 338, 0, 346, 0, 221, 0, 185, 60, 0, 0,
592 340, 16, 347, 343, 0, 340, 0, 0, 0, 17,
593 348, 187, 349, 192, 0, 0, 0, 18, 350, 343,
594 17, 351, 186, 60, 0, 0, 0, 0, 0, 19,
595 352, 93, 374, 353, 188, 60, 354, 376, 108, 355,
596 192, 0, 0, 0, 20, 356, 93, 189, 108, 357,
597 343, 0, 0, 21, 203, 62, 358, 345, 0, 0,
598 21, 203, 12, 203, 62, 359, 345, 0, 0, 22,
599 62, 360, 345, 0, 23, 60, 0, 24, 60, 0,
600 25, 60, 0, 25, 185, 60, 0, 119, 375, 93,
601 218, 108, 60, 0, 119, 375, 93, 218, 62, 377,
602 108, 60, 0, 119, 375, 93, 218, 62, 377, 62,
603 377, 108, 60, 0, 119, 375, 93, 218, 62, 377,
604 62, 377, 62, 380, 108, 60, 0, 26, 80, 185,
605 60, 0, 26, 163, 60, 0, 373, 345, 0, 373,
606 109, 0, 60, 0, 364, 0, 129, 0, 128, 0,
607 125, 0, 0, 0, 95, 362, 145, 338, 363, 367,
608 0, 0, 0, 95, 365, 338, 366, 367, 0, 368,
609 0, 367, 368, 0, 0, 0, 96, 369, 372, 370,
610 338, 0, 229, 0, 300, 0, 93, 12, 108, 0,
611 93, 390, 108, 0, 3, 62, 0, 56, 62, 0,
612 4, 62, 0, 5, 62, 0, 376, 60, 0, 221,
613 0, 58, 191, 0, 0, 9, 0, 0, 185, 0,
614 1, 0, 0, 378, 0, 379, 0, 378, 59, 379,
615 0, 11, 93, 185, 108, 0, 11, 0, 380, 59,
616 11, 0, 0, 382, 0, 224, 0, 386, 0, 387,
617 12, 0, 386, 12, 0, 224, 12, 0, 12, 0,
618 386, 62, 0, 224, 62, 0, 0, 64, 384, 385,
619 0, 101, 0, 253, 0, 388, 0, 390, 383, 0,
620 387, 389, 0, 387, 392, 0, 387, 392, 64, 253,
621 0, 386, 59, 0, 224, 59, 0, 226, 222, 0,
622 229, 222, 0, 231, 222, 0, 226, 330, 0, 226,
623 0, 228, 310, 0, 390, 0, 390, 383, 0, 388,
624 0, 224, 0, 0, 0, 310, 0, 0, 61, 93,
625 395, 108, 0, 61, 47, 0, 224, 0, 394, 0,
626 395, 59, 394, 0, 0, 80, 299, 396, 0, 70,
627 299, 396, 0, 326, 299, 396, 0, 41, 0, 397,
628 80, 0, 397, 81, 0, 397, 82, 0, 397, 78,
629 0, 397, 79, 0, 397, 70, 0, 397, 68, 0,
630 397, 69, 0, 397, 88, 0, 397, 59, 0, 397,
631 73, 0, 397, 74, 0, 397, 75, 0, 397, 72,
632 0, 397, 63, 0, 397, 64, 0, 397, 76, 0,
633 397, 77, 0, 397, 86, 0, 397, 87, 0, 397,
634 67, 0, 397, 66, 0, 397, 110, 0, 397, 65,
635 62, 0, 397, 71, 0, 397, 91, 0, 397, 83,
636 0, 397, 47, 0, 397, 94, 111, 0, 397, 39,
637 0, 397, 38, 0, 397, 39, 94, 111, 0, 397,
638 38, 94, 111, 0, 397, 371, 396, 0, 397, 1,
645 static const short yyrline
[] = { 0,
646 336, 338, 346, 349, 350, 354, 356, 359, 364, 368,
647 374, 378, 381, 385, 388, 390, 392, 395, 397, 400,
648 403, 405, 407, 409, 411, 412, 414, 415, 419, 422,
649 431, 434, 436, 440, 443, 445, 449, 452, 464, 471,
650 479, 481, 482, 484, 488, 491, 497, 500, 502, 507,
651 510, 514, 517, 520, 523, 527, 532, 542, 544, 546,
652 548, 550, 563, 566, 570, 573, 575, 577, 580, 583,
653 587, 589, 591, 593, 598, 600, 602, 604, 606, 607,
654 614, 615, 616, 619, 622, 626, 628, 629, 632, 634,
655 637, 640, 642, 646, 649, 651, 655, 657, 659, 663,
656 665, 667, 671, 673, 675, 681, 685, 688, 691, 694,
657 699, 702, 704, 706, 712, 724, 727, 732, 737, 740,
658 745, 750, 759, 762, 764, 768, 781, 801, 804, 806,
659 807, 810, 817, 823, 825, 827, 829, 831, 834, 839,
660 841, 842, 843, 844, 847, 849, 850, 853, 855, 856,
661 859, 864, 864, 868, 868, 871, 871, 874, 874, 878,
662 878, 883, 883, 886, 886, 889, 891, 894, 901, 905,
663 908, 911, 917, 926, 928, 936, 939, 942, 945, 949,
664 952, 954, 957, 960, 962, 964, 966, 970, 973, 976,
665 981, 985, 990, 994, 997, 998, 1002, 1021, 1028, 1031,
666 1033, 1034, 1035, 1038, 1042, 1043, 1047, 1051, 1054, 1056,
667 1060, 1063, 1066, 1070, 1073, 1075, 1077, 1079, 1082, 1086,
668 1088, 1090, 1092, 1098, 1101, 1104, 1107, 1119, 1124, 1128,
669 1132, 1137, 1139, 1143, 1147, 1149, 1158, 1162, 1165, 1168,
670 1173, 1176, 1178, 1186, 1199, 1204, 1210, 1212, 1214, 1227,
671 1230, 1232, 1234, 1236, 1238, 1240, 1242, 1244, 1246, 1248,
672 1250, 1252, 1254, 1256, 1258, 1260, 1262, 1264, 1266, 1268,
673 1270, 1274, 1276, 1278, 1295, 1298, 1300, 1301, 1302, 1303,
674 1304, 1307, 1310, 1313, 1317, 1320, 1322, 1327, 1329, 1330,
675 1333, 1335, 1343, 1345, 1347, 1349, 1353, 1356, 1360, 1364,
676 1365, 1366, 1370, 1378, 1379, 1380, 1394, 1396, 1399, 1401,
677 1412, 1417, 1419, 1421, 1423, 1425, 1427, 1429, 1432, 1434,
678 1451, 1452, 1456, 1460, 1464, 1468, 1470, 1474, 1476, 1478,
679 1486, 1488, 1490, 1492, 1496, 1498, 1500, 1502, 1507, 1509,
680 1511, 1513, 1516, 1518, 1520, 1564, 1567, 1571, 1574, 1578,
681 1581, 1586, 1588, 1592, 1605, 1608, 1615, 1622, 1627, 1629,
682 1634, 1636, 1643, 1645, 1649, 1653, 1659, 1663, 1666, 1669,
683 1672, 1682, 1684, 1687, 1691, 1694, 1697, 1700, 1703, 1709,
684 1715, 1717, 1722, 1724, 1733, 1736, 1738, 1741, 1747, 1749,
685 1759, 1763, 1766, 1769, 1774, 1777, 1785, 1787, 1789, 1791,
686 1794, 1797, 1812, 1831, 1834, 1836, 1839, 1841, 1845, 1847,
687 1851, 1853, 1857, 1860, 1864, 1870, 1871, 1883, 1890, 1893,
688 1899, 1903, 1908, 1914, 1915, 1923, 1926, 1930, 1933, 1937,
689 1942, 1945, 1949, 1952, 1954, 1956, 1958, 1965, 1967, 1968,
690 1969, 1973, 1976, 1980, 1983, 1989, 1991, 1994, 1997, 2000,
691 2006, 2009, 2012, 2014, 2016, 2020, 2026, 2034, 2036, 2040,
692 2042, 2047, 2050, 2053, 2055, 2057, 2061, 2066, 2073, 2077,
693 2081, 2088, 2092, 2095, 2098, 2104, 2116, 2118, 2121, 2141,
694 2143, 2146, 2148, 2153, 2155, 2157, 2159, 2161, 2163, 2167,
695 2175, 2178, 2180, 2184, 2190, 2195, 2200, 2202, 2206, 2209,
696 2213, 2219, 2222, 2239, 2245, 2247, 2250, 2253, 2255, 2259,
697 2261, 2265, 2270, 2276, 2279, 2280, 2301, 2324, 2326, 2330,
698 2341, 2355, 2360, 2367, 2369, 2370, 2371, 2374, 2389, 2394,
699 2400, 2402, 2407, 2409, 2411, 2413, 2415, 2417, 2420, 2430,
700 2437, 2462, 2468, 2471, 2474, 2476, 2487, 2492, 2495, 2500,
701 2503, 2510, 2520, 2523, 2530, 2540, 2542, 2545, 2547, 2550,
702 2557, 2565, 2572, 2578, 2584, 2592, 2596, 2601, 2605, 2608,
703 2617, 2619, 2623, 2626, 2631, 2635, 2641, 2652, 2655, 2659,
704 2663, 2671, 2676, 2682, 2685, 2687, 2689, 2695, 2698, 2700,
705 2702, 2704, 2708, 2711, 2729, 2739, 2741, 2742, 2746, 2751,
706 2754, 2756, 2758, 2760, 2764, 2770, 2772, 2780, 2783, 2785,
707 2787, 2789, 2793, 2796, 2799, 2801, 2803, 2805, 2809, 2812,
708 2815, 2817, 2819, 2821, 2823, 2830, 2834, 2839, 2843, 2848,
709 2850, 2854, 2857, 2859, 2862, 2864, 2865, 2868, 2870, 2872,
710 2878, 2893, 2899, 2905, 2919, 2921, 2925, 2939, 2941, 2943,
711 2947, 2953, 2966, 2968, 2972, 2985, 2991, 2993, 2994, 2995,
712 3003, 3008, 3017, 3018, 3022, 3025, 3031, 3037, 3040, 3042,
713 3044, 3046, 3050, 3054, 3058, 3061, 3066, 3069, 3071, 3073,
714 3075, 3077, 3079, 3081, 3083, 3087, 3091, 3095, 3099, 3100,
715 3102, 3104, 3106, 3108, 3110, 3112, 3114, 3116, 3124, 3126,
716 3127, 3128, 3131, 3137, 3139, 3144, 3146, 3149, 3163, 3166,
717 3169, 3173, 3176, 3183, 3185, 3188, 3190, 3192, 3195, 3198,
718 3201, 3204, 3206, 3209, 3213, 3215, 3221, 3223, 3224, 3226,
719 3231, 3233, 3235, 3237, 3239, 3242, 3243, 3245, 3248, 3249,
720 3252, 3252, 3255, 3255, 3258, 3258, 3260, 3262, 3264, 3266,
721 3272, 3278, 3281, 3284, 3290, 3292, 3294, 3298, 3300, 3301,
722 3302, 3304, 3307, 3314, 3319, 3327, 3331, 3333, 3336, 3338,
723 3341, 3345, 3347, 3350, 3352, 3355, 3372, 3378, 3386, 3388,
724 3390, 3394, 3397, 3398, 3406, 3410, 3414, 3417, 3418, 3424,
725 3427, 3430, 3432, 3436, 3441, 3444, 3454, 3459, 3460, 3467,
726 3470, 3473, 3475, 3478, 3480, 3490, 3504, 3508, 3511, 3513,
727 3517, 3521, 3524, 3527, 3529, 3533, 3535, 3542, 3549, 3552,
728 3555, 3559, 3563, 3569, 3573, 3578, 3580, 3583, 3588, 3594,
729 3605, 3608, 3610, 3614, 3619, 3621, 3628, 3631, 3633, 3635,
730 3641, 3646, 3649, 3651, 3653, 3655, 3657, 3659, 3661, 3663,
731 3665, 3667, 3669, 3671, 3673, 3675, 3677, 3679, 3681, 3683,
732 3685, 3687, 3689, 3691, 3693, 3695, 3697, 3699, 3701, 3703,
733 3705, 3707, 3709, 3711, 3714, 3716
738 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
740 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
741 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
742 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
743 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
744 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
745 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
746 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
747 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
748 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
749 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
750 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
751 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
752 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
753 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
754 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
755 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
756 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
757 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
758 "template_type_parm","template_template_parm","template_parm","template_def",
759 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
760 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
761 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
762 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
763 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
764 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
765 "self_template_type",".finish_template_type","template_close_bracket","template_arg_list_opt",
766 "template_arg_list","template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null",
767 "xcond","condition","@20","compstmtend","already_scoped_stmt","@21","nontrivial_exprlist",
768 "nonnull_exprlist","unary_expr",".finish_new_placement",".begin_new_placement",
769 "new_placement","new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas",
770 "notype_unqualified_id","do_id","template_id","object_template_id","unqualified_id",
771 "expr_or_declarator_intern","expr_or_declarator","notype_template_declarator",
772 "direct_notype_declarator","primary","@22","new","delete","boolean.literal",
773 "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
774 "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
775 "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
776 "nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0",
777 "notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute",
778 "attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init",
779 "init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again",
780 "pending_defargs","structsp","@26","@27","@28","@29","maybecomma","maybecomma_warn",
781 "aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
782 "named_complex_class_head_sans_basetype","named_class_head","@30","@31","unnamed_class_head",
783 "class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
784 "base_class_access_list","left_curly","self_reference","opt.component_decl_list",
785 "access_specifier","component_decl_list","component_decl","component_decl_1",
786 "components","notype_components","component_declarator0","component_declarator",
787 "after_type_component_declarator0","notype_component_declarator0","after_type_component_declarator",
788 "notype_component_declarator","enumlist","enumerator","new_type_id","cv_qualifiers",
789 "nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr","maybe_parmlist",
790 "after_type_declarator","nonnested_type","complete_type_name","nested_type",
791 "direct_after_type_declarator","notype_declarator_intern","notype_declarator",
792 "complex_notype_declarator","complex_direct_notype_declarator","qualified_id",
793 "notype_qualified_id","overqualified_id","functional_cast","type_name","nested_name_specifier",
794 "nested_name_specifier_1","typename_sub","typename_sub0","typename_sub1","typename_sub2",
795 "explicit_template_type","complex_type_name","ptr_to_mem","global_scope","new_declarator",
796 "direct_new_declarator","absdcl","direct_abstract_declarator","stmts","errstmt",
797 "maybe_label_decls","label_decls","label_decl","compstmt_or_error","compstmt",
798 "@32","simple_if","@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt",
799 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48",
800 "@49","function_try_block","@50","@51","try_block","@52","@53","handler_seq",
801 "handler","@54","@55","type_specifier_seq","handler_args","label_colon","for.init.statement",
802 "maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
803 "asm_clobbers","parmlist","complex_parmlist","defarg","@56","defarg1","parms",
804 "parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
805 "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
806 "operator_name", NULL
810 static const short yyr1
[] = { 0,
811 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
812 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
813 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
814 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
815 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
816 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
817 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
818 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
819 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
820 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
821 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
822 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
823 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
824 161, 162, 162, 162, 162, 162, 162, 162, 162, 163,
825 163, 163, 163, 163, 164, 164, 164, 165, 165, 165,
826 167, 166, 168, 166, 169, 166, 170, 166, 171, 166,
827 172, 166, 173, 166, 174, 166, 175, 176, 177, 177,
828 177, 178, 179, 180, 180, 181, 181, 182, 182, 183,
829 183, 183, 184, 184, 184, 184, 184, 185, 185, 186,
830 186, 187, 187, 188, 188, 188, 190, 189, 189, 191,
831 191, 191, 191, 193, 192, 192, 194, 194, 194, 194,
832 195, 195, 196, 196, 196, 196, 196, 196, 196, 196,
833 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
834 196, 196, 196, 196, 196, 196, 197, 198, 199, 199,
835 200, 200, 200, 200, 201, 201, 202, 202, 202, 203,
836 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
837 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
838 203, 203, 203, 203, 204, 204, 204, 204, 204, 204,
839 204, 205, 206, 206, 207, 207, 207, 208, 208, 208,
840 209, 209, 210, 210, 210, 210, 211, 211, 212, 212,
841 212, 212, 213, 213, 213, 213, 213, 213, 213, 214,
842 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
843 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
844 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
845 213, 213, 213, 213, 213, 215, 215, 216, 216, 217,
846 217, 218, 218, 219, 220, 220, 221, 221, 221, 221,
847 221, 221, 222, 222, 223, 223, 224, 224, 224, 224,
848 224, 225, 225, 226, 226, 226, 226, 226, 226, 227,
849 227, 227, 227, 227, 228, 228, 228, 228, 228, 228,
850 229, 229, 229, 229, 230, 230, 231, 231, 231, 231,
851 231, 231, 231, 232, 232, 232, 233, 233, 234, 234,
852 235, 235, 236, 236, 238, 237, 237, 240, 239, 239,
853 241, 242, 244, 243, 243, 245, 245, 246, 246, 247,
854 248, 248, 249, 249, 249, 249, 249, 250, 250, 250,
855 250, 251, 251, 252, 252, 253, 253, 253, 253, 253,
856 254, 254, 254, 254, 254, 255, 256, 256, 256, 257,
857 257, 258, 258, 259, 259, 259, 261, 260, 260, 262,
858 260, 260, 260, 260, 260, 263, 264, 260, 260, 265,
859 265, 266, 266, 267, 267, 267, 267, 267, 267, 268,
860 269, 269, 269, 270, 270, 270, 270, 270, 271, 272,
861 271, 273, 271, 274, 275, 275, 276, 276, 276, 277,
862 277, 278, 278, 279, 279, 279, 279, 280, 280, 280,
863 280, 281, 282, 283, 283, 283, 283, 284, 285, 285,
864 286, 286, 286, 286, 286, 286, 286, 286, 286, 286,
865 287, 287, 287, 287, 287, 287, 287, 287, 287, 288,
866 288, 288, 289, 289, 289, 290, 290, 291, 291, 292,
867 292, 293, 293, 293, 293, 294, 294, 295, 295, 295,
868 296, 296, 297, 297, 298, 298, 298, 299, 299, 300,
869 300, 301, 302, 303, 303, 303, 303, 304, 304, 304,
870 304, 304, 304, 305, 305, 306, 306, 306, 307, 308,
871 308, 308, 308, 308, 308, 309, 309, 310, 310, 310,
872 310, 310, 310, 311, 311, 311, 311, 311, 311, 312,
873 312, 312, 312, 312, 312, 313, 313, 314, 314, 315,
874 315, 316, 316, 316, 317, 317, 317, 318, 318, 318,
875 319, 319, 319, 319, 320, 320, 321, 321, 321, 321,
876 322, 322, 322, 322, 323, 323, 323, 323, 323, 323,
877 324, 325, 325, 325, 326, 326, 327, 328, 328, 328,
878 328, 328, 328, 328, 329, 329, 330, 330, 330, 330,
879 330, 330, 330, 330, 330, 330, 330, 331, 331, 331,
880 331, 331, 331, 331, 331, 331, 331, 331, 332, 332,
881 332, 332, 333, 334, 334, 335, 335, 336, 337, 337,
882 339, 338, 341, 342, 340, 343, 344, 343, 345, 345,
883 346, 346, 347, 346, 346, 348, 349, 346, 350, 351,
884 346, 352, 353, 354, 355, 346, 356, 357, 346, 358,
885 346, 359, 346, 360, 346, 346, 346, 346, 346, 346,
886 346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
887 346, 346, 362, 363, 361, 365, 366, 364, 367, 367,
888 369, 370, 368, 371, 371, 372, 372, 373, 373, 373,
889 373, 374, 374, 374, 375, 375, 376, 376, 376, 377,
890 377, 378, 378, 379, 380, 380, 381, 381, 381, 382,
891 382, 382, 382, 382, 382, 382, 384, 383, 385, 385,
892 386, 386, 386, 386, 386, 387, 387, 388, 388, 388,
893 388, 388, 388, 389, 389, 390, 390, 391, 392, 392,
894 393, 393, 393, 394, 395, 395, 396, 396, 396, 396,
895 397, 398, 398, 398, 398, 398, 398, 398, 398, 398,
896 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
897 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
898 398, 398, 398, 398, 398, 398
901 static const short yyr2
[] = { 0,
902 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
903 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
904 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
905 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
906 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
907 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
908 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
909 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
910 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
911 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
912 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
913 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
914 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
915 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
916 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
917 0, 6, 0, 6, 0, 5, 0, 5, 0, 7,
918 0, 7, 0, 6, 0, 6, 0, 0, 5, 5,
919 1, 5, 0, 1, 1, 0, 1, 1, 3, 1,
920 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
921 3, 1, 3, 0, 1, 1, 0, 7, 1, 1,
922 3, 4, 3, 0, 3, 1, 3, 3, 3, 3,
923 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
924 4, 2, 4, 2, 3, 3, 4, 5, 6, 6,
925 7, 2, 4, 5, 2, 2, 1, 0, 4, 4,
926 3, 1, 3, 2, 3, 4, 1, 2, 5, 1,
927 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
928 3, 3, 3, 3, 3, 3, 3, 3, 3, 5,
929 3, 3, 1, 2, 3, 3, 1, 1, 1, 1,
930 1, 0, 5, 5, 5, 5, 5, 1, 1, 1,
931 1, 2, 1, 2, 2, 3, 4, 4, 1, 1,
932 1, 3, 1, 1, 1, 1, 3, 3, 3, 0,
933 4, 4, 2, 4, 2, 4, 2, 2, 1, 4,
934 1, 7, 7, 7, 7, 4, 4, 2, 2, 2,
935 1, 4, 2, 2, 5, 3, 2, 2, 5, 3,
936 5, 3, 4, 6, 2, 1, 2, 1, 2, 1,
937 1, 1, 2, 0, 2, 2, 3, 3, 3, 2,
938 2, 2, 1, 1, 1, 2, 2, 2, 2, 1,
939 1, 1, 1, 2, 2, 3, 3, 3, 4, 1,
940 2, 2, 2, 1, 1, 1, 2, 2, 2, 1,
941 1, 2, 2, 3, 1, 2, 1, 1, 1, 4,
942 4, 4, 4, 1, 1, 1, 1, 3, 1, 3,
943 1, 3, 0, 4, 0, 6, 3, 0, 4, 1,
944 3, 3, 0, 4, 3, 0, 1, 1, 2, 6,
945 1, 3, 0, 1, 4, 6, 4, 1, 1, 1,
946 1, 1, 3, 0, 2, 1, 2, 3, 4, 1,
947 1, 3, 4, 3, 5, 1, 4, 3, 3, 0,
948 3, 3, 3, 0, 2, 2, 0, 7, 4, 0,
949 6, 3, 2, 2, 2, 0, 0, 9, 1, 0,
950 1, 0, 1, 1, 2, 2, 2, 2, 2, 2,
951 2, 2, 2, 3, 4, 3, 2, 3, 1, 0,
952 3, 0, 3, 2, 1, 1, 0, 2, 3, 1,
953 4, 1, 3, 1, 1, 4, 4, 2, 2, 3,
954 3, 1, 0, 1, 2, 3, 2, 2, 1, 2,
955 2, 2, 2, 2, 2, 2, 1, 2, 2, 3,
956 2, 2, 4, 4, 2, 1, 5, 4, 1, 0,
957 1, 3, 0, 1, 3, 1, 1, 1, 1, 4,
958 4, 4, 4, 4, 3, 4, 4, 4, 4, 3,
959 1, 3, 1, 3, 2, 1, 7, 0, 2, 1,
960 2, 0, 2, 4, 4, 2, 4, 3, 3, 2,
961 2, 3, 1, 1, 2, 1, 1, 2, 2, 4,
962 4, 3, 3, 2, 1, 1, 2, 3, 3, 2,
963 2, 3, 1, 3, 3, 2, 2, 3, 1, 4,
964 3, 4, 3, 1, 2, 2, 2, 2, 2, 1,
965 2, 4, 4, 2, 1, 1, 1, 1, 2, 4,
966 2, 2, 2, 2, 1, 2, 2, 2, 2, 3,
967 1, 2, 3, 4, 2, 2, 2, 2, 2, 2,
968 4, 2, 1, 2, 2, 3, 1, 3, 2, 3,
969 2, 2, 3, 1, 3, 4, 3, 2, 2, 1,
970 3, 2, 2, 1, 2, 3, 1, 3, 1, 6,
971 4, 4, 3, 5, 3, 3, 3, 2, 1, 1,
972 2, 2, 2, 0, 1, 1, 2, 3, 1, 2,
973 0, 3, 0, 0, 5, 1, 0, 2, 1, 1,
974 1, 2, 0, 4, 1, 0, 0, 5, 0, 0,
975 7, 0, 0, 0, 0, 12, 0, 0, 7, 0,
976 5, 0, 7, 0, 4, 2, 2, 2, 3, 6,
977 8, 10, 12, 4, 3, 2, 2, 1, 1, 1,
978 1, 1, 0, 0, 6, 0, 0, 5, 1, 2,
979 0, 0, 5, 1, 1, 3, 3, 2, 2, 2,
980 2, 2, 1, 2, 0, 1, 0, 1, 1, 0,
981 1, 1, 3, 4, 1, 3, 0, 1, 1, 1,
982 2, 2, 2, 1, 2, 2, 0, 3, 1, 1,
983 1, 2, 2, 2, 4, 2, 2, 2, 2, 2,
984 2, 1, 2, 1, 2, 1, 1, 0, 0, 1,
985 0, 4, 2, 1, 1, 3, 0, 3, 3, 3,
986 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
987 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
988 2, 2, 2, 2, 3, 2, 2, 2, 2, 3,
992 static const short yydefact
[] = { 3,
993 12, 12, 5, 0, 4, 0, 279, 635, 636, 0,
994 386, 398, 580, 0, 11, 0, 0, 0, 10, 484,
995 841, 0, 0, 0, 167, 667, 280, 281, 83, 0,
996 0, 828, 0, 45, 0, 0, 13, 25, 0, 27,
997 8, 0, 16, 15, 89, 110, 86, 0, 637, 171,
998 300, 277, 301, 613, 0, 373, 0, 372, 391, 0,
999 411, 390, 428, 397, 0, 499, 500, 502, 506, 505,
1000 479, 385, 596, 399, 597, 108, 299, 624, 594, 0,
1001 638, 578, 0, 0, 278, 81, 82, 176, 641, 176,
1002 642, 176, 282, 167, 140, 141, 142, 143, 144, 470,
1003 473, 0, 663, 0, 474, 0, 0, 0, 0, 141,
1004 142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
1005 0, 475, 645, 0, 651, 0, 0, 0, 37, 0,
1006 0, 31, 0, 0, 47, 0, 176, 643, 0, 0,
1007 0, 611, 606, 0, 0, 0, 610, 0, 0, 0,
1008 0, 300, 0, 291, 582, 0, 0, 299, 578, 28,
1009 0, 26, 3, 46, 0, 64, 386, 0, 0, 8,
1010 67, 63, 66, 89, 0, 0, 0, 397, 90, 14,
1011 0, 426, 0, 0, 444, 87, 79, 644, 582, 0,
1012 578, 80, 0, 0, 0, 106, 0, 407, 363, 593,
1013 364, 605, 0, 578, 388, 387, 78, 109, 374, 0,
1014 409, 389, 107, 380, 404, 405, 375, 393, 395, 384,
1015 406, 0, 75, 429, 485, 486, 487, 488, 504, 149,
1016 148, 150, 490, 491, 497, 489, 0, 0, 492, 493,
1017 507, 507, 522, 523, 581, 392, 0, 423, 636, 0,
1018 665, 171, 628, 629, 625, 599, 639, 0, 598, 595,
1019 0, 876, 872, 871, 869, 851, 856, 857, 0, 863,
1020 862, 848, 849, 847, 866, 855, 852, 853, 854, 858,
1021 859, 845, 846, 842, 843, 844, 868, 860, 861, 850,
1022 867, 0, 864, 774, 391, 775, 837, 282, 279, 580,
1023 304, 352, 0, 0, 0, 0, 348, 346, 319, 350,
1024 351, 0, 0, 0, 0, 0, 280, 281, 273, 0,
1025 0, 184, 183, 0, 185, 186, 0, 0, 187, 0,
1026 0, 177, 178, 0, 247, 0, 250, 182, 303, 213,
1027 0, 0, 305, 306, 0, 180, 370, 391, 371, 630,
1028 331, 321, 0, 0, 0, 0, 176, 0, 472, 0,
1029 467, 0, 664, 662, 0, 188, 189, 0, 0, 0,
1030 433, 3, 21, 29, 659, 655, 656, 658, 660, 657,
1031 140, 141, 142, 0, 143, 144, 647, 648, 652, 649,
1032 646, 0, 289, 290, 288, 627, 626, 33, 32, 49,
1033 0, 157, 0, 0, 391, 155, 0, 0, 607, 609,
1034 0, 608, 141, 142, 275, 276, 295, 0, 617, 294,
1035 0, 616, 0, 302, 280, 281, 0, 0, 0, 293,
1036 292, 621, 0, 0, 12, 0, 167, 9, 9, 70,
1037 0, 65, 0, 0, 71, 74, 0, 425, 427, 122,
1038 93, 127, 763, 0, 85, 84, 92, 125, 0, 0,
1039 123, 88, 623, 0, 0, 586, 0, 831, 0, 591,
1040 0, 590, 0, 0, 0, 0, 578, 426, 0, 77,
1041 582, 578, 604, 0, 377, 378, 0, 76, 426, 382,
1042 381, 383, 376, 396, 413, 412, 494, 498, 496, 0,
1043 828, 501, 503, 0, 0, 394, 426, 578, 94, 0,
1044 0, 0, 0, 578, 100, 579, 612, 636, 666, 171,
1045 0, 0, 865, 870, 393, 578, 578, 0, 578, 875,
1046 176, 0, 0, 0, 220, 0, 0, 222, 235, 236,
1047 0, 0, 0, 0, 0, 274, 219, 216, 215, 217,
1048 0, 0, 0, 0, 0, 303, 0, 0, 0, 214,
1049 174, 175, 297, 0, 218, 0, 0, 248, 0, 0,
1050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1052 313, 0, 315, 317, 318, 356, 355, 0, 0, 238,
1053 238, 0, 224, 576, 0, 232, 353, 345, 0, 0,
1054 828, 334, 337, 338, 0, 0, 365, 684, 680, 689,
1055 0, 582, 578, 578, 578, 367, 687, 0, 634, 369,
1056 0, 0, 368, 333, 0, 328, 347, 329, 349, 631,
1057 0, 330, 173, 173, 0, 165, 0, 391, 163, 573,
1058 482, 571, 469, 0, 0, 400, 0, 0, 401, 402,
1059 403, 439, 440, 441, 438, 0, 431, 434, 0, 3,
1060 0, 650, 176, 653, 0, 41, 42, 0, 53, 0,
1061 0, 57, 61, 50, 827, 822, 0, 370, 391, 53,
1062 371, 826, 59, 168, 153, 151, 168, 173, 298, 615,
1063 614, 302, 0, 618, 0, 18, 20, 89, 9, 9,
1064 73, 72, 0, 128, 354, 0, 711, 91, 709, 450,
1065 0, 446, 445, 212, 0, 211, 583, 622, 0, 804,
1066 0, 799, 391, 0, 798, 800, 829, 811, 0, 0,
1067 620, 589, 588, 0, 0, 603, 0, 421, 420, 408,
1068 602, 0, 831, 592, 379, 410, 422, 426, 495, 508,
1069 546, 636, 0, 537, 0, 0, 549, 0, 121, 116,
1070 0, 171, 550, 553, 0, 529, 0, 119, 0, 426,
1071 0, 424, 831, 797, 176, 176, 640, 176, 831, 797,
1072 578, 97, 578, 103, 874, 873, 837, 837, 837, 0,
1073 0, 0, 0, 634, 0, 0, 0, 0, 391, 0,
1074 0, 0, 309, 0, 307, 308, 0, 245, 179, 279,
1075 635, 636, 280, 281, 0, 0, 451, 480, 0, 272,
1076 271, 789, 788, 0, 269, 268, 266, 267, 265, 264,
1077 263, 260, 261, 262, 258, 259, 253, 254, 255, 256,
1078 257, 251, 252, 0, 0, 0, 0, 0, 238, 226,
1079 242, 0, 0, 225, 578, 578, 0, 578, 575, 674,
1080 0, 0, 0, 0, 0, 336, 0, 340, 0, 342,
1081 0, 683, 682, 679, 678, 827, 0, 0, 698, 0,
1082 0, 831, 366, 831, 685, 578, 797, 582, 684, 680,
1083 0, 0, 578, 0, 390, 0, 0, 0, 0, 170,
1084 172, 283, 168, 161, 159, 168, 0, 483, 0, 482,
1085 210, 209, 208, 207, 433, 0, 0, 24, 0, 0,
1086 654, 0, 38, 44, 43, 55, 52, 53, 0, 48,
1087 0, 0, 684, 680, 0, 818, 578, 821, 823, 0,
1088 819, 820, 54, 490, 0, 158, 168, 168, 156, 169,
1089 296, 17, 19, 69, 89, 414, 145, 635, 636, 133,
1090 146, 147, 0, 126, 129, 0, 637, 0, 0, 0,
1091 0, 710, 704, 447, 0, 124, 587, 584, 803, 817,
1092 806, 0, 585, 802, 816, 805, 801, 830, 813, 824,
1093 814, 807, 812, 833, 0, 418, 601, 600, 417, 828,
1094 0, 828, 509, 510, 512, 828, 515, 514, 578, 797,
1095 545, 538, 550, 539, 426, 426, 535, 536, 533, 534,
1096 578, 797, 279, 635, 0, 413, 117, 541, 551, 556,
1097 557, 413, 413, 0, 0, 413, 115, 542, 554, 413,
1098 530, 531, 532, 426, 528, 476, 0, 96, 0, 0,
1099 0, 0, 102, 0, 831, 797, 831, 797, 839, 838,
1100 840, 284, 320, 221, 223, 326, 327, 0, 0, 0,
1101 0, 308, 311, 0, 0, 0, 0, 246, 0, 312,
1102 314, 316, 0, 0, 0, 0, 227, 244, 0, 0,
1103 671, 669, 0, 672, 582, 233, 0, 0, 176, 343,
1104 0, 0, 0, 681, 677, 688, 578, 697, 695, 696,
1105 686, 831, 0, 693, 0, 632, 633, 0, 332, 166,
1106 168, 168, 164, 574, 572, 471, 0, 432, 430, 279,
1107 0, 22, 30, 661, 56, 51, 58, 62, 683, 679,
1108 684, 680, 0, 594, 0, 578, 685, 60, 154, 152,
1109 68, 0, 131, 0, 135, 0, 137, 0, 139, 0,
1110 764, 0, 200, 712, 0, 705, 706, 0, 448, 684,
1111 680, 0, 303, 0, 630, 825, 0, 0, 834, 835,
1112 0, 0, 415, 519, 0, 518, 828, 828, 828, 0,
1113 831, 0, 540, 444, 444, 831, 0, 0, 0, 426,
1114 426, 0, 426, 426, 0, 426, 0, 444, 464, 578,
1115 286, 285, 287, 578, 99, 0, 105, 0, 0, 0,
1116 0, 0, 0, 454, 0, 452, 249, 270, 240, 239,
1117 237, 228, 0, 241, 243, 670, 668, 675, 673, 0,
1118 234, 0, 0, 335, 339, 341, 831, 691, 578, 692,
1119 162, 160, 468, 0, 435, 437, 683, 679, 599, 685,
1120 132, 130, 0, 0, 0, 0, 442, 0, 0, 279,
1121 635, 636, 713, 726, 729, 732, 737, 0, 0, 0,
1122 0, 0, 0, 0, 0, 280, 758, 766, 0, 785,
1123 762, 761, 760, 0, 721, 0, 0, 391, 0, 700,
1124 719, 725, 699, 720, 759, 0, 707, 449, 0, 633,
1125 815, 809, 810, 808, 0, 832, 419, 0, 0, 0,
1126 0, 521, 520, 513, 112, 578, 544, 548, 114, 578,
1127 426, 426, 565, 444, 279, 635, 0, 552, 558, 559,
1128 413, 413, 444, 444, 0, 444, 555, 543, 0, 831,
1129 831, 578, 578, 0, 0, 0, 0, 453, 0, 0,
1130 229, 230, 676, 344, 285, 694, 831, 0, 134, 136,
1131 138, 771, 765, 769, 0, 708, 703, 203, 778, 780,
1132 781, 0, 0, 717, 0, 0, 0, 744, 746, 747,
1133 748, 0, 0, 0, 0, 0, 0, 0, 779, 0,
1134 362, 786, 0, 722, 360, 413, 0, 361, 0, 413,
1135 0, 0, 0, 201, 702, 701, 723, 757, 756, 308,
1136 836, 416, 516, 517, 511, 831, 831, 564, 561, 563,
1137 0, 0, 426, 426, 426, 560, 562, 547, 466, 0,
1138 465, 460, 95, 101, 831, 831, 322, 323, 324, 325,
1139 455, 0, 231, 690, 436, 0, 770, 443, 192, 0,
1140 714, 727, 716, 0, 0, 0, 0, 0, 740, 0,
1141 749, 0, 755, 39, 144, 34, 144, 0, 35, 767,
1142 0, 358, 359, 0, 0, 0, 357, 202, 717, 111,
1143 113, 426, 426, 570, 444, 444, 0, 0, 478, 98,
1144 104, 577, 0, 772, 199, 0, 391, 0, 717, 0,
1145 730, 718, 704, 783, 733, 0, 0, 0, 0, 745,
1146 754, 40, 36, 0, 0, 724, 569, 567, 566, 568,
1147 463, 462, 456, 86, 89, 0, 0, 0, 193, 413,
1148 715, 204, 728, 206, 0, 784, 0, 782, 738, 742,
1149 741, 768, 790, 0, 0, 461, 776, 777, 773, 426,
1150 704, 190, 0, 0, 196, 0, 195, 717, 0, 0,
1151 0, 791, 792, 750, 459, 0, 458, 0, 205, 0,
1152 731, 734, 739, 743, 0, 790, 0, 0, 457, 197,
1153 191, 0, 0, 0, 751, 793, 0, 0, 794, 0,
1154 0, 198, 735, 795, 0, 752, 0, 0, 0, 736,
1158 static const short yydefgoto
[] = { 1623,
1159 435, 2, 436, 165, 707, 330, 181, 3, 4, 37,
1160 670, 372, 1301, 671, 767, 1302, 1303, 392, 1407, 675,
1161 41, 768, 401, 681, 936, 682, 683, 684, 43, 172,
1162 173, 44, 454, 184, 180, 45, 46, 784, 1066, 790,
1163 1068, 47, 770, 771, 185, 186, 455, 714, 974, 975,
1164 650, 976, 234, 48, 958, 957, 697, 694, 1132, 1131,
1165 916, 913, 136, 956, 49, 50, 910, 563, 331, 332,
1166 333, 334, 1304, 1574, 1471, 1576, 1516, 1607, 1174, 1553,
1167 1571, 366, 902, 335, 1242, 857, 602, 864, 336, 337,
1168 367, 339, 357, 52, 254, 676, 417, 154, 53, 54,
1169 340, 558, 341, 342, 343, 344, 456, 345, 1305, 495,
1170 624, 346, 1306, 56, 217, 687, 347, 218, 536, 219,
1171 197, 210, 60, 478, 496, 1328, 748, 1192, 198, 211,
1172 61, 507, 749, 62, 63, 666, 667, 668, 1278, 461,
1173 827, 828, 1544, 1545, 1509, 1451, 1359, 64, 654, 360,
1174 1219, 1452, 1087, 919, 65, 66, 67, 68, 69, 241,
1175 242, 70, 71, 502, 1013, 1014, 1015, 1016, 244, 504,
1176 505, 781, 775, 776, 777, 1038, 1048, 1039, 1348, 1040,
1177 1041, 1349, 1350, 651, 652, 603, 892, 349, 464, 465,
1178 191, 199, 73, 74, 75, 200, 142, 143, 157, 77,
1179 132, 350, 351, 352, 79, 353, 81, 1018, 123, 124,
1180 125, 512, 105, 82, 354, 869, 870, 887, 627, 1309,
1181 1310, 1175, 1176, 1177, 718, 1311, 983, 1312, 1392, 1519,
1182 1474, 1475, 1313, 1314, 1499, 1393, 1520, 1394, 1555, 1395,
1183 1557, 1602, 1617, 1396, 1578, 1529, 1579, 1480, 457, 715,
1184 1276, 1315, 1410, 1534, 1383, 1384, 1466, 1548, 1518, 1514,
1185 1316, 1525, 1413, 834, 1581, 1582, 1583, 1615, 734, 735,
1186 1003, 1188, 1324, 736, 737, 738, 999, 739, 148, 1001,
1187 741, 1190, 1191, 530, 84, 85
1190 static const short yypact
[] = { 126,
1191 129,-32768,-32768, 10615,-32768, 110, 77, 203, 259, 176,
1192 247,-32768,-32768, 1079,-32768, 22, 232, 273,-32768,-32768,
1193 -32768, 418, 1052, 1404, 336,-32768, 357, 452,-32768, 2484,
1194 2484,-32768, 2672,-32768, 10615, 351,-32768,-32768, 422,-32768,
1195 175, 4517,-32768,-32768, 391, 209, 478, 488, 455,-32768,
1196 -32768,-32768,-32768, 458, 1898,-32768, 5536,-32768, 938, 211,
1197 -32768, 523,-32768,-32768, 331, 509,-32768,-32768,-32768,-32768,
1198 533, 3647,-32768,-32768,-32768, 1224,-32768,-32768,-32768, 409,
1199 -32768,-32768, 800, 7914, 527,-32768,-32768, 9681,-32768, 9681,
1200 -32768, 9681,-32768,-32768,-32768, 203, 259, 357, 541, 510,
1201 605, 455,-32768, 815,-32768, 800, 9767, 9767, 530,-32768,
1202 -32768,-32768,-32768,-32768, 284, 631, 457, 577, 624, 638,
1203 641,-32768,-32768, 686,-32768, 982, 203, 259,-32768, 357,
1204 541,-32768, 1244, 1418, 570, 10888, 9681,-32768, 9681, 3446,
1205 2986,-32768,-32768, 832, 877, 2986,-32768, 1464, 3204, 3204,
1206 2672, 597, 602,-32768, 643, 1348, 639, 642,-32768,-32768,
1207 688,-32768, 645,-32768, 1818,-32768,-32768, 336, 5424, 659,
1208 -32768,-32768,-32768, 391, 5857, 10943, 475, 703,-32768,-32768,
1209 680, 523, 785, 76, 67, 732,-32768,-32768, 700, 191,
1210 -32768,-32768, 4646, 4646, 5138, 1224, 959,-32768,-32768, 535,
1211 -32768,-32768, 1359,-32768,-32768,-32768,-32768,-32768, 938, 1020,
1212 -32768, 523, 1224,-32768,-32768,-32768, 2418, 938,-32768, 523,
1213 -32768, 5857,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1214 -32768,-32768,-32768,-32768, 455, 523, 1277, 1579,-32768,-32768,
1215 755, 755,-32768,-32768,-32768, 1057, 800,-32768, 674, 1215,
1216 -32768, 236,-32768,-32768,-32768,-32768,-32768, 4780,-32768,-32768,
1217 517,-32768, 731, 734,-32768,-32768,-32768,-32768, 782,-32768,
1218 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1219 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1220 -32768, 739,-32768,-32768, 1057, 3647, 988,-32768,-32768, 762,
1221 -32768,-32768, 10375, 10461, 10547, 10547,-32768,-32768,-32768,-32768,
1222 -32768, 777, 801, 810, 818, 824, 343, 541, 9853, 1772,
1223 10547,-32768,-32768, 10547,-32768,-32768, 10547, 7116,-32768, 10547,
1224 712, 817,-32768, 10547,-32768, 9939,-32768, 11183, 263, 1821,
1225 4581, 10025,-32768, 890, 3298,-32768, 1940, 1624, 2321,-32768,
1226 335,-32768, 2792, 1755, 712, 712, 9681, 10888,-32768, 1772,
1227 804, 1772,-32768,-32768, 813, 859, 11116, 831, 845, 853,
1228 900, 645,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1229 631, 457, 577, 1772, 624, 638, 849, 641,-32768, 909,
1230 -32768, 2246, 203, 259,-32768,-32768,-32768,-32768,-32768,-32768,
1231 10997,-32768, 5857, 11054, 2230,-32768, 712, 802,-32768,-32768,
1232 584,-32768, 891, 903,-32768,-32768,-32768, 2986,-32768,-32768,
1233 2986,-32768, 896,-32768,-32768,-32768, 1348, 1348, 1348,-32768,
1234 -32768,-32768, 4780, 112, 899, 901,-32768,-32768,-32768,-32768,
1235 10888,-32768, 1062, 1102,-32768,-32768, 688,-32768, 523,-32768,
1236 -32768,-32768,-32768, 115,-32768,-32768,-32768,-32768, 7574, 9853,
1237 -32768,-32768,-32768, 9853, 916,-32768, 6915, 101, 4970,-32768,
1238 4970,-32768, 5273, 5273, 5138, 923,-32768, 523, 5857,-32768,
1239 918,-32768,-32768, 5303, 2418, 938, 5857,-32768, 523,-32768,
1240 -32768, 523, 2418,-32768, 1022,-32768,-32768, 455,-32768, 1277,
1241 -32768,-32768,-32768, 5647, 100, 1057, 523,-32768,-32768, 973,
1242 980, 1007, 998,-32768,-32768,-32768,-32768, 753,-32768, 394,
1243 958, 963,-32768,-32768, 1057,-32768,-32768, 661,-32768,-32768,
1244 9681, 9853, 762, 7116,-32768, 449, 7116,-32768,-32768,-32768,
1245 9767, 4022, 4022, 4022, 4022, 11161,-32768,-32768,-32768,-32768,
1246 979, 10117, 10117, 7116, 983, 168, 987, 1042, 1006,-32768,
1247 -32768,-32768,-32768, 9681,-32768, 6244, 7116,-32768, 9853, 9853,
1248 7665, 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853,
1249 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853, 9853,
1250 -32768, 9853,-32768,-32768,-32768,-32768,-32768, 9853, 9853,-32768,
1251 -32768, 886, 378, 524, 8274,-32768,-32768,-32768, 1064, 1215,
1252 1108, 499, 578, 587, 2940, 877,-32768, 2114, 2114,-32768,
1253 5068, 1019, 1061, 1109,-32768,-32768, 565, 8964, 1214,-32768,
1254 995, 800,-32768,-32768, 9853,-32768,-32768,-32768,-32768,-32768,
1255 355, 527,-32768,-32768, 712,-32768, 5857, 2362,-32768, 1099,
1256 1118,-32768,-32768, 1772, 849,-32768, 8006, 8097,-32768,-32768,
1257 -32768,-32768,-32768,-32768,-32768, 137,-32768, 1090, 1081, 645,
1258 2246, 1140, 9681,-32768, 1145,-32768,-32768, 1418, 1440, 1164,
1259 395, 1143, 1148,-32768,-32768, 2103, 10943, 2103, 4337, 331,
1260 3702,-32768, 1158,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1261 -32768, 1117, 1119,-32768, 1168,-32768,-32768, 391,-32768,-32768,
1262 -32768,-32768, 116, 318, 1167, 1042,-32768,-32768,-32768,-32768,
1263 7006, 11161,-32768, 859, 1126, 11116,-32768,-32768, 1127,-32768,
1264 1128, 384, 6051, 1130,-32768, 314, 5716, 1175, 1177, 607,
1265 -32768,-32768,-32768, 4970, 4970,-32768, 5303,-32768, 1179,-32768,
1266 -32768, 1134, 101,-32768, 2418,-32768,-32768, 523,-32768, 2778,
1267 -32768, 921, 456,-32768, 9853, 10693,-32768, 10693, 121, 121,
1268 177, 665, 3193, 10761, 8342,-32768, 169, 121, 1182, 523,
1269 8412,-32768, 101, 6183, 9681, 9681,-32768, 9681, 101, 6183,
1270 -32768,-32768,-32768,-32768,-32768,-32768, 699, 699, 699, 712,
1271 1149, 1151, 9332, 1109, 1152, 1155, 1157, 1194, 2848, 1199,
1272 1202, 1204,-32768, 1178,-32768,-32768, 1185,-32768,-32768, 1228,
1273 620, 791, 66, 96, 9853, 1235,-32768, 1239, 1196, 11161,
1274 11161,-32768,-32768, 1248, 3488, 6078, 4671, 6829, 11090, 6609,
1275 4141, 2007, 2007, 2007, 2386, 2386, 941, 941, 748, 748,
1276 748,-32768,-32768, 1198, 1203, 1206, 9853, 9767,-32768, 378,
1277 -32768, 7574, 9853,-32768,-32768,-32768, 9853,-32768,-32768, 1219,
1278 10547, 1207, 1227, 1246, 1281,-32768, 9853,-32768, 9853,-32768,
1279 9853, 2551,-32768, 2551,-32768, 82, 1221, 1222,-32768, 1229,
1280 4022, 101,-32768, 101, 3146,-32768, 6183, 1232, 9148, 9148,
1281 6469, 1230, 9939, 1231, 1348, 2216, 1755, 1072, 1238,-32768,
1282 -32768,-32768,-32768,-32768,-32768,-32768, 9853, 1772, 1236, 1118,
1283 -32768, 11161,-32768, 11161, 900, 1245, 10203,-32768, 1243, 1287,
1284 -32768, 712,-32768,-32768,-32768,-32768,-32768, 1968, 10997,-32768,
1285 4022, 9681, 2122, 2122, 5193,-32768,-32768,-32768,-32768, 1359,
1286 -32768,-32768,-32768, 932, 9853,-32768,-32768,-32768,-32768,-32768,
1287 -32768,-32768,-32768,-32768, 391,-32768, 631, 457, 577,-32768,
1288 624, 638, 9853, 1296,-32768, 668, 641, 682, 705, 1813,
1289 1042,-32768, 78,-32768, 155,-32768,-32768,-32768,-32768,-32768,
1290 -32768, 9056,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1177,
1291 1295,-32768,-32768,-32768, 4022,-32768,-32768,-32768, 1297,-32768,
1292 1267,-32768, 1307,-32768,-32768, 106,-32768,-32768,-32768, 6183,
1293 11161,-32768, 1692,-32768, 523, 523,-32768,-32768,-32768,-32768,
1294 -32768, 6183, 496, 904, 9853, 1022,-32768, 1310,-32768,-32768,
1295 -32768, 224, 586, 409, 877, 772, 121, 1311,-32768, 816,
1296 -32768,-32768,-32768, 523,-32768,-32768, 8482,-32768, 1263, 712,
1297 712, 712,-32768, 1268, 101, 6183, 101, 6183,-32768,-32768,
1298 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1284, 1288, 1291,
1299 1292, 1117,-32768, 11049, 7574, 7207, 1271,-32768, 9853,-32768,
1300 -32768,-32768, 1282, 1285, 1286, 4022,-32768,-32768, 1290, 212,
1301 1777, 1777, 1279, 1777,-32768,-32768, 10547, 1387, 9681,-32768,
1302 1293, 1298, 1303,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1303 -32768, 101, 1304,-32768, 1306,-32768,-32768, 2930,-32768,-32768,
1304 -32768,-32768,-32768, 11161,-32768,-32768, 1294,-32768,-32768, 173,
1305 1312,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 3044, 3044,
1306 3592, 3592, 5193,-32768, 1359,-32768, 4042, 11183,-32768,-32768,
1307 -32768, 1317,-32768, 318,-32768, 9853,-32768, 9853,-32768, 9853,
1308 -32768, 1772,-32768,-32768, 6696, 1363,-32768, 7298,-32768, 9240,
1309 9240, 6804, 196, 1318, 400,-32768, 7574, 7389,-32768,-32768,
1310 188, 7574,-32768,-32768, 9767,-32768,-32768,-32768,-32768, 1595,
1311 101, 1321,-32768, 1350, 1350, 101, 1325, 9853, 9853, 4694,
1312 523, 4333, 523, 523, 1094, 523, 5812, 1350,-32768,-32768,
1313 -32768, 1380,-32768,-32768,-32768, 1329,-32768, 1332, 9853, 9853,
1314 9853, 9853, 7574,-32768, 1389,-32768,-32768, 11161,-32768,-32768,
1315 -32768, 521, 1286,-32768,-32768,-32768,-32768,-32768,-32768, 1331,
1316 -32768, 1402, 712,-32768,-32768,-32768, 101,-32768,-32768,-32768,
1317 -32768,-32768,-32768, 9853,-32768,-32768, 3044, 3044,-32768, 4042,
1318 -32768,-32768, 1344, 1345, 1349, 1360,-32768, 1106, 241, 1400,
1319 1049, 1093,-32768,-32768,-32768,-32768,-32768, 9853, 1401, 1405,
1320 1417, 9418, 376, 1772, 347, 502,-32768,-32768, 9509, 1455,
1321 -32768,-32768,-32768, 1419,-32768, 5314, 10829, 3813, 6585,-32768,
1322 -32768, 1462,-32768,-32768,-32768, 8575,-32768,-32768, 1373, 608,
1323 -32768,-32768,-32768,-32768, 4022,-32768,-32768, 7574, 1375, 1381,
1324 2778,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1325 4694, 4694,-32768, 1350, 614, 1122, 9853,-32768,-32768,-32768,
1326 1022, 1022, 1350, 1350, 753, 1350,-32768,-32768, 6341, 101,
1327 101,-32768,-32768, 1383, 1385, 1391, 1399,-32768, 7574, 9853,
1328 -32768, 521,-32768,-32768,-32768,-32768, 101, 1407,-32768,-32768,
1329 -32768,-32768, 1360,-32768, 1772,-32768,-32768,-32768,-32768,-32768,
1330 -32768, 754, 754, 1042, 1395, 1424, 3882,-32768,-32768,-32768,
1331 -32768, 1450, 9853, 1459, 1460, 1472, 1879, 1890,-32768, 1042,
1332 -32768,-32768, 1439,-32768,-32768, 1022, 1113,-32768, 1133, 1022,
1333 9595, 1156, 248,-32768,-32768,-32768,-32768,-32768,-32768, 514,
1334 -32768,-32768,-32768,-32768,-32768, 101, 101,-32768,-32768,-32768,
1335 9853, 9853, 4694, 523, 523,-32768,-32768,-32768,-32768, 8188,
1336 -32768,-32768,-32768,-32768, 101, 101,-32768,-32768,-32768,-32768,
1337 -32768, 1431,-32768,-32768,-32768, 1453,-32768,-32768,-32768, 9767,
1338 -32768,-32768,-32768, 1526, 8871, 4910, 9767, 9853,-32768, 8683,
1339 -32768, 1489,-32768,-32768, 1496,-32768, 1472, 1879,-32768,-32768,
1340 688,-32768,-32768, 10289, 10289, 7483,-32768,-32768, 1042,-32768,
1341 -32768, 4694, 4694,-32768, 1350, 1350, 1444, 11071, 1457,-32768,
1342 -32768,-32768, 11010,-32768,-32768, 1447, 591, 5857, 1042, 8777,
1343 -32768,-32768, 78,-32768,-32768, 1492, 1454, 11139, 8683,-32768,
1344 -32768,-32768,-32768, 1360, 97,-32768,-32768,-32768,-32768,-32768,
1345 -32768,-32768,-32768, 478, 391, 1458, 1461, 1042,-32768, 1022,
1346 -32768,-32768,-32768,-32768, 769,-32768, 7756,-32768,-32768,-32768,
1347 -32768, 1360, 1550, 1507, 179,-32768,-32768,-32768,-32768, 523,
1348 78,-32768, 9853, 1513,-32768, 1516,-32768, 1042, 8683, 1484,
1349 760, 1520,-32768,-32768,-32768, 115,-32768, 1524,-32768, 1483,
1350 -32768,-32768,-32768,-32768, 9853, 1550, 1530, 1550,-32768,-32768,
1351 -32768, 7847, 1485, 778,-32768,-32768, 7574, 1493,-32768, 1569,
1352 1532,-32768,-32768,-32768, 189,-32768, 8777, 1591, 1544,-32768,
1353 -32768,-32768, 1605, 1606,-32768
1356 static const short yypgoto
[] = {-32768,
1357 1608,-32768, -321, 1441, -379, 83, 7, 1607,-32768, 1575,
1358 -32768,-32768, 348,-32768, 423,-32768, 480,-32768, 206, 945,
1359 57, 5,-32768,-32768, -629,-32768,-32768, 681, 59, 1465,
1360 1181, 1466, -705, 79, -172, 23, 40,-32768,-32768,-32768,
1361 -32768,-32768, 852,-32768,-32768,-32768,-32768,-32768,-32768, 466,
1362 2100,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1363 -32768,-32768, 1545, -614, 5775, -55, -535, -49, -63, 1501,
1364 -518,-32768, 365,-32768, 250,-32768, -1375,-32768, -1306, 30,
1365 -32768, 2949, 1841, -282, 407, -544,-32768, -816, 3540, 783,
1366 1482, 4109, 1355, -330, -66, -85, 49, -139, -54, 6,
1367 -32768,-32768,-32768, -341,-32768, -160,-32768,-32768, -1210, 50,
1368 -328, 1691, 149, 747, -145, 10, 58, -203, -4, -122,
1369 -167, -169, 14, -10, 323,-32768, -353,-32768,-32768,-32768,
1370 -32768,-32768, 592, 1237, 55,-32768, 736,-32768,-32768, -1098,
1371 -443, 935,-32768,-32768,-32768,-32768,-32768, 221,-32768,-32768,
1372 -32768,-32768,-32768, 743, -364,-32768,-32768,-32768,-32768,-32768,
1373 -32768,-32768,-32768, 1425,-32768, 328, 468,-32768,-32768,-32768,
1374 -32768,-32768, 892, -697,-32768,-32768,-32768,-32768,-32768,-32768,
1375 898,-32768, 459, 1025, 766, 1083, 2985, 28, 31, -453,
1376 1487, 1849, -681,-32768, 41,-32768, 1256, 1077, -146, 17,
1377 -99, 4676, 1343,-32768, 5050, 2478, 109, -18, -114,-32768,
1378 1566, -52,-32768, 4867, 3296, -120,-32768, 2722,-32768,-32768,
1379 382,-32768,-32768, 525, 107, -324,-32768,-32768,-32768,-32768,
1380 -1380,-32768, -1218, -1399,-32768,-32768,-32768,-32768,-32768,-32768,
1381 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 134,-32768,
1382 -32768,-32768,-32768,-32768, 171, -1308,-32768,-32768, -43,-32768,
1383 -32768,-32768,-32768, -1395, 111,-32768, 104,-32768, -580, -598,
1384 709,-32768,-32768,-32768,-32768, -386,-32768, -382, -467,-32768,
1385 2023, 388,-32768, 346,-32768, -232
1389 #define YYLAST 11267
1392 static const short yytable
[] = { 59,
1393 434, 442, 419, 422, 122, 486, 444, 443, 42, 981,
1394 36, 391, 639, 57, 692, 723, 431, 513, 693, 629,
1395 535, 538, 888, 638, 252, 255, 355, 752, 356, 888,
1396 59, 72, 978, 760, 399, 182, 690, 59, 155, 42,
1397 297, 36, 506, 1097, 57, 819, 42, 397, 398, 158,
1398 669, 176, 209, 568, 103, 177, 858, 141, 146, 708,
1399 953, 58, 72, 485, 174, 248, 396, 246, 1022, 72,
1400 1024, 390, 493, 407, 1467, 1522, 451, 1051, 1017, 295,
1401 1526, 153, 959, 348, 190, 348, 35, 348, 1411, 255,
1402 1426, 525, 58, 989, 491, 494, 208, 1429, 170, 58,
1403 171, 1527, 348, 348, 196, 1337, 1338, 607, 911, 516,
1404 1172, 296, 1198, 458, 107, 716, 224, 35, 1536, 1358,
1405 1554, 642, 607, 259, 169, -1, 607, -143, -2, 719,
1406 459, 405, 348, -354, 348, 757, 779, 452, 1551, 137,
1407 990, 294, 1199, 991, 525, 404, 363, 15, 255, 138,
1408 88, -413, 55, 782, 155, 155, 155, -144, 1563, 460,
1409 59, 740, 960, 72, 59, 158, 158, 158, 890, 86,
1410 453, 209, 717, 42, 57, 402, 418, 421, 176, 1585,
1411 -413, 1577, 177, 55, -413, 190, 1173, 439, 257, 818,
1412 175, 174, 72, 58, 224, 925, 72, 1593, 420, 423,
1413 155, 1027, 489, 1059, 1564, 520, 1608, 804, 780, 1064,
1414 224, 158, 257, 1178, 591, 208, 1556, 1554, 87, 705,
1415 469, 471, 58, 966, 196, 170, 58, 171, 1052, -413,
1416 190, 1264, 163, 817, 1028, 15, -354, 466, 1029, -413,
1417 452, 257, -300, 153, 926, 1440, 1325, 1618, -363, 93,
1418 15, 169, 257, 1467, 1446, 1447, 89, 1448, 617, 613,
1419 592, 1530, 178, 1179, 1589, 1524, 224, -413, -413, 222,
1420 223, 1030, 164, 453, 224, -293, 90, 1053, 612, 221,
1421 1265, -363, 514, 467, 403, -363, 713, 259, -300, -300,
1422 224, 246, 677, 645, 94, 1326, 1619, 604, 1130, 639,
1423 1387, 1133, 888, -293, 803, 643, 644, 1387, 1145, 591,
1424 1561, 257, 91, 55, 1096, 938, 1123, 175, -363, 1245,
1425 967, 968, 969, 348, 108, 994, 419, 422, 515, 964,
1426 965, 672, 92, 95, 96, 97, 295, 225, 226, 227,
1427 755, 373, 1159, 1160, 246, 257, 888, 374, 929, 1388,
1428 692, 38, 348, 648, 1000, 592, 1498, 698, 699, 1051,
1429 1594, 18, 491, 494, 970, 109, 228, 404, 296, 257,
1430 491, 26, 995, 971, 972, 996, 557, 513, 95, 110,
1431 111, 634, 38, 494, 26, 72, 98, 99, 229, 178,
1432 129, 982, 307, 888, 259, 989, 689, 646, 294, 209,
1433 26, -181, 494, 1406, 629, 680, 1539, 1540, 26, 135,
1434 973, 7, 8, 249, 10, 58, 137, -181, 1098, -181,
1435 95, 110, 111, 1148, 861, 1371, 39, 635, 691, 221,
1436 137, 112, 113, 230, 231, 232, 59, 221, 221, 1202,
1437 793, 862, 990, 161, 1125, 991, -624, -827, 772, 21,
1438 176, 1207, 695, 939, 177, 1403, 250, 39, 688, 127,
1439 128, 257, 733, 710, 27, 28, 221, 800, 72, 940,
1440 863, 365, 369, 112, 113, 114, 420, 703, 155, 155,
1441 155, 162, 978, 40, 758, 1226, 794, 1228, 251, 158,
1442 158, 158, -624, -624, 691, 617, 32, 179, 58, 59,
1443 744, 745, 183, 224, -582, 138, 647, -624, 188, 26,
1444 376, 130, 131, 774, 40, 221, 1261, 1262, 1017, 257,
1445 8, 518, 420, 423, 688, 139, 348, 127, 128, 348,
1446 90, 72, 348, 222, 445, 963, 348, 809, 809, 809,
1447 809, 803, 1194, 769, 1196, 876, 224, 187, 1200, 348,
1448 -582, 189, 692, 18, 888, 1463, 693, 1208, 604, 348,
1449 -302, 58, 348, 1409, 362, 639, 239, 861, 221, 88,
1450 240, 677, 130, 131, 690, 137, 638, 26, 935, 130,
1451 131, -582, 557, 888, 862, 557, 766, 127, 128, 175,
1452 243, 877, 934, 865, 138, 912, 519, 295, 215, 216,
1453 298, 420, 814, 866, 14, 525, -302, -302, 257, 932,
1454 -364, 896, 15, 863, 1370, 557, 689, 867, 359, -302,
1455 568, -296, 371, 733, 878, 221, 20, -582, 481, 296,
1456 377, 362, 491, 880, -302, 23, 257, 617, -302, 130,
1457 131, 1234, 1236, -364, 400, 882, 884, -364, 691, 1017,
1458 92, 1250, 773, 1004, -302, 691, 1171, 897, 898, 294,
1459 122, 178, 361, 519, 127, 128, -302, -302, 348, -302,
1460 879, -302, 259, 89, 642, 1441, 904, 378, 688, 881,
1461 -364, -141, 209, 803, 375, 688, 246, 88, 381, 382,
1462 383, 379, 555, 90, 380, 979, 914, 137, 302, 1005,
1463 -302, -302, 127, 128, -293, 221, 221, 516, 362, 424,
1464 772, 1031, 772, 221, 1165, -302, 130, 131, 772, 772,
1465 508, 1060, 1061, 257, 1062, 772, 221, 91, 1167, 1331,
1466 1332, 1333, 689, 384, 1236, 946, 189, 951, 952, 257,
1467 251, 385, 386, 1321, 1323, 221, 432, 92, 1327, -619,
1468 1072, 1169, 26, -7, 130, 131, 164, 1032, 1025, 1026,
1469 1166, 59, 446, 59, 691, 431, 509, 1054, 526, 209,
1470 59, 804, 447, 448, 1168, 774, 59, 774, 527, 689,
1471 348, 348, 952, 348, 774, 689, 561, 450, 562, 1368,
1472 774, 462, 1161, 72, 688, 72, -120, 1170, 15, 791,
1473 1469, 750, 72, 8, 9, 769, 91, 769, 72, 756,
1474 463, 691, 1036, 1046, 769, 1572, 501, 691, 8, 9,
1475 769, 1596, 1037, 58, 521, 58, 92, 522, 727, -120,
1476 589, 590, 58, -120, 7, 127, 128, 10, 58, 1610,
1477 -118, 688, 15, 523, 91, 792, 1470, 688, 766, 524,
1478 766, 904, -142, 348, 532, 130, 131, 766, 1100, 1586,
1479 564, 1573, 362, 766, 92, 391, -120, 1597, 221, 541,
1480 130, 131, 21, -118, 542, 564, 561, -118, 562, 250,
1481 127, 128, 1144, 543, 1432, 1611, 809, 27, 28, 8,
1482 9, 544, 689, 12, 13, 255, 733, 545, 555, 14,
1483 607, 555, 95, 110, 111, 806, 662, 663, 664, 221,
1484 -118, 251, 653, 16, 773, 17, 1023, 657, 555, 32,
1485 656, 20, 673, 773, 691, 1461, 882, 884, 691, 773,
1486 23, 555, 130, 131, 689, 833, 809, 348, 659, 26,
1487 689, 130, 131, 680, 214, 215, 216, 259, 420, 814,
1488 155, 14, 660, 221, 688, 112, 113, 89, 688, 224,
1489 661, 158, 674, 856, 90, 1209, 691, 1019, 18, 872,
1490 1149, 1150, 691, 20, 91, 221, 92, 90, 859, 804,
1491 1246, 1247, 23, 1249, 116, 117, 118, 733, 252, 255,
1492 -52, 127, 128, 153, 92, -52, 688, 155, 8, 9,
1493 809, 772, 688, 702, 419, 422, -52, -6, 158, 706,
1494 1221, 1222, 1223, 1020, 257, 689, 257, 479, 480, 691,
1495 586, 587, 588, 589, 590, 1211, 728, 689, 751, 221,
1496 746, 1213, 1214, 419, 422, 1211, 1216, 119, 120, 1214,
1497 1184, 26, 362, 130, 131, 1253, 785, 691, 15, 688,
1498 130, 131, 59, 786, 116, 117, 118, 526, 257, 691,
1499 787, 689, 1036, 689, 215, 216, 774, 527, 795, 1473,
1500 14, 788, 1037, 796, 251, 8, 9, 688, 487, 488,
1501 76, 95, 96, 97, 72, 1490, 813, 539, 540, 688,
1502 815, 809, 20, 691, 816, 691, 769, 127, 1355, 717,
1503 255, 23, 89, 548, 348, 26, 549, 119, 120, 550,
1504 1390, 76, 560, 818, 58, 875, 565, 873, 76, 362,
1505 479, 711, 90, 688, 606, 688, 692, 130, 131, 889,
1506 1547, 201, 26, 213, 98, 99, 100, 1419, 1417, 766,
1507 1422, 362, 1069, 1070, 1071, 979, 91, 686, 689, 130,
1508 131, 519, 257, 891, 1391, 893, 155, 155, 155, 520,
1509 487, 712, 917, 1612, 1385, 1386, 92, 158, 158, 158,
1510 1308, 479, 1492, 519, 1473, 89, 918, 733, 1267, 1268,
1511 691, 1300, 927, 1442, 1307, 155, 155, 155, 804, 928,
1512 348, 487, 1493, 931, 1473, 90, 158, 158, 158, 20,
1513 420, 423, 72, 1375, 933, 773, 941, 1267, 1268, 691,
1514 688, 942, 406, 686, 479, 1497, 409, 95, 110, 111,
1515 510, 955, -578, 1569, -296, -578, 961, 962, 452, 420,
1516 1319, 1103, 58, 986, 987, 988, 257, 993, -826, 688,
1517 1002, 76, 1006, 1055, 1007, 76, 299, 393, 394, 10,
1518 15, 201, 213, 1473, -413, 21, 1073, 1299, 1074, 1075,
1519 893, 719, 1076, 257, 1077, 555, 140, 140, 1078, 156,
1520 112, 113, -578, 1079, -578, -578, 1080, -578, 1081, 95,
1521 96, 97, -413, -413, 21, 1082, 147, -413, -578, -140,
1522 -578, 250, 1083, 212, 1308, 220, 1085, 1086, 201, 27,
1523 318, 236, 209, 1088, 1308, 1090, -578, -578, 1307, 1089,
1524 1091, 1308, 1105, 525, 1108, 1300, 1092, 1107, 1307, 1109,
1525 809, -578, 1300, 257, 362, 1307, 72, 1110, 1116, 1117,
1526 1535, 32, 98, 99, 548, 549, 72, 1126, 1127, 1118,
1527 1444, 1445, 1124, 72, 1136, 1129, 1143, 419, 422, 1009,
1528 299, 1142, 1139, 10, 1164, 1416, 58, 1416, 1187, 1195,
1529 1193, 7, 8, 9, 10, 1197, 58, 686, 1212, 1217,
1530 1220, 1056, 1566, 58, 686, 1224, 1229, 140, 18, 1237,
1531 1230, 1299, 140, 1231, 1232, 156, 156, 156, 21, 1248,
1532 1239, 1299, 1240, 1241, 1252, 1172, 410, 1244, 1299, 21,
1533 1254, 412, 1263, 425, 426, 1255, 250, 127, 128, 489,
1534 1256, 1259, 212, 459, 27, 28, 1260, 427, 449, 1266,
1535 299, 393, 394, 10, 1271, 1320, 155, 428, 1336, 140,
1536 140, 156, 1340, -661, 649, 32, 1362, 158, 251, 1363,
1537 429, 1373, 381, 382, 383, 220, 32, 129, 1374, 147,
1538 1369, 1379, 1380, 492, 220, 1382, 1381, 26, 21, 130,
1539 131, 1389, 1398, 1412, 1399, 1517, 95, 413, 414, 1184,
1540 1308, 1308, 1517, 27, 318, 1308, 1400, 1427, 1414, 201,
1541 1430, 1300, 1433, 686, 1307, 1307, 1300, 1476, 1434, 1307,
1542 1457, 348, 1458, 26, 140, 385, 386, 296, 1459, 155,
1543 155, 155, 72, 72, 296, 32, 1460, 72, 689, 1481,
1544 158, 158, 158, 517, 1465, 1308, 1477, 76, 1483, 98,
1545 113, 744, 745, 374, 1308, 1484, 1300, 294, 221, 1307,
1546 686, 1491, 58, 58, 294, 1300, 686, 58, 1307, 1570,
1547 691, 1512, 1521, 420, 1319, 1513, 555, 72, 1531, 1532,
1548 1541, 1558, 1517, 1543, 1549, 201, 72, 1299, 1299, 1329,
1549 1580, 1559, 1299, 201, 156, 1567, 1584, 1550, 1568, 338,
1550 688, 338, 1591, 338, 1308, 1592, 1595, 58, 1598, 1614,
1551 778, 95, 96, 97, 296, 1300, 58, 1600, 1307, 1605,
1552 1601, 1616, 1609, 1364, 1365, 1366, 1367, 116, 968, 969,
1553 1613, 1621, 1299, 1622, 1624, 1625, 72, 1, 5, 160,
1554 441, 1299, 1308, 1488, 294, 930, 1204, 1205, 338, 1146,
1555 338, 709, 1565, 1300, 1011, 1047, 1307, 127, 128, 1272,
1556 438, 215, 216, 440, 98, 99, 58, 14, 358, 408,
1557 212, 220, 1472, 686, 72, 1218, 1620, 686, 26, 1372,
1558 119, 120, 531, 1106, 140, 985, 1402, 140, 1435, 20,
1559 1138, 1299, 1137, 156, 156, 156, 503, 1334, 23, 140,
1560 617, 1049, 1057, 700, 58, 1357, 701, 26, 920, 130,
1561 131, 548, 549, 1135, 860, 686, 482, 614, 704, 389,
1562 1425, 686, 1599, 618, 1033, 1034, 9, 10, 1587, 1299,
1563 1317, 1606, 0, 619, 1562, 140, 1604, 140, 1186, 156,
1564 156, 156, 1431, 620, 449, 0, 628, 622, 0, 0,
1565 140, 492, 220, 201, 410, 449, 412, 0, 0, 492,
1566 0, 0, 21, 0, 1462, 0, 0, 221, 686, 517,
1567 0, 0, 0, 449, 0, 26, 0, 27, 28, 0,
1568 0, 1203, 0, 1035, 0, 0, 0, 636, 8, 9,
1569 10, 193, 201, 949, 201, 201, 686, 1482, 0, 0,
1570 156, 194, 0, 156, 95, 110, 111, 0, 686, 32,
1571 127, 128, 0, 0, 195, 516, 0, 0, 156, 156,
1572 156, 0, 307, 637, 0, 21, 0, 368, 370, 0,
1573 546, 1343, 1344, 156, 1353, 1354, 0, 1356, 26, 201,
1574 130, 131, 686, 998, 686, 116, 968, 969, 6, 0,
1575 7, 8, 9, 10, 11, 12, 13, 112, 113, 0,
1576 26, 14, 130, 131, 1515, 0, 0, 0, 338, 0,
1577 833, 1515, 778, 0, 778, 16, 865, 17, 18, 1043,
1578 1050, 778, 0, 20, 0, 0, 866, 778, 21, 0,
1579 555, 0, 23, 0, 905, 437, 0, 593, 119, 120,
1580 867, 26, 0, 27, 28, 0, 0, 29, 0, 0,
1581 0, 95, 110, 111, 220, 0, 0, 30, 0, 1251,
1582 0, 0, 95, 110, 111, 0, 0, 31, 0, 686,
1583 7, 8, 9, 10, 0, 32, 594, 595, 0, 0,
1584 33, 596, 597, 598, 599, 0, 0, 0, 0, 0,
1585 0, 1515, 0, 212, 0, 220, 236, 0, 686, 0,
1586 0, 0, 1438, 1439, 112, 1485, 0, 1590, 21, 0,
1587 722, 726, 0, 127, 128, 112, 1487, 0, 726, 0,
1588 0, 26, 0, 27, 28, 0, 0, 192, 0, 1603,
1589 0, 0, 548, 549, 0, 0, 833, 193, 0, 220,
1590 95, 110, 111, 0, 225, 226, 227, 194, 0, 0,
1591 140, 140, 0, 140, 0, 32, 617, 0, 0, 0,
1592 195, 492, 0, 26, 449, 130, 131, 0, 18, 700,
1593 701, 0, 704, 228, 0, 0, 0, 0, 0, 618,
1594 212, 0, 338, 726, 0, 0, 449, 0, 559, 619,
1595 0, 0, 0, 112, 113, 0, 0, 0, 0, 620,
1596 0, 0, 621, 622, 1504, 1505, 1506, 0, 0, 156,
1597 0, 470, 472, 476, 0, 338, 0, 722, 0, 0,
1598 830, 831, 0, 835, 836, 837, 838, 839, 840, 841,
1599 842, 843, 844, 845, 846, 847, 848, 849, 850, 851,
1600 852, 853, 0, 726, 0, 0, 0, 0, 0, 726,
1601 0, 560, 582, 583, 584, 585, 586, 587, 588, 589,
1602 590, 685, 0, 1537, 1538, 0, 0, 0, 0, 1043,
1603 0, 0, 0, 0, 0, 7, 8, 9, 10, 726,
1604 0, 0, 0, 101, 0, 0, 726, 127, 128, 0,
1605 0, 115, 13, 0, 7, 8, 9, 10, 0, 0,
1606 13, 0, 0, 778, 0, 156, 156, 905, 922, 924,
1607 0, 0, 0, 21, 0, 0, 0, 0, 0, 617,
1608 0, 0, 18, 0, 338, 0, 26, 732, 27, 28,
1609 617, 1588, 21, 0, 233, 0, 0, 26, 617, 130,
1610 131, 0, 943, 0, 236, 26, 0, 27, 28, 140,
1611 140, 905, 944, 618, 0, 0, 0, 0, 0, 0,
1612 32, 943, 620, 619, 0, 945, 622, 0, 0, 147,
1613 0, 944, 722, 620, 0, 0, 621, 622, 0, 32,
1614 0, 620, 0, 0, 945, 622, 0, 0, 299, 8,
1615 9, 10, 0, 387, 802, 0, 0, 805, 905, 0,
1616 0, 807, 808, 810, 811, 812, 214, 215, 216, 0,
1617 0, 0, 0, 14, 559, 0, 1021, 415, 299, 393,
1618 394, 10, 0, 0, 0, 0, 21, 829, 0, 686,
1619 18, 449, 449, 250, 0, 20, 338, 338, 0, 338,
1620 0, 27, 318, 0, 23, 0, 548, 549, 0, 0,
1621 0, 0, 0, 0, 726, 0, 21, 0, 1352, 696,
1622 449, 0, 0, 1352, 0, 251, 0, 0, 0, 26,
1623 725, 27, 318, 32, 0, 0, 1084, 731, 0, 0,
1624 0, 886, 0, 0, 0, 0, 0, 742, 886, 743,
1625 0, 470, 472, 476, 8, 9, 0, 0, 12, 245,
1626 0, 0, 754, 32, 14, 0, 497, 499, 726, 726,
1627 0, 0, 0, 722, 726, 0, 0, 0, 16, 511,
1628 17, 0, 0, 0, 0, 0, 20, 0, 726, 0,
1629 726, 0, 726, 0, 0, 23, 0, 617, 214, 215,
1630 216, 0, 801, 0, 26, 14, 130, 131, 0, 0,
1631 0, 0, 201, 1420, 201, 140, 140, 156, 156, 905,
1632 618, 0, 18, 140, 0, 0, 0, 20, 1134, 0,
1633 619, 0, 0, 0, 410, 412, 23, 0, 726, 0,
1634 620, 0, 517, 621, 622, 0, 156, 156, 905, 547,
1635 0, 915, 0, 338, 490, 215, 216, 685, 0, 0,
1636 0, 14, 854, 0, 0, 0, 1158, 0, 855, 0,
1637 0, 0, 0, 0, 0, 0, 449, 449, 18, 449,
1638 449, 0, 449, 20, 726, 0, 0, 0, 0, 0,
1639 0, 655, 23, 584, 585, 586, 587, 588, 589, 590,
1640 665, 0, 0, 726, 732, 909, 0, 0, 0, 0,
1641 732, 80, 0, 655, 0, 0, 7, 127, 128, 10,
1642 0, 104, 13, 0, 0, 0, 0, 0, 0, 0,
1643 0, 133, 0, 140, 140, 0, 140, 144, 144, 0,
1644 144, 0, 80, 0, 18, 0, 1210, 0, 0, 80,
1645 0, 0, 700, 701, 21, 704, 0, 0, 0, 0,
1646 0, 0, 203, 0, 80, 0, 0, 26, 0, 27,
1647 28, 0, 237, 212, 220, 0, 0, 0, 1095, 104,
1648 0, 0, 0, 30, 127, 128, 0, 0, 0, 245,
1649 261, 104, 0, 31, 0, 0, 722, 722, 0, 0,
1650 1238, 32, 0, 0, 0, 0, 33, 449, 449, 0,
1651 0, 829, 0, 104, 0, 0, 0, 732, 0, 0,
1652 338, 886, 742, 743, 201, 754, 0, 617, 0, 759,
1653 0, 0, 0, 0, 26, 0, 130, 131, 0, 0,
1654 0, 133, 0, 80, 0, 0, 0, 144, 144, 0,
1655 618, 1042, 411, 144, 0, 0, 144, 144, 144, 685,
1656 619, 1147, 0, 0, 0, 886, 0, 0, 0, 0,
1657 620, 0, 80, 621, 622, 0, 80, 726, 0, 726,
1658 0, 726, 203, 80, 0, 0, 0, 156, 0, 722,
1659 0, 0, 0, 0, 0, 826, 0, 0, 722, 722,
1660 203, 203, 203, 722, 7, 127, 128, 10, 0, 449,
1661 449, 449, 886, 0, 0, 0, 0, 0, 0, 1341,
1662 1342, 0, 0, 0, 0, 1189, 0, 1093, 1094, 203,
1663 0, 0, 18, 1099, 0, 0, 0, 0, 0, 874,
1664 732, 0, 21, 0, 722, 500, 0, 1111, 0, 1112,
1665 0, 1113, 732, 0, 104, 26, 0, 27, 28, 0,
1666 156, 156, 156, 0, 0, 144, 0, 0, 449, 449,
1667 0, 149, 0, 0, 0, 726, 0, 0, 0, 0,
1668 0, 150, 0, 0, 0, 0, 732, 0, 732, 32,
1669 0, 0, 0, 0, 151, 0, 0, 1141, 0, 1397,
1670 0, 0, 0, 104, 528, 1008, 0, 0, 937, 0,
1671 116, 968, 969, 0, 1010, 0, 1243, 0, 0, 954,
1672 0, 470, 472, 476, 299, 8, 9, 10, 0, 0,
1673 0, 0, 0, 0, 0, 1058, 449, 1011, 0, 722,
1674 0, 1063, 0, 1162, 1012, 0, 0, 0, 104, 0,
1675 826, 0, 615, 0, 528, 528, 631, 0, 1443, 0,
1676 0, 26, 21, 119, 120, 80, 0, 0, 0, 250,
1677 476, 0, 0, 886, 0, 0, 0, 27, 318, 0,
1678 722, 127, 128, 0, 0, 215, 216, 0, 0, 0,
1679 0, 14, 0, 0, 0, 0, 0, 0, 0, 133,
1680 0, 1042, 886, 0, 0, 0, 0, 0, 104, 32,
1681 203, 104, 0, 20, 0, 1330, 0, 0, 0, 0,
1682 0, 0, 23, 0, 617, 144, 0, 0, 144, 0,
1683 0, 26, 726, 130, 131, 0, 0, 0, 0, 0,
1684 144, 0, 0, 0, 1119, 0, 1120, 618, 80, 0,
1685 0, 0, 1502, 1503, 0, 0, 0, 619, 0, 0,
1686 0, 1508, 299, 8, 9, 10, 0, 620, 0, 0,
1687 621, 622, 299, 127, 128, 10, 203, 0, 203, 0,
1688 203, 203, 203, 0, 0, 0, 203, 0, 0, 1528,
1689 0, 203, 0, 0, 203, 0, 0, 0, 0, 0,
1690 21, 0, 0, 0, 0, 0, 0, 250, 0, 0,
1691 21, 80, 0, 0, 0, 27, 318, 250, 7, 127,
1692 128, 10, 0, 0, 245, 27, 318, 742, 743, 470,
1693 472, 476, 0, 0, 0, 754, 1273, 0, 1274, 519,
1694 1275, 0, 0, 0, 0, 1189, 18, 32, 0, 104,
1695 104, 104, 104, 0, 665, 0, 21, 32, 470, 472,
1696 476, 0, 0, 0, 0, 0, 0, 937, 0, 26,
1697 0, 27, 28, 0, 0, 0, 7, 8, 9, 10,
1698 0, 0, 245, 0, 0, 30, 0, 0, 0, 0,
1699 1351, 0, 0, 0, 0, 31, 258, 0, 626, 630,
1700 633, 0, 0, 32, 18, 0, 0, 0, 33, 104,
1701 0, 528, 0, 0, 21, 0, 0, 1225, 722, 1227,
1702 617, 0, 0, 615, 0, 528, 528, 26, 631, 27,
1703 28, 0, 0, 0, 1378, 906, 0, 0, 0, 908,
1704 0, 0, 0, 943, 0, 742, 743, 0, 754, 0,
1705 0, 0, 0, 944, 203, 0, 0, 0, 0, 0,
1706 0, 32, 0, 620, 0, 0, 945, 622, 0, 0,
1707 0, 0, 0, 433, 1258, 0, 0, 0, 133, 127,
1708 128, 0, 0, 0, 516, 133, 0, 0, 0, 0,
1709 0, 0, 0, 203, 950, 203, 203, 237, 631, 0,
1710 0, 0, 0, 0, 0, 468, 0, 0, 0, 0,
1711 0, 0, 0, 0, 0, 1235, 559, 0, 484, 0,
1712 0, 0, 617, 0, 0, 1033, 1034, 9, 10, 26,
1713 0, 130, 131, 685, 0, 0, 7, 127, 128, 10,
1714 203, 0, 13, 0, 950, 618, 0, 0, 0, 0,
1715 0, 203, 203, 1335, 203, 619, 0, 0, 1339, 0,
1716 0, 0, 0, 21, 18, 620, 0, 0, 621, 622,
1717 133, 0, 0, 80, 21, 80, 26, 0, 27, 28,
1718 1044, 80, 80, 0, 1035, 0, 0, 26, 80, 27,
1719 28, 104, 193, 0, 0, 0, 0, 104, 0, 476,
1720 0, 1277, 194, 149, 528, 528, 528, 1235, 0, 1376,
1721 32, 0, 0, 150, 0, 195, 528, 0, 0, 0,
1722 0, 32, 0, 0, 0, 0, 151, 0, 608, 83,
1723 299, 393, 394, 10, 0, 609, 0, 0, 0, 106,
1724 0, 0, 0, 0, 0, 0, 0, 0, 126, 134,
1725 0, 0, 0, 0, 0, 145, 145, 0, 145, 0,
1726 83, 0, 0, 0, 0, 0, 0, 83, 21, 883,
1727 885, 0, 470, 472, 476, 610, 0, 0, 0, 0,
1728 145, 26, 83, 27, 318, 0, 0, 0, 0, 528,
1729 238, 528, 0, 0, 0, 0, 0, 247, 104, 0,
1730 0, 0, 528, 0, 104, 0, 906, 906, 906, 247,
1731 0, 0, 1453, 1454, 1128, 611, 0, 0, 0, 0,
1732 0, 0, 1404, 1405, 0, 0, 0, 0, 0, 1464,
1733 0, 0, 0, 0, 0, 0, 0, 948, 724, 626,
1734 630, 0, 633, 0, 0, 724, 104, 0, 104, 0,
1735 203, 203, 1155, 0, 0, 0, 0, 0, 0, 0,
1736 0, 83, 0, 0, 0, 145, 145, 0, 0, 0,
1737 0, 145, 0, 0, 145, 145, 145, 0, 7, 127,
1738 128, 10, 0, 0, 630, 0, 0, 0, 1500, 1501,
1739 83, 747, 0, 0, 83, 0, 753, 0, 0, 1155,
1740 145, 83, 0, 0, 0, 0, 18, 1510, 1511, 0,
1741 724, 0, 104, 0, 1468, 0, 21, 0, 145, 145,
1742 145, 0, 783, 0, 0, 0, 0, 104, 789, 26,
1743 1044, 27, 28, 0, 0, 0, 1486, 1489, 0, 104,
1744 797, 798, 0, 799, 0, 30, 0, 145, 0, 0,
1745 0, 0, 1215, 0, 0, 31, 0, 0, 0, 0,
1746 630, 0, 0, 32, 80, 0, 0, 0, 33, 0,
1747 724, 0, 0, 104, 0, 104, 724, 0, 0, 0,
1748 0, 0, 0, 145, 573, 574, 575, 576, 577, 578,
1749 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
1750 589, 590, 0, 104, 0, 0, 724, 0, 528, 528,
1751 0, 528, 0, 724, 0, 0, 0, 1533, 0, 0,
1752 0, 247, 145, 0, 7, 8, 9, 10, 0, 0,
1753 13, 0, 0, 1114, 0, 1115, 0, 0, 894, 895,
1754 0, 0, 0, 894, 0, 0, 1121, 0, 0, 0,
1755 883, 885, 18, 0, 0, 0, 203, 203, 203, 203,
1756 1155, 0, 21, 0, 203, 0, 247, 0, 617, 0,
1757 616, 0, 145, 145, 632, 26, 0, 27, 28, 641,
1758 8, 9, 0, 83, 12, 245, 0, 1155, 1155, 1155,
1759 14, 1151, 0, 0, 883, 885, 0, 0, 0, 0,
1760 0, 1152, 0, 0, 16, 0, 17, 0, 0, 32,
1761 0, 620, 20, 0, 1153, 622, 0, 678, 0, 203,
1762 0, 23, 0, 0, 144, 0, 247, 0, 145, 247,
1763 26, 0, 130, 131, -385, 8, 9, -385, -385, 12,
1764 245, 0, 0, 145, 0, 14, 145, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 145, 16,
1766 0, 17, -385, 0, 0, 0, 83, 20, 0, 0,
1767 0, 0, -385, 0, 203, 203, 23, 203, 617, 0,
1768 0, 724, 0, 0, 0, 26, 0, 130, 131, 0,
1769 0, 0, 0, 0, 145, 0, 145, 0, 145, 145,
1770 145, 618, 0, 0, 145, 1065, 0, 1067, 0, 145,
1771 0, 619, 145, 203, 950, 203, 0, 0, 0, -385,
1772 0, 620, 0, 0, 621, 622, 0, 0, 0, 83,
1773 0, 0, 104, 0, 0, 724, 724, 0, 0, 0,
1774 0, 724, 0, 0, 0, 7, 8, 9, 10, 214,
1775 215, 216, 0, 0, 0, 724, 14, 724, 0, 724,
1776 0, 0, 0, 0, 0, 0, 0, 247, 247, 247,
1777 247, 0, 0, 18, 0, 0, 0, 0, 20, 1101,
1778 1102, 0, 1104, 21, 0, 0, 0, 23, 0, 617,
1779 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1780 1114, 1115, 883, 885, 0, 724, 0, 0, 1121, 0,
1781 1122, 0, 193, 0, 0, 0, 623, 623, 623, 0,
1782 0, 0, 194, 1478, 0, 0, 0, 247, 1155, 145,
1783 32, 883, 885, 0, 0, 1421, 0, 0, 0, 0,
1784 0, 0, 0, 145, 145, 0, 632, 0, 0, 0,
1785 0, 724, 0, 907, 0, 0, 0, 0, 0, 0,
1786 0, 1157, 0, 0, 0, 0, 641, 0, 0, 0,
1787 724, 0, 145, 1479, 569, 570, 571, 572, 573, 574,
1788 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
1789 585, 586, 587, 588, 589, 590, 678, 0, 0, 0,
1790 0, 1155, 1155, 1155, 126, 0, 0, 0, 0, 0,
1791 0, 145, 632, 145, 145, 238, 632, 0, 1114, 1115,
1792 104, 1121, 0, 0, 0, 203, 0, 0, 0, 0,
1793 0, 0, 0, 1201, 0, 0, 0, 0, 0, 980,
1794 0, 0, 0, 0, 0, 1206, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 8, 9, 0, 145, 12,
1796 13, 0, 632, 0, 0, 14, 0, 0, 0, 145,
1797 145, 0, 145, 0, 7, 8, 9, 10, 0, 16,
1798 516, 17, 0, 0, 0, 980, 0, 20, 134, 0,
1799 0, 83, 0, 83, 0, 0, 23, 0, 1045, 83,
1800 83, 0, 18, 0, 0, 26, 83, 130, 131, 247,
1801 0, 0, 21, 0, 0, 247, 0, 0, 617, 0,
1802 0, 0, 145, 145, 145, 26, 0, 27, 28, 0,
1803 0, 1257, 0, 0, 145, 0, 0, 0, 0, 0,
1804 0, 943, 51, 0, 724, 0, 724, 0, 724, 0,
1805 0, 944, 0, 0, 0, 0, 0, 0, 0, 32,
1806 0, 620, 0, 0, 945, 622, 0, 0, 51, 51,
1807 1270, 152, 0, 51, 0, 0, 0, 0, 0, 0,
1808 51, 0, 0, 0, 0, 0, 0, 623, 623, 0,
1809 623, 0, 0, 51, 0, 51, 0, 903, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 145, 0, 145,
1811 0, 0, 0, 0, 0, 0, 247, 0, 253, 0,
1812 145, 0, 247, 0, 907, 907, 907, 0, 0, 0,
1813 0, 0, 641, 0, 1360, 0, 0, 0, 1361, 0,
1814 0, 0, 724, 579, 580, 581, 582, 583, 584, 585,
1815 586, 587, 588, 589, 590, 623, 0, 623, 623, 0,
1816 623, 0, 0, 0, 247, 0, 247, 0, 145, 145,
1817 632, 395, 395, 1377, 51, 0, 0, 0, 51, 51,
1818 0, 0, 253, 0, 51, 0, 0, 152, 152, 152,
1819 0, 0, 0, 0, 430, 0, 0, 0, 0, 0,
1820 0, 0, 623, 51, 0, 0, 0, 51, 0, 0,
1821 0, 0, 0, 51, 51, 0, 0, 907, 0, 0,
1822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823 247, 51, 51, 152, 0, 0, 0, 0, 0, 0,
1824 0, 253, 0, 0, 0, 247, 0, 0, 1045, 0,
1825 1436, 0, 0, 0, 1437, 0, 0, 247, 0, 0,
1826 51, 0, 0, 0, 0, 1345, 1346, 9, 10, 7,
1827 8, 9, 10, 214, 215, 216, 1455, 1456, 623, 0,
1828 14, 0, 83, 0, 0, 0, 0, 0, 0, 0,
1829 0, 247, 0, 247, 0, 0, 51, 18, 0, 724,
1830 0, 0, 20, 21, 0, 0, 0, 21, 0, 0,
1831 0, 23, 0, 617, 0, 0, 26, 0, 27, 28,
1832 26, 247, 27, 28, 1347, 0, 145, 145, 0, 145,
1833 0, 0, 193, 0, 0, 0, 943, 0, 0, 0,
1834 0, 0, 194, 0, 0, 0, 944, 0, 0, 0,
1835 32, 623, 0, 623, 32, 195, 620, 0, 0, 945,
1836 622, 0, 0, 0, 623, 0, 556, 0, 903, 903,
1837 903, 0, 0, 0, 145, 145, 145, 145, 632, 0,
1838 0, 0, 145, 395, 0, 0, 0, 0, 0, 980,
1839 0, 253, 0, 0, 0, 0, 51, 0, 0, 0,
1840 0, 0, 0, 0, 0, 907, 907, 907, 0, 0,
1841 0, 0, 623, 623, 623, 0, 0, 0, 0, 0,
1842 0, 0, 0, 0, 0, 980, 0, 0, 0, 0,
1843 395, 0, 0, 0, 0, 0, 0, 145, 0, 0,
1844 0, 51, 145, 0, 0, 0, 0, 166, 0, 7,
1845 8, 9, 10, 167, 12, 13, 51, 0, 0, 51,
1846 14, 903, 0, 0, 0, 430, 430, 430, 0, 0,
1847 0, 51, 0, 0, 16, 0, 17, 18, 19, 51,
1848 0, 0, 20, 0, 0, 0, 0, 21, 0, 0,
1849 0, 23, 145, 145, 168, 145, 0, 0, 0, 0,
1850 26, 0, 27, 28, 0, 0, 0, 51, 0, 51,
1851 0, 152, 152, 152, 8, 9, 30, 51, 12, 13,
1852 1408, 0, 51, 0, 14, 51, 31, 0, 0, 0,
1853 0, 145, 632, 145, 32, 0, 0, 0, 16, 33,
1854 17, 0, 51, 0, 34, 0, 20, 0, 0, 0,
1855 247, 0, 0, 0, 0, 23, 980, 0, 0, 0,
1856 0, 0, 0, 0, 26, 0, 130, 131, 600, 0,
1857 0, 0, 556, 0, 0, 556, 0, 0, 7, 8,
1858 9, 10, 0, 0, 13, 0, 0, 0, 0, 0,
1859 556, 556, 556, 0, 0, 0, 0, 0, 0, 0,
1860 0, 0, 0, 601, 0, 556, 18, 0, 0, 78,
1861 0, 0, 0, 0, 0, 0, 21, 0, 623, 623,
1862 623, 623, 623, 0, 0, 0, 623, 0, 0, 26,
1863 0, 27, 28, 0, 0, 78, 78, 0, 78, 0,
1864 78, 0, 0, 0, 0, 193, 907, 78, 0, 903,
1865 903, 903, 0, 253, 18, 194, 0, 0, 0, 0,
1866 78, 0, 78, 32, 0, 0, 556, 0, 195, 575,
1867 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
1868 586, 587, 588, 589, 590, 51, 569, 570, 571, 572,
1869 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
1870 583, 584, 585, 586, 587, 588, 589, 590, 0, 395,
1871 0, 0, 7, 127, 128, 10, 395, 0, 516, 907,
1872 907, 907, 0, 0, 51, 51, 51, 51, 0, 0,
1873 0, 0, 0, 0, 0, 0, 623, 623, 247, 623,
1874 18, 78, 0, 145, 0, 78, 78, 0, 0, 0,
1875 21, 78, 0, 0, 78, 78, 78, 0, 0, 0,
1876 0, 0, 0, 26, 0, 27, 28, 0, 0, 0,
1877 78, 51, 0, 0, 78, 51, 0, 0, 0, 30,
1878 78, 78, 51, 51, 0, 51, 0, 0, 0, 31,
1879 0, 0, 0, 0, 0, 0, 0, 32, 78, 78,
1880 78, 0, 33, 0, 51, 0, 51, 0, 0, 0,
1881 0, 51, 51, 51, 0, 0, 0, 0, 0, 51,
1882 0, 0, 0, 0, 0, 0, 0, 78, 0, 159,
1883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884 832, 556, 299, 8, 9, 10, 167, 12, 300, 301,
1885 302, 204, 303, 14, 0, 0, 0, 0, 0, 0,
1886 0, 0, 0, 78, 0, 0, 0, 16, 304, 17,
1887 18, 19, 0, 305, 306, 20, 0, 307, 308, 309,
1888 21, 310, 311, 0, 23, 0, 0, 0, 312, 313,
1889 314, 315, 316, 26, 0, 27, 318, 1523, 0, -787,
1890 319, 0, 7, 8, 9, 10, 320, 0, 245, 321,
1891 0, 0, 0, 0, 0, 0, 0, 322, 323, 324,
1892 0, 0, 0, 0, 0, 325, 326, 327, 0, 0,
1893 18, 0, 328, 0, 0, 0, 0, 556, 556, 556,
1894 21, 0, 0, 430, 253, 159, 159, 159, 0, 329,
1895 0, 0, 0, 26, 0, 27, 28, 0, 0, 640,
1896 0, 0, 0, 78, 0, 0, 0, 0, 0, 193,
1897 0, 204, 0, 0, 0, 0, 0, 0, 0, 194,
1898 0, 51, 51, 152, 0, 0, 0, 32, 253, 204,
1899 204, 477, 195, 0, 0, 0, 0, 0, 0, 0,
1900 0, 8, 9, 0, 167, 12, 13, 0, 78, 730,
1901 0, 14, 0, 0, 0, 0, 0, 0, 204, 0,
1902 0, 0, 0, 78, 0, 16, 78, 17, 18, 0,
1903 1183, 0, 0, 20, 202, 0, 0, 0, 78, 0,
1904 0, 0, 23, 0, 617, 0, 78, 0, 0, 0,
1905 0, 26, 0, 130, 131, 0, 0, 0, 0, 256,
1906 0, 51, 260, 0, 0, 0, 0, 618, 0, 0,
1907 7, 8, 9, 10, 78, 0, 78, 619, 78, 78,
1908 78, 0, 253, 256, 78, 364, 0, 620, 0, 78,
1909 621, 622, 78, 529, 0, 51, 0, 0, 18, 0,
1910 0, 0, 0, 0, 0, 0, 0, 0, 21, 78,
1911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912 0, 26, 0, 27, 28, 7, 8, 9, 10, 167,
1913 12, 13, 0, 0, 730, 0, 14, 473, 0, 0,
1914 0, 0, 0, 625, 625, 625, 0, 474, 0, 0,
1915 16, 0, 17, 18, 202, 32, 0, 0, 20, 0,
1916 475, 0, 0, 21, 0, 0, 253, 23, 0, 617,
1917 0, 0, 202, 202, 202, 0, 26, 0, 27, 28,
1918 0, 0, 483, 0, 0, 0, 0, 51, 51, 152,
1919 152, 152, 1151, 253, 0, 51, 0, 0, 0, 204,
1920 0, 202, 1152, 0, 0, 7, 8, 9, 10, 0,
1921 32, 13, 620, 0, 0, 1153, 622, 0, 1183, 1183,
1922 1183, 640, 0, 0, 0, 0, 260, 0, 0, 0,
1923 0, 0, 0, 18, 0, 7, 8, 9, 10, 0,
1924 256, 516, 0, 21, 0, 0, 7, 8, 9, 10,
1925 51, 0, 78, 0, 0, 51, 26, 0, 27, 28,
1926 0, 0, 0, 18, 0, 204, 0, 204, 0, 477,
1927 477, 477, 473, 21, 0, 204, 0, 0, 0, 0,
1928 204, 0, 474, 204, 21, 0, 26, 0, 27, 28,
1929 32, 78, 78, 78, 78, 475, 0, 26, 0, 27,
1930 28, 0, 193, 1415, 0, 51, 51, 0, 51, 0,
1931 0, 0, 194, 193, 0, 0, 0, 0, 0, 0,
1932 32, 0, 0, 194, 0, 195, 0, 0, 0, 0,
1933 0, 32, 256, 260, 0, 0, 195, 0, 78, 0,
1934 0, 0, 78, 0, 51, 51, 51, 0, 0, 78,
1935 78, 0, 78, 0, 0, 0, 7, 8, 9, 10,
1936 167, 12, 13, 0, 0, 0, 0, 14, 0, 0,
1937 0, 78, 0, 78, 0, 0, 0, 0, 78, 78,
1938 78, 16, 202, 17, 18, 19, 78, 0, 0, 20,
1939 0, 0, 0, 0, 21, 0, 0, 0, 23, 0,
1940 868, 168, 0, 0, 0, 0, 0, 26, 0, 27,
1941 28, 0, 0, 0, 625, 625, 0, 625, 0, 0,
1942 0, 0, 0, 30, 625, 0, 0, 0, 0, 0,
1943 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
1944 0, 32, 0, 204, 0, 0, 33, 0, 202, 0,
1945 202, 34, 202, 202, 202, 0, 0, 0, 202, 1183,
1946 0, 0, 0, 202, 0, 0, 202, 0, 7, 8,
1947 9, 10, 205, 12, 206, 0, 0, 0, 0, 14,
1948 0, 0, 947, 0, 947, 947, 0, 625, 0, 0,
1949 0, 0, 0, 16, 0, 17, 18, 0, 0, 0,
1950 0, 20, 0, 0, 0, 0, 21, 0, 0, 0,
1951 23, 0, 640, 0, 0, 0, 0, 0, 0, 26,
1952 0, 27, 28, 0, 0, 207, 0, 0, 0, 947,
1953 0, 0, 1183, 1183, 1183, 30, 0, 0, 0, 0,
1954 204, 204, 0, 204, 0, 31, 0, 0, 78, 78,
1955 78, 0, 0, 32, 0, 0, 51, 0, 33, 0,
1956 0, 0, 0, 0, 0, 0, 0, 0, 0, 204,
1957 0, 0, 0, 0, 0, 0, 0, 761, 0, 7,
1958 8, 762, 10, 167, 12, 13, 0, 0, 0, 0,
1959 14, 0, 0, 529, 529, 529, 0, 1185, 0, 0,
1960 0, 0, 0, 0, 16, 625, 17, 18, 19, 0,
1961 256, 260, 20, -524, 0, 0, 0, 21, 0, 0,
1962 0, 23, 763, 0, 168, 0, 202, 0, 78, 0,
1963 26, 0, 27, 28, 0, 0, 764, 0, 765, 0,
1964 0, 0, 0, 0, 0, 0, 30, 0, 7, 8,
1965 9, 10, 167, 12, 13, 0, 31, 997, 0, 14,
1966 0, 0, 78, 0, 32, 202, 0, 202, 202, 33,
1967 0, 0, 0, 16, 0, 17, 18, 0, 625, 0,
1968 625, 20, 0, 0, 0, -524, 21, 0, 0, 0,
1969 23, 625, 0, 0, 0, 625, 625, 625, 0, 26,
1970 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
1971 0, 0, 202, 0, 0, 30, 0, 0, 102, 0,
1972 0, 0, 0, 202, 202, 31, 202, 121, 102, 0,
1973 0, 0, 0, 32, 102, 102, 0, 102, 33, 947,
1974 947, 1156, 0, 0, 1345, 127, 128, 10, 0, 0,
1975 0, 0, 202, 0, 78, 78, 78, 78, 78, 0,
1976 0, 0, 78, 0, 0, 0, 0, 0, 0, 235,
1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 21, 0, 0, 1185, 1185, 1185, 1156, 7,
1979 8, 9, 10, 0, 0, 26, 0, 27, 28, 0,
1980 0, 0, 0, 1347, 0, 0, 0, 0, 0, 0,
1981 0, 30, 0, 0, 0, 0, 0, 78, 0, 204,
1982 0, 31, 78, 0, 0, 0, 0, 21, 388, 32,
1983 121, 0, 0, 0, 33, 0, 0, 102, 102, 0,
1984 26, 0, 27, 28, 102, 102, 0, 0, 102, 102,
1985 102, 0, 416, 102, 102, 102, 193, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 194, 0, 0, 0,
1987 0, 0, 78, 78, 32, 78, 0, 0, 0, 195,
1988 0, 0, 0, 0, 0, 256, 260, 256, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 868, 868, 0,
1990 868, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1991 0, 78, 78, 78, 0, 0, 0, 0, 0, 0,
1992 0, 0, 202, 202, 1154, 0, 0, 0, 0, 256,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 498, 102, 0, 0, 947, 947, 1156, 1156, 1156,
1995 0, 0, 0, 947, 0, 0, 0, 0, 0, 260,
1996 0, 0, 102, 0, 0, 0, 0, 0, 0, 0,
1997 0, 1154, 0, 0, 0, 0, 1156, 1156, 1156, 0,
1998 0, 0, 0, 7, 8, 9, 10, 214, 215, 216,
1999 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
2000 0, 102, 202, 0, 0, 0, 0, 0, 204, 0,
2001 0, 18, 0, 0, 0, 0, 20, 0, 0, 0,
2002 0, 21, 0, 483, 0, 23, 1185, 617, 0, 0,
2003 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
2004 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
2005 943, 102, 102, 0, 0, 0, 0, 0, 0, 0,
2006 944, 0, 0, 947, 947, 0, 947, 0, 32, 0,
2007 620, 0, 0, 992, 622, 574, 575, 576, 577, 578,
2008 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
2009 589, 590, 0, 0, 0, 0, 102, 0, 0, 1185,
2010 1185, 1185, 204, 0, 204, 0, 0, 256, 0, 0,
2011 0, 0, 0, 0, 0, 102, 8, 9, 0, 167,
2012 12, 13, 102, 78, 730, 102, 14, 0, 202, 202,
2013 202, 202, 1154, 0, 1269, 0, 202, 102, 0, 0,
2014 16, 0, 17, 18, 0, 0, 0, 0, 20, 0,
2015 0, 0, 0, 0, 0, 0, 0, 23, 0, 1154,
2016 1154, 1154, 0, 0, 0, 0, 26, 0, 130, 131,
2017 0, 0, 0, 0, 720, 0, 820, 821, 822, 10,
2018 0, 12, 533, 301, 302, 0, 303, 14, 0, 0,
2019 0, 202, 0, 0, 0, 0, 0, 0, 0, 0,
2020 0, 16, 304, 17, 102, 19, 0, 305, 306, 20,
2021 0, 307, 308, 309, 21, 310, 311, 477, 23, 0,
2022 0, 0, 312, 313, 314, 315, 316, 26, 0, 823,
2023 824, 721, 102, 0, 319, 0, 0, 0, 0, 0,
2024 320, 0, 0, 321, 0, 0, 202, 202, 0, 202,
2025 0, 322, 323, 324, 0, 0, 0, 0, 0, 325,
2026 326, 327, 0, 0, 0, 0, 328, 825, 0, 0,
2027 0, 1449, 0, -477, -477, -477, -477, -477, -477, -477,
2028 0, 0, -477, 329, -477, 202, 0, 202, 0, 0,
2029 477, 477, 477, 0, 0, -477, 0, -477, 0, 0,
2030 0, -477, 0, 0, 0, 0, -477, 0, 102, 0,
2031 0, -477, 0, 0, 204, -477, 0, -477, 0, 102,
2032 102, 0, 102, 102, -477, 0, -477, -477, -477, -477,
2033 -477, 0, -477, -477, -477, -477, -477, -477, -477, -477,
2034 -477, -477, -477, -477, -477, -477, -477, -477, -477, -477,
2035 -477, -477, -477, -477, -477, 0, -477, -477, -477, 0,
2036 -477, -477, -477, -477, -477, -477, 0, -477, 0, 0,
2037 0, 0, 1450, 0, 0, 102, 0, -477, -477, -477,
2038 0, -477, 102, 121, 0, 0, 0, 0, 0, 0,
2039 0, 0, 0, 0, 235, 0, 0, 0, 0, 551,
2040 1154, 299, 8, 9, 10, 167, 12, 300, 301, 302,
2041 730, 303, 14, 0, 0, 0, 0, 0, 977, 0,
2042 0, 0, 0, 0, 0, 0, 16, 304, 17, 18,
2043 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
2044 310, 311, 0, 23, 0, 617, 0, 312, 313, 314,
2045 315, 316, 26, 0, 27, 318, -310, 0, 0, 319,
2046 0, 0, 0, 0, 977, 320, 0, 102, 899, 0,
2047 0, 0, 0, 1154, 1154, 1154, 322, 323, 900, 0,
2048 0, 0, 0, 0, 325, 326, 327, 0, 620, 0,
2049 0, 901, 622, 0, 0, 0, 0, 202, 0, 0,
2050 0, 102, 102, 102, 0, 0, 0, 0, 329, 0,
2051 0, 0, 0, 102, 0, 1423, 0, 1280, 1281, 1282,
2052 10, 167, 12, 300, 301, 302, 0, 303, 14, 1283,
2053 0, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
2054 1293, 15, 16, 304, 17, 18, 19, 0, 305, 306,
2055 20, 0, 307, 308, 309, 21, 310, 311, 1294, 23,
2056 1295, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2057 1296, 318, 717, 0, 1297, 319, 0, 0, 0, 0,
2058 0, 320, 0, 0, 321, 0, 102, 0, 102, 0,
2059 0, 0, 322, 323, 324, 0, 0, 0, 0, 102,
2060 325, 326, 327, 0, 0, 0, 0, 328, 0, 1298,
2061 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
2062 588, 589, 590, 1424, 329, 0, 1279, 0, 1280, 1281,
2063 1282, 10, 167, 12, 300, 301, 302, 0, 303, 14,
2064 1283, 0, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291,
2065 1292, 1293, 15, 16, 304, 17, 18, 19, 0, 305,
2066 306, 20, 0, 307, 308, 309, 21, 310, 311, 1294,
2067 23, 1295, 0, 0, 312, 313, 314, 315, 316, 26,
2068 0, 1296, 318, 717, 977, 1297, 319, 0, 0, 0,
2069 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
2070 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2071 0, 325, 326, 327, 0, 0, 0, 0, 328, 0,
2072 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2073 0, 0, 0, 0, 551, 329, 7, 8, 9, 10,
2074 167, 12, 300, 301, 302, 730, 303, 14, 0, 102,
2075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2076 0, 16, 304, 17, 18, 19, 0, 305, 306, 20,
2077 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
2078 617, 0, 312, 313, 314, 315, 316, 26, 0, 27,
2079 28, -310, 0, 0, 319, 0, 0, 0, 0, 0,
2080 320, 0, 0, 1180, 0, 102, 102, 0, 102, 0,
2081 0, 322, 323, 1181, 0, 0, 0, 0, 0, 325,
2082 326, 327, 0, 620, 0, 0, 1182, 622, 576, 577,
2083 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
2084 588, 589, 590, 329, 0, 729, 0, 299, 8, 9,
2085 10, 167, 12, 300, 301, 302, 730, 303, 14, 0,
2086 0, 0, 0, 0, 0, 0, 0, 0, 977, 0,
2087 0, 0, 16, 304, 17, 18, 19, 0, 305, 306,
2088 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
2089 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2090 27, 318, 0, 0, 977, 319, 0, 0, 0, 0,
2091 0, 320, 0, 0, 321, 0, 0, 0, 0, 102,
2092 0, 102, 322, 323, 324, 0, 0, 0, 0, 0,
2093 325, 326, 327, 0, 0, 0, 720, 328, 820, 821,
2094 822, 10, 0, 12, 533, 301, 302, 0, 303, 14,
2095 0, 0, -797, 0, 329, 0, 0, 0, 0, 0,
2096 0, 0, 0, 16, 304, 17, 0, 19, 0, 305,
2097 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
2098 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
2099 0, 823, 824, 721, 0, 0, 319, 0, 0, 0,
2100 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
2101 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2102 0, 325, 326, 327, 0, 0, 0, 0, 328, 825,
2103 0, 0, 0, 0, 0, 977, 0, 0, 0, 0,
2104 0, 0, 0, 0, 984, 329, 551, 0, 299, 8,
2105 9, 10, 0, 12, 300, 301, 302, 0, 303, 14,
2106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2107 0, 0, 0, 16, 304, 17, 18, 19, 0, 305,
2108 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
2109 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
2110 0, 27, 318, -310, 0, 0, 319, 0, 0, 0,
2111 0, 0, 320, 0, 0, 552, 0, 0, 0, 0,
2112 0, 0, 0, 322, 323, 553, 0, 0, 0, 0,
2113 0, 325, 326, 327, 0, 0, 0, 720, 554, 820,
2114 821, 822, 10, 0, 12, 533, 301, 302, 0, 303,
2115 14, 0, 0, 0, 0, 329, 0, 0, 0, 0,
2116 0, 0, 0, 0, 16, 304, 17, 0, 19, 0,
2117 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2118 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
2119 26, 0, 823, 824, 721, 0, 0, 319, 0, 0,
2120 0, 0, 0, 320, 0, 0, 321, 0, 0, 0,
2121 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2122 0, 0, 325, 326, 327, 0, 0, 0, 720, 328,
2123 820, 821, 822, 10, 0, 12, 533, 301, 302, 0,
2124 303, 14, 0, 0, 0, -481, 329, 0, 0, 0,
2125 0, 0, 0, 0, 0, 16, 304, 17, 0, 19,
2126 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
2127 311, 0, 23, 0, 0, 0, 312, 313, 314, 315,
2128 316, 26, 0, 823, 824, 721, 0, 0, 319, 0,
2129 0, 0, 0, 0, 320, 0, 0, 321, 0, 0,
2130 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2131 0, 0, 0, 325, 326, 327, 0, 0, 0, 720,
2132 328, 299, 8, 9, 10, 0, 12, 533, 301, 302,
2133 0, 303, 14, 0, 0, 0, 1318, 329, 0, 0,
2134 0, 0, 0, 0, 0, 0, 16, 304, 17, 0,
2135 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
2136 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
2137 315, 316, 26, 0, 27, 318, 721, 0, 0, 319,
2138 0, 0, 0, 0, 0, 320, 0, 0, 321, 0,
2139 0, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2140 0, 0, 0, 0, 325, 326, 327, 0, 0, 0,
2141 0, 328, 0, 551, 0, 7, 8, 9, 10, 1322,
2142 12, 300, 301, 302, 0, 303, 14, 0, 329, 0,
2143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2144 16, 304, 17, 18, 19, 0, 305, 306, 20, 0,
2145 307, 308, 309, 21, 310, 311, 0, 23, 0, 0,
2146 0, 312, 313, 314, 315, 316, 26, 0, 27, 28,
2147 -310, 0, 0, 319, 0, 0, 0, 0, 0, 320,
2148 0, 0, 1494, 0, 0, 0, 0, 0, 0, 0,
2149 322, 323, 1495, 0, 0, 0, 0, 0, 325, 326,
2150 327, 0, 0, 0, 720, 1496, 299, 8, 9, 10,
2151 0, 12, 533, 301, 302, 0, 303, 14, 0, 0,
2152 0, 0, 329, 0, 0, 0, 0, 0, 0, 0,
2153 0, 16, 304, 17, 0, 19, 0, 305, 306, 20,
2154 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
2155 0, 0, 312, 313, 314, 315, 316, 26, 0, 27,
2156 318, 721, 0, 0, 319, 0, 0, 0, 0, 0,
2157 320, 0, 0, 321, 0, 0, 0, 0, 0, 0,
2158 0, 322, 323, 324, 0, 0, 0, 0, 0, 325,
2159 326, 327, 0, 0, 0, 832, 328, 299, 8, 9,
2160 10, 0, 12, 533, 301, 302, 0, 303, 14, 0,
2161 0, 0, 0, 329, 0, 0, 0, 0, 0, 0,
2162 0, 0, 16, 304, 17, 0, 19, 0, 305, 306,
2163 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
2164 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2165 27, 318, 0, 0, 0, 319, -787, 0, 0, 0,
2166 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
2167 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
2168 325, 326, 327, 0, 0, 0, 1575, 328, 299, 8,
2169 9, 10, 0, 12, 300, 301, 302, 0, 303, 14,
2170 0, 0, 0, 0, 329, 0, 0, 0, 0, 0,
2171 0, 0, 0, 16, 304, 17, 0, 19, 0, 305,
2172 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
2173 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
2174 0, 27, 318, 0, 0, -194, 319, 0, 0, 0,
2175 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
2176 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2177 0, 325, 326, 327, 0, 0, 0, 832, 328, 299,
2178 8, 9, 10, 0, 12, 533, 301, 302, 0, 303,
2179 14, 0, 0, 0, 0, 329, 0, 0, 0, 0,
2180 0, 0, 0, 0, 16, 304, 17, 0, 19, 0,
2181 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2182 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
2183 26, 0, 27, 318, 0, 0, 0, 319, 0, 0,
2184 0, 0, 0, 320, 262, 0, 321, 8, 9, 0,
2185 0, 12, 13, 0, 322, 323, 324, 14, 0, 0,
2186 0, 0, 325, 326, 327, 0, 0, 0, 0, 328,
2187 0, 16, 0, 17, 0, 0, 0, 0, 0, 20,
2188 0, 263, 264, 0, -787, 0, 329, 0, 23, 0,
2189 265, 0, 0, 0, 0, 0, 0, 26, 0, 130,
2190 131, 0, 266, 0, 0, 0, 267, 268, 269, 270,
2191 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
2192 281, 282, 283, 284, 285, 286, 287, 0, 0, 288,
2193 289, 290, 0, 0, 291, 0, 921, 292, 299, 8,
2194 9, 10, 0, 12, 533, 301, 302, 0, 303, 14,
2195 0, 0, 0, 293, 0, 0, 0, 0, 0, 0,
2196 0, 0, 0, 16, 304, 17, 0, 19, 0, 305,
2197 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
2198 23, 0, 0, 0, 312, 313, 314, 315, 316, 26,
2199 0, 27, 318, 0, 0, 0, 319, 0, 0, 0,
2200 0, 0, 320, 0, 0, 321, 0, 0, 0, 0,
2201 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2202 0, 325, 326, 327, 0, 0, 0, 923, 328, 299,
2203 8, 9, 10, 0, 12, 533, 301, 302, 0, 303,
2204 14, 0, 0, 0, 0, 329, 0, 0, 0, 0,
2205 0, 0, 0, 0, 16, 304, 17, 0, 19, 0,
2206 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2207 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
2208 26, 0, 27, 318, 0, 0, 0, 319, 0, 0,
2209 0, 0, 0, 320, 0, 0, 321, 0, 0, 0,
2210 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2211 0, 0, 325, 326, 327, 0, 0, 0, 1507, 328,
2212 299, 8, 9, 10, 0, 12, 533, 301, 302, 0,
2213 303, 14, 0, 0, 0, 0, 329, 0, 0, 0,
2214 0, 0, 0, 0, 0, 16, 304, 17, 0, 19,
2215 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
2216 311, 0, 23, 0, 0, 0, 312, 313, 314, 315,
2217 316, 26, 0, 27, 318, 0, 0, 0, 319, 0,
2218 0, 0, 0, 0, 320, 0, 0, 321, 0, 0,
2219 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2220 0, 0, 0, 325, 326, 327, 299, 8, 9, 10,
2221 328, 12, 533, 301, 302, 0, 303, 14, 0, 0,
2222 0, 0, 0, 0, 0, 0, 0, 329, 0, 0,
2223 0, 16, 304, 17, 0, 19, 0, 305, 306, 20,
2224 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
2225 0, 0, 312, 313, 314, 315, 316, 26, 0, 27,
2226 318, 0, 0, 0, 319, 0, 0, 0, 0, 0,
2227 320, 0, 761, 321, 7, 8, 762, 10, 167, 12,
2228 13, 322, 323, 324, 0, 14, 0, 0, 0, 325,
2229 326, 327, 0, 0, 0, 0, 328, 0, 0, 16,
2230 0, 17, 18, 19, 0, 0, 0, 20, -525, 0,
2231 0, 0, 21, 329, 871, 0, 23, 763, 0, 168,
2232 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2233 0, 764, 0, 765, 0, 0, 0, 0, 0, 0,
2234 0, 30, 761, 0, 7, 8, 762, 10, 167, 12,
2235 13, 31, 0, 0, 0, 14, 0, 0, 0, 32,
2236 0, 0, 0, 0, 33, 0, 0, 0, 0, 16,
2237 0, 17, 18, 19, 0, 0, 0, 20, -527, 0,
2238 -525, 0, 21, 0, 0, 0, 23, 763, 0, 168,
2239 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2240 0, 764, 0, 765, 0, 0, 0, 0, 0, 0,
2241 0, 30, 761, 0, 7, 8, 762, 10, 167, 12,
2242 13, 31, 0, 0, 0, 14, 0, 0, 0, 32,
2243 0, 0, 0, 0, 33, 0, 0, 0, 0, 16,
2244 0, 17, 18, 19, 0, 0, 0, 20, -526, 0,
2245 -527, 0, 21, 0, 0, 0, 23, 763, 0, 168,
2246 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2247 0, 764, 0, 765, 0, 0, 0, 0, 0, 0,
2248 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
2249 0, 31, 0, 0, 0, 0, 0, 0, 0, 32,
2250 0, 0, 0, 0, 33, 0, 0, 1280, 1281, 1282,
2251 10, 167, 12, 300, 301, 302, 0, 303, 14, 1283,
2252 -526, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
2253 1293, 15, 16, 304, 17, 18, 19, 0, 305, 306,
2254 20, 0, 307, 308, 309, 21, 310, 311, 1294, 23,
2255 1295, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2256 1296, 318, 717, 0, 1297, 319, 0, 0, 0, 0,
2257 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
2258 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
2259 325, 326, 327, 0, 0, 0, 0, 328, 0, 1298,
2260 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2261 0, 0, 0, 1428, 329, 1280, 1281, 1282, 10, 167,
2262 12, 300, 301, 302, 0, 303, 14, 1283, 0, 1284,
2263 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 15,
2264 16, 304, 17, 18, 19, 0, 305, 306, 20, 0,
2265 307, 308, 309, 21, 310, 311, 1294, 23, 1295, 0,
2266 0, 312, 313, 314, 315, 316, 26, 0, 1296, 318,
2267 717, 0, 1297, 319, 0, 0, 0, 0, 0, 320,
2268 0, 0, 321, 0, 0, 0, 0, 0, 0, 0,
2269 322, 323, 324, 0, 0, 0, 0, 0, 325, 326,
2270 327, 0, 0, 0, 0, 328, 0, 1298, 0, 1280,
2271 1281, 1282, 10, 167, 12, 300, 301, 302, 0, 303,
2272 14, 1283, 329, 1284, 1285, 1286, 1287, 1288, 1289, 1290,
2273 1291, 1292, 1293, 15, 16, 304, 17, 18, 19, 0,
2274 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2275 1294, 23, 1295, 0, 0, 312, 313, 314, 315, 316,
2276 26, 0, 1296, 318, 1552, 0, 1297, 319, 0, 0,
2277 0, 0, 0, 320, 0, 0, 321, 0, 0, 0,
2278 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2279 0, 0, 325, 326, 327, 0, 0, 0, 0, 328,
2280 0, 1298, 0, 1280, 1281, 1282, 10, 167, 12, 300,
2281 301, 302, 0, 303, 14, 1283, 329, 1284, 1285, 1286,
2282 1287, 1288, 1289, 1290, 1291, 1292, 1293, 15, 16, 304,
2283 17, 18, 19, 0, 305, 306, 20, 0, 307, 308,
2284 309, 21, 310, 311, 1294, 23, 1295, 0, 0, 312,
2285 313, 314, 315, 316, 26, 0, 1296, 318, 0, 0,
2286 1297, 319, 0, 0, 0, 0, 0, 320, 0, 0,
2287 321, 0, 0, 0, 0, 0, 0, 0, 322, 323,
2288 324, 0, 0, 0, 0, 0, 325, 326, 327, 0,
2289 0, 0, 0, 328, 0, 1298, 299, 8, 9, 10,
2290 167, 12, 300, 301, 302, 730, 303, 14, 0, 0,
2291 329, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2292 0, 16, 304, 17, 18, 19, 0, 305, 306, 20,
2293 0, 307, 308, 309, 21, 310, 311, 0, 23, 0,
2294 617, 0, 312, 313, 314, 315, 316, 26, 0, 27,
2295 318, 0, 0, 0, 319, 0, 0, 0, 0, 0,
2296 320, 0, 0, 899, 0, 0, 0, 0, 0, 0,
2297 0, 322, 323, 900, 0, 0, 0, 0, 0, 325,
2298 326, 327, 0, 620, 0, 0, 901, 622, 7, 8,
2299 9, 10, 167, 12, 300, 301, 302, 730, 303, 14,
2300 0, 0, 0, 329, 0, 0, 0, 0, 0, 0,
2301 0, 0, 0, 16, 304, 17, 18, 19, 0, 305,
2302 306, 20, 0, 307, 308, 309, 21, 310, 311, 0,
2303 23, 0, 617, 0, 312, 313, 314, 315, 316, 26,
2304 0, 27, 28, 0, 0, 0, 319, 0, 0, 0,
2305 0, 0, 320, 0, 0, 1180, 0, 0, 0, 0,
2306 0, 0, 0, 322, 323, 1181, 0, 0, 0, 0,
2307 0, 325, 326, 327, 0, 620, 0, 0, 1182, 622,
2308 299, 8, 9, 10, 0, 12, 300, 301, 302, 0,
2309 303, 14, 0, 0, 0, 329, 0, 0, 0, 0,
2310 0, 0, 0, 0, 0, 16, 304, 17, 18, 19,
2311 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
2312 311, 0, 23, 0, 617, 0, 312, 313, 314, 315,
2313 316, 26, 0, 27, 318, 0, 0, 0, 0, 0,
2314 0, 0, 0, 0, 320, 0, 0, 899, 0, 0,
2315 0, 0, 0, 0, 0, 322, 323, 900, 0, 0,
2316 0, 0, 0, 325, 326, 327, 0, 620, 0, 0,
2317 901, 622, 7, 8, 9, 10, 0, 12, 300, 301,
2318 302, 0, 303, 14, 0, 0, 0, 329, 0, 0,
2319 0, 0, 0, 0, 0, 0, 0, 16, 304, 17,
2320 18, 19, 0, 305, 306, 20, 0, 307, 308, 309,
2321 21, 310, 311, 0, 23, 0, 617, 0, 312, 313,
2322 314, 315, 316, 26, 0, 27, 28, 0, 0, 0,
2323 0, 0, 0, 0, 0, 0, 320, 0, 0, 1180,
2324 0, 0, 0, 0, 0, 0, 0, 322, 323, 1181,
2325 0, 0, 0, 0, 0, 325, 326, 327, 0, 620,
2326 0, 0, 1182, 622, 299, 8, 9, 10, 0, 12,
2327 533, 301, 302, 0, 303, 14, 0, 0, 0, 329,
2328 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2329 304, 17, 18, 19, 0, 305, 306, 20, 0, 307,
2330 308, 309, 21, 310, 311, 0, 23, 0, 0, 0,
2331 312, 313, 314, 315, 316, 26, 0, 27, 318, 0,
2332 0, 0, 319, 0, 0, 0, 0, 0, 320, 0,
2333 0, 552, 0, 0, 0, 0, 0, 0, 0, 322,
2334 323, 553, 0, 0, 0, 0, 0, 325, 326, 327,
2335 299, 8, 9, 10, 554, 12, 533, 301, 302, 0,
2336 303, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2337 0, 329, 0, 0, 0, 16, 304, 17, 0, 19,
2338 0, 305, 306, 20, 0, 307, 308, 309, 21, 310,
2339 311, 0, 23, 0, 0, 0, 312, 313, 314, 315,
2340 316, 26, 0, 27, 318, 0, 0, 1401, 319, 0,
2341 0, 0, 0, 0, 320, 0, 0, 321, 0, 0,
2342 0, 0, 0, 0, 0, 322, 323, 324, 0, 0,
2343 0, 0, 0, 325, 326, 327, 0, 0, 0, 0,
2344 328, 299, 8, 9, 10, 167, 12, 300, 301, 302,
2345 0, 303, 14, 0, 0, 0, 0, 329, 0, 0,
2346 0, 0, 0, 0, 0, 0, 16, 304, 17, 18,
2347 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
2348 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
2349 315, 316, 26, 0, 27, 318, 0, 0, 0, 0,
2350 0, 0, 0, 0, 0, 320, 0, 0, 321, 0,
2351 0, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2352 0, 0, 0, 0, 325, 326, 327, 7, 8, 9,
2353 10, 328, 12, 533, 301, 302, 0, 303, 14, 0,
2354 0, 0, 0, 0, 0, 0, 0, 0, 329, 0,
2355 0, 0, 16, 304, 17, 18, 19, 0, 305, 306,
2356 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
2357 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2358 27, 28, 0, 0, 0, 319, 0, 0, 0, 0,
2359 0, 320, 0, 0, 1494, 0, 0, 0, 0, 0,
2360 0, 0, 322, 323, 1495, 0, 0, 0, 0, 0,
2361 325, 326, 327, 299, 8, 9, 10, 1496, 12, 300,
2362 301, 302, 0, 303, 14, 0, 0, 0, 0, 0,
2363 0, 0, 0, 0, 329, 0, 0, 0, 16, 304,
2364 17, 0, 19, 0, 305, 306, 20, 0, 307, 308,
2365 309, 21, 310, 311, 0, 23, 0, 0, 0, 312,
2366 313, 314, 315, 316, 26, 0, 317, 318, 0, 0,
2367 0, 319, 0, 0, 0, 0, 0, 320, 0, 0,
2368 321, 0, 0, 0, 0, 0, 0, 0, 322, 323,
2369 324, 0, 0, 0, 0, 0, 325, 326, 327, 299,
2370 8, 9, 10, 328, 12, 300, 301, 302, 0, 303,
2371 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2372 329, 0, 0, 0, 16, 304, 17, 0, 19, 0,
2373 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2374 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
2375 26, 0, 27, 318, 0, 0, 0, 319, 0, 0,
2376 0, 0, 0, 320, 0, 0, 321, 0, 0, 0,
2377 0, 0, 0, 0, 322, 323, 324, 0, 0, 0,
2378 0, 0, 325, 326, 327, 299, 8, 9, 10, 328,
2379 12, 533, 301, 302, 0, 303, 14, 0, 0, 0,
2380 0, 0, 0, 0, 0, 0, 329, 0, 0, 0,
2381 16, 304, 17, 0, 19, 0, 305, 306, 20, 0,
2382 307, 308, 309, 21, 310, 311, 0, 23, 0, 0,
2383 0, 312, 313, 314, 315, 316, 26, 0, 27, 318,
2384 0, 0, 0, 319, 0, 0, 0, 0, 0, 320,
2385 0, 0, 321, 0, 0, 0, 0, 0, 0, 0,
2386 322, 323, 324, 0, 0, 0, 0, 0, 325, 326,
2387 327, 299, 8, 9, 10, 328, 12, 533, 301, 302,
2388 0, 303, 14, 0, 0, 0, 0, 0, 0, 0,
2389 0, 0, 329, 0, 0, 0, 16, 304, 17, 0,
2390 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
2391 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
2392 315, 316, 26, 0, 27, 318, 566, 0, 0, 0,
2393 0, 0, 0, 0, 0, 320, 0, 0, 321, 0,
2394 0, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2395 0, 0, 0, 0, 325, 326, 327, 299, 8, 9,
2396 10, 567, 12, 533, 301, 302, 0, 303, 14, 0,
2397 0, 0, 0, 0, 0, 0, 0, 0, 329, 0,
2398 0, 0, 16, 304, 17, 0, 19, 0, 305, 306,
2399 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
2400 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2401 27, 318, 0, 0, 0, 0, 0, 0, 0, 0,
2402 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
2403 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
2404 325, 326, 327, 0, 0, 0, 0, 328, 605, 299,
2405 8, 9, 10, 0, 12, 533, 301, 302, 0, 303,
2406 14, 0, 0, 0, 329, 0, 0, 0, 0, 0,
2407 0, 0, 0, 0, 16, 304, 17, 18, 19, 0,
2408 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2409 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
2410 26, 0, 27, 318, 0, 0, 0, 0, 0, 0,
2411 0, 0, 0, 320, 0, 0, 552, 0, 0, 0,
2412 0, 0, 0, 0, 322, 323, 553, 0, 0, 0,
2413 0, 0, 325, 326, 327, 1140, 8, 9, 10, 554,
2414 12, 533, 301, 302, 0, 303, 14, 0, 0, 0,
2415 0, 0, 0, 0, 0, 0, 329, 0, 0, 0,
2416 16, 304, 17, 0, 19, 0, 305, 306, 20, 0,
2417 307, 308, 309, 21, 310, 311, 0, 23, 0, 0,
2418 0, 312, 313, 314, 315, 316, 26, 0, 27, 318,
2419 0, 0, 0, 319, 0, 0, 0, 0, 0, 320,
2420 0, 0, 321, 0, 0, 0, 0, 0, 0, 0,
2421 322, 323, 324, 0, 0, 0, 0, 0, 325, 326,
2422 327, 7, 8, 9, 10, 328, 12, 300, 301, 302,
2423 0, 303, 14, 0, 0, 0, 0, 0, 0, 0,
2424 0, 0, 329, 0, 0, 0, 16, 304, 17, 18,
2425 19, 0, 305, 306, 20, 0, 307, 308, 309, 21,
2426 310, 311, 0, 23, 0, 0, 0, 312, 313, 314,
2427 315, 316, 26, 0, 27, 28, 0, 0, 0, 0,
2428 0, 0, 0, 0, 0, 320, 0, 0, 1494, 0,
2429 0, 0, 0, 0, 0, 0, 322, 323, 1495, 0,
2430 0, 0, 0, 0, 325, 326, 327, 299, 8, 9,
2431 10, 1496, 12, 533, 301, 302, 0, 303, 14, 0,
2432 0, 0, 0, 0, 0, 0, 0, 0, 329, 0,
2433 0, 0, 16, 304, 17, 0, 19, 0, 305, 306,
2434 20, 0, 307, 308, 309, 21, 310, 311, 0, 23,
2435 0, 0, 0, 312, 313, 314, 315, 316, 26, 0,
2436 27, 318, 0, 0, 0, 0, 0, 0, 0, 0,
2437 0, 320, 0, 0, 321, 0, 0, 0, 0, 0,
2438 0, 0, 322, 323, 324, 0, 0, 0, 0, 0,
2439 325, 326, 327, 299, 8, 9, 10, 534, 12, 533,
2440 301, 302, 0, 303, 14, 0, 0, 0, 0, 0,
2441 0, 0, 0, 0, 329, 0, 0, 0, 16, 304,
2442 17, 0, 19, 0, 305, 306, 20, 0, 307, 308,
2443 309, 21, 310, 311, 0, 23, 0, 0, 0, 312,
2444 313, 314, 315, 316, 26, 0, 27, 318, 0, 0,
2445 0, 0, 0, 0, 0, 0, 0, 320, 0, 0,
2446 321, 0, 0, 0, 0, 0, 0, 0, 322, 323,
2447 324, 0, 0, 0, 0, 0, 325, 326, 327, 299,
2448 8, 9, 10, 537, 12, 533, 301, 302, 0, 303,
2449 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2450 329, 0, 0, 0, 16, 304, 17, 0, 19, 0,
2451 305, 306, 20, 0, 307, 308, 309, 21, 310, 311,
2452 0, 23, 0, 0, 0, 312, 313, 314, 315, 316,
2453 26, 0, 27, 318, 0, 0, 0, 0, 0, 0,
2454 0, 0, 0, 320, 0, 6, 321, 7, 8, 9,
2455 10, 11, 12, 13, 322, 323, 324, 0, 14, 0,
2456 0, 0, 325, 326, 327, 0, 0, 0, 0, 328,
2457 0, 15, 16, 0, 17, 18, 19, 0, 0, 0,
2458 20, 0, 0, 0, 0, 21, 329, 0, 22, 23,
2459 24, 0, 25, 0, 0, 0, 0, 0, 26, 0,
2460 27, 28, 0, 0, 29, 0, 0, 0, 0, 0,
2461 0, 0, 0, 0, 30, 0, 0, 0, 0, 0,
2462 0, 0, 0, 761, 31, 7, 8, 762, 10, 167,
2463 12, 13, 32, 0, 0, 0, 14, 33, 0, 0,
2464 0, 0, 34, 0, 0, 0, 0, 0, 0, 0,
2465 16, 0, 17, 18, 19, 0, 0, 0, 20, 0,
2466 0, 0, 0, 21, 0, 0, 0, 23, 763, 0,
2467 168, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2468 0, 0, 764, 0, 765, 0, 0, 0, 0, 0,
2469 0, 0, 30, 1033, 8, 762, 10, 205, 12, 206,
2470 0, 0, 31, 0, 14, 0, 0, 0, 0, 0,
2471 32, 0, 0, 0, 0, 33, 0, 0, 16, 0,
2472 17, 18, 0, 0, 0, 0, 20, 0, 0, 0,
2473 0, 21, 0, 0, 0, 23, 0, 0, 0, 0,
2474 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
2475 0, 0, 1035, 0, 0, 0, 0, 0, 0, 0,
2476 30, 7, 8, 9, 10, 205, 12, 206, 0, 0,
2477 31, 0, 14, 0, 0, 0, 0, 0, 32, 0,
2478 0, 0, 0, 33, 0, 0, 16, 0, 17, 18,
2479 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
2480 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
2481 0, 0, 26, 0, 27, 28, 0, 0, 1418, 0,
2482 7, 8, 9, 10, 167, 12, 13, 0, 30, 0,
2483 0, 14, 0, 0, 0, 0, 0, 0, 31, 0,
2484 0, 0, 0, 0, 0, 16, 32, 17, 18, 0,
2485 0, 33, 0, 20, 0, 0, 0, 0, 21, 0,
2486 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
2487 0, 26, 0, 27, 28, 7, 8, 9, 10, 205,
2488 12, 206, 0, 0, 0, 0, 14, 30, 0, 0,
2489 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
2490 16, 0, 17, 18, 0, 32, 0, 0, 20, 0,
2491 33, 0, 0, 21, 0, 0, 0, 23, 0, 0,
2492 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2493 8, 9, 0, 167, 12, 13, 0, 0, 0, 0,
2494 14, 0, 30, 8, 9, 0, 167, 12, 13, 0,
2495 0, 1546, 31, 14, 16, 0, 17, 18, 0, 0,
2496 32, 0, 20, 0, 0, 33, 0, 16, 0, 17,
2497 18, 679, 0, 0, 168, 20, 0, 0, 0, 0,
2498 26, 0, 130, 131, 23, 0, 0, 8, 9, 0,
2499 205, 12, 206, 26, 0, 130, 131, 14, 0, 0,
2500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2501 0, 16, 0, 17, 18, 0, 0, 0, 0, 20,
2502 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
2503 0, 0, 0, 0, 0, 0, 0, 26, 0, 130,
2504 131, 569, 570, 571, 572, 573, 574, 575, 576, 577,
2505 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
2506 588, 589, 590, 569, 570, 571, 572, 573, 574, 575,
2507 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
2508 586, 587, 588, 589, 590, 0, 0, 0, 0, 1233,
2509 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2510 587, 588, 589, 590, 658, 0, 0, 1542, 569, 570,
2511 571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
2512 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
2513 1560, 569, 570, 571, 572, 573, 574, 575, 576, 577,
2514 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
2515 588, 589, 590, 569, 570, 571, 572, 573, 574, 575,
2516 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
2517 586, 587, 588, 589, 590, 569, 570, 571, 572, 573,
2518 574, 575, 576, 577, 578, 579, 580, 0, 582, 583,
2519 584, 585, 586, 587, 588, 589, 590
2522 static const short yycheck
[] = { 4,
2523 161, 174, 149, 150, 23, 209, 176, 175, 4, 715,
2524 4, 126, 354, 4, 401, 459, 156, 250, 401, 348,
2525 303, 304, 621, 354, 80, 80, 90, 481, 92, 628,
2526 35, 4, 714, 501, 134, 46, 401, 42, 33, 35,
2527 84, 35, 246, 860, 35, 564, 42, 133, 134, 33,
2528 372, 42, 57, 336, 14, 42, 601, 30, 31, 439,
2529 690, 4, 35, 209, 42, 76, 133, 72, 766, 42,
2530 768, 124, 218, 137, 1383, 1475, 1, 775, 760, 84,
2531 1476, 33, 697, 88, 54, 90, 4, 92, 1299, 144,
2532 1309, 295, 35, 12, 217, 218, 57, 1316, 42, 42,
2533 42, 1477, 107, 108, 55, 1204, 1205, 11, 644, 9,
2534 33, 84, 7, 47, 93, 1, 62, 35, 1499, 1218,
2535 1520, 354, 11, 83, 42, 0, 11, 62, 0, 454,
2536 64, 136, 137, 58, 139, 489, 37, 62, 1519, 74,
2537 59, 84, 37, 62, 348, 136, 106, 27, 203, 54,
2538 74, 31, 4, 507, 149, 150, 151, 62, 62, 93,
2539 165, 61, 698, 136, 169, 149, 150, 151, 622, 60,
2540 95, 176, 58, 169, 165, 136, 149, 150, 169, 1,
2541 60, 1557, 169, 35, 64, 155, 109, 165, 80, 108,
2542 42, 169, 165, 136, 140, 59, 169, 1578, 150, 151,
2543 195, 25, 213, 784, 108, 261, 1602, 536, 109, 790,
2544 156, 195, 104, 59, 47, 176, 1523, 1617, 109, 108,
2545 193, 194, 165, 108, 175, 169, 169, 169, 60, 109,
2546 200, 59, 58, 558, 58, 27, 58, 47, 62, 31,
2547 62, 133, 47, 195, 108, 1344, 59, 59, 25, 74,
2548 27, 169, 144, 1562, 1353, 1354, 54, 1356, 47, 345,
2549 93, 1480, 42, 109, 1571, 1476, 212, 59, 60, 59,
2550 60, 95, 98, 95, 220, 108, 74, 109, 345, 59,
2551 108, 58, 47, 93, 136, 62, 447, 247, 93, 94,
2552 236, 296, 392, 357, 48, 108, 108, 341, 913, 641,
2553 60, 916, 901, 108, 93, 355, 356, 60, 938, 47,
2554 1529, 203, 54, 165, 859, 680, 897, 169, 95, 108,
2555 3, 4, 5, 328, 93, 12, 473, 474, 93, 709,
2556 710, 384, 74, 3, 4, 5, 341, 7, 8, 9,
2557 486, 58, 957, 958, 349, 237, 945, 64, 670, 109,
2558 737, 4, 357, 358, 737, 93, 109, 407, 408, 1057,
2559 1579, 31, 485, 486, 47, 93, 36, 358, 341, 261,
2560 493, 54, 59, 56, 57, 62, 328, 610, 3, 4,
2561 5, 47, 35, 506, 54, 358, 56, 57, 58, 169,
2562 44, 716, 38, 992, 354, 12, 401, 358, 341, 404,
2563 54, 59, 525, 57, 733, 401, 1505, 1506, 54, 74,
2564 93, 3, 4, 5, 6, 358, 74, 75, 862, 77,
2565 3, 4, 5, 942, 47, 1242, 4, 93, 401, 209,
2566 74, 56, 57, 103, 104, 105, 441, 217, 218, 1020,
2567 47, 64, 59, 93, 898, 62, 47, 64, 504, 41,
2568 441, 1032, 403, 59, 441, 80, 48, 35, 401, 4,
2569 5, 353, 467, 441, 56, 57, 246, 531, 441, 75,
2570 93, 107, 108, 56, 57, 58, 428, 429, 473, 474,
2571 475, 60, 1164, 4, 495, 1066, 93, 1068, 80, 473,
2572 474, 475, 93, 94, 467, 47, 88, 107, 441, 504,
2573 473, 474, 25, 449, 47, 54, 358, 108, 54, 54,
2574 54, 56, 57, 504, 35, 295, 1131, 1132, 1200, 411,
2575 4, 5, 474, 475, 467, 74, 531, 4, 5, 534,
2576 74, 504, 537, 59, 60, 708, 541, 542, 543, 544,
2577 545, 93, 1010, 504, 1012, 47, 492, 60, 1016, 554,
2578 93, 94, 939, 31, 1153, 1372, 939, 62, 602, 564,
2579 47, 504, 567, 62, 48, 907, 58, 47, 348, 74,
2580 62, 671, 56, 57, 939, 74, 907, 54, 678, 56,
2581 57, 47, 534, 1182, 64, 537, 504, 4, 5, 441,
2582 58, 93, 678, 70, 54, 645, 80, 602, 8, 9,
2583 74, 553, 554, 80, 14, 809, 93, 94, 500, 673,
2584 25, 47, 27, 93, 94, 567, 621, 94, 109, 12,
2585 903, 108, 93, 628, 47, 405, 36, 93, 94, 602,
2586 54, 48, 755, 47, 27, 45, 528, 47, 31, 56,
2587 57, 1085, 1086, 58, 75, 618, 619, 62, 621, 1331,
2588 74, 1105, 504, 47, 47, 628, 981, 93, 94, 602,
2589 679, 441, 58, 80, 4, 5, 59, 60, 673, 62,
2590 93, 64, 632, 54, 907, 62, 628, 54, 621, 93,
2591 95, 62, 687, 93, 54, 628, 691, 74, 3, 4,
2592 5, 54, 328, 74, 54, 714, 647, 74, 11, 93,
2593 93, 94, 4, 5, 108, 485, 486, 9, 48, 108,
2594 766, 47, 768, 493, 47, 108, 56, 57, 774, 775,
2595 47, 785, 786, 615, 788, 781, 506, 54, 47, 1197,
2596 1198, 1199, 737, 48, 1178, 686, 94, 688, 689, 631,
2597 80, 56, 57, 1187, 1188, 525, 108, 74, 1192, 108,
2598 800, 47, 54, 109, 56, 57, 98, 93, 769, 770,
2599 93, 766, 60, 768, 737, 905, 93, 778, 70, 774,
2600 775, 1100, 93, 182, 93, 766, 781, 768, 80, 784,
2601 785, 786, 733, 788, 775, 790, 75, 3, 77, 1233,
2602 781, 60, 965, 766, 737, 768, 25, 93, 27, 47,
2603 47, 479, 775, 4, 5, 766, 54, 768, 781, 487,
2604 111, 784, 773, 774, 775, 47, 62, 790, 4, 5,
2605 781, 62, 773, 766, 94, 768, 74, 94, 464, 58,
2606 83, 84, 775, 62, 3, 4, 5, 6, 781, 62,
2607 25, 784, 27, 62, 54, 93, 93, 790, 766, 111,
2608 768, 803, 62, 858, 93, 56, 57, 775, 863, 1565,
2609 59, 93, 48, 781, 74, 980, 95, 108, 648, 93,
2610 56, 57, 41, 58, 74, 59, 75, 62, 77, 48,
2611 4, 5, 932, 74, 1328, 108, 891, 56, 57, 4,
2612 5, 74, 897, 8, 9, 950, 901, 74, 534, 14,
2613 11, 537, 3, 4, 5, 541, 7, 8, 9, 689,
2614 95, 80, 109, 28, 766, 30, 768, 59, 554, 88,
2615 108, 36, 74, 775, 897, 1369, 899, 900, 901, 781,
2616 45, 567, 56, 57, 939, 571, 941, 942, 108, 54,
2617 945, 56, 57, 939, 7, 8, 9, 907, 900, 901,
2618 945, 14, 108, 733, 897, 56, 57, 54, 901, 905,
2619 108, 945, 54, 599, 74, 62, 939, 47, 31, 605,
2620 943, 944, 945, 36, 54, 755, 74, 74, 93, 1308,
2621 1101, 1102, 45, 1104, 3, 4, 5, 992, 1044, 1044,
2622 59, 4, 5, 945, 74, 64, 939, 992, 4, 5,
2623 1005, 1057, 945, 108, 1151, 1152, 75, 109, 992, 109,
2624 1060, 1061, 1062, 93, 906, 1020, 908, 59, 60, 992,
2625 80, 81, 82, 83, 84, 1036, 111, 1032, 111, 809,
2626 108, 1042, 1043, 1180, 1181, 1046, 1047, 56, 57, 1050,
2627 992, 54, 48, 56, 57, 1109, 74, 1020, 27, 992,
2628 56, 57, 1057, 74, 3, 4, 5, 70, 950, 1032,
2629 54, 1066, 1023, 1068, 8, 9, 1057, 80, 111, 1394,
2630 14, 74, 1023, 111, 80, 4, 5, 1020, 59, 60,
2631 4, 3, 4, 5, 1057, 1410, 108, 305, 306, 1032,
2632 108, 1096, 36, 1066, 108, 1068, 1057, 4, 5, 58,
2633 1155, 45, 54, 321, 1109, 54, 324, 56, 57, 327,
2634 62, 35, 330, 108, 1057, 8, 334, 54, 42, 48,
2635 59, 60, 74, 1066, 342, 1068, 1513, 56, 57, 111,
2636 1513, 55, 54, 57, 56, 57, 58, 1307, 1306, 1057,
2637 1308, 48, 797, 798, 799, 1164, 54, 401, 1153, 56,
2638 57, 80, 1044, 93, 62, 47, 1151, 1152, 1153, 1215,
2639 59, 60, 64, 1607, 59, 60, 74, 1151, 1152, 1153,
2640 1175, 59, 60, 80, 1499, 54, 59, 1182, 1151, 1152,
2641 1153, 1175, 93, 62, 1175, 1180, 1181, 1182, 1517, 109,
2642 1195, 59, 60, 54, 1519, 74, 1180, 1181, 1182, 36,
2643 1152, 1153, 1175, 1253, 60, 1057, 64, 1180, 1181, 1182,
2644 1153, 64, 136, 467, 59, 60, 140, 3, 4, 5,
2645 6, 64, 9, 1548, 108, 12, 108, 60, 62, 1181,
2646 1182, 867, 1175, 108, 108, 108, 1128, 108, 64, 1182,
2647 64, 165, 64, 62, 111, 169, 3, 4, 5, 6,
2648 27, 175, 176, 1578, 31, 41, 108, 1175, 108, 108,
2649 47, 1586, 108, 1155, 108, 901, 30, 31, 75, 33,
2650 56, 57, 59, 75, 61, 62, 75, 64, 75, 3,
2651 4, 5, 59, 60, 41, 108, 31, 64, 75, 62,
2652 77, 48, 108, 57, 1299, 59, 62, 59, 222, 56,
2653 57, 65, 1307, 108, 1309, 108, 93, 94, 1299, 62,
2654 108, 1316, 94, 1517, 88, 1309, 111, 111, 1309, 74,
2655 1325, 108, 1316, 1215, 48, 1316, 1299, 47, 108, 108,
2656 1491, 88, 56, 57, 552, 553, 1309, 108, 108, 111,
2657 1351, 1352, 111, 1316, 109, 108, 60, 1494, 1495, 758,
2658 3, 109, 108, 6, 59, 1306, 1299, 1308, 64, 93,
2659 64, 3, 4, 5, 6, 59, 1309, 621, 59, 59,
2660 108, 780, 1545, 1316, 628, 108, 93, 141, 31, 109,
2661 93, 1299, 146, 93, 93, 149, 150, 151, 41, 111,
2662 109, 1309, 108, 108, 8, 33, 141, 108, 1316, 41,
2663 108, 146, 109, 56, 57, 108, 48, 4, 5, 1420,
2664 108, 108, 176, 64, 56, 57, 111, 70, 182, 108,
2665 3, 4, 5, 6, 108, 108, 1421, 80, 108, 193,
2666 194, 195, 108, 54, 358, 88, 108, 1421, 80, 108,
2667 93, 111, 3, 4, 5, 209, 88, 44, 47, 194,
2668 62, 108, 108, 217, 218, 96, 108, 54, 41, 56,
2669 57, 62, 62, 9, 60, 1470, 3, 4, 5, 1421,
2670 1475, 1476, 1477, 56, 57, 1480, 60, 16, 60, 403,
2671 108, 1475, 108, 737, 1475, 1476, 1480, 93, 108, 1480,
2672 108, 1496, 108, 54, 258, 56, 57, 1470, 108, 1494,
2673 1495, 1496, 1475, 1476, 1477, 88, 108, 1480, 1513, 60,
2674 1494, 1495, 1496, 258, 108, 1520, 93, 441, 60, 56,
2675 57, 1494, 1495, 64, 1529, 54, 1520, 1470, 1308, 1520,
2676 784, 93, 1475, 1476, 1477, 1529, 790, 1480, 1529, 1550,
2677 1513, 111, 17, 1495, 1496, 93, 1182, 1520, 60, 54,
2678 107, 60, 1557, 97, 108, 479, 1529, 1475, 1476, 1195,
2679 11, 108, 1480, 487, 328, 108, 60, 1518, 108, 88,
2680 1513, 90, 60, 92, 1579, 60, 93, 1520, 59, 11,
2681 504, 3, 4, 5, 1557, 1579, 1529, 64, 1579, 60,
2682 108, 60, 108, 1229, 1230, 1231, 1232, 3, 4, 5,
2683 108, 11, 1520, 60, 0, 0, 1579, 0, 2, 35,
2684 170, 1529, 1617, 1408, 1557, 671, 1025, 1026, 137, 939,
2685 139, 441, 1544, 1617, 30, 774, 1617, 4, 5, 1164,
2686 165, 8, 9, 169, 56, 57, 1579, 14, 94, 139,
2687 404, 405, 1393, 897, 1617, 1054, 1617, 901, 54, 1243,
2688 56, 57, 298, 871, 418, 721, 1292, 421, 1331, 36,
2689 925, 1579, 920, 427, 428, 429, 242, 1200, 45, 433,
2690 47, 774, 781, 418, 1617, 1217, 421, 54, 654, 56,
2691 57, 899, 900, 918, 602, 939, 200, 345, 433, 124,
2692 1309, 945, 1586, 70, 3, 4, 5, 6, 1565, 1617,
2693 1176, 1598, -1, 80, 1534, 469, 1596, 471, 1000, 473,
2694 474, 475, 1325, 90, 478, -1, 93, 94, -1, -1,
2695 484, 485, 486, 647, 469, 489, 471, -1, -1, 493,
2696 -1, -1, 41, -1, 1370, -1, -1, 1517, 992, 484,
2697 -1, -1, -1, 507, -1, 54, -1, 56, 57, -1,
2698 -1, 60, -1, 62, -1, -1, -1, 3, 4, 5,
2699 6, 70, 686, 687, 688, 689, 1020, 1403, -1, -1,
2700 534, 80, -1, 537, 3, 4, 5, -1, 1032, 88,
2701 4, 5, -1, -1, 93, 9, -1, -1, 552, 553,
2702 554, -1, 38, 39, -1, 41, -1, 107, 108, -1,
2703 319, 1210, 1211, 567, 1213, 1214, -1, 1216, 54, 733,
2704 56, 57, 1066, 737, 1068, 3, 4, 5, 1, -1,
2705 3, 4, 5, 6, 7, 8, 9, 56, 57, -1,
2706 54, 14, 56, 57, 1470, -1, -1, -1, 357, -1,
2707 1476, 1477, 766, -1, 768, 28, 70, 30, 31, 773,
2708 774, 775, -1, 36, -1, -1, 80, 781, 41, -1,
2709 1496, -1, 45, -1, 628, 48, -1, 47, 56, 57,
2710 94, 54, -1, 56, 57, -1, -1, 60, -1, -1,
2711 -1, 3, 4, 5, 648, -1, -1, 70, -1, 1107,
2712 -1, -1, 3, 4, 5, -1, -1, 80, -1, 1153,
2713 3, 4, 5, 6, -1, 88, 86, 87, -1, -1,
2714 93, 91, 92, 93, 94, -1, -1, -1, -1, -1,
2715 -1, 1557, -1, 687, -1, 689, 690, -1, 1182, -1,
2716 -1, -1, 1341, 1342, 56, 57, -1, 1573, 41, -1,
2717 459, 460, -1, 4, 5, 56, 57, -1, 467, -1,
2718 -1, 54, -1, 56, 57, -1, -1, 60, -1, 1595,
2719 -1, -1, 1180, 1181, -1, -1, 1602, 70, -1, 733,
2720 3, 4, 5, -1, 7, 8, 9, 80, -1, -1,
2721 744, 745, -1, 747, -1, 88, 47, -1, -1, -1,
2722 93, 755, -1, 54, 758, 56, 57, -1, 31, 744,
2723 745, -1, 747, 36, -1, -1, -1, -1, -1, 70,
2724 774, -1, 531, 532, -1, -1, 780, -1, 328, 80,
2725 -1, -1, -1, 56, 57, -1, -1, -1, -1, 90,
2726 -1, -1, 93, 94, 1443, 1444, 1445, -1, -1, 803,
2727 -1, 193, 194, 195, -1, 564, -1, 566, -1, -1,
2728 569, 570, -1, 572, 573, 574, 575, 576, 577, 578,
2729 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
2730 589, 590, -1, 592, -1, -1, -1, -1, -1, 598,
2731 -1, 1299, 76, 77, 78, 79, 80, 81, 82, 83,
2732 84, 401, -1, 1502, 1503, -1, -1, -1, -1, 1023,
2733 -1, -1, -1, -1, -1, 3, 4, 5, 6, 628,
2734 -1, -1, -1, 14, -1, -1, 635, 4, 5, -1,
2735 -1, 22, 9, -1, 3, 4, 5, 6, -1, -1,
2736 9, -1, -1, 1057, -1, 899, 900, 901, 657, 658,
2737 -1, -1, -1, 41, -1, -1, -1, -1, -1, 47,
2738 -1, -1, 31, -1, 673, -1, 54, 467, 56, 57,
2739 47, 1570, 41, -1, 65, -1, -1, 54, 47, 56,
2740 57, -1, 70, -1, 938, 54, -1, 56, 57, 943,
2741 944, 945, 80, 70, -1, -1, -1, -1, -1, -1,
2742 88, 70, 90, 80, -1, 93, 94, -1, -1, 944,
2743 -1, 80, 721, 90, -1, -1, 93, 94, -1, 88,
2744 -1, 90, -1, -1, 93, 94, -1, -1, 3, 4,
2745 5, 6, -1, 124, 534, -1, -1, 537, 992, -1,
2746 -1, 541, 542, 543, 544, 545, 7, 8, 9, -1,
2747 -1, -1, -1, 14, 554, -1, 765, 148, 3, 4,
2748 5, 6, -1, -1, -1, -1, 41, 567, -1, 1513,
2749 31, 1025, 1026, 48, -1, 36, 785, 786, -1, 788,
2750 -1, 56, 57, -1, 45, -1, 1494, 1495, -1, -1,
2751 -1, -1, -1, -1, 803, -1, 41, -1, 1212, 60,
2752 1054, -1, -1, 1217, -1, 80, -1, -1, -1, 54,
2753 460, 56, 57, 88, -1, -1, 825, 467, -1, -1,
2754 -1, 621, -1, -1, -1, -1, -1, 469, 628, 471,
2755 -1, 473, 474, 475, 4, 5, -1, -1, 8, 9,
2756 -1, -1, 484, 88, 14, -1, 237, 238, 857, 858,
2757 -1, -1, -1, 862, 863, -1, -1, -1, 28, 250,
2758 30, -1, -1, -1, -1, -1, 36, -1, 877, -1,
2759 879, -1, 881, -1, -1, 45, -1, 47, 7, 8,
2760 9, -1, 532, -1, 54, 14, 56, 57, -1, -1,
2761 -1, -1, 1306, 1307, 1308, 1149, 1150, 1151, 1152, 1153,
2762 70, -1, 31, 1157, -1, -1, -1, 36, 917, -1,
2763 80, -1, -1, -1, 1149, 1150, 45, -1, 927, -1,
2764 90, -1, 1157, 93, 94, -1, 1180, 1181, 1182, 320,
2765 -1, 60, -1, 942, 7, 8, 9, 737, -1, -1,
2766 -1, 14, 592, -1, -1, -1, 955, -1, 598, -1,
2767 -1, -1, -1, -1, -1, -1, 1210, 1211, 31, 1213,
2768 1214, -1, 1216, 36, 973, -1, -1, -1, -1, -1,
2769 -1, 362, 45, 78, 79, 80, 81, 82, 83, 84,
2770 371, -1, -1, 992, 784, 635, -1, -1, -1, -1,
2771 790, 4, -1, 384, -1, -1, 3, 4, 5, 6,
2772 -1, 14, 9, -1, -1, -1, -1, -1, -1, -1,
2773 -1, 24, -1, 1267, 1268, -1, 1270, 30, 31, -1,
2774 33, -1, 35, -1, 31, -1, 1035, -1, -1, 42,
2775 -1, -1, 1267, 1268, 41, 1270, -1, -1, -1, -1,
2776 -1, -1, 55, -1, 57, -1, -1, 54, -1, 56,
2777 57, -1, 65, 1307, 1308, -1, -1, -1, 858, 72,
2778 -1, -1, -1, 70, 4, 5, -1, -1, -1, 9,
2779 83, 84, -1, 80, -1, -1, 1085, 1086, -1, -1,
2780 1089, 88, -1, -1, -1, -1, 93, 1341, 1342, -1,
2781 -1, 891, -1, 106, -1, -1, -1, 897, -1, -1,
2782 1109, 901, 744, 745, 1518, 747, -1, 47, -1, 500,
2783 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
2784 -1, 134, -1, 136, -1, -1, -1, 140, 141, -1,
2785 70, 773, 145, 146, -1, -1, 149, 150, 151, 939,
2786 80, 941, -1, -1, -1, 945, -1, -1, -1, -1,
2787 90, -1, 165, 93, 94, -1, 169, 1166, -1, 1168,
2788 -1, 1170, 175, 176, -1, -1, -1, 1421, -1, 1178,
2789 -1, -1, -1, -1, -1, 566, -1, -1, 1187, 1188,
2790 193, 194, 195, 1192, 3, 4, 5, 6, -1, 1443,
2791 1444, 1445, 992, -1, -1, -1, -1, -1, -1, 1208,
2792 1209, -1, -1, -1, -1, 1005, -1, 857, 858, 222,
2793 -1, -1, 31, 863, -1, -1, -1, -1, -1, 610,
2794 1020, -1, 41, -1, 1233, 238, -1, 877, -1, 879,
2795 -1, 881, 1032, -1, 247, 54, -1, 56, 57, -1,
2796 1494, 1495, 1496, -1, -1, 258, -1, -1, 1502, 1503,
2797 -1, 70, -1, -1, -1, 1264, -1, -1, -1, -1,
2798 -1, 80, -1, -1, -1, -1, 1066, -1, 1068, 88,
2799 -1, -1, -1, -1, 93, -1, -1, 927, -1, 1288,
2800 -1, -1, -1, 296, 297, 753, -1, -1, 679, -1,
2801 3, 4, 5, -1, 7, -1, 1096, -1, -1, 690,
2802 -1, 943, 944, 945, 3, 4, 5, 6, -1, -1,
2803 -1, -1, -1, -1, -1, 783, 1570, 30, -1, 1328,
2804 -1, 789, -1, 973, 37, -1, -1, -1, 341, -1,
2805 721, -1, 345, -1, 347, 348, 349, -1, 1347, -1,
2806 -1, 54, 41, 56, 57, 358, -1, -1, -1, 48,
2807 992, -1, -1, 1153, -1, -1, -1, 56, 57, -1,
2808 1369, 4, 5, -1, -1, 8, 9, -1, -1, -1,
2809 -1, 14, -1, -1, -1, -1, -1, -1, -1, 392,
2810 -1, 1023, 1182, -1, -1, -1, -1, -1, 401, 88,
2811 403, 404, -1, 36, -1, 1195, -1, -1, -1, -1,
2812 -1, -1, 45, -1, 47, 418, -1, -1, 421, -1,
2813 -1, 54, 1421, 56, 57, -1, -1, -1, -1, -1,
2814 433, -1, -1, -1, 892, -1, 894, 70, 441, -1,
2815 -1, -1, 1441, 1442, -1, -1, -1, 80, -1, -1,
2816 -1, 1450, 3, 4, 5, 6, -1, 90, -1, -1,
2817 93, 94, 3, 4, 5, 6, 469, -1, 471, -1,
2818 473, 474, 475, -1, -1, -1, 479, -1, -1, 1478,
2819 -1, 484, -1, -1, 487, -1, -1, -1, -1, -1,
2820 41, -1, -1, -1, -1, -1, -1, 48, -1, -1,
2821 41, 504, -1, -1, -1, 56, 57, 48, 3, 4,
2822 5, 6, -1, -1, 9, 56, 57, 1149, 1150, 1151,
2823 1152, 1153, -1, -1, -1, 1157, 1166, -1, 1168, 80,
2824 1170, -1, -1, -1, -1, 1325, 31, 88, -1, 542,
2825 543, 544, 545, -1, 925, -1, 41, 88, 1180, 1181,
2826 1182, -1, -1, -1, -1, -1, -1, 938, -1, 54,
2827 -1, 56, 57, -1, -1, -1, 3, 4, 5, 6,
2828 -1, -1, 9, -1, -1, 70, -1, -1, -1, -1,
2829 1212, -1, -1, -1, -1, 80, 82, -1, 347, 348,
2830 349, -1, -1, 88, 31, -1, -1, -1, 93, 602,
2831 -1, 604, -1, -1, 41, -1, -1, 1065, 1607, 1067,
2832 47, -1, -1, 616, -1, 618, 619, 54, 621, 56,
2833 57, -1, -1, -1, 1264, 628, -1, -1, -1, 632,
2834 -1, -1, -1, 70, -1, 1267, 1268, -1, 1270, -1,
2835 -1, -1, -1, 80, 647, -1, -1, -1, -1, -1,
2836 -1, 88, -1, 90, -1, -1, 93, 94, -1, -1,
2837 -1, -1, -1, 159, 1122, -1, -1, -1, 671, 4,
2838 5, -1, -1, -1, 9, 678, -1, -1, -1, -1,
2839 -1, -1, -1, 686, 687, 688, 689, 690, 691, -1,
2840 -1, -1, -1, -1, -1, 191, -1, -1, -1, -1,
2841 -1, -1, -1, -1, -1, 1086, 1496, -1, 204, -1,
2842 -1, -1, 47, -1, -1, 3, 4, 5, 6, 54,
2843 -1, 56, 57, 1513, -1, -1, 3, 4, 5, 6,
2844 733, -1, 9, -1, 737, 70, -1, -1, -1, -1,
2845 -1, 744, 745, 1201, 747, 80, -1, -1, 1206, -1,
2846 -1, -1, -1, 41, 31, 90, -1, -1, 93, 94,
2847 763, -1, -1, 766, 41, 768, 54, -1, 56, 57,
2848 773, 774, 775, -1, 62, -1, -1, 54, 781, 56,
2849 57, 784, 70, -1, -1, -1, -1, 790, -1, 1421,
2850 -1, 1172, 80, 70, 797, 798, 799, 1178, -1, 1257,
2851 88, -1, -1, 80, -1, 93, 809, -1, -1, -1,
2852 -1, 88, -1, -1, -1, -1, 93, -1, 1, 4,
2853 3, 4, 5, 6, -1, 8, -1, -1, -1, 14,
2854 -1, -1, -1, -1, -1, -1, -1, -1, 23, 24,
2855 -1, -1, -1, -1, -1, 30, 31, -1, 33, -1,
2856 35, -1, -1, -1, -1, -1, -1, 42, 41, 618,
2857 619, -1, 1494, 1495, 1496, 48, -1, -1, -1, -1,
2858 55, 54, 57, 56, 57, -1, -1, -1, -1, 882,
2859 65, 884, -1, -1, -1, -1, -1, 72, 891, -1,
2860 -1, -1, 895, -1, 897, -1, 899, 900, 901, 84,
2861 -1, -1, 1360, 1361, 907, 88, -1, -1, -1, -1,
2862 -1, -1, 1293, 1294, -1, -1, -1, -1, -1, 1377,
2863 -1, -1, -1, -1, -1, -1, -1, 686, 460, 688,
2864 689, -1, 691, -1, -1, 467, 939, -1, 941, -1,
2865 943, 944, 945, -1, -1, -1, -1, -1, -1, -1,
2866 -1, 136, -1, -1, -1, 140, 141, -1, -1, -1,
2867 -1, 146, -1, -1, 149, 150, 151, -1, 3, 4,
2868 5, 6, -1, -1, 733, -1, -1, -1, 1436, 1437,
2869 165, 477, -1, -1, 169, -1, 482, -1, -1, 992,
2870 175, 176, -1, -1, -1, -1, 31, 1455, 1456, -1,
2871 532, -1, 1005, -1, 1385, -1, 41, -1, 193, 194,
2872 195, -1, 508, -1, -1, -1, -1, 1020, 514, 54,
2873 1023, 56, 57, -1, -1, -1, 1407, 1408, -1, 1032,
2874 526, 527, -1, 529, -1, 70, -1, 222, -1, -1,
2875 -1, -1, 1045, -1, -1, 80, -1, -1, -1, -1,
2876 809, -1, -1, 88, 1057, -1, -1, -1, 93, -1,
2877 592, -1, -1, 1066, -1, 1068, 598, -1, -1, -1,
2878 -1, -1, -1, 258, 67, 68, 69, 70, 71, 72,
2879 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2880 83, 84, -1, 1096, -1, -1, 628, -1, 1101, 1102,
2881 -1, 1104, -1, 635, -1, -1, -1, 1488, -1, -1,
2882 -1, 296, 297, -1, 3, 4, 5, 6, -1, -1,
2883 9, -1, -1, 882, -1, 884, -1, -1, 624, 625,
2884 -1, -1, -1, 629, -1, -1, 895, -1, -1, -1,
2885 899, 900, 31, -1, -1, -1, 1149, 1150, 1151, 1152,
2886 1153, -1, 41, -1, 1157, -1, 341, -1, 47, -1,
2887 345, -1, 347, 348, 349, 54, -1, 56, 57, 354,
2888 4, 5, -1, 358, 8, 9, -1, 1180, 1181, 1182,
2889 14, 70, -1, -1, 943, 944, -1, -1, -1, -1,
2890 -1, 80, -1, -1, 28, -1, 30, -1, -1, 88,
2891 -1, 90, 36, -1, 93, 94, -1, 392, -1, 1212,
2892 -1, 45, -1, -1, 1217, -1, 401, -1, 403, 404,
2893 54, -1, 56, 57, 3, 4, 5, 6, 7, 8,
2894 9, -1, -1, 418, -1, 14, 421, -1, -1, -1,
2895 -1, -1, -1, -1, -1, -1, -1, -1, 433, 28,
2896 -1, 30, 31, -1, -1, -1, 441, 36, -1, -1,
2897 -1, -1, 41, -1, 1267, 1268, 45, 1270, 47, -1,
2898 -1, 803, -1, -1, -1, 54, -1, 56, 57, -1,
2899 -1, -1, -1, -1, 469, -1, 471, -1, 473, 474,
2900 475, 70, -1, -1, 479, 791, -1, 793, -1, 484,
2901 -1, 80, 487, 1306, 1307, 1308, -1, -1, -1, 88,
2902 -1, 90, -1, -1, 93, 94, -1, -1, -1, 504,
2903 -1, -1, 1325, -1, -1, 857, 858, -1, -1, -1,
2904 -1, 863, -1, -1, -1, 3, 4, 5, 6, 7,
2905 8, 9, -1, -1, -1, 877, 14, 879, -1, 881,
2906 -1, -1, -1, -1, -1, -1, -1, 542, 543, 544,
2907 545, -1, -1, 31, -1, -1, -1, -1, 36, 865,
2908 866, -1, 868, 41, -1, -1, -1, 45, -1, 47,
2909 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2910 1149, 1150, 1151, 1152, -1, 927, -1, -1, 1157, -1,
2911 896, -1, 70, -1, -1, -1, 347, 348, 349, -1,
2912 -1, -1, 80, 12, -1, -1, -1, 602, 1421, 604,
2913 88, 1180, 1181, -1, -1, 93, -1, -1, -1, -1,
2914 -1, -1, -1, 618, 619, -1, 621, -1, -1, -1,
2915 -1, 973, -1, 628, -1, -1, -1, -1, -1, -1,
2916 -1, 947, -1, -1, -1, -1, 641, -1, -1, -1,
2917 992, -1, 647, 62, 63, 64, 65, 66, 67, 68,
2918 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2919 79, 80, 81, 82, 83, 84, 671, -1, -1, -1,
2920 -1, 1494, 1495, 1496, 679, -1, -1, -1, -1, -1,
2921 -1, 686, 687, 688, 689, 690, 691, -1, 1267, 1268,
2922 1513, 1270, -1, -1, -1, 1518, -1, -1, -1, -1,
2923 -1, -1, -1, 1019, -1, -1, -1, -1, -1, 714,
2924 -1, -1, -1, -1, -1, 1031, -1, -1, -1, -1,
2925 -1, -1, -1, -1, -1, 4, 5, -1, 733, 8,
2926 9, -1, 737, -1, -1, 14, -1, -1, -1, 744,
2927 745, -1, 747, -1, 3, 4, 5, 6, -1, 28,
2928 9, 30, -1, -1, -1, 760, -1, 36, 763, -1,
2929 -1, 766, -1, 768, -1, -1, 45, -1, 773, 774,
2930 775, -1, 31, -1, -1, 54, 781, 56, 57, 784,
2931 -1, -1, 41, -1, -1, 790, -1, -1, 47, -1,
2932 -1, -1, 797, 798, 799, 54, -1, 56, 57, -1,
2933 -1, 1117, -1, -1, 809, -1, -1, -1, -1, -1,
2934 -1, 70, 4, -1, 1166, -1, 1168, -1, 1170, -1,
2935 -1, 80, -1, -1, -1, -1, -1, -1, -1, 88,
2936 -1, 90, -1, -1, 93, 94, -1, -1, 30, 31,
2937 1156, 33, -1, 35, -1, -1, -1, -1, -1, -1,
2938 42, -1, -1, -1, -1, -1, -1, 618, 619, -1,
2939 621, -1, -1, 55, -1, 57, -1, 628, -1, -1,
2940 -1, -1, -1, -1, -1, -1, -1, 882, -1, 884,
2941 -1, -1, -1, -1, -1, -1, 891, -1, 80, -1,
2942 895, -1, 897, -1, 899, 900, 901, -1, -1, -1,
2943 -1, -1, 907, -1, 1220, -1, -1, -1, 1224, -1,
2944 -1, -1, 1264, 73, 74, 75, 76, 77, 78, 79,
2945 80, 81, 82, 83, 84, 686, -1, 688, 689, -1,
2946 691, -1, -1, -1, 939, -1, 941, -1, 943, 944,
2947 945, 133, 134, 1259, 136, -1, -1, -1, 140, 141,
2948 -1, -1, 144, -1, 146, -1, -1, 149, 150, 151,
2949 -1, -1, -1, -1, 156, -1, -1, -1, -1, -1,
2950 -1, -1, 733, 165, -1, -1, -1, 169, -1, -1,
2951 -1, -1, -1, 175, 176, -1, -1, 992, -1, -1,
2952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2953 1005, 193, 194, 195, -1, -1, -1, -1, -1, -1,
2954 -1, 203, -1, -1, -1, 1020, -1, -1, 1023, -1,
2955 1336, -1, -1, -1, 1340, -1, -1, 1032, -1, -1,
2956 222, -1, -1, -1, -1, 3, 4, 5, 6, 3,
2957 4, 5, 6, 7, 8, 9, 1362, 1363, 809, -1,
2958 14, -1, 1057, -1, -1, -1, -1, -1, -1, -1,
2959 -1, 1066, -1, 1068, -1, -1, 258, 31, -1, 1421,
2960 -1, -1, 36, 41, -1, -1, -1, 41, -1, -1,
2961 -1, 45, -1, 47, -1, -1, 54, -1, 56, 57,
2962 54, 1096, 56, 57, 62, -1, 1101, 1102, -1, 1104,
2963 -1, -1, 70, -1, -1, -1, 70, -1, -1, -1,
2964 -1, -1, 80, -1, -1, -1, 80, -1, -1, -1,
2965 88, 882, -1, 884, 88, 93, 90, -1, -1, 93,
2966 94, -1, -1, -1, 895, -1, 328, -1, 899, 900,
2967 901, -1, -1, -1, 1149, 1150, 1151, 1152, 1153, -1,
2968 -1, -1, 1157, 345, -1, -1, -1, -1, -1, 1164,
2969 -1, 353, -1, -1, -1, -1, 358, -1, -1, -1,
2970 -1, -1, -1, -1, -1, 1180, 1181, 1182, -1, -1,
2971 -1, -1, 943, 944, 945, -1, -1, -1, -1, -1,
2972 -1, -1, -1, -1, -1, 1200, -1, -1, -1, -1,
2973 392, -1, -1, -1, -1, -1, -1, 1212, -1, -1,
2974 -1, 403, 1217, -1, -1, -1, -1, 1, -1, 3,
2975 4, 5, 6, 7, 8, 9, 418, -1, -1, 421,
2976 14, 992, -1, -1, -1, 427, 428, 429, -1, -1,
2977 -1, 433, -1, -1, 28, -1, 30, 31, 32, 441,
2978 -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
2979 -1, 45, 1267, 1268, 48, 1270, -1, -1, -1, -1,
2980 54, -1, 56, 57, -1, -1, -1, 469, -1, 471,
2981 -1, 473, 474, 475, 4, 5, 70, 479, 8, 9,
2982 1295, -1, 484, -1, 14, 487, 80, -1, -1, -1,
2983 -1, 1306, 1307, 1308, 88, -1, -1, -1, 28, 93,
2984 30, -1, 504, -1, 98, -1, 36, -1, -1, -1,
2985 1325, -1, -1, -1, -1, 45, 1331, -1, -1, -1,
2986 -1, -1, -1, -1, 54, -1, 56, 57, 58, -1,
2987 -1, -1, 534, -1, -1, 537, -1, -1, 3, 4,
2988 5, 6, -1, -1, 9, -1, -1, -1, -1, -1,
2989 552, 553, 554, -1, -1, -1, -1, -1, -1, -1,
2990 -1, -1, -1, 93, -1, 567, 31, -1, -1, 4,
2991 -1, -1, -1, -1, -1, -1, 41, -1, 1149, 1150,
2992 1151, 1152, 1153, -1, -1, -1, 1157, -1, -1, 54,
2993 -1, 56, 57, -1, -1, 30, 31, -1, 33, -1,
2994 35, -1, -1, -1, -1, 70, 1421, 42, -1, 1180,
2995 1181, 1182, -1, 615, 31, 80, -1, -1, -1, -1,
2996 55, -1, 57, 88, -1, -1, 628, -1, 93, 69,
2997 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2998 80, 81, 82, 83, 84, 647, 63, 64, 65, 66,
2999 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3000 77, 78, 79, 80, 81, 82, 83, 84, -1, 671,
3001 -1, -1, 3, 4, 5, 6, 678, -1, 9, 1494,
3002 1495, 1496, -1, -1, 686, 687, 688, 689, -1, -1,
3003 -1, -1, -1, -1, -1, -1, 1267, 1268, 1513, 1270,
3004 31, 136, -1, 1518, -1, 140, 141, -1, -1, -1,
3005 41, 146, -1, -1, 149, 150, 151, -1, -1, -1,
3006 -1, -1, -1, 54, -1, 56, 57, -1, -1, -1,
3007 165, 733, -1, -1, 169, 737, -1, -1, -1, 70,
3008 175, 176, 744, 745, -1, 747, -1, -1, -1, 80,
3009 -1, -1, -1, -1, -1, -1, -1, 88, 193, 194,
3010 195, -1, 93, -1, 766, -1, 768, -1, -1, -1,
3011 -1, 773, 774, 775, -1, -1, -1, -1, -1, 781,
3012 -1, -1, -1, -1, -1, -1, -1, 222, -1, 33,
3013 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3014 1, 803, 3, 4, 5, 6, 7, 8, 9, 10,
3015 11, 55, 13, 14, -1, -1, -1, -1, -1, -1,
3016 -1, -1, -1, 258, -1, -1, -1, 28, 29, 30,
3017 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3018 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3019 51, 52, 53, 54, -1, 56, 57, 58, -1, 60,
3020 61, -1, 3, 4, 5, 6, 67, -1, 9, 70,
3021 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3022 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3023 31, -1, 93, -1, -1, -1, -1, 899, 900, 901,
3024 41, -1, -1, 905, 906, 149, 150, 151, -1, 110,
3025 -1, -1, -1, 54, -1, 56, 57, -1, -1, 354,
3026 -1, -1, -1, 358, -1, -1, -1, -1, -1, 70,
3027 -1, 175, -1, -1, -1, -1, -1, -1, -1, 80,
3028 -1, 943, 944, 945, -1, -1, -1, 88, 950, 193,
3029 194, 195, 93, -1, -1, -1, -1, -1, -1, -1,
3030 -1, 4, 5, -1, 7, 8, 9, -1, 403, 12,
3031 -1, 14, -1, -1, -1, -1, -1, -1, 222, -1,
3032 -1, -1, -1, 418, -1, 28, 421, 30, 31, -1,
3033 992, -1, -1, 36, 55, -1, -1, -1, 433, -1,
3034 -1, -1, 45, -1, 47, -1, 441, -1, -1, -1,
3035 -1, 54, -1, 56, 57, -1, -1, -1, -1, 80,
3036 -1, 1023, 83, -1, -1, -1, -1, 70, -1, -1,
3037 3, 4, 5, 6, 469, -1, 471, 80, 473, 474,
3038 475, -1, 1044, 104, 479, 106, -1, 90, -1, 484,
3039 93, 94, 487, 297, -1, 1057, -1, -1, 31, -1,
3040 -1, -1, -1, -1, -1, -1, -1, -1, 41, 504,
3041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3042 -1, 54, -1, 56, 57, 3, 4, 5, 6, 7,
3043 8, 9, -1, -1, 12, -1, 14, 70, -1, -1,
3044 -1, -1, -1, 347, 348, 349, -1, 80, -1, -1,
3045 28, -1, 30, 31, 175, 88, -1, -1, 36, -1,
3046 93, -1, -1, 41, -1, -1, 1128, 45, -1, 47,
3047 -1, -1, 193, 194, 195, -1, 54, -1, 56, 57,
3048 -1, -1, 203, -1, -1, -1, -1, 1149, 1150, 1151,
3049 1152, 1153, 70, 1155, -1, 1157, -1, -1, -1, 403,
3050 -1, 222, 80, -1, -1, 3, 4, 5, 6, -1,
3051 88, 9, 90, -1, -1, 93, 94, -1, 1180, 1181,
3052 1182, 616, -1, -1, -1, -1, 247, -1, -1, -1,
3053 -1, -1, -1, 31, -1, 3, 4, 5, 6, -1,
3054 261, 9, -1, 41, -1, -1, 3, 4, 5, 6,
3055 1212, -1, 647, -1, -1, 1217, 54, -1, 56, 57,
3056 -1, -1, -1, 31, -1, 469, -1, 471, -1, 473,
3057 474, 475, 70, 41, -1, 479, -1, -1, -1, -1,
3058 484, -1, 80, 487, 41, -1, 54, -1, 56, 57,
3059 88, 686, 687, 688, 689, 93, -1, 54, -1, 56,
3060 57, -1, 70, 60, -1, 1267, 1268, -1, 1270, -1,
3061 -1, -1, 80, 70, -1, -1, -1, -1, -1, -1,
3062 88, -1, -1, 80, -1, 93, -1, -1, -1, -1,
3063 -1, 88, 353, 354, -1, -1, 93, -1, 733, -1,
3064 -1, -1, 737, -1, 1306, 1307, 1308, -1, -1, 744,
3065 745, -1, 747, -1, -1, -1, 3, 4, 5, 6,
3066 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
3067 -1, 766, -1, 768, -1, -1, -1, -1, 773, 774,
3068 775, 28, 403, 30, 31, 32, 781, -1, -1, 36,
3069 -1, -1, -1, -1, 41, -1, -1, -1, 45, -1,
3070 604, 48, -1, -1, -1, -1, -1, 54, -1, 56,
3071 57, -1, -1, -1, 618, 619, -1, 621, -1, -1,
3072 -1, -1, -1, 70, 628, -1, -1, -1, -1, -1,
3073 -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
3074 -1, 88, -1, 647, -1, -1, 93, -1, 469, -1,
3075 471, 98, 473, 474, 475, -1, -1, -1, 479, 1421,
3076 -1, -1, -1, 484, -1, -1, 487, -1, 3, 4,
3077 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3078 -1, -1, 686, -1, 688, 689, -1, 691, -1, -1,
3079 -1, -1, -1, 28, -1, 30, 31, -1, -1, -1,
3080 -1, 36, -1, -1, -1, -1, 41, -1, -1, -1,
3081 45, -1, 907, -1, -1, -1, -1, -1, -1, 54,
3082 -1, 56, 57, -1, -1, 60, -1, -1, -1, 733,
3083 -1, -1, 1494, 1495, 1496, 70, -1, -1, -1, -1,
3084 744, 745, -1, 747, -1, 80, -1, -1, 943, 944,
3085 945, -1, -1, 88, -1, -1, 1518, -1, 93, -1,
3086 -1, -1, -1, -1, -1, -1, -1, -1, -1, 773,
3087 -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
3088 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
3089 14, -1, -1, 797, 798, 799, -1, 992, -1, -1,
3090 -1, -1, -1, -1, 28, 809, 30, 31, 32, -1,
3091 631, 632, 36, 37, -1, -1, -1, 41, -1, -1,
3092 -1, 45, 46, -1, 48, -1, 647, -1, 1023, -1,
3093 54, -1, 56, 57, -1, -1, 60, -1, 62, -1,
3094 -1, -1, -1, -1, -1, -1, 70, -1, 3, 4,
3095 5, 6, 7, 8, 9, -1, 80, 12, -1, 14,
3096 -1, -1, 1057, -1, 88, 686, -1, 688, 689, 93,
3097 -1, -1, -1, 28, -1, 30, 31, -1, 882, -1,
3098 884, 36, -1, -1, -1, 109, 41, -1, -1, -1,
3099 45, 895, -1, -1, -1, 899, 900, 901, -1, 54,
3100 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3101 -1, -1, 733, -1, -1, 70, -1, -1, 14, -1,
3102 -1, -1, -1, 744, 745, 80, 747, 23, 24, -1,
3103 -1, -1, -1, 88, 30, 31, -1, 33, 93, 943,
3104 944, 945, -1, -1, 3, 4, 5, 6, -1, -1,
3105 -1, -1, 773, -1, 1149, 1150, 1151, 1152, 1153, -1,
3106 -1, -1, 1157, -1, -1, -1, -1, -1, -1, 65,
3107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3108 -1, -1, 41, -1, -1, 1180, 1181, 1182, 992, 3,
3109 4, 5, 6, -1, -1, 54, -1, 56, 57, -1,
3110 -1, -1, -1, 62, -1, -1, -1, -1, -1, -1,
3111 -1, 70, -1, -1, -1, -1, -1, 1212, -1, 1023,
3112 -1, 80, 1217, -1, -1, -1, -1, 41, 124, 88,
3113 126, -1, -1, -1, 93, -1, -1, 133, 134, -1,
3114 54, -1, 56, 57, 140, 141, -1, -1, 144, 145,
3115 146, -1, 148, 149, 150, 151, 70, -1, -1, -1,
3116 -1, -1, -1, -1, -1, -1, 80, -1, -1, -1,
3117 -1, -1, 1267, 1268, 88, 1270, -1, -1, -1, 93,
3118 -1, -1, -1, -1, -1, 906, 907, 908, -1, -1,
3119 -1, -1, -1, -1, -1, -1, -1, 1101, 1102, -1,
3120 1104, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3121 -1, 1306, 1307, 1308, -1, -1, -1, -1, -1, -1,
3122 -1, -1, 943, 944, 945, -1, -1, -1, -1, 950,
3123 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3124 -1, 237, 238, -1, -1, 1149, 1150, 1151, 1152, 1153,
3125 -1, -1, -1, 1157, -1, -1, -1, -1, -1, 980,
3126 -1, -1, 258, -1, -1, -1, -1, -1, -1, -1,
3127 -1, 992, -1, -1, -1, -1, 1180, 1181, 1182, -1,
3128 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3129 -1, -1, -1, -1, 14, -1, -1, -1, -1, -1,
3130 -1, 297, 1023, -1, -1, -1, -1, -1, 1212, -1,
3131 -1, 31, -1, -1, -1, -1, 36, -1, -1, -1,
3132 -1, 41, -1, 1044, -1, 45, 1421, 47, -1, -1,
3133 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
3134 -1, -1, -1, -1, -1, -1, -1, -1, -1, 345,
3135 70, 347, 348, -1, -1, -1, -1, -1, -1, -1,
3136 80, -1, -1, 1267, 1268, -1, 1270, -1, 88, -1,
3137 90, -1, -1, 93, 94, 68, 69, 70, 71, 72,
3138 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3139 83, 84, -1, -1, -1, -1, 392, -1, -1, 1494,
3140 1495, 1496, 1306, -1, 1308, -1, -1, 1128, -1, -1,
3141 -1, -1, -1, -1, -1, 411, 4, 5, -1, 7,
3142 8, 9, 418, 1518, 12, 421, 14, -1, 1149, 1150,
3143 1151, 1152, 1153, -1, 1155, -1, 1157, 433, -1, -1,
3144 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
3145 -1, -1, -1, -1, -1, -1, -1, 45, -1, 1180,
3146 1181, 1182, -1, -1, -1, -1, 54, -1, 56, 57,
3147 -1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
3148 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3149 -1, 1212, -1, -1, -1, -1, -1, -1, -1, -1,
3150 -1, 28, 29, 30, 500, 32, -1, 34, 35, 36,
3151 -1, 38, 39, 40, 41, 42, 43, 1421, 45, -1,
3152 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3153 57, 58, 528, -1, 61, -1, -1, -1, -1, -1,
3154 67, -1, -1, 70, -1, -1, 1267, 1268, -1, 1270,
3155 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3156 87, 88, -1, -1, -1, -1, 93, 94, -1, -1,
3157 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3158 -1, -1, 12, 110, 14, 1306, -1, 1308, -1, -1,
3159 1494, 1495, 1496, -1, -1, 25, -1, 27, -1, -1,
3160 -1, 31, -1, -1, -1, -1, 36, -1, 604, -1,
3161 -1, 41, -1, -1, 1518, 45, -1, 47, -1, 615,
3162 616, -1, 618, 619, 54, -1, 56, 57, 58, 59,
3163 60, -1, 62, 63, 64, 65, 66, 67, 68, 69,
3164 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3165 80, 81, 82, 83, 84, -1, 86, 87, 88, -1,
3166 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
3167 -1, -1, 102, -1, -1, 671, -1, 107, 108, 109,
3168 -1, 111, 678, 679, -1, -1, -1, -1, -1, -1,
3169 -1, -1, -1, -1, 690, -1, -1, -1, -1, 1,
3170 1421, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3171 12, 13, 14, -1, -1, -1, -1, -1, 714, -1,
3172 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3173 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3174 42, 43, -1, 45, -1, 47, -1, 49, 50, 51,
3175 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3176 -1, -1, -1, -1, 760, 67, -1, 763, 70, -1,
3177 -1, -1, -1, 1494, 1495, 1496, 78, 79, 80, -1,
3178 -1, -1, -1, -1, 86, 87, 88, -1, 90, -1,
3179 -1, 93, 94, -1, -1, -1, -1, 1518, -1, -1,
3180 -1, 797, 798, 799, -1, -1, -1, -1, 110, -1,
3181 -1, -1, -1, 809, -1, 1, -1, 3, 4, 5,
3182 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3183 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3184 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3185 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3186 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3187 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3188 -1, 67, -1, -1, 70, -1, 882, -1, 884, -1,
3189 -1, -1, 78, 79, 80, -1, -1, -1, -1, 895,
3190 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3191 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3192 82, 83, 84, 109, 110, -1, 1, -1, 3, 4,
3193 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3194 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3195 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3196 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
3197 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
3198 -1, 56, 57, 58, 980, 60, 61, -1, -1, -1,
3199 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3200 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3201 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3202 95, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3203 -1, -1, -1, -1, 1, 110, 3, 4, 5, 6,
3204 7, 8, 9, 10, 11, 12, 13, 14, -1, 1045,
3205 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3206 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3207 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3208 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3209 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3210 67, -1, -1, 70, -1, 1101, 1102, -1, 1104, -1,
3211 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3212 87, 88, -1, 90, -1, -1, 93, 94, 70, 71,
3213 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3214 82, 83, 84, 110, -1, 1, -1, 3, 4, 5,
3215 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3216 -1, -1, -1, -1, -1, -1, -1, -1, 1164, -1,
3217 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3218 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3219 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3220 56, 57, -1, -1, 1200, 61, -1, -1, -1, -1,
3221 -1, 67, -1, -1, 70, -1, -1, -1, -1, 1215,
3222 -1, 1217, 78, 79, 80, -1, -1, -1, -1, -1,
3223 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3224 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3225 -1, -1, 108, -1, 110, -1, -1, -1, -1, -1,
3226 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3227 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3228 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3229 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3230 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3231 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3232 -1, 86, 87, 88, -1, -1, -1, -1, 93, 94,
3233 -1, -1, -1, -1, -1, 1331, -1, -1, -1, -1,
3234 -1, -1, -1, -1, 109, 110, 1, -1, 3, 4,
3235 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3236 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3237 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3238 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3239 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3240 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3241 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3242 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3243 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3244 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3245 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3246 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3247 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3248 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3249 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3250 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3251 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3252 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3253 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3254 13, 14, -1, -1, -1, 109, 110, -1, -1, -1,
3255 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3256 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3257 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3258 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3259 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3260 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3261 -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
3262 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3263 -1, 13, 14, -1, -1, -1, 109, 110, -1, -1,
3264 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3265 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3266 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3267 52, 53, 54, -1, 56, 57, 58, -1, -1, 61,
3268 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3269 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3270 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3271 -1, 93, -1, 1, -1, 3, 4, 5, 6, 101,
3272 8, 9, 10, 11, -1, 13, 14, -1, 110, -1,
3273 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3274 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3275 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3276 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3277 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3278 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3279 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3280 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3281 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3282 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3283 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3284 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3285 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3286 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3287 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3288 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3289 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3290 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3291 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3292 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3293 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3294 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3295 56, 57, -1, -1, -1, 61, 62, -1, -1, -1,
3296 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3297 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3298 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3299 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3300 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3301 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3302 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3303 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3304 -1, 56, 57, -1, -1, 60, 61, -1, -1, -1,
3305 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3306 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3307 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3308 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3309 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3310 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3311 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3312 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3313 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3314 -1, -1, -1, 67, 1, -1, 70, 4, 5, -1,
3315 -1, 8, 9, -1, 78, 79, 80, 14, -1, -1,
3316 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3317 -1, 28, -1, 30, -1, -1, -1, -1, -1, 36,
3318 -1, 38, 39, -1, 108, -1, 110, -1, 45, -1,
3319 47, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3320 57, -1, 59, -1, -1, -1, 63, 64, 65, 66,
3321 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3322 77, 78, 79, 80, 81, 82, 83, -1, -1, 86,
3323 87, 88, -1, -1, 91, -1, 1, 94, 3, 4,
3324 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3325 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3326 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3327 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3328 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3329 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3330 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3331 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3332 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3333 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3334 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3335 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3336 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3337 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3338 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3339 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3340 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3341 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3342 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3343 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3344 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3345 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3346 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3347 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3348 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3349 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3350 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3351 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3352 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3353 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3354 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3355 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3356 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3357 67, -1, 1, 70, 3, 4, 5, 6, 7, 8,
3358 9, 78, 79, 80, -1, 14, -1, -1, -1, 86,
3359 87, 88, -1, -1, -1, -1, 93, -1, -1, 28,
3360 -1, 30, 31, 32, -1, -1, -1, 36, 37, -1,
3361 -1, -1, 41, 110, 111, -1, 45, 46, -1, 48,
3362 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3363 -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
3364 -1, 70, 1, -1, 3, 4, 5, 6, 7, 8,
3365 9, 80, -1, -1, -1, 14, -1, -1, -1, 88,
3366 -1, -1, -1, -1, 93, -1, -1, -1, -1, 28,
3367 -1, 30, 31, 32, -1, -1, -1, 36, 37, -1,
3368 109, -1, 41, -1, -1, -1, 45, 46, -1, 48,
3369 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3370 -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
3371 -1, 70, 1, -1, 3, 4, 5, 6, 7, 8,
3372 9, 80, -1, -1, -1, 14, -1, -1, -1, 88,
3373 -1, -1, -1, -1, 93, -1, -1, -1, -1, 28,
3374 -1, 30, 31, 32, -1, -1, -1, 36, 37, -1,
3375 109, -1, 41, -1, -1, -1, 45, 46, -1, 48,
3376 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3377 -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
3378 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
3379 -1, 80, -1, -1, -1, -1, -1, -1, -1, 88,
3380 -1, -1, -1, -1, 93, -1, -1, 3, 4, 5,
3381 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3382 109, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3383 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3384 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3385 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3386 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3387 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3388 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3389 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3390 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3391 -1, -1, -1, 109, 110, 3, 4, 5, 6, 7,
3392 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3393 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3394 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3395 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
3396 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3397 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3398 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3399 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3400 88, -1, -1, -1, -1, 93, -1, 95, -1, 3,
3401 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3402 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
3403 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3404 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3405 44, 45, 46, -1, -1, 49, 50, 51, 52, 53,
3406 54, -1, 56, 57, 58, -1, 60, 61, -1, -1,
3407 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3408 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3409 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3410 -1, 95, -1, 3, 4, 5, 6, 7, 8, 9,
3411 10, 11, -1, 13, 14, 15, 110, 17, 18, 19,
3412 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3413 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3414 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3415 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3416 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3417 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3418 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3419 -1, -1, -1, 93, -1, 95, 3, 4, 5, 6,
3420 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3421 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3422 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3423 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3424 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3425 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3426 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3427 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3428 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3429 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3430 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3431 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3432 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3433 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3434 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3435 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3436 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3437 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3438 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3439 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3440 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3441 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3442 43, -1, 45, -1, 47, -1, 49, 50, 51, 52,
3443 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3444 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3445 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3446 -1, -1, -1, 86, 87, 88, -1, 90, -1, -1,
3447 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3448 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3449 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3450 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3451 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
3452 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3453 -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3454 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3455 -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
3456 -1, -1, 93, 94, 3, 4, 5, 6, -1, 8,
3457 9, 10, 11, -1, 13, 14, -1, -1, -1, 110,
3458 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3459 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3460 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3461 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3462 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3463 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3464 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3465 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3466 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3467 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3468 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3469 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3470 53, 54, -1, 56, 57, -1, -1, 60, 61, -1,
3471 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3472 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3473 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3474 93, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3475 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3476 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3477 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3478 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3479 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3480 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3481 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3482 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3483 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3484 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3485 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3486 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3487 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3488 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3489 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3490 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3491 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3492 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3493 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3494 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3495 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3496 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3497 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3498 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3499 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3500 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3501 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3502 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3503 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3504 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3505 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3506 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3507 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3508 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3509 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3510 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3511 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3512 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3513 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3514 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3515 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3516 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3517 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3518 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3519 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3520 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3521 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3522 52, 53, 54, -1, 56, 57, 58, -1, -1, -1,
3523 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3524 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3525 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3526 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3527 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3528 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3529 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3530 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3531 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3532 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3533 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3534 86, 87, 88, -1, -1, -1, -1, 93, 94, 3,
3535 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3536 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3537 -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
3538 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3539 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3540 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3541 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3542 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3543 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3544 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3545 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3546 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3547 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3548 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3549 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3550 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3551 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3552 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3553 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3554 -1, -1, 110, -1, -1, -1, 28, 29, 30, 31,
3555 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3556 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3557 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3558 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3559 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3560 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3561 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3562 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3563 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3564 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3565 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3566 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3567 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3568 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3569 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3570 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3571 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3572 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3573 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3574 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3575 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3576 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3577 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3578 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3579 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3580 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3581 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3582 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3583 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3584 -1, -1, -1, 67, -1, 1, 70, 3, 4, 5,
3585 6, 7, 8, 9, 78, 79, 80, -1, 14, -1,
3586 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3587 -1, 27, 28, -1, 30, 31, 32, -1, -1, -1,
3588 36, -1, -1, -1, -1, 41, 110, -1, 44, 45,
3589 46, -1, 48, -1, -1, -1, -1, -1, 54, -1,
3590 56, 57, -1, -1, 60, -1, -1, -1, -1, -1,
3591 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
3592 -1, -1, -1, 1, 80, 3, 4, 5, 6, 7,
3593 8, 9, 88, -1, -1, -1, 14, 93, -1, -1,
3594 -1, -1, 98, -1, -1, -1, -1, -1, -1, -1,
3595 28, -1, 30, 31, 32, -1, -1, -1, 36, -1,
3596 -1, -1, -1, 41, -1, -1, -1, 45, 46, -1,
3597 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3598 -1, -1, 60, -1, 62, -1, -1, -1, -1, -1,
3599 -1, -1, 70, 3, 4, 5, 6, 7, 8, 9,
3600 -1, -1, 80, -1, 14, -1, -1, -1, -1, -1,
3601 88, -1, -1, -1, -1, 93, -1, -1, 28, -1,
3602 30, 31, -1, -1, -1, -1, 36, -1, -1, -1,
3603 -1, 41, -1, -1, -1, 45, -1, -1, -1, -1,
3604 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
3605 -1, -1, 62, -1, -1, -1, -1, -1, -1, -1,
3606 70, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3607 80, -1, 14, -1, -1, -1, -1, -1, 88, -1,
3608 -1, -1, -1, 93, -1, -1, 28, -1, 30, 31,
3609 -1, -1, -1, -1, 36, -1, -1, -1, -1, 41,
3610 -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
3611 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3612 3, 4, 5, 6, 7, 8, 9, -1, 70, -1,
3613 -1, 14, -1, -1, -1, -1, -1, -1, 80, -1,
3614 -1, -1, -1, -1, -1, 28, 88, 30, 31, -1,
3615 -1, 93, -1, 36, -1, -1, -1, -1, 41, -1,
3616 -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
3617 -1, 54, -1, 56, 57, 3, 4, 5, 6, 7,
3618 8, 9, -1, -1, -1, -1, 14, 70, -1, -1,
3619 -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3620 28, -1, 30, 31, -1, 88, -1, -1, 36, -1,
3621 93, -1, -1, 41, -1, -1, -1, 45, -1, -1,
3622 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3623 4, 5, -1, 7, 8, 9, -1, -1, -1, -1,
3624 14, -1, 70, 4, 5, -1, 7, 8, 9, -1,
3625 -1, 12, 80, 14, 28, -1, 30, 31, -1, -1,
3626 88, -1, 36, -1, -1, 93, -1, 28, -1, 30,
3627 31, 45, -1, -1, 48, 36, -1, -1, -1, -1,
3628 54, -1, 56, 57, 45, -1, -1, 4, 5, -1,
3629 7, 8, 9, 54, -1, 56, 57, 14, -1, -1,
3630 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3631 -1, 28, -1, 30, 31, -1, -1, -1, -1, 36,
3632 -1, -1, -1, -1, -1, -1, -1, -1, 45, -1,
3633 -1, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3634 57, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3635 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3636 82, 83, 84, 63, 64, 65, 66, 67, 68, 69,
3637 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3638 80, 81, 82, 83, 84, -1, -1, -1, -1, 111,
3639 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3640 81, 82, 83, 84, 59, -1, -1, 107, 63, 64,
3641 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3642 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3643 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3644 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3645 82, 83, 84, 63, 64, 65, 66, 67, 68, 69,
3646 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3647 80, 81, 82, 83, 84, 63, 64, 65, 66, 67,
3648 68, 69, 70, 71, 72, 73, 74, -1, 76, 77,
3649 78, 79, 80, 81, 82, 83, 84
3651 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3652 #line 3 "/usr/lib/bison.simple"
3654 /* Skeleton output parser for bison,
3655 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3657 This program is free software; you can redistribute it and/or modify
3658 it under the terms of the GNU General Public License as published by
3659 the Free Software Foundation; either version 2, or (at your option)
3662 This program is distributed in the hope that it will be useful,
3663 but WITHOUT ANY WARRANTY; without even the implied warranty of
3664 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3665 GNU General Public License for more details.
3667 You should have received a copy of the GNU General Public License
3668 along with this program; if not, write to the Free Software
3669 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3671 /* As a special exception, when this file is copied by Bison into a
3672 Bison output file, you may use that output file without restriction.
3673 This special exception was added by the Free Software Foundation
3674 in version 1.24 of Bison. */
3678 #define alloca __builtin_alloca
3679 #else /* not GNU C. */
3680 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3682 #else /* not sparc */
3683 #if defined (MSDOS) && !defined (__TURBOC__)
3685 #else /* not MSDOS, or __TURBOC__ */
3689 #else /* not MSDOS, __TURBOC__, or _AIX */
3693 void *alloca (unsigned int);
3695 #else /* not __cplusplus */
3697 #endif /* not __cplusplus */
3699 #endif /* not _AIX */
3700 #endif /* not MSDOS, or __TURBOC__ */
3701 #endif /* not sparc. */
3702 #endif /* not GNU C. */
3703 #endif /* alloca not defined. */
3705 /* This is the parser code that is written into each bison parser
3706 when the %semantic_parser declaration is not specified in the grammar.
3707 It was written by Richard Stallman by simplifying the hairy parser
3708 used when %semantic_parser is specified. */
3710 /* Note: there must be only one dollar sign in this file.
3711 It is replaced by the list of actions, each action
3712 as one case of the switch. */
3714 #define yyerrok (yyerrstatus = 0)
3715 #define yyclearin (yychar = YYEMPTY)
3718 #define YYACCEPT return(0)
3719 #define YYABORT return(1)
3720 #define YYERROR goto yyerrlab1
3721 /* Like YYERROR except do call yyerror.
3722 This remains here temporarily to ease the
3723 transition to the new meaning of YYERROR, for GCC.
3724 Once GCC version 2 has supplanted version 1, this can go. */
3725 #define YYFAIL goto yyerrlab
3726 #define YYRECOVERING() (!!yyerrstatus)
3727 #define YYBACKUP(token, value) \
3729 if (yychar == YYEMPTY && yylen == 1) \
3730 { yychar = (token), yylval = (value); \
3731 yychar1 = YYTRANSLATE (yychar); \
3736 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3740 #define YYERRCODE 256
3743 #define YYLEX yylex()
3749 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3751 #define YYLEX yylex(&yylval, &yylloc)
3753 #else /* not YYLSP_NEEDED */
3755 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3757 #define YYLEX yylex(&yylval)
3759 #endif /* not YYLSP_NEEDED */
3762 /* If nonreentrant, generate the variables here */
3766 int yychar
; /* the lookahead symbol */
3767 YYSTYPE yylval
; /* the semantic value of the */
3768 /* lookahead symbol */
3771 YYLTYPE yylloc
; /* location data for the lookahead */
3775 int yynerrs
; /* number of parse errors so far */
3776 #endif /* not YYPURE */
3779 int yydebug
; /* nonzero means print parse trace */
3780 /* Since this is uninitialized, it does not stop multiple parsers
3784 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3787 #define YYINITDEPTH 200
3790 /* YYMAXDEPTH is the maximum size the stacks can grow to
3791 (effective only if the built-in stack extension method is used). */
3798 #define YYMAXDEPTH 10000
3801 /* Prevent warning if -Wstrict-prototypes. */
3806 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3807 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3808 #else /* not GNU C or C++ */
3811 /* This is the most reliable way to avoid incompatibilities
3812 in available built-in functions on various systems. */
3814 __yy_memcpy (to
, from
, count
)
3819 register char *f
= from
;
3820 register char *t
= to
;
3821 register int i
= count
;
3827 #else /* __cplusplus */
3829 /* This is the most reliable way to avoid incompatibilities
3830 in available built-in functions on various systems. */
3832 __yy_memcpy (char *to
, char *from
, int count
)
3834 register char *f
= from
;
3835 register char *t
= to
;
3836 register int i
= count
;
3845 #line 196 "/usr/lib/bison.simple"
3847 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3848 into yyparse. The argument should have type void *.
3849 It should actually point to an object.
3850 Grammar actions can access the variable by casting it
3851 to the proper pointer type. */
3853 #ifdef YYPARSE_PARAM
3855 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3856 #define YYPARSE_PARAM_DECL
3857 #else /* not __cplusplus */
3858 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3859 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3860 #endif /* not __cplusplus */
3861 #else /* not YYPARSE_PARAM */
3862 #define YYPARSE_PARAM_ARG
3863 #define YYPARSE_PARAM_DECL
3864 #endif /* not YYPARSE_PARAM */
3867 yyparse(YYPARSE_PARAM_ARG
)
3870 register int yystate
;
3872 register short *yyssp
;
3873 register YYSTYPE
*yyvsp
;
3874 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3875 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3877 short yyssa
[YYINITDEPTH
]; /* the state stack */
3878 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3880 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3881 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3884 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3885 YYLTYPE
*yyls
= yylsa
;
3888 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3890 #define YYPOPSTACK (yyvsp--, yyssp--)
3893 int yystacksize
= YYINITDEPTH
;
3904 YYSTYPE yyval
; /* the variable used to return */
3905 /* semantic values from the action */
3912 fprintf(stderr
, "Starting parse\n");
3918 yychar
= YYEMPTY
; /* Cause a token to be read. */
3920 /* Initialize stack pointers.
3921 Waste one element of value and location stack
3922 so that they stay on the same level as the state stack.
3923 The wasted elements are never initialized. */
3931 /* Push a new state, which is found in yystate . */
3932 /* In all cases, when you get here, the value and location stacks
3933 have just been pushed. so pushing a state here evens the stacks. */
3938 if (yyssp
>= yyss
+ yystacksize
- 1)
3940 /* Give user a chance to reallocate the stack */
3941 /* Use copies of these so that the &'s don't force the real ones into memory. */
3942 YYSTYPE
*yyvs1
= yyvs
;
3943 short *yyss1
= yyss
;
3945 YYLTYPE
*yyls1
= yyls
;
3948 /* Get the current used size of the three stacks, in elements. */
3949 int size
= yyssp
- yyss
+ 1;
3952 /* Each stack pointer address is followed by the size of
3953 the data in use in that stack, in bytes. */
3955 /* This used to be a conditional around just the two extra args,
3956 but that might be undefined if yyoverflow is a macro. */
3957 yyoverflow("parser stack overflow",
3958 &yyss1
, size
* sizeof (*yyssp
),
3959 &yyvs1
, size
* sizeof (*yyvsp
),
3960 &yyls1
, size
* sizeof (*yylsp
),
3963 yyoverflow("parser stack overflow",
3964 &yyss1
, size
* sizeof (*yyssp
),
3965 &yyvs1
, size
* sizeof (*yyvsp
),
3969 yyss
= yyss1
; yyvs
= yyvs1
;
3973 #else /* no yyoverflow */
3974 /* Extend the stack our own way. */
3975 if (yystacksize
>= YYMAXDEPTH
)
3977 yyerror("parser stack overflow");
3981 if (yystacksize
> YYMAXDEPTH
)
3982 yystacksize
= YYMAXDEPTH
;
3983 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3984 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3985 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3986 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3988 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3989 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3991 #endif /* no yyoverflow */
3993 yyssp
= yyss
+ size
- 1;
3994 yyvsp
= yyvs
+ size
- 1;
3996 yylsp
= yyls
+ size
- 1;
4001 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
4004 if (yyssp
>= yyss
+ yystacksize
- 1)
4010 fprintf(stderr
, "Entering state %d\n", yystate
);
4016 /* Do appropriate processing given the current state. */
4017 /* Read a lookahead token if we need one and don't already have one. */
4020 /* First try to decide what to do without reference to lookahead token. */
4022 yyn
= yypact
[yystate
];
4026 /* Not known => get a lookahead token if don't already have one. */
4028 /* yychar is either YYEMPTY or YYEOF
4029 or a valid token in external form. */
4031 if (yychar
== YYEMPTY
)
4035 fprintf(stderr
, "Reading a token: ");
4040 /* Convert token to internal form (in yychar1) for indexing tables with */
4042 if (yychar
<= 0) /* This means end of input. */
4045 yychar
= YYEOF
; /* Don't call YYLEX any more */
4049 fprintf(stderr
, "Now at end of input.\n");
4054 yychar1
= YYTRANSLATE(yychar
);
4059 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
4060 /* Give the individual parser a way to print the precise meaning
4061 of a token, for further debugging info. */
4063 YYPRINT (stderr
, yychar
, yylval
);
4065 fprintf (stderr
, ")\n");
4071 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
4076 /* yyn is what to do for this token type in this state.
4077 Negative => reduce, -yyn is rule number.
4078 Positive => shift, yyn is new state.
4079 New state is final state => don't bother to shift,
4080 just return success.
4081 0, or most negative number => error. */
4096 /* Shift the lookahead token. */
4100 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
4103 /* Discard the token being shifted unless it is eof. */
4104 if (yychar
!= YYEOF
)
4112 /* count tokens shifted since error; after three, turn off error status. */
4113 if (yyerrstatus
) yyerrstatus
--;
4118 /* Do the default action for the current state. */
4121 yyn
= yydefact
[yystate
];
4125 /* Do a reduction. yyn is the number of a rule to reduce with. */
4129 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
4136 fprintf (stderr
, "Reducing via rule %d (line %d), ",
4139 /* Print the symbols being reduced, and their result. */
4140 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
4141 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
4142 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4151 { finish_translation_unit (); ;
4155 { yyval
.ttype
= NULL_TREE
; ;
4159 { yyval
.ttype
= NULL_TREE
; ;
4163 { yyval
.ttype
= NULL_TREE
; ;
4167 { have_extern_spec
= 1;
4168 used_extern_spec
= 0;
4169 yyval
.ttype
= NULL_TREE
; ;
4173 { have_extern_spec
= 0; ;
4177 { yyval
.itype
= pedantic
;
4182 { if (pending_lang_change
) do_pending_lang_change(); ;
4186 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4187 pop_everything (); ;
4191 { if (pending_inlines
) do_pending_inlines (); ;
4195 { if (pending_inlines
) do_pending_inlines (); ;
4199 { if (pending_inlines
) do_pending_inlines (); ;
4203 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4204 assemble_asm (yyvsp
[-2].ttype
); ;
4208 { pop_lang_context (); ;
4212 { if (pending_inlines
) do_pending_inlines ();
4213 pop_lang_context (); ;
4217 { if (pending_inlines
) do_pending_inlines ();
4218 pop_lang_context (); ;
4222 { push_namespace (yyvsp
[-1].ttype
); ;
4226 { pop_namespace (); ;
4230 { push_namespace (NULL_TREE
); ;
4234 { pop_namespace (); ;
4238 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4242 { pedantic
= yyvsp
[-1].itype
; ;
4246 { begin_only_namespace_names (); ;
4251 end_only_namespace_names ();
4253 yyvsp
[-1].ttype
= lastiddecl
;
4254 do_namespace_alias (yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
4259 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4263 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4267 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4271 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4275 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
); ;
4279 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4283 { begin_only_namespace_names (); ;
4288 end_only_namespace_names ();
4289 /* If no declaration was found, the using-directive is
4290 invalid. Since that was not reported, we need the
4291 identifier for the error message. */
4292 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4293 yyvsp
[-1].ttype
= lastiddecl
;
4294 do_using_directive (yyvsp
[-1].ttype
);
4300 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4301 yyval
.ttype
= lastiddecl
;
4302 got_scope
= yyval
.ttype
;
4308 yyval
.ttype
= yyvsp
[-1].ttype
;
4309 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4310 yyval
.ttype
= lastiddecl
;
4311 got_scope
= yyval
.ttype
;
4316 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4320 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4324 { push_lang_context (yyvsp
[0].ttype
); ;
4328 { if (current_lang_name
!= yyvsp
[0].ttype
)
4329 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4330 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4334 { begin_template_parm_list (); ;
4338 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4342 { begin_specialization();
4343 yyval
.ttype
= NULL_TREE
; ;
4347 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4351 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4355 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4359 { yyval
.ttype
= NULL_TREE
; ;
4363 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4367 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4371 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4375 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4379 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4383 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4387 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4391 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4396 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4397 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4398 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4400 error ("invalid default template argument");
4401 yyvsp
[0].ttype
= error_mark_node
;
4403 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4408 { finish_template_decl (yyvsp
[-1].ttype
); ;
4412 { finish_template_decl (yyvsp
[-1].ttype
); ;
4416 { if (pending_inlines
) do_pending_inlines (); ;
4420 { if (pending_inlines
) do_pending_inlines (); ;
4424 { if (pending_inlines
) do_pending_inlines (); ;
4428 { if (pending_inlines
) do_pending_inlines ();
4429 pop_lang_context (); ;
4433 { if (pending_inlines
) do_pending_inlines ();
4434 pop_lang_context (); ;
4438 { pedantic
= yyvsp
[-1].itype
; ;
4446 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4450 { maybe_process_partial_specialization (yyvsp
[-1].ftype
.t
);
4451 note_got_semicolon (yyvsp
[-1].ftype
.t
); ;
4459 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4463 { pedwarn ("empty declaration"); ;
4469 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4471 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4476 { yyval
.itype
= 0; ;
4480 { yyval
.itype
= 1; ;
4484 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4496 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4500 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4504 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4505 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4510 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4514 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4518 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4519 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4524 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4528 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4532 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4533 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4538 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4542 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4546 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4547 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4552 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4557 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4562 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4567 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4572 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4577 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4581 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4585 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4589 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4593 { tree specs
, attrs
;
4594 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4595 attrs
= build_tree_list (attrs
, NULL_TREE
);
4596 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
);
4600 if (yychar
== YYEMPTY
)
4602 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4606 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
4607 goto rest_of_mdef
; ;
4611 { tree specs
, attrs
;
4612 split_specs_attrs (yyvsp
[-1].ftype
.t
, &specs
, &attrs
);
4613 attrs
= build_tree_list (attrs
, NULL_TREE
);
4614 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4618 { tree specs
, attrs
;
4619 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4620 attrs
= build_tree_list (attrs
, NULL_TREE
);
4621 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4625 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4626 goto rest_of_mdef
; ;
4630 { tree specs
, attrs
;
4631 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4632 attrs
= build_tree_list (attrs
, NULL_TREE
);
4633 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
, attrs
); goto rest_of_mdef
; ;
4637 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4638 goto rest_of_mdef
; ;
4643 if (! current_function_parms_stored
)
4644 store_parm_decls ();
4645 yyval
.ttype
= yyvsp
[0].ttype
;
4650 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4654 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4658 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4663 if (yyvsp
[0].itype
== 0)
4664 error ("no base initializers given following ':'");
4666 /* Always keep the BLOCK node associated with the outermost
4667 pair of curley braces of a function. These are needed
4668 for correct operation of dwarfout.c. */
4675 if (! current_function_parms_stored
)
4676 store_parm_decls ();
4678 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4680 /* Make a contour for the initializer list. */
4683 expand_start_bindings (0);
4685 else if (current_class_type
== NULL_TREE
)
4686 error ("base initializers not allowed for non-member functions");
4687 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4688 error ("only constructors take base initializers");
4693 { yyval
.itype
= 0; ;
4697 { yyval
.itype
= 1; ;
4702 if (current_class_name
)
4703 pedwarn ("anachronistic old style base class initializer");
4704 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4710 if (current_class_name
)
4711 pedwarn ("anachronistic old style base class initializer");
4712 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4717 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4721 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4725 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4729 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4733 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4738 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4743 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4744 yyungetc (';', 1); ;
4748 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4749 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4753 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4757 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4761 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
4762 yyungetc (';', 1); ;
4766 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4767 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
4771 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4775 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4779 { begin_explicit_instantiation(); ;
4783 { end_explicit_instantiation(); ;
4787 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4791 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4795 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4800 if (yychar
== YYEMPTY
)
4803 yyval
.ttype
= finish_template_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
4810 /* Handle `Class<Class<Type>>' without space in the `>>' */
4811 pedwarn ("`>>' should be `> >' in template class name");
4817 { yyval
.ttype
= NULL_TREE
; ;
4821 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4825 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4829 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4833 { yyval
.ttype
= lastiddecl
; ;
4837 { yyval
.code
= NEGATE_EXPR
; ;
4841 { yyval
.code
= CONVERT_EXPR
; ;
4845 { yyval
.code
= PREINCREMENT_EXPR
; ;
4849 { yyval
.code
= PREDECREMENT_EXPR
; ;
4853 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4857 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4861 { error ("ANSI C++ forbids an empty condition for `%s'",
4863 yyval
.ttype
= integer_zero_node
; ;
4867 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4871 { error ("ANSI C++ forbids an empty condition for `%s'",
4873 yyval
.ttype
= integer_zero_node
; ;
4877 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4881 { yyval
.ttype
= NULL_TREE
; ;
4885 { yyval
.ttype
= NULL_TREE
; ;
4888 #line 1004 "parse.y"
4891 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4892 if (TREE_CODE (d
) == TYPE_DECL
) {
4893 tree s
= TREE_TYPE (d
);
4894 if (TREE_CODE (s
) == RECORD_TYPE
)
4895 cp_error ("definition of class `%T' in condition", s
);
4896 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4897 cp_error ("definition of enum `%T' in condition", s
);
4900 current_declspecs
= yyvsp
[-4].ftype
.t
;
4901 yyvsp
[0].itype
= suspend_momentary ();
4902 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
4903 yyvsp
[-1].ttype
, /*prefix_attributes*/ NULL_TREE
);
4907 #line 1021 "parse.y"
4909 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4910 resume_momentary (yyvsp
[-2].itype
);
4911 yyval
.ttype
= yyvsp
[-1].ttype
;
4912 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4913 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4917 #line 1040 "parse.y"
4918 { yyval
.ttype
= begin_compound_stmt (1); ;
4921 #line 1042 "parse.y"
4922 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
4925 #line 1049 "parse.y"
4926 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4927 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4930 #line 1052 "parse.y"
4931 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4932 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4935 #line 1055 "parse.y"
4936 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4939 #line 1057 "parse.y"
4940 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4943 #line 1062 "parse.y"
4944 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4947 #line 1068 "parse.y"
4948 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4951 #line 1071 "parse.y"
4952 { yyval
.ttype
= yyvsp
[0].ttype
;
4953 pedantic
= yyvsp
[-1].itype
; ;
4956 #line 1074 "parse.y"
4957 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4960 #line 1076 "parse.y"
4961 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4964 #line 1078 "parse.y"
4965 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4968 #line 1080 "parse.y"
4969 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
4972 #line 1083 "parse.y"
4974 pedwarn ("ANSI C++ forbids `&&'");
4975 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
4978 #line 1087 "parse.y"
4979 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4982 #line 1089 "parse.y"
4983 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4986 #line 1091 "parse.y"
4987 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4990 #line 1093 "parse.y"
4991 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4992 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4995 #line 1099 "parse.y"
4996 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4997 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5000 #line 1102 "parse.y"
5001 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
5002 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5005 #line 1105 "parse.y"
5006 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
5007 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5010 #line 1108 "parse.y"
5011 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
5012 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5015 #line 1121 "parse.y"
5016 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
5017 NULL_TREE
, yyvsp
[-4].itype
);
5018 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5021 #line 1126 "parse.y"
5022 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
5023 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5026 #line 1130 "parse.y"
5027 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-5].itype
);
5028 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5031 #line 1134 "parse.y"
5032 { yyval
.ttype
= build_new (yyvsp
[-5].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-6].itype
);
5033 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5036 #line 1138 "parse.y"
5037 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
5040 #line 1140 "parse.y"
5041 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
5042 if (yychar
== YYEMPTY
)
5046 #line 1144 "parse.y"
5047 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
5048 if (yychar
== YYEMPTY
)
5052 #line 1148 "parse.y"
5053 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
5056 #line 1150 "parse.y"
5057 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
5060 #line 1160 "parse.y"
5061 { finish_new_placement (NULL_TREE
, yyvsp
[-2].itype
); ;
5064 #line 1163 "parse.y"
5065 { yyval
.itype
= begin_new_placement (); ;
5068 #line 1167 "parse.y"
5069 { yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5072 #line 1169 "parse.y"
5073 { cp_pedwarn ("old style placement syntax, use () instead");
5074 yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
5077 #line 1175 "parse.y"
5078 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5081 #line 1177 "parse.y"
5082 { yyval
.ttype
= NULL_TREE
; ;
5085 #line 1179 "parse.y"
5087 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
5088 yyval
.ttype
= error_mark_node
;
5092 #line 1187 "parse.y"
5095 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5096 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
5097 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
5098 yyval
.ttype
= build_expr_list (NULL_TREE
, yyvsp
[0].ttype
);
5100 yyval
.ttype
= yyvsp
[0].ttype
;
5104 #line 1201 "parse.y"
5105 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5106 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5107 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5110 #line 1205 "parse.y"
5111 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5112 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5113 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5116 #line 1213 "parse.y"
5117 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5120 #line 1215 "parse.y"
5122 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5123 nreverse (yyvsp
[-2].ttype
));
5125 pedwarn ("ANSI C++ forbids constructor-expressions");
5126 /* Indicate that this was a GNU C constructor expression. */
5127 TREE_HAS_CONSTRUCTOR (init
) = 1;
5129 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5133 #line 1231 "parse.y"
5134 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5137 #line 1233 "parse.y"
5138 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5141 #line 1235 "parse.y"
5142 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5145 #line 1237 "parse.y"
5146 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5149 #line 1239 "parse.y"
5150 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5153 #line 1241 "parse.y"
5154 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5157 #line 1243 "parse.y"
5158 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5161 #line 1245 "parse.y"
5162 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5165 #line 1247 "parse.y"
5166 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5169 #line 1249 "parse.y"
5170 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5173 #line 1251 "parse.y"
5174 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5177 #line 1253 "parse.y"
5178 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5181 #line 1255 "parse.y"
5182 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5185 #line 1257 "parse.y"
5186 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5189 #line 1259 "parse.y"
5190 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5193 #line 1261 "parse.y"
5194 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5197 #line 1263 "parse.y"
5198 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5201 #line 1265 "parse.y"
5202 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5205 #line 1267 "parse.y"
5206 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5209 #line 1269 "parse.y"
5210 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5213 #line 1271 "parse.y"
5214 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5215 if (yyval
.ttype
!= error_mark_node
)
5216 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5219 #line 1275 "parse.y"
5220 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5223 #line 1277 "parse.y"
5224 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5227 #line 1279 "parse.y"
5228 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5231 #line 1297 "parse.y"
5232 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5235 #line 1299 "parse.y"
5236 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5239 #line 1308 "parse.y"
5240 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1, NULL_TREE
); ;
5243 #line 1312 "parse.y"
5244 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5247 #line 1314 "parse.y"
5248 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5251 #line 1319 "parse.y"
5252 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5255 #line 1321 "parse.y"
5256 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5259 #line 1324 "parse.y"
5260 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5263 #line 1336 "parse.y"
5265 /* Provide support for '(' attributes '*' declarator ')'
5267 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
5271 #line 1346 "parse.y"
5272 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5275 #line 1348 "parse.y"
5276 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5279 #line 1350 "parse.y"
5280 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5283 #line 1355 "parse.y"
5284 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5287 #line 1357 "parse.y"
5288 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5291 #line 1367 "parse.y"
5292 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5295 #line 1372 "parse.y"
5297 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
5298 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
5300 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
5304 #line 1381 "parse.y"
5306 if (processing_template_decl
)
5307 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5308 yyval
.ttype
= combine_strings (yyval
.ttype
);
5309 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5310 a const array the way we want, so fix it. */
5311 if (flag_const_strings
)
5312 TREE_TYPE (yyval
.ttype
) = build_cplus_array_type
5313 (TREE_TYPE (TREE_TYPE (yyval
.ttype
)),
5314 TYPE_DOMAIN (TREE_TYPE (yyval
.ttype
)));
5315 if (processing_template_decl
)
5320 #line 1395 "parse.y"
5321 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5324 #line 1397 "parse.y"
5325 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5326 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5329 #line 1400 "parse.y"
5330 { yyval
.ttype
= error_mark_node
; ;
5333 #line 1402 "parse.y"
5334 { tree scope
= current_scope ();
5335 if (!scope
|| TREE_CODE (scope
) != FUNCTION_DECL
)
5337 error ("braced-group within expression allowed only inside a function");
5341 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5342 yyval
.ttype
= begin_stmt_expr ();
5346 #line 1413 "parse.y"
5347 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5350 #line 1418 "parse.y"
5351 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
5354 #line 1420 "parse.y"
5355 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 1); ;
5358 #line 1422 "parse.y"
5359 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 0); ;
5362 #line 1424 "parse.y"
5363 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 0); ;
5366 #line 1426 "parse.y"
5367 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5370 #line 1428 "parse.y"
5371 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5374 #line 1430 "parse.y"
5375 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5378 #line 1433 "parse.y"
5379 { yyval
.ttype
= finish_this_expr (); ;
5382 #line 1435 "parse.y"
5384 /* This is a C cast in C++'s `functional' notation
5385 using the "implicit int" extension so that:
5386 `const (3)' is equivalent to `const int (3)'. */
5389 if (yyvsp
[-1].ttype
== error_mark_node
)
5391 yyval
.ttype
= error_mark_node
;
5395 type
= cp_build_qualified_type (integer_type_node
,
5396 cp_type_qual_from_rid (yyvsp
[-3].ttype
));
5397 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5401 #line 1453 "parse.y"
5402 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5403 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5404 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5407 #line 1457 "parse.y"
5408 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5409 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5410 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5413 #line 1461 "parse.y"
5414 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5415 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5416 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5419 #line 1465 "parse.y"
5420 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5421 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5422 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5425 #line 1469 "parse.y"
5426 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5429 #line 1471 "parse.y"
5430 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5431 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5432 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5435 #line 1475 "parse.y"
5436 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5439 #line 1477 "parse.y"
5440 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5443 #line 1479 "parse.y"
5445 got_scope
= NULL_TREE
;
5446 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5447 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5449 yyval
.ttype
= yyvsp
[0].ttype
;
5453 #line 1487 "parse.y"
5454 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5457 #line 1489 "parse.y"
5458 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5461 #line 1491 "parse.y"
5462 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5465 #line 1493 "parse.y"
5467 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5471 #line 1497 "parse.y"
5472 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5475 #line 1499 "parse.y"
5476 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5479 #line 1501 "parse.y"
5480 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5483 #line 1503 "parse.y"
5484 { if (processing_template_decl
)
5485 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5487 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5490 #line 1508 "parse.y"
5491 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5494 #line 1510 "parse.y"
5495 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5498 #line 1512 "parse.y"
5499 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5502 #line 1514 "parse.y"
5503 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5506 #line 1517 "parse.y"
5507 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5510 #line 1519 "parse.y"
5511 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5514 #line 1521 "parse.y"
5516 yyval
.ttype
= error_mark_node
;
5520 #line 1566 "parse.y"
5521 { yyval
.itype
= 0; ;
5524 #line 1568 "parse.y"
5525 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5528 #line 1573 "parse.y"
5529 { yyval
.itype
= 0; ;
5532 #line 1575 "parse.y"
5533 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5536 #line 1580 "parse.y"
5537 { yyval
.ttype
= boolean_true_node
; ;
5540 #line 1582 "parse.y"
5541 { yyval
.ttype
= boolean_false_node
; ;
5544 #line 1589 "parse.y"
5545 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5548 #line 1594 "parse.y"
5550 if (! current_function_parms_stored
)
5551 store_parm_decls ();
5553 /* Always keep the BLOCK node associated with the outermost
5554 pair of curley braces of a function. These are needed
5555 for correct operation of dwarfout.c. */
5560 #line 1607 "parse.y"
5561 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5564 #line 1609 "parse.y"
5566 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5567 got_object
= TREE_TYPE (yyval
.ttype
);
5571 #line 1617 "parse.y"
5573 resume_momentary (yyvsp
[-1].itype
);
5574 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5575 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5579 #line 1623 "parse.y"
5581 resume_momentary (yyvsp
[-1].itype
);
5582 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5586 #line 1628 "parse.y"
5587 { resume_momentary (yyvsp
[-1].itype
); ;
5590 #line 1630 "parse.y"
5592 shadow_tag (yyvsp
[-1].ftype
.t
);
5593 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5597 #line 1635 "parse.y"
5598 { warning ("empty declaration"); ;
5601 #line 1637 "parse.y"
5602 { pedantic
= yyvsp
[-1].itype
; ;
5605 #line 1651 "parse.y"
5606 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5607 NULL_TREE
, NULL_TREE
); ;
5610 #line 1654 "parse.y"
5611 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5615 #line 1661 "parse.y"
5616 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5617 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5620 #line 1664 "parse.y"
5621 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5622 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5625 #line 1667 "parse.y"
5626 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5627 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5630 #line 1670 "parse.y"
5631 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5632 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5635 #line 1673 "parse.y"
5636 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5637 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5640 #line 1689 "parse.y"
5641 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5642 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5645 #line 1692 "parse.y"
5646 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5647 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5650 #line 1695 "parse.y"
5651 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5652 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5655 #line 1698 "parse.y"
5656 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5657 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5660 #line 1701 "parse.y"
5661 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5662 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5665 #line 1704 "parse.y"
5666 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5667 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5668 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5671 #line 1711 "parse.y"
5672 { if (extra_warnings
)
5673 warning ("`%s' is not at beginning of declaration",
5674 IDENTIFIER_POINTER (yyval
.ttype
));
5675 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5678 #line 1716 "parse.y"
5679 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5682 #line 1718 "parse.y"
5683 { if (extra_warnings
)
5684 warning ("`%s' is not at beginning of declaration",
5685 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5686 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5689 #line 1723 "parse.y"
5690 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5693 #line 1725 "parse.y"
5694 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5697 #line 1735 "parse.y"
5698 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5701 #line 1737 "parse.y"
5702 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5705 #line 1739 "parse.y"
5706 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5707 TREE_STATIC (yyval
.ttype
) = 1; ;
5710 #line 1742 "parse.y"
5711 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5712 warning ("`%s' is not at beginning of declaration",
5713 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5714 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5715 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5718 #line 1748 "parse.y"
5719 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5722 #line 1750 "parse.y"
5723 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5726 #line 1761 "parse.y"
5727 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5728 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5731 #line 1764 "parse.y"
5732 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5733 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5736 #line 1767 "parse.y"
5737 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5738 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5741 #line 1770 "parse.y"
5742 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5743 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5746 #line 1776 "parse.y"
5747 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5750 #line 1778 "parse.y"
5751 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5754 #line 1788 "parse.y"
5755 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5758 #line 1790 "parse.y"
5759 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5762 #line 1792 "parse.y"
5763 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5764 yyval
.ftype
.new_type_flag
= 0; ;
5767 #line 1795 "parse.y"
5768 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5769 yyval
.ftype
.new_type_flag
= 0; ;
5772 #line 1798 "parse.y"
5773 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5775 yyval
.ftype
.new_type_flag
= 0;
5776 if (IS_AGGR_TYPE (type
))
5778 sorry ("sigof type specifier");
5779 yyval
.ftype
.t
= type
;
5783 error ("`sigof' applied to non-aggregate expression");
5784 yyval
.ftype
.t
= error_mark_node
;
5789 #line 1813 "parse.y"
5790 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5792 yyval
.ftype
.new_type_flag
= 0;
5793 if (IS_AGGR_TYPE (type
))
5795 sorry ("sigof type specifier");
5796 yyval
.ftype
.t
= type
;
5800 error("`sigof' applied to non-aggregate type");
5801 yyval
.ftype
.t
= error_mark_node
;
5806 #line 1833 "parse.y"
5807 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5810 #line 1835 "parse.y"
5811 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5814 #line 1842 "parse.y"
5815 { check_multiple_declarators (); ;
5818 #line 1848 "parse.y"
5819 { check_multiple_declarators (); ;
5822 #line 1854 "parse.y"
5823 { check_multiple_declarators (); ;
5826 #line 1859 "parse.y"
5827 { yyval
.ttype
= NULL_TREE
; ;
5830 #line 1861 "parse.y"
5831 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5834 #line 1866 "parse.y"
5835 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
5836 yyvsp
[-1].ttype
, prefix_attributes
); ;
5839 #line 1870 "parse.y"
5840 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5843 #line 1872 "parse.y"
5844 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0,
5845 yyvsp
[0].ttype
, prefix_attributes
);
5846 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5849 #line 1885 "parse.y"
5850 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
5851 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
5854 #line 1890 "parse.y"
5855 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1,
5856 LOOKUP_ONLYCONVERTING
);
5857 yyval
.itype
= yyvsp
[-2].itype
; ;
5860 #line 1894 "parse.y"
5862 yyval
.itype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[-3].ttype
, yyvsp
[0].ttype
, 0, &d
);
5863 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5866 #line 1901 "parse.y"
5867 { yyval
.itype
= yyvsp
[0].itype
; ;
5870 #line 1905 "parse.y"
5871 { yyval
.itype
= yyvsp
[0].itype
; ;
5874 #line 1910 "parse.y"
5875 { /* Set things up as initdcl0_innards expects. */
5876 yyvsp
[0].ttype
= yyvsp
[-1].ttype
;
5877 yyvsp
[-1].ttype
= NULL_TREE
; ;
5880 #line 1914 "parse.y"
5884 #line 1916 "parse.y"
5886 parse_decl(yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
, 0, &d
);
5887 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5890 #line 1925 "parse.y"
5891 { yyval
.ttype
= NULL_TREE
; ;
5894 #line 1927 "parse.y"
5895 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5898 #line 1932 "parse.y"
5899 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5902 #line 1934 "parse.y"
5903 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5906 #line 1939 "parse.y"
5907 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5910 #line 1944 "parse.y"
5911 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5914 #line 1946 "parse.y"
5915 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5918 #line 1951 "parse.y"
5919 { yyval
.ttype
= NULL_TREE
; ;
5922 #line 1953 "parse.y"
5923 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5926 #line 1955 "parse.y"
5927 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5930 #line 1957 "parse.y"
5931 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5934 #line 1959 "parse.y"
5935 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5938 #line 1975 "parse.y"
5939 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
5942 #line 1977 "parse.y"
5943 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5946 #line 1982 "parse.y"
5947 { yyval
.ttype
= NULL_TREE
; ;
5950 #line 1984 "parse.y"
5951 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5954 #line 1992 "parse.y"
5955 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
5956 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5959 #line 1995 "parse.y"
5960 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
5961 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5964 #line 1998 "parse.y"
5965 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
5966 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
5969 #line 2001 "parse.y"
5970 { yyval
.ttype
= NULL_TREE
; ;
5973 #line 2008 "parse.y"
5974 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5977 #line 2010 "parse.y"
5978 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5981 #line 2013 "parse.y"
5982 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5985 #line 2015 "parse.y"
5986 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
5989 #line 2017 "parse.y"
5990 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5993 #line 2022 "parse.y"
5994 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
5996 reinit_parse_for_function (); ;
5999 #line 2028 "parse.y"
6001 int nested
= (hack_decl_function_context
6002 (current_function_decl
) != NULL_TREE
);
6003 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
6004 process_next_inline (yyvsp
[-3].ttype
);
6008 #line 2035 "parse.y"
6009 { process_next_inline (yyvsp
[-2].ttype
); ;
6012 #line 2037 "parse.y"
6013 { process_next_inline (yyvsp
[-2].ttype
); ;
6016 #line 2049 "parse.y"
6017 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6020 #line 2051 "parse.y"
6021 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6024 #line 2056 "parse.y"
6025 { do_pending_defargs (); ;
6028 #line 2058 "parse.y"
6029 { do_pending_defargs (); ;
6032 #line 2063 "parse.y"
6033 { yyvsp
[0].itype
= suspend_momentary ();
6034 yyval
.ttype
= current_enum_type
;
6035 current_enum_type
= start_enum (yyvsp
[-1].ttype
); ;
6038 #line 2067 "parse.y"
6039 { TYPE_VALUES (current_enum_type
) = yyvsp
[-2].ttype
;
6040 yyval
.ftype
.t
= finish_enum (current_enum_type
);
6041 yyval
.ftype
.new_type_flag
= 1;
6042 current_enum_type
= yyvsp
[-3].ttype
;
6043 resume_momentary ((int) yyvsp
[-4].itype
);
6044 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6047 #line 2074 "parse.y"
6048 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
));
6049 yyval
.ftype
.new_type_flag
= 1;
6050 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6053 #line 2078 "parse.y"
6054 { yyvsp
[0].itype
= suspend_momentary ();
6055 yyval
.ttype
= current_enum_type
;
6056 current_enum_type
= start_enum (make_anon_name ()); ;
6059 #line 2082 "parse.y"
6060 { TYPE_VALUES (current_enum_type
) = yyvsp
[-2].ttype
;
6061 yyval
.ftype
.t
= finish_enum (current_enum_type
);
6062 yyval
.ftype
.new_type_flag
= 1;
6063 current_enum_type
= yyvsp
[-2].ttype
;
6064 resume_momentary ((int) yyvsp
[-5].itype
);
6065 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6068 #line 2089 "parse.y"
6069 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()));
6070 yyval
.ftype
.new_type_flag
= 1;
6071 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6074 #line 2093 "parse.y"
6075 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6076 yyval
.ftype
.new_type_flag
= 0; ;
6079 #line 2096 "parse.y"
6080 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6081 yyval
.ftype
.new_type_flag
= 0; ;
6084 #line 2099 "parse.y"
6085 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6086 yyval
.ftype
.new_type_flag
= 0;
6087 if (!processing_template_decl
)
6088 cp_pedwarn ("using `typename' outside of template"); ;
6091 #line 2106 "parse.y"
6095 if (yychar
== YYEMPTY
)
6097 semi
= yychar
== ';';
6099 yyval
.ttype
= finish_class_definition (yyvsp
[-4].ttype
, yyvsp
[0].ttype
, semi
);
6103 #line 2116 "parse.y"
6104 { finish_default_args (); ;
6107 #line 2118 "parse.y"
6108 { yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6109 yyval
.ftype
.new_type_flag
= 1;
6110 begin_inline_definitions (); ;
6113 #line 2122 "parse.y"
6115 yyval
.ftype
.new_type_flag
= 0;
6116 if (TYPE_BINFO (yyvsp
[0].ttype
) == NULL_TREE
)
6118 cp_error ("%T is not a class type", yyvsp
[0].ttype
);
6119 yyval
.ftype
.t
= error_mark_node
;
6123 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6124 /* struct B: public A; is not accepted by the WP grammar. */
6125 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6126 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6127 cp_error ("base clause without member specification for `%#T'",
6133 #line 2149 "parse.y"
6134 { if (pedantic
&& !in_system_header
)
6135 pedwarn ("comma at end of enumerator list"); ;
6138 #line 2156 "parse.y"
6139 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6142 #line 2158 "parse.y"
6143 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6146 #line 2160 "parse.y"
6147 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6150 #line 2162 "parse.y"
6151 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6154 #line 2164 "parse.y"
6155 { yyval
.ttype
= build_decl_list (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6158 #line 2169 "parse.y"
6160 current_aggr
= yyvsp
[-1].ttype
;
6161 yyval
.ttype
= yyvsp
[0].ttype
;
6165 #line 2177 "parse.y"
6166 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6169 #line 2179 "parse.y"
6170 { yyungetc ('{', 1); ;
6173 #line 2181 "parse.y"
6174 { yyungetc (':', 1); ;
6177 #line 2186 "parse.y"
6179 current_aggr
= yyvsp
[-2].ttype
;
6180 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6184 #line 2191 "parse.y"
6186 current_aggr
= yyvsp
[-3].ttype
;
6187 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6191 #line 2196 "parse.y"
6193 current_aggr
= yyvsp
[-2].ttype
;
6194 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6198 #line 2201 "parse.y"
6199 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6202 #line 2203 "parse.y"
6203 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6206 #line 2208 "parse.y"
6207 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 1); ;
6210 #line 2210 "parse.y"
6211 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 0); ;
6214 #line 2214 "parse.y"
6216 yyval
.ttype
= yyvsp
[-1].ttype
;
6218 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6222 #line 2220 "parse.y"
6223 { push_scope (CP_DECL_CONTEXT (yyvsp
[0].ttype
)); ;
6226 #line 2222 "parse.y"
6228 pop_scope (CP_DECL_CONTEXT (yyvsp
[-2].ttype
));
6229 yyval
.ttype
= TREE_TYPE (yyvsp
[-2].ttype
);
6230 if (TREE_INT_CST_LOW (current_aggr
) == union_type
6231 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
6232 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
6233 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
6234 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
6235 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
6238 maybe_process_partial_specialization (yyval
.ttype
);
6239 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6244 #line 2241 "parse.y"
6245 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), 0);
6246 yyungetc ('{', 1); ;
6249 #line 2252 "parse.y"
6250 { yyval
.ttype
= NULL_TREE
; ;
6253 #line 2254 "parse.y"
6254 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6257 #line 2256 "parse.y"
6258 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6261 #line 2262 "parse.y"
6262 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6265 #line 2267 "parse.y"
6266 { yyval
.ttype
= finish_base_specifier (access_default_node
, yyvsp
[0].ttype
,
6268 == signature_type_node
); ;
6271 #line 2271 "parse.y"
6272 { yyval
.ttype
= finish_base_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
,
6274 == signature_type_node
); ;
6277 #line 2278 "parse.y"
6278 { if (yyval
.ttype
!= error_mark_node
) yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6281 #line 2281 "parse.y"
6283 if (current_aggr
== signature_type_node
)
6285 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6287 sorry ("`sigof' as base signature specifier");
6288 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6292 error ("`sigof' applied to non-aggregate expression");
6293 yyval
.ttype
= error_mark_node
;
6298 error ("`sigof' in struct or class declaration");
6299 yyval
.ttype
= error_mark_node
;
6304 #line 2302 "parse.y"
6306 if (current_aggr
== signature_type_node
)
6308 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6310 sorry ("`sigof' as base signature specifier");
6311 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6315 error ("`sigof' applied to non-aggregate expression");
6316 yyval
.ttype
= error_mark_node
;
6321 error ("`sigof' in struct or class declaration");
6322 yyval
.ttype
= error_mark_node
;
6327 #line 2327 "parse.y"
6328 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6329 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6330 yyval
.ttype
= access_default_virtual_node
; ;
6333 #line 2331 "parse.y"
6335 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6336 error ("multiple access specifiers");
6337 else if (yyvsp
[-1].ttype
== access_public_node
)
6338 yyval
.ttype
= access_public_virtual_node
;
6339 else if (yyvsp
[-1].ttype
== access_protected_node
)
6340 yyval
.ttype
= access_protected_virtual_node
;
6341 else /* $2 == access_private_node */
6342 yyval
.ttype
= access_private_virtual_node
;
6346 #line 2342 "parse.y"
6347 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6348 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6349 else if (yyval
.ttype
== access_public_node
)
6350 yyval
.ttype
= access_public_virtual_node
;
6351 else if (yyval
.ttype
== access_protected_node
)
6352 yyval
.ttype
= access_protected_virtual_node
;
6353 else if (yyval
.ttype
== access_private_node
)
6354 yyval
.ttype
= access_private_virtual_node
;
6356 error ("multiple `virtual' specifiers");
6360 #line 2357 "parse.y"
6361 { yyvsp
[-1].ttype
= begin_class_definition (yyvsp
[-1].ttype
); ;
6364 #line 2362 "parse.y"
6366 finish_member_declaration (build_self_reference ());
6370 #line 2376 "parse.y"
6372 if (current_aggr
== signature_type_node
)
6374 error ("access specifier not allowed in signature");
6375 yyvsp
[-1].ttype
= access_public_node
;
6378 current_access_specifier
= yyvsp
[-1].ttype
;
6382 #line 2391 "parse.y"
6384 finish_member_declaration (yyvsp
[0].ttype
);
6388 #line 2395 "parse.y"
6390 finish_member_declaration (yyvsp
[0].ttype
);
6394 #line 2403 "parse.y"
6395 { error ("missing ';' before right brace");
6396 yyungetc ('}', 0); ;
6399 #line 2408 "parse.y"
6400 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6403 #line 2410 "parse.y"
6404 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6407 #line 2412 "parse.y"
6408 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6411 #line 2414 "parse.y"
6412 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6415 #line 2416 "parse.y"
6416 { yyval
.ttype
= NULL_TREE
; ;
6419 #line 2418 "parse.y"
6420 { yyval
.ttype
= yyvsp
[0].ttype
;
6421 pedantic
= yyvsp
[-1].itype
; ;
6424 #line 2421 "parse.y"
6427 yyval
.ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6429 /* The component was already processed. */
6430 yyval
.ttype
= NULL_TREE
;
6432 finish_template_decl (yyvsp
[-1].ttype
);
6436 #line 2431 "parse.y"
6438 yyval
.ttype
= finish_member_class_template (yyvsp
[-1].ftype
.t
);
6439 finish_template_decl (yyvsp
[-2].ttype
);
6443 #line 2442 "parse.y"
6445 /* Most of the productions for component_decl only
6446 allow the creation of one new member, so we call
6447 finish_member_declaration in component_decl_list.
6448 For this rule and the next, however, there can be
6449 more than one member, e.g.:
6453 and we need the first member to be fully
6454 registered before the second is processed.
6455 Therefore, the rules for components take care of
6456 this processing. To avoid registering the
6457 components more than once, we send NULL_TREE up
6458 here; that lets finish_member_declaration now
6459 that there is nothing to do. */
6460 if (!yyvsp
[0].itype
)
6461 grok_x_components (yyvsp
[-1].ftype
.t
);
6462 yyval
.ttype
= NULL_TREE
;
6466 #line 2463 "parse.y"
6468 if (!yyvsp
[0].itype
)
6469 grok_x_components (yyvsp
[-1].ttype
);
6470 yyval
.ttype
= NULL_TREE
;
6474 #line 2469 "parse.y"
6475 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6476 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6479 #line 2472 "parse.y"
6480 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6481 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6484 #line 2475 "parse.y"
6485 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6488 #line 2477 "parse.y"
6489 { yyval
.ttype
= NULL_TREE
; ;
6492 #line 2488 "parse.y"
6493 { tree specs
, attrs
;
6494 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6495 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6496 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6499 #line 2493 "parse.y"
6500 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6501 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6504 #line 2496 "parse.y"
6505 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6508 #line 2502 "parse.y"
6509 { yyval
.itype
= 0; ;
6512 #line 2504 "parse.y"
6514 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6515 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6516 finish_member_declaration (yyvsp
[0].ttype
);
6521 #line 2511 "parse.y"
6523 check_multiple_declarators ();
6524 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6525 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6526 finish_member_declaration (yyvsp
[0].ttype
);
6531 #line 2522 "parse.y"
6532 { yyval
.itype
= 0; ;
6535 #line 2524 "parse.y"
6537 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6538 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6539 finish_member_declaration (yyvsp
[0].ttype
);
6544 #line 2531 "parse.y"
6546 check_multiple_declarators ();
6547 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6548 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6549 finish_member_declaration (yyvsp
[0].ttype
);
6554 #line 2552 "parse.y"
6555 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6556 &prefix_attributes
);
6557 yyvsp
[-4].ttype
= current_declspecs
;
6558 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6559 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6562 #line 2558 "parse.y"
6563 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6564 &prefix_attributes
);
6565 yyvsp
[-4].ttype
= current_declspecs
;
6566 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6567 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6570 #line 2567 "parse.y"
6571 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6572 &prefix_attributes
);
6573 yyvsp
[-4].ttype
= current_declspecs
;
6574 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6575 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6578 #line 2573 "parse.y"
6579 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6580 &prefix_attributes
);
6581 yyvsp
[-4].ttype
= current_declspecs
;
6582 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6583 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6586 #line 2579 "parse.y"
6587 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6588 &prefix_attributes
);
6589 yyvsp
[-4].ttype
= current_declspecs
;
6590 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6591 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6594 #line 2585 "parse.y"
6595 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6596 &prefix_attributes
);
6597 yyvsp
[-3].ttype
= current_declspecs
;
6598 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6599 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6602 #line 2594 "parse.y"
6603 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6604 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6607 #line 2597 "parse.y"
6608 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6609 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6612 #line 2603 "parse.y"
6613 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6614 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6617 #line 2606 "parse.y"
6618 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6619 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6622 #line 2609 "parse.y"
6623 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6624 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6627 #line 2620 "parse.y"
6628 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6631 #line 2625 "parse.y"
6632 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
, current_enum_type
); ;
6635 #line 2627 "parse.y"
6636 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
, current_enum_type
); ;
6639 #line 2633 "parse.y"
6640 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6641 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6644 #line 2636 "parse.y"
6645 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6646 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6649 #line 2643 "parse.y"
6652 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6653 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6654 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6655 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6659 #line 2654 "parse.y"
6660 { yyval
.ttype
= NULL_TREE
; ;
6663 #line 2656 "parse.y"
6664 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6667 #line 2661 "parse.y"
6668 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6669 yyval
.ftype
.new_type_flag
= 0; ;
6672 #line 2664 "parse.y"
6673 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6674 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6677 #line 2673 "parse.y"
6678 { yyval
.itype
= suspend_momentary (); ;
6681 #line 2678 "parse.y"
6682 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6685 #line 2684 "parse.y"
6686 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6689 #line 2686 "parse.y"
6690 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6693 #line 2688 "parse.y"
6694 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6697 #line 2690 "parse.y"
6698 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6701 #line 2697 "parse.y"
6702 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6705 #line 2699 "parse.y"
6706 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6709 #line 2701 "parse.y"
6710 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6713 #line 2703 "parse.y"
6714 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6717 #line 2705 "parse.y"
6718 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6719 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6723 #line 2713 "parse.y"
6725 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6727 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6728 if (current_class_type
6729 && TYPE_BEING_DEFINED (current_class_type
)
6730 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6732 /* Remember that this name has been used in the class
6733 definition, as per [class.scope0] */
6734 pushdecl_class_level (yyval
.ttype
);
6738 yyval
.ttype
= yyvsp
[0].ttype
;
6742 #line 2730 "parse.y"
6744 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6745 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6747 yyval
.ttype
= yyvsp
[0].ttype
;
6748 got_scope
= NULL_TREE
;
6752 #line 2743 "parse.y"
6753 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6756 #line 2748 "parse.y"
6757 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6760 #line 2753 "parse.y"
6761 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6764 #line 2755 "parse.y"
6765 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6768 #line 2757 "parse.y"
6769 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6772 #line 2759 "parse.y"
6773 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6776 #line 2761 "parse.y"
6777 { push_nested_class (yyvsp
[-1].ttype
, 3);
6778 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6779 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6782 #line 2773 "parse.y"
6784 /* Provide support for '(' attributes '*' declarator ')'
6786 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
6790 #line 2782 "parse.y"
6791 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6794 #line 2784 "parse.y"
6795 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6798 #line 2786 "parse.y"
6799 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6802 #line 2788 "parse.y"
6803 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6806 #line 2790 "parse.y"
6807 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6808 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6812 #line 2798 "parse.y"
6813 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6816 #line 2800 "parse.y"
6817 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6820 #line 2802 "parse.y"
6821 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6824 #line 2804 "parse.y"
6825 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6828 #line 2806 "parse.y"
6829 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6830 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6834 #line 2814 "parse.y"
6835 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6838 #line 2816 "parse.y"
6839 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6842 #line 2818 "parse.y"
6843 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6846 #line 2820 "parse.y"
6847 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6850 #line 2822 "parse.y"
6851 { enter_scope_of (yyvsp
[0].ttype
); ;
6854 #line 2824 "parse.y"
6855 { got_scope
= NULL_TREE
;
6856 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6857 enter_scope_of (yyval
.ttype
);
6861 #line 2832 "parse.y"
6862 { got_scope
= NULL_TREE
;
6863 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6866 #line 2835 "parse.y"
6867 { got_scope
= NULL_TREE
;
6868 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6871 #line 2841 "parse.y"
6872 { got_scope
= NULL_TREE
;
6873 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
6876 #line 2844 "parse.y"
6877 { got_scope
= NULL_TREE
;
6878 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6881 #line 2851 "parse.y"
6882 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6885 #line 2856 "parse.y"
6886 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6889 #line 2858 "parse.y"
6890 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
6893 #line 2860 "parse.y"
6894 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6897 #line 2871 "parse.y"
6898 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6901 #line 2873 "parse.y"
6902 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6905 #line 2880 "parse.y"
6907 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6909 yyval
.ttype
= lastiddecl
;
6910 /* Remember that this name has been used in the class
6911 definition, as per [class.scope0] */
6912 if (current_class_type
6913 && TYPE_BEING_DEFINED (current_class_type
)
6914 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
6915 pushdecl_class_level (yyval
.ttype
);
6917 got_scope
= yyval
.ttype
= TYPE_MAIN_VARIANT (TREE_TYPE (yyval
.ttype
));
6921 #line 2894 "parse.y"
6923 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
6924 yyval
.ttype
= lastiddecl
;
6925 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6929 #line 2900 "parse.y"
6931 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
6932 yyval
.ttype
= lastiddecl
;
6933 got_scope
= yyval
.ttype
;
6937 #line 2906 "parse.y"
6938 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
6941 #line 2922 "parse.y"
6942 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6945 #line 2927 "parse.y"
6947 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6948 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6949 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6950 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6953 yyval
.ttype
= yyvsp
[0].ttype
;
6954 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6955 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6960 #line 2940 "parse.y"
6961 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
6964 #line 2942 "parse.y"
6965 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6968 #line 2944 "parse.y"
6969 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6972 #line 2949 "parse.y"
6974 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6975 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6979 #line 2954 "parse.y"
6981 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
6982 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6983 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6984 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
6987 yyval
.ttype
= yyvsp
[0].ttype
;
6988 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
6989 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
6994 #line 2967 "parse.y"
6995 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6998 #line 2969 "parse.y"
6999 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7002 #line 2974 "parse.y"
7004 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7005 yyvsp
[-1].ttype
= lastiddecl
;
7007 /* Retrieve the type for the identifier, which might involve
7008 some computation. */
7009 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
7011 if (yyval
.ttype
== error_mark_node
)
7012 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
7016 #line 2986 "parse.y"
7018 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7019 yyval
.ttype
= lastiddecl
;
7020 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7024 #line 2992 "parse.y"
7025 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7028 #line 2996 "parse.y"
7030 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7031 yyval
.ttype
= lastiddecl
;
7032 got_scope
= yyval
.ttype
;
7036 #line 3005 "parse.y"
7037 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7040 #line 3010 "parse.y"
7042 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7043 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7045 yyval
.ttype
= yyvsp
[0].ttype
;
7046 got_scope
= NULL_TREE
;
7050 #line 3019 "parse.y"
7051 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7054 #line 3024 "parse.y"
7055 { got_scope
= NULL_TREE
; ;
7058 #line 3026 "parse.y"
7059 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7062 #line 3033 "parse.y"
7063 { got_scope
= void_type_node
; ;
7066 #line 3039 "parse.y"
7067 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7070 #line 3041 "parse.y"
7071 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7074 #line 3043 "parse.y"
7075 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7078 #line 3045 "parse.y"
7079 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7082 #line 3047 "parse.y"
7083 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7084 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7088 #line 3051 "parse.y"
7089 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7090 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7094 #line 3060 "parse.y"
7095 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7098 #line 3062 "parse.y"
7099 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7102 #line 3068 "parse.y"
7103 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7106 #line 3070 "parse.y"
7107 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7110 #line 3072 "parse.y"
7111 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7114 #line 3074 "parse.y"
7115 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7118 #line 3076 "parse.y"
7119 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7122 #line 3078 "parse.y"
7123 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7126 #line 3080 "parse.y"
7127 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7130 #line 3082 "parse.y"
7131 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7134 #line 3084 "parse.y"
7135 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7136 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7140 #line 3088 "parse.y"
7141 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7142 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7146 #line 3097 "parse.y"
7147 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7150 #line 3101 "parse.y"
7151 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7154 #line 3103 "parse.y"
7155 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7158 #line 3105 "parse.y"
7159 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7162 #line 3107 "parse.y"
7163 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7166 #line 3109 "parse.y"
7167 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7170 #line 3111 "parse.y"
7171 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7174 #line 3113 "parse.y"
7175 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7178 #line 3115 "parse.y"
7179 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7182 #line 3117 "parse.y"
7183 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7186 #line 3140 "parse.y"
7188 pedwarn ("ANSI C++ forbids label declarations"); ;
7191 #line 3151 "parse.y"
7193 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7195 tree label
= shadow_label (TREE_VALUE (link
));
7196 C_DECLARED_LABEL_FLAG (label
) = 1;
7197 declare_nonlocal_label (label
);
7202 #line 3165 "parse.y"
7206 #line 3171 "parse.y"
7207 { yyval
.ttype
= begin_compound_stmt (0); ;
7210 #line 3173 "parse.y"
7211 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7214 #line 3178 "parse.y"
7216 yyval
.ttype
= begin_if_stmt ();
7217 cond_stmt_keyword
= "if";
7221 #line 3183 "parse.y"
7222 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7225 #line 3185 "parse.y"
7226 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7229 #line 3190 "parse.y"
7230 { yyval
.ttype
= begin_compound_stmt (0); ;
7233 #line 3192 "parse.y"
7234 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7237 #line 3197 "parse.y"
7241 #line 3203 "parse.y"
7245 #line 3205 "parse.y"
7246 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7249 #line 3207 "parse.y"
7250 { begin_else_clause (); ;
7253 #line 3209 "parse.y"
7255 finish_else_clause (yyvsp
[-3].ttype
);
7260 #line 3214 "parse.y"
7261 { finish_if_stmt (); ;
7264 #line 3216 "parse.y"
7266 yyval
.ttype
= begin_while_stmt ();
7267 cond_stmt_keyword
= "while";
7271 #line 3221 "parse.y"
7272 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7275 #line 3223 "parse.y"
7276 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7279 #line 3225 "parse.y"
7280 { yyval
.ttype
= begin_do_stmt (); ;
7283 #line 3227 "parse.y"
7285 finish_do_body (yyvsp
[-2].ttype
);
7286 cond_stmt_keyword
= "do";
7290 #line 3232 "parse.y"
7291 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7294 #line 3234 "parse.y"
7295 { yyval
.ttype
= begin_for_stmt (); ;
7298 #line 3236 "parse.y"
7299 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7302 #line 3238 "parse.y"
7303 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7306 #line 3240 "parse.y"
7307 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7310 #line 3242 "parse.y"
7311 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7314 #line 3244 "parse.y"
7315 { begin_switch_stmt (); ;
7318 #line 3246 "parse.y"
7319 { yyval
.ttype
= finish_switch_cond (yyvsp
[-1].ttype
); ;
7322 #line 3248 "parse.y"
7323 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7326 #line 3250 "parse.y"
7327 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7330 #line 3253 "parse.y"
7331 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7334 #line 3256 "parse.y"
7335 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7338 #line 3259 "parse.y"
7339 { finish_break_stmt (); ;
7342 #line 3261 "parse.y"
7343 { finish_continue_stmt (); ;
7346 #line 3263 "parse.y"
7347 { finish_return_stmt (NULL_TREE
); ;
7350 #line 3265 "parse.y"
7351 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7354 #line 3267 "parse.y"
7356 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7361 #line 3273 "parse.y"
7363 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7368 #line 3279 "parse.y"
7369 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7372 #line 3283 "parse.y"
7373 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7376 #line 3285 "parse.y"
7379 pedwarn ("ANSI C++ forbids computed gotos");
7380 finish_goto_stmt (yyvsp
[-1].ttype
);
7384 #line 3291 "parse.y"
7385 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7388 #line 3293 "parse.y"
7392 #line 3295 "parse.y"
7393 { error ("label must be followed by statement");
7398 #line 3299 "parse.y"
7402 #line 3303 "parse.y"
7403 { do_local_using_decl (yyvsp
[0].ttype
); ;
7406 #line 3309 "parse.y"
7408 if (! current_function_parms_stored
)
7409 store_parm_decls ();
7410 expand_start_early_try_stmts ();
7414 #line 3315 "parse.y"
7416 expand_start_all_catch ();
7420 #line 3319 "parse.y"
7422 int nested
= (hack_decl_function_context
7423 (current_function_decl
) != NULL_TREE
);
7424 expand_end_all_catch ();
7425 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7429 #line 3329 "parse.y"
7430 { yyval
.ttype
= begin_try_block (); ;
7433 #line 3331 "parse.y"
7434 { finish_try_block (yyvsp
[-1].ttype
); ;
7437 #line 3333 "parse.y"
7438 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7441 #line 3343 "parse.y"
7442 { yyval
.ttype
= begin_handler(); ;
7445 #line 3345 "parse.y"
7446 { finish_handler_parms (yyvsp
[-1].ttype
); ;
7449 #line 3347 "parse.y"
7450 { finish_handler (yyvsp
[-3].ttype
); ;
7453 #line 3357 "parse.y"
7454 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7457 #line 3373 "parse.y"
7458 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7459 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7460 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7463 #line 3380 "parse.y"
7466 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7467 if (label
&& ! minimal_parse_mode
)
7468 expand_label (label
);
7472 #line 3387 "parse.y"
7476 #line 3389 "parse.y"
7480 #line 3391 "parse.y"
7484 #line 3396 "parse.y"
7485 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
7488 #line 3399 "parse.y"
7490 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7494 #line 3408 "parse.y"
7495 { emit_line_note (input_filename
, lineno
);
7496 yyval
.ttype
= NULL_TREE
; ;
7499 #line 3411 "parse.y"
7500 { emit_line_note (input_filename
, lineno
); ;
7503 #line 3416 "parse.y"
7504 { yyval
.ttype
= NULL_TREE
; ;
7507 #line 3419 "parse.y"
7508 { yyval
.ttype
= NULL_TREE
; ;
7511 #line 3426 "parse.y"
7512 { yyval
.ttype
= NULL_TREE
; ;
7515 #line 3433 "parse.y"
7516 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7519 #line 3438 "parse.y"
7520 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7523 #line 3443 "parse.y"
7524 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7527 #line 3445 "parse.y"
7528 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7531 #line 3456 "parse.y"
7533 yyval
.ttype
= empty_parms();
7537 #line 3461 "parse.y"
7538 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
7539 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
7542 #line 3469 "parse.y"
7543 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7546 #line 3471 "parse.y"
7547 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7550 #line 3474 "parse.y"
7551 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7554 #line 3476 "parse.y"
7555 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7556 yyvsp
[-1].ftype
.t
), 1); ;
7559 #line 3479 "parse.y"
7560 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7563 #line 3481 "parse.y"
7565 /* This helps us recover from really nasty
7566 parse errors, for example, a missing right
7568 yyerror ("possibly missing ')'");
7569 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7575 #line 3491 "parse.y"
7577 /* This helps us recover from really nasty
7578 parse errors, for example, a missing right
7580 yyerror ("possibly missing ')'");
7581 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7582 yyvsp
[-1].ftype
.t
), 0);
7588 #line 3506 "parse.y"
7589 { maybe_snarf_defarg (); ;
7592 #line 3508 "parse.y"
7593 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7596 #line 3519 "parse.y"
7597 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7598 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
7601 #line 3522 "parse.y"
7602 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7603 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
7606 #line 3525 "parse.y"
7607 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
7608 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
7611 #line 3528 "parse.y"
7612 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7615 #line 3530 "parse.y"
7616 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
7619 #line 3536 "parse.y"
7620 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
7621 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
7624 #line 3546 "parse.y"
7625 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7626 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
7627 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
7630 #line 3550 "parse.y"
7631 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7632 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7635 #line 3553 "parse.y"
7636 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
7637 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7640 #line 3556 "parse.y"
7641 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
7642 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7643 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7646 #line 3560 "parse.y"
7647 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
7648 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
7649 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7652 #line 3564 "parse.y"
7653 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
7654 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
7655 yyval
.ftype
.new_type_flag
= 0; ;
7658 #line 3571 "parse.y"
7659 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
7660 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7663 #line 3574 "parse.y"
7664 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7665 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7668 #line 3585 "parse.y"
7669 { see_typename (); ;
7672 #line 3590 "parse.y"
7674 error ("type specifier omitted for parameter");
7675 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
7679 #line 3595 "parse.y"
7681 error ("type specifier omitted for parameter");
7682 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
7683 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
7684 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
7685 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
7686 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
7690 #line 3607 "parse.y"
7691 { yyval
.ttype
= NULL_TREE
; ;
7694 #line 3609 "parse.y"
7695 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7698 #line 3611 "parse.y"
7699 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
7702 #line 3616 "parse.y"
7703 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
7706 #line 3622 "parse.y"
7708 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
7709 yyval
.ttype
= yyvsp
[0].ttype
;
7713 #line 3630 "parse.y"
7714 { yyval
.ttype
= NULL_TREE
; ;
7717 #line 3632 "parse.y"
7718 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7721 #line 3634 "parse.y"
7722 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7725 #line 3636 "parse.y"
7726 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7727 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7731 #line 3643 "parse.y"
7732 { got_scope
= NULL_TREE
; ;
7735 #line 3648 "parse.y"
7736 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
7739 #line 3650 "parse.y"
7740 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
7743 #line 3652 "parse.y"
7744 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
7747 #line 3654 "parse.y"
7748 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
7751 #line 3656 "parse.y"
7752 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
7755 #line 3658 "parse.y"
7756 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
7759 #line 3660 "parse.y"
7760 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
7763 #line 3662 "parse.y"
7764 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
7767 #line 3664 "parse.y"
7768 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
7771 #line 3666 "parse.y"
7772 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
7775 #line 3668 "parse.y"
7776 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7779 #line 3670 "parse.y"
7780 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
7783 #line 3672 "parse.y"
7784 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
7787 #line 3674 "parse.y"
7788 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7791 #line 3676 "parse.y"
7792 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
7795 #line 3678 "parse.y"
7796 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
7799 #line 3680 "parse.y"
7800 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7803 #line 3682 "parse.y"
7804 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7807 #line 3684 "parse.y"
7808 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
7811 #line 3686 "parse.y"
7812 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
7815 #line 3688 "parse.y"
7816 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
7819 #line 3690 "parse.y"
7820 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
7823 #line 3692 "parse.y"
7824 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
7827 #line 3694 "parse.y"
7828 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
7831 #line 3696 "parse.y"
7832 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
7835 #line 3698 "parse.y"
7836 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
7839 #line 3700 "parse.y"
7840 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
7843 #line 3702 "parse.y"
7844 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
7847 #line 3704 "parse.y"
7848 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
7851 #line 3706 "parse.y"
7852 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
7855 #line 3708 "parse.y"
7856 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
7859 #line 3710 "parse.y"
7860 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
7863 #line 3712 "parse.y"
7864 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
7867 #line 3715 "parse.y"
7868 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7871 #line 3717 "parse.y"
7872 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
7875 /* the action file gets copied in in place of this dollarsign */
7876 #line 498 "/usr/lib/bison.simple"
7887 short *ssp1
= yyss
- 1;
7888 fprintf (stderr
, "state stack now");
7889 while (ssp1
!= yyssp
)
7890 fprintf (stderr
, " %d", *++ssp1
);
7891 fprintf (stderr
, "\n");
7901 yylsp
->first_line
= yylloc
.first_line
;
7902 yylsp
->first_column
= yylloc
.first_column
;
7903 yylsp
->last_line
= (yylsp
-1)->last_line
;
7904 yylsp
->last_column
= (yylsp
-1)->last_column
;
7909 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
7910 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
7914 /* Now "shift" the result of the reduction.
7915 Determine what state that goes to,
7916 based on the state we popped back to
7917 and the rule number reduced by. */
7921 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
7922 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
7923 yystate
= yytable
[yystate
];
7925 yystate
= yydefgoto
[yyn
- YYNTBASE
];
7929 yyerrlab
: /* here on detecting error */
7932 /* If not already recovering from an error, report this error. */
7936 #ifdef YYERROR_VERBOSE
7937 yyn
= yypact
[yystate
];
7939 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
7946 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7947 for (x
= (yyn
< 0 ? -yyn
: 0);
7948 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7949 if (yycheck
[x
+ yyn
] == x
)
7950 size
+= strlen(yytname
[x
]) + 15, count
++;
7951 msg
= (char *) malloc(size
+ 15);
7954 strcpy(msg
, "parse error");
7959 for (x
= (yyn
< 0 ? -yyn
: 0);
7960 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
7961 if (yycheck
[x
+ yyn
] == x
)
7963 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
7964 strcat(msg
, yytname
[x
]);
7973 yyerror ("parse error; also virtual memory exceeded");
7976 #endif /* YYERROR_VERBOSE */
7977 yyerror("parse error");
7981 yyerrlab1
: /* here on error raised explicitly by an action */
7983 if (yyerrstatus
== 3)
7985 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7987 /* return failure if at end of input */
7988 if (yychar
== YYEOF
)
7993 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
7999 /* Else will try to reuse lookahead token
8000 after shifting the error token. */
8002 yyerrstatus
= 3; /* Each real token shifted decrements this */
8006 yyerrdefault
: /* current state does not do anything special for the error token. */
8009 /* This is wrong; only states that explicitly want error tokens
8010 should shift them. */
8011 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8012 if (yyn
) goto yydefault
;
8015 yyerrpop
: /* pop the current state because it cannot handle the error token */
8017 if (yyssp
== yyss
) YYABORT
;
8027 short *ssp1
= yyss
- 1;
8028 fprintf (stderr
, "Error: state stack now");
8029 while (ssp1
!= yyssp
)
8030 fprintf (stderr
, " %d", *++ssp1
);
8031 fprintf (stderr
, "\n");
8037 yyn
= yypact
[yystate
];
8042 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8061 fprintf(stderr
, "Shifting error token, ");
8072 #line 3720 "parse.y"
8077 debug_yytranslate (value
)
8080 return yytname
[YYTRANSLATE (value
)];