2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
6 #define YYBISON 1 /* Identify Bison output. */
14 #define CV_QUALIFIER 264
32 #define ASM_KEYWORD 282
33 #define GCC_ASM_KEYWORD 283
51 #define TYPENAME_KEYWORD 301
53 #define LEFT_RIGHT 303
56 #define DYNAMIC_CAST 306
57 #define STATIC_CAST 307
58 #define REINTERPRET_CAST 308
59 #define CONST_CAST 309
70 #define ARITHCOMPARE 320
73 #define POINTSAT_STAR 323
77 #define MINUSMINUS 327
78 #define HYPERUNARY 328
79 #define PAREN_STAR_PAREN 329
83 #define TYPENAME_ELLIPSIS 333
84 #define PRE_PARSED_FUNCTION_DECL 334
85 #define EXTERN_LANG_STRING 335
87 #define PRE_PARSED_CLASS_DECL 337
89 #define DEFARG_MARKER 339
90 #define TYPENAME_DEFN 340
91 #define IDENTIFIER_DEFN 341
92 #define PTYPENAME_DEFN 342
93 #define END_OF_LINE 343
94 #define END_OF_SAVED_INPUT 344
98 /* Cause the `yydebug' variable to be defined. */
114 /* Since parsers are distinct for each language, put the language string
115 definition here. (fnf) */
116 char *language_string
= "GNU C++";
118 extern tree void_list_node
;
119 extern struct obstack permanent_obstack
;
125 extern int end_of_file
;
126 extern int current_class_depth
;
127 extern tree last_tree
;
129 /* FSF LOCAL dje prefix attributes */
130 extern tree strip_attrs
PROTO((tree
));
133 /* Like YYERROR but do call yyerror. */
134 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
136 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
137 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
139 /* Contains the statement keyword (if/while/do) to include in an
140 error message if the user supplies an empty conditional expression. */
141 static char *cond_stmt_keyword
;
143 static tree empty_parms
PROTO((void));
145 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
146 int have_extern_spec
;
147 int used_extern_spec
;
149 /* Cons up an empty parameter list. */
159 || current_class_type
!= NULL
)
160 parms
= void_list_node
;
167 typedef union {long itype
; tree ttype
; char *strtype
; enum tree_code code
; flagged_type_tree ftype
; } YYSTYPE
;
170 /* List of types and structure classes of the current declaration. */
171 static tree current_declspecs
= NULL_TREE
;
172 /* List of prefix attributes in effect.
173 Prefix attributes are parsed by the reserved_declspecs and declmods
174 rules. They create a list that contains *both* declspecs and attrs. */
175 /* ??? It is not clear yet that all cases where an attribute can now appear in
176 a declspec list have been updated. */
177 static tree prefix_attributes
= NULL_TREE
;
179 /* When defining an aggregate, this is the most recent one being defined. */
180 static tree current_aggr
;
182 /* Tell yyparse how to print a token's value, if yydebug is set. */
184 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
185 extern void yyprint
PROTO((FILE *, int, YYSTYPE
));
186 extern tree combine_strings
PROTO((tree
));
198 #define YYFLAG -32768
201 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 377)
203 static const char yytranslate
[] = { 0,
204 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
205 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
206 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
207 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
208 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
209 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
210 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
211 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
212 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
213 95, 2, 113, 70, 2, 2, 2, 2, 2, 2,
214 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
215 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
216 2, 2, 59, 69, 111, 89, 2, 2, 2, 2,
217 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
218 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
219 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
225 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
230 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
231 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
232 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
233 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
234 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
235 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
236 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
237 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
242 static const short yyprhs
[] = { 0,
243 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
244 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
245 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
246 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
247 119, 123, 125, 129, 131, 134, 136, 139, 141, 145,
248 147, 151, 154, 157, 160, 164, 168, 171, 174, 177,
249 180, 183, 185, 187, 189, 190, 192, 195, 196, 198,
250 203, 207, 211, 212, 221, 227, 228, 238, 245, 246,
251 255, 261, 262, 272, 279, 282, 285, 287, 290, 292,
252 299, 304, 311, 316, 319, 321, 324, 327, 329, 332,
253 334, 337, 340, 343, 348, 351, 355, 356, 357, 359,
254 363, 366, 370, 372, 377, 380, 385, 388, 393, 396,
255 398, 400, 402, 404, 406, 408, 410, 412, 414, 416,
256 418, 422, 426, 429, 432, 437, 442, 446, 450, 455,
257 459, 464, 468, 470, 475, 479, 481, 483, 485, 489,
258 491, 493, 495, 497, 499, 501, 503, 505, 507, 509,
259 513, 515, 519, 520, 522, 524, 525, 533, 535, 537,
260 541, 546, 550, 551, 555, 557, 561, 565, 569, 573,
261 575, 577, 579, 582, 585, 588, 591, 594, 597, 600,
262 605, 608, 613, 616, 620, 624, 629, 634, 640, 646,
263 653, 656, 661, 667, 670, 673, 677, 681, 685, 687,
264 691, 694, 698, 703, 705, 708, 714, 716, 720, 724,
265 728, 732, 736, 740, 744, 748, 752, 756, 760, 764,
266 768, 772, 776, 780, 784, 788, 792, 798, 802, 806,
267 808, 811, 815, 817, 819, 821, 823, 825, 826, 832,
268 837, 843, 848, 854, 860, 866, 868, 870, 872, 874,
269 877, 880, 884, 889, 894, 896, 898, 900, 904, 906,
270 908, 910, 912, 916, 920, 924, 925, 930, 935, 938,
271 943, 946, 949, 951, 956, 958, 966, 974, 982, 990,
272 995, 1000, 1003, 1006, 1008, 1013, 1016, 1019, 1025, 1029,
273 1032, 1035, 1041, 1045, 1051, 1055, 1060, 1067, 1070, 1072,
274 1075, 1077, 1080, 1082, 1084, 1086, 1089, 1090, 1093, 1096,
275 1100, 1104, 1108, 1111, 1114, 1117, 1119, 1121, 1123, 1126,
276 1129, 1132, 1135, 1137, 1139, 1141, 1143, 1146, 1149, 1153,
277 1157, 1161, 1166, 1168, 1171, 1174, 1177, 1179, 1181, 1183,
278 1186, 1189, 1192, 1194, 1196, 1199, 1202, 1206, 1208, 1211,
279 1213, 1215, 1217, 1222, 1227, 1232, 1237, 1239, 1241, 1243,
280 1245, 1249, 1251, 1255, 1257, 1261, 1262, 1267, 1268, 1275,
281 1279, 1280, 1287, 1291, 1292, 1299, 1303, 1304, 1311, 1315,
282 1316, 1318, 1320, 1323, 1330, 1332, 1336, 1337, 1339, 1344,
283 1351, 1356, 1358, 1360, 1362, 1364, 1366, 1370, 1371, 1374,
284 1376, 1379, 1383, 1388, 1390, 1392, 1396, 1401, 1408, 1412,
285 1418, 1420, 1425, 1429, 1433, 1434, 1438, 1442, 1446, 1447,
286 1450, 1453, 1454, 1462, 1467, 1468, 1475, 1479, 1482, 1485,
287 1488, 1489, 1490, 1491, 1502, 1504, 1505, 1507, 1508, 1510,
288 1512, 1515, 1518, 1521, 1524, 1527, 1530, 1534, 1539, 1543,
289 1546, 1550, 1551, 1553, 1557, 1560, 1563, 1565, 1567, 1568,
290 1571, 1575, 1577, 1582, 1584, 1588, 1590, 1592, 1597, 1602,
291 1605, 1608, 1612, 1616, 1618, 1619, 1621, 1624, 1629, 1633,
292 1635, 1638, 1641, 1644, 1647, 1650, 1653, 1656, 1658, 1661,
293 1664, 1667, 1672, 1677, 1680, 1682, 1688, 1693, 1695, 1698,
294 1699, 1701, 1705, 1706, 1708, 1712, 1714, 1716, 1718, 1720,
295 1725, 1730, 1735, 1740, 1745, 1749, 1754, 1759, 1764, 1769,
296 1773, 1775, 1779, 1781, 1785, 1788, 1790, 1797, 1798, 1801,
297 1803, 1806, 1807, 1810, 1815, 1820, 1823, 1828, 1832, 1836,
298 1839, 1842, 1846, 1848, 1850, 1853, 1855, 1857, 1860, 1863,
299 1868, 1873, 1877, 1881, 1884, 1886, 1890, 1894, 1897, 1900,
300 1904, 1906, 1910, 1914, 1917, 1920, 1924, 1926, 1931, 1935,
301 1940, 1944, 1946, 1949, 1952, 1955, 1958, 1961, 1963, 1966,
302 1971, 1976, 1979, 1981, 1983, 1985, 1987, 1990, 1993, 1996,
303 1999, 2002, 2004, 2007, 2010, 2012, 2015, 2018, 2021, 2024,
304 2027, 2030, 2033, 2036, 2038, 2041, 2044, 2048, 2050, 2054,
305 2057, 2061, 2064, 2067, 2071, 2073, 2077, 2082, 2086, 2089,
306 2092, 2094, 2098, 2101, 2104, 2106, 2109, 2113, 2115, 2119,
307 2121, 2128, 2133, 2138, 2142, 2148, 2152, 2156, 2160, 2163,
308 2165, 2167, 2170, 2173, 2176, 2177, 2178, 2179, 2181, 2183,
309 2186, 2190, 2192, 2195, 2196, 2202, 2203, 2204, 2211, 2213,
310 2214, 2219, 2221, 2223, 2225, 2228, 2229, 2230, 2237, 2239,
311 2240, 2241, 2249, 2250, 2251, 2259, 2260, 2261, 2262, 2263,
312 2278, 2279, 2280, 2290, 2291, 2297, 2298, 2306, 2307, 2312,
313 2315, 2318, 2321, 2325, 2332, 2341, 2352, 2365, 2370, 2374,
314 2377, 2380, 2382, 2384, 2385, 2386, 2393, 2394, 2395, 2401,
315 2403, 2406, 2407, 2408, 2409, 2418, 2420, 2422, 2426, 2430,
316 2433, 2436, 2439, 2442, 2445, 2447, 2450, 2451, 2453, 2454,
317 2456, 2458, 2459, 2461, 2463, 2467, 2472, 2474, 2478, 2479,
318 2481, 2483, 2485, 2488, 2491, 2494, 2496, 2498, 2501, 2504,
319 2507, 2510, 2511, 2515, 2517, 2519, 2521, 2524, 2527, 2530,
320 2535, 2538, 2541, 2544, 2547, 2550, 2553, 2555, 2558, 2560,
321 2563, 2565, 2567, 2568, 2569, 2571, 2572, 2577, 2580, 2582,
322 2584, 2588, 2589, 2593, 2597, 2601, 2603, 2606, 2609, 2612,
323 2615, 2618, 2621, 2624, 2627, 2630, 2633, 2636, 2639, 2642,
324 2645, 2648, 2651, 2654, 2657, 2660, 2663, 2666, 2669, 2672,
325 2676, 2679, 2682, 2685, 2688, 2692, 2695, 2698, 2703, 2708,
329 static const short yyrhs
[] = { -1,
330 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
331 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
332 0, 123, 124, 0, 140, 139, 0, 136, 0, 135,
333 0, 121, 94, 195, 110, 61, 0, 129, 59, 117,
334 111, 0, 129, 118, 140, 119, 139, 0, 129, 118,
335 136, 119, 0, 0, 45, 155, 59, 125, 117, 111,
336 0, 0, 45, 59, 126, 117, 111, 0, 45, 155,
337 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
338 61, 0, 120, 124, 0, 47, 288, 0, 47, 301,
339 288, 0, 47, 301, 186, 0, 186, 0, 288, 0,
340 301, 288, 0, 301, 186, 0, 100, 0, 129, 100,
341 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
342 76, 0, 134, 0, 132, 60, 134, 0, 245, 0,
343 245, 155, 0, 46, 0, 46, 155, 0, 133, 0,
344 133, 65, 201, 0, 368, 0, 368, 65, 181, 0,
345 130, 124, 0, 130, 1, 0, 212, 61, 0, 205,
346 211, 61, 0, 202, 210, 61, 0, 205, 61, 0,
347 158, 61, 0, 202, 61, 0, 1, 61, 0, 1,
348 111, 0, 61, 0, 196, 0, 151, 0, 0, 150,
349 0, 150, 61, 0, 0, 109, 0, 146, 138, 137,
350 313, 0, 146, 138, 338, 0, 146, 138, 1, 0,
351 0, 293, 5, 94, 142, 359, 110, 275, 371, 0,
352 293, 5, 48, 275, 371, 0, 0, 301, 293, 5,
353 94, 143, 359, 110, 275, 371, 0, 301, 293, 5,
354 48, 275, 371, 0, 0, 293, 160, 94, 144, 359,
355 110, 275, 371, 0, 293, 160, 48, 275, 371, 0,
356 0, 301, 293, 160, 94, 145, 359, 110, 275, 371,
357 0, 301, 293, 160, 48, 275, 371, 0, 202, 199,
358 0, 205, 285, 0, 285, 0, 205, 141, 0, 141,
359 0, 5, 94, 359, 110, 275, 371, 0, 5, 48,
360 275, 371, 0, 160, 94, 359, 110, 275, 371, 0,
361 160, 48, 275, 371, 0, 205, 147, 0, 147, 0,
362 202, 199, 0, 205, 285, 0, 285, 0, 205, 141,
363 0, 141, 0, 130, 148, 0, 25, 3, 0, 149,
364 229, 0, 149, 94, 175, 110, 0, 149, 48, 0,
365 63, 152, 153, 0, 0, 0, 154, 0, 153, 60,
366 154, 0, 153, 1, 0, 94, 175, 110, 0, 48,
367 0, 156, 94, 175, 110, 0, 156, 48, 0, 281,
368 94, 175, 110, 0, 281, 48, 0, 295, 94, 175,
369 110, 0, 295, 48, 0, 3, 0, 4, 0, 5,
370 0, 57, 0, 58, 0, 3, 0, 57, 0, 58,
371 0, 106, 0, 105, 0, 107, 0, 49, 208, 61,
372 0, 49, 202, 199, 0, 49, 285, 0, 49, 141,
373 0, 7, 49, 208, 61, 0, 7, 49, 202, 199,
374 0, 7, 49, 285, 0, 7, 49, 141, 0, 57,
375 75, 162, 161, 0, 57, 75, 161, 0, 4, 75,
376 162, 161, 0, 4, 75, 161, 0, 160, 0, 5,
377 75, 162, 161, 0, 5, 75, 161, 0, 76, 0,
378 78, 0, 163, 0, 162, 60, 163, 0, 201, 0,
379 181, 0, 80, 0, 79, 0, 87, 0, 88, 0,
380 112, 0, 174, 0, 181, 0, 48, 0, 94, 165,
381 110, 0, 48, 0, 94, 169, 110, 0, 0, 169,
382 0, 1, 0, 0, 349, 199, 213, 222, 65, 170,
383 230, 0, 165, 0, 111, 0, 310, 306, 111, 0,
384 310, 306, 1, 111, 0, 310, 1, 111, 0, 0,
385 59, 173, 171, 0, 322, 0, 181, 60, 181, 0,
386 181, 60, 1, 0, 174, 60, 181, 0, 174, 60,
387 1, 0, 181, 0, 174, 0, 190, 0, 120, 180,
388 0, 81, 180, 0, 71, 180, 0, 89, 180, 0,
389 164, 180, 0, 68, 155, 0, 13, 176, 0, 13,
390 94, 201, 110, 0, 30, 176, 0, 30, 94, 201,
391 110, 0, 192, 274, 0, 192, 274, 178, 0, 192,
392 177, 274, 0, 192, 177, 274, 178, 0, 192, 94,
393 201, 110, 0, 192, 94, 201, 110, 178, 0, 192,
394 177, 94, 201, 110, 0, 192, 177, 94, 201, 110,
395 178, 0, 193, 180, 0, 193, 95, 113, 180, 0,
396 193, 95, 165, 113, 180, 0, 35, 180, 0, 36,
397 180, 0, 94, 175, 110, 0, 59, 175, 111, 0,
398 94, 175, 110, 0, 48, 0, 94, 208, 110, 0,
399 65, 230, 0, 94, 201, 110, 0, 179, 94, 201,
400 110, 0, 176, 0, 179, 176, 0, 179, 59, 231,
401 243, 111, 0, 180, 0, 181, 84, 181, 0, 181,
402 85, 181, 0, 181, 79, 181, 0, 181, 80, 181,
403 0, 181, 81, 181, 0, 181, 82, 181, 0, 181,
404 83, 181, 0, 181, 77, 181, 0, 181, 78, 181,
405 0, 181, 74, 181, 0, 181, 75, 181, 0, 181,
406 76, 181, 0, 181, 73, 181, 0, 181, 72, 181,
407 0, 181, 71, 181, 0, 181, 69, 181, 0, 181,
408 70, 181, 0, 181, 68, 181, 0, 181, 67, 181,
409 0, 181, 66, 354, 63, 181, 0, 181, 65, 181,
410 0, 181, 64, 181, 0, 62, 0, 62, 181, 0,
411 89, 369, 155, 0, 184, 0, 376, 0, 3, 0,
412 57, 0, 58, 0, 0, 6, 75, 183, 162, 161,
413 0, 6, 75, 183, 161, 0, 376, 75, 183, 162,
414 161, 0, 376, 75, 183, 161, 0, 49, 155, 75,
415 162, 161, 0, 49, 6, 75, 162, 161, 0, 49,
416 376, 75, 162, 161, 0, 182, 0, 4, 0, 5,
417 0, 182, 0, 81, 187, 0, 71, 187, 0, 94,
418 187, 110, 0, 3, 75, 162, 161, 0, 58, 75,
419 162, 161, 0, 287, 0, 182, 0, 188, 0, 94,
420 187, 110, 0, 182, 0, 10, 0, 194, 0, 195,
421 0, 94, 165, 110, 0, 94, 187, 110, 0, 94,
422 1, 110, 0, 0, 94, 191, 314, 110, 0, 190,
423 94, 175, 110, 0, 190, 48, 0, 190, 95, 165,
424 113, 0, 190, 87, 0, 190, 88, 0, 41, 0,
425 9, 94, 175, 110, 0, 291, 0, 51, 75, 201,
426 76, 94, 165, 110, 0, 52, 75, 201, 76, 94,
427 165, 110, 0, 53, 75, 201, 76, 94, 165, 110,
428 0, 54, 75, 201, 76, 94, 165, 110, 0, 50,
429 94, 165, 110, 0, 50, 94, 201, 110, 0, 301,
430 3, 0, 301, 376, 0, 290, 0, 290, 94, 175,
431 110, 0, 290, 48, 0, 197, 185, 0, 197, 185,
432 94, 175, 110, 0, 197, 185, 48, 0, 197, 186,
433 0, 197, 290, 0, 197, 186, 94, 175, 110, 0,
434 197, 186, 48, 0, 197, 290, 94, 175, 110, 0,
435 197, 290, 48, 0, 197, 89, 8, 48, 0, 197,
436 8, 55, 89, 8, 48, 0, 197, 1, 0, 40,
437 0, 301, 40, 0, 39, 0, 301, 193, 0, 43,
438 0, 44, 0, 11, 0, 195, 11, 0, 0, 190,
439 93, 0, 190, 92, 0, 208, 210, 61, 0, 202,
440 210, 61, 0, 205, 211, 61, 0, 202, 61, 0,
441 205, 61, 0, 120, 198, 0, 280, 0, 285, 0,
442 48, 0, 200, 48, 0, 206, 304, 0, 276, 304,
443 0, 208, 304, 0, 206, 0, 276, 0, 206, 0,
444 203, 0, 205, 208, 0, 208, 204, 0, 208, 207,
445 204, 0, 205, 208, 204, 0, 205, 208, 207, 0,
446 205, 208, 207, 204, 0, 7, 0, 204, 209, 0,
447 204, 7, 0, 204, 223, 0, 223, 0, 276, 0,
448 7, 0, 205, 9, 0, 205, 7, 0, 205, 223,
449 0, 223, 0, 208, 0, 276, 208, 0, 208, 207,
450 0, 276, 208, 207, 0, 209, 0, 207, 209, 0,
451 237, 0, 8, 0, 282, 0, 29, 94, 165, 110,
452 0, 29, 94, 201, 110, 0, 31, 94, 165, 110,
453 0, 31, 94, 201, 110, 0, 8, 0, 9, 0,
454 237, 0, 214, 0, 210, 60, 216, 0, 218, 0,
455 211, 60, 216, 0, 220, 0, 212, 60, 216, 0,
456 0, 121, 94, 195, 110, 0, 0, 199, 213, 222,
457 65, 215, 230, 0, 199, 213, 222, 0, 0, 199,
458 213, 222, 65, 217, 230, 0, 199, 213, 222, 0,
459 0, 285, 213, 222, 65, 219, 230, 0, 285, 213,
460 222, 0, 0, 285, 213, 222, 65, 221, 230, 0,
461 285, 213, 222, 0, 0, 223, 0, 224, 0, 223,
462 224, 0, 32, 94, 94, 225, 110, 110, 0, 226,
463 0, 225, 60, 226, 0, 0, 227, 0, 227, 94,
464 3, 110, 0, 227, 94, 3, 60, 175, 110, 0,
465 227, 94, 175, 110, 0, 155, 0, 7, 0, 8,
466 0, 9, 0, 155, 0, 228, 60, 155, 0, 0,
467 65, 230, 0, 181, 0, 59, 111, 0, 59, 231,
468 111, 0, 59, 231, 60, 111, 0, 1, 0, 230,
469 0, 231, 60, 230, 0, 95, 181, 113, 230, 0,
470 231, 60, 21, 181, 63, 230, 0, 155, 63, 230,
471 0, 231, 60, 155, 63, 230, 0, 99, 0, 232,
472 138, 137, 313, 0, 232, 138, 338, 0, 232, 138,
473 1, 0, 0, 234, 233, 139, 0, 104, 181, 109,
474 0, 104, 1, 109, 0, 0, 236, 235, 0, 236,
475 1, 0, 0, 14, 155, 59, 238, 272, 244, 111,
476 0, 14, 155, 59, 111, 0, 0, 14, 59, 239,
477 272, 244, 111, 0, 14, 59, 111, 0, 14, 155,
478 0, 14, 299, 0, 46, 295, 0, 0, 0, 0,
479 252, 258, 240, 260, 111, 222, 241, 236, 242, 234,
480 0, 252, 0, 0, 60, 0, 0, 60, 0, 37,
481 0, 245, 7, 0, 245, 8, 0, 245, 9, 0,
482 245, 37, 0, 245, 155, 0, 245, 157, 0, 245,
483 293, 155, 0, 245, 301, 293, 155, 0, 245, 301,
484 155, 0, 245, 159, 0, 245, 293, 159, 0, 0,
485 246, 0, 247, 249, 253, 0, 248, 253, 0, 245,
486 59, 0, 251, 0, 250, 0, 0, 63, 369, 0,
487 63, 369, 254, 0, 255, 0, 254, 60, 369, 255,
488 0, 256, 0, 257, 369, 256, 0, 295, 0, 281,
489 0, 31, 94, 165, 110, 0, 31, 94, 201, 110,
490 0, 38, 369, 0, 7, 369, 0, 257, 38, 369,
491 0, 257, 7, 369, 0, 59, 0, 0, 259, 0,
492 259, 261, 0, 260, 38, 63, 261, 0, 260, 38,
493 63, 0, 262, 0, 261, 262, 0, 263, 61, 0,
494 263, 111, 0, 148, 63, 0, 148, 96, 0, 148,
495 25, 0, 148, 59, 0, 61, 0, 120, 262, 0,
496 202, 264, 0, 205, 265, 0, 285, 213, 222, 229,
497 0, 141, 213, 222, 229, 0, 63, 181, 0, 1,
498 0, 205, 147, 213, 222, 229, 0, 147, 213, 222,
499 229, 0, 127, 0, 130, 263, 0, 0, 266, 0,
500 264, 60, 267, 0, 0, 269, 0, 265, 60, 271,
501 0, 268, 0, 269, 0, 270, 0, 271, 0, 280,
502 213, 222, 229, 0, 4, 63, 181, 222, 0, 285,
503 213, 222, 229, 0, 141, 213, 222, 229, 0, 3,
504 63, 181, 222, 0, 63, 181, 222, 0, 280, 213,
505 222, 229, 0, 4, 63, 181, 222, 0, 285, 213,
506 222, 229, 0, 3, 63, 181, 222, 0, 63, 181,
507 222, 0, 273, 0, 272, 60, 273, 0, 155, 0,
508 155, 65, 181, 0, 349, 302, 0, 349, 0, 94,
509 201, 110, 95, 165, 113, 0, 0, 275, 9, 0,
510 9, 0, 276, 9, 0, 0, 277, 165, 0, 277,
511 94, 175, 110, 0, 277, 94, 359, 110, 0, 277,
512 48, 0, 277, 94, 1, 110, 0, 81, 276, 280,
513 0, 71, 276, 280, 0, 81, 280, 0, 71, 280,
514 0, 300, 275, 280, 0, 284, 0, 292, 0, 301,
515 292, 0, 281, 0, 283, 0, 301, 283, 0, 293,
516 292, 0, 284, 279, 275, 371, 0, 284, 95, 278,
517 113, 0, 284, 95, 113, 0, 94, 280, 110, 0,
518 293, 292, 0, 292, 0, 81, 276, 285, 0, 71,
519 276, 285, 0, 81, 285, 0, 71, 285, 0, 300,
520 275, 285, 0, 189, 0, 81, 276, 285, 0, 71,
521 276, 285, 0, 81, 286, 0, 71, 286, 0, 300,
522 275, 285, 0, 287, 0, 189, 279, 275, 371, 0,
523 94, 286, 110, 0, 189, 95, 278, 113, 0, 189,
524 95, 113, 0, 289, 0, 293, 188, 0, 293, 186,
525 0, 293, 185, 0, 293, 182, 0, 293, 185, 0,
526 289, 0, 301, 289, 0, 208, 94, 175, 110, 0,
527 208, 94, 187, 110, 0, 208, 200, 0, 4, 0,
528 5, 0, 159, 0, 294, 0, 293, 294, 0, 4,
529 55, 0, 5, 55, 0, 58, 55, 0, 159, 55,
530 0, 296, 0, 301, 296, 0, 297, 155, 0, 298,
531 0, 297, 298, 0, 4, 55, 0, 5, 55, 0,
532 159, 55, 0, 57, 55, 0, 3, 55, 0, 58,
533 55, 0, 301, 292, 0, 283, 0, 301, 283, 0,
534 293, 81, 0, 301, 293, 81, 0, 55, 0, 81,
535 275, 302, 0, 81, 275, 0, 71, 275, 302, 0,
536 71, 275, 0, 300, 275, 0, 300, 275, 302, 0,
537 303, 0, 95, 165, 113, 0, 303, 95, 278, 113,
538 0, 81, 276, 304, 0, 81, 304, 0, 81, 276,
539 0, 81, 0, 71, 276, 304, 0, 71, 304, 0,
540 71, 276, 0, 71, 0, 300, 275, 0, 300, 275,
541 304, 0, 305, 0, 94, 304, 110, 0, 91, 0,
542 305, 94, 359, 110, 275, 371, 0, 305, 48, 275,
543 371, 0, 305, 95, 278, 113, 0, 305, 95, 113,
544 0, 94, 360, 110, 275, 371, 0, 179, 275, 371,
545 0, 200, 275, 371, 0, 95, 278, 113, 0, 95,
546 113, 0, 321, 0, 307, 0, 306, 321, 0, 306,
547 307, 0, 1, 61, 0, 0, 0, 0, 311, 0,
548 312, 0, 311, 312, 0, 34, 228, 61, 0, 314,
549 0, 1, 314, 0, 0, 59, 315, 308, 171, 309,
550 0, 0, 0, 15, 317, 308, 167, 318, 319, 0,
551 314, 0, 0, 308, 320, 322, 309, 0, 314, 0,
552 322, 0, 198, 0, 165, 61, 0, 0, 0, 316,
553 16, 323, 319, 324, 309, 0, 316, 0, 0, 0,
554 17, 325, 308, 167, 326, 172, 309, 0, 0, 0,
555 18, 327, 319, 17, 328, 166, 61, 0, 0, 0,
556 0, 0, 19, 329, 94, 352, 330, 308, 168, 61,
557 331, 354, 110, 332, 172, 309, 0, 0, 0, 20,
558 308, 94, 169, 110, 333, 319, 334, 309, 0, 0,
559 21, 181, 63, 335, 321, 0, 0, 21, 181, 12,
560 181, 63, 336, 321, 0, 0, 22, 63, 337, 321,
561 0, 23, 61, 0, 24, 61, 0, 25, 61, 0,
562 25, 165, 61, 0, 121, 353, 94, 195, 110, 61,
563 0, 121, 353, 94, 195, 63, 355, 110, 61, 0,
564 121, 353, 94, 195, 63, 355, 63, 355, 110, 61,
565 0, 121, 353, 94, 195, 63, 355, 63, 355, 63,
566 358, 110, 61, 0, 26, 81, 165, 61, 0, 26,
567 155, 61, 0, 351, 321, 0, 351, 111, 0, 61,
568 0, 341, 0, 0, 0, 96, 339, 137, 314, 340,
569 344, 0, 0, 0, 96, 342, 314, 343, 344, 0,
570 345, 0, 344, 345, 0, 0, 0, 0, 97, 346,
571 308, 350, 347, 314, 348, 309, 0, 206, 0, 276,
572 0, 94, 12, 110, 0, 94, 368, 110, 0, 3,
573 63, 0, 57, 63, 0, 4, 63, 0, 5, 63,
574 0, 354, 61, 0, 198, 0, 59, 171, 0, 0,
575 9, 0, 0, 165, 0, 1, 0, 0, 356, 0,
576 357, 0, 356, 60, 357, 0, 11, 94, 165, 110,
577 0, 11, 0, 358, 60, 11, 0, 0, 360, 0,
578 201, 0, 364, 0, 365, 12, 0, 364, 12, 0,
579 201, 12, 0, 12, 0, 98, 0, 364, 98, 0,
580 201, 98, 0, 364, 63, 0, 201, 63, 0, 0,
581 65, 362, 363, 0, 103, 0, 230, 0, 366, 0,
582 368, 361, 0, 365, 367, 0, 365, 370, 0, 365,
583 370, 65, 230, 0, 364, 60, 0, 201, 60, 0,
584 203, 199, 0, 206, 199, 0, 208, 199, 0, 203,
585 304, 0, 203, 0, 205, 285, 0, 368, 0, 368,
586 361, 0, 366, 0, 201, 0, 0, 0, 285, 0,
587 0, 62, 94, 373, 110, 0, 62, 48, 0, 201,
588 0, 372, 0, 373, 60, 372, 0, 0, 81, 275,
589 374, 0, 71, 275, 374, 0, 300, 275, 374, 0,
590 42, 0, 375, 81, 0, 375, 82, 0, 375, 83,
591 0, 375, 79, 0, 375, 80, 0, 375, 71, 0,
592 375, 69, 0, 375, 70, 0, 375, 89, 0, 375,
593 60, 0, 375, 74, 0, 375, 75, 0, 375, 76,
594 0, 375, 73, 0, 375, 64, 0, 375, 65, 0,
595 375, 77, 0, 375, 78, 0, 375, 87, 0, 375,
596 88, 0, 375, 68, 0, 375, 67, 0, 375, 112,
597 0, 375, 66, 63, 0, 375, 72, 0, 375, 92,
598 0, 375, 84, 0, 375, 48, 0, 375, 95, 113,
599 0, 375, 40, 0, 375, 39, 0, 375, 40, 95,
600 113, 0, 375, 39, 95, 113, 0, 375, 349, 374,
607 static const short yyrline
[] = { 0,
608 310, 312, 326, 329, 330, 334, 336, 339, 344, 348,
609 354, 356, 359, 362, 366, 369, 371, 373, 376, 378,
610 381, 384, 386, 388, 390, 392, 394, 396, 402, 406,
611 409, 411, 415, 417, 418, 420, 424, 427, 433, 436,
612 438, 443, 446, 450, 463, 465, 467, 471, 481, 483,
613 485, 489, 498, 508, 511, 513, 517, 519, 520, 527,
614 528, 529, 532, 535, 539, 541, 542, 545, 547, 550,
615 553, 555, 559, 569, 571, 581, 590, 592, 602, 611,
616 613, 623, 632, 634, 646, 654, 661, 666, 673, 680,
617 683, 685, 687, 693, 703, 705, 708, 711, 713, 716,
618 718, 741, 750, 753, 755, 759, 772, 792, 795, 797,
619 798, 801, 808, 814, 816, 818, 820, 822, 825, 830,
620 832, 833, 834, 835, 838, 840, 841, 844, 846, 847,
621 850, 854, 857, 859, 861, 864, 867, 869, 877, 884,
622 890, 896, 902, 905, 912, 920, 922, 930, 933, 937,
623 940, 943, 946, 948, 950, 952, 956, 959, 962, 967,
624 971, 976, 980, 983, 985, 989, 1009, 1016, 1019, 1021,
625 1022, 1023, 1026, 1037, 1046, 1050, 1054, 1057, 1059, 1063,
626 1066, 1069, 1073, 1076, 1078, 1080, 1082, 1089, 1102, 1104,
627 1106, 1108, 1114, 1117, 1120, 1123, 1126, 1130, 1133, 1136,
628 1140, 1142, 1146, 1150, 1152, 1156, 1159, 1166, 1169, 1171,
629 1179, 1188, 1194, 1201, 1203, 1205, 1218, 1221, 1223, 1225,
630 1227, 1229, 1231, 1233, 1235, 1237, 1239, 1241, 1243, 1245,
631 1247, 1249, 1251, 1253, 1255, 1257, 1259, 1261, 1265, 1267,
632 1269, 1286, 1289, 1290, 1291, 1292, 1293, 1296, 1299, 1302,
633 1304, 1306, 1310, 1313, 1315, 1319, 1321, 1322, 1325, 1327,
634 1329, 1331, 1335, 1338, 1342, 1344, 1345, 1346, 1350, 1358,
635 1359, 1360, 1368, 1376, 1384, 1386, 1394, 1415, 1422, 1429,
636 1431, 1440, 1445, 1468, 1512, 1513, 1517, 1521, 1525, 1529,
637 1531, 1535, 1537, 1545, 1547, 1552, 1558, 1562, 1567, 1572,
638 1574, 1579, 1594, 1609, 1620, 1632, 1640, 1649, 1693, 1696,
639 1700, 1703, 1707, 1710, 1715, 1717, 1721, 1734, 1737, 1744,
640 1751, 1756, 1758, 1763, 1765, 1772, 1774, 1778, 1782, 1788,
641 1792, 1795, 1798, 1801, 1811, 1813, 1816, 1820, 1823, 1826,
642 1829, 1832, 1838, 1844, 1846, 1851, 1853, 1862, 1865, 1867,
643 1870, 1876, 1878, 1888, 1892, 1895, 1898, 1903, 1906, 1914,
644 1916, 1918, 1920, 1923, 1926, 1941, 1960, 1963, 1965, 1968,
645 1970, 1973, 1975, 1978, 1980, 1983, 1986, 1990, 2009, 2011,
646 2031, 2037, 2038, 2044, 2053, 2055, 2065, 2074, 2076, 2088,
647 2091, 2095, 2098, 2102, 2107, 2110, 2114, 2117, 2119, 2121,
648 2123, 2130, 2132, 2133, 2134, 2138, 2141, 2145, 2148, 2154,
649 2156, 2159, 2162, 2165, 2171, 2174, 2177, 2179, 2181, 2183,
650 2187, 2193, 2201, 2203, 2207, 2209, 2214, 2217, 2220, 2222,
651 2224, 2228, 2232, 2237, 2241, 2244, 2249, 2253, 2256, 2259,
652 2263, 2265, 2300, 2306, 2312, 2324, 2326, 2329, 2331, 2336,
653 2338, 2340, 2342, 2344, 2348, 2353, 2358, 2364, 2369, 2374,
654 2376, 2380, 2385, 2388, 2395, 2423, 2429, 2431, 2434, 2437,
655 2439, 2443, 2445, 2449, 2475, 2504, 2507, 2508, 2529, 2552,
656 2554, 2558, 2584, 2593, 2676, 2683, 2686, 2694, 2705, 2714,
657 2718, 2733, 2736, 2741, 2743, 2745, 2747, 2749, 2751, 2756,
658 2762, 2764, 2767, 2770, 2772, 2783, 2788, 2791, 2793, 2817,
659 2820, 2821, 2832, 2835, 2836, 2847, 2849, 2852, 2854, 2857,
660 2864, 2872, 2879, 2885, 2891, 2899, 2903, 2908, 2912, 2915,
661 2924, 2926, 2930, 2933, 2938, 2942, 2947, 2957, 2960, 2964,
662 2968, 2976, 2981, 2987, 2990, 2992, 2994, 3000, 3003, 3005,
663 3007, 3009, 3013, 3016, 3034, 3044, 3046, 3047, 3051, 3056,
664 3059, 3061, 3063, 3065, 3069, 3075, 3078, 3080, 3082, 3084,
665 3088, 3091, 3094, 3096, 3098, 3100, 3104, 3107, 3110, 3112,
666 3114, 3116, 3123, 3134, 3138, 3143, 3147, 3152, 3154, 3158,
667 3161, 3163, 3167, 3169, 3170, 3173, 3175, 3181, 3196, 3202,
668 3208, 3222, 3224, 3228, 3240, 3246, 3257, 3264, 3270, 3272,
669 3273, 3274, 3282, 3291, 3292, 3296, 3299, 3305, 3311, 3314,
670 3316, 3318, 3320, 3324, 3328, 3332, 3335, 3340, 3343, 3345,
671 3347, 3349, 3351, 3353, 3355, 3357, 3361, 3365, 3369, 3373,
672 3374, 3376, 3378, 3380, 3382, 3384, 3386, 3388, 3390, 3398,
673 3400, 3401, 3402, 3405, 3413, 3418, 3425, 3427, 3432, 3434,
674 3437, 3451, 3454, 3457, 3466, 3478, 3489, 3509, 3519, 3522,
675 3530, 3542, 3545, 3548, 3551, 3567, 3570, 3581, 3582, 3586,
676 3601, 3620, 3632, 3646, 3660, 3673, 3692, 3710, 3729, 3737,
677 3758, 3776, 3789, 3790, 3793, 3793, 3796, 3796, 3799, 3799,
678 3805, 3811, 3814, 3819, 3826, 3835, 3844, 3853, 3861, 3874,
679 3876, 3880, 3882, 3885, 3892, 3895, 3903, 3919, 3930, 3942,
680 3944, 3947, 3957, 3967, 3978, 3980, 3982, 3985, 4002, 4008,
681 4016, 4018, 4020, 4024, 4027, 4028, 4036, 4040, 4044, 4047,
682 4048, 4054, 4057, 4060, 4062, 4066, 4071, 4074, 4084, 4089,
683 4090, 4098, 4104, 4109, 4113, 4118, 4122, 4126, 4130, 4135,
684 4146, 4160, 4164, 4167, 4169, 4173, 4177, 4180, 4183, 4185,
685 4189, 4191, 4198, 4205, 4208, 4211, 4215, 4219, 4225, 4229,
686 4234, 4236, 4239, 4244, 4250, 4260, 4263, 4265, 4269, 4274,
687 4276, 4283, 4286, 4288, 4290, 4296, 4301, 4304, 4306, 4308,
688 4310, 4312, 4314, 4316, 4318, 4320, 4322, 4324, 4326, 4328,
689 4330, 4332, 4334, 4336, 4338, 4340, 4342, 4344, 4346, 4348,
690 4350, 4352, 4354, 4356, 4358, 4360, 4362, 4364, 4366, 4369,
696 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
698 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
699 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
700 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
701 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
702 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
703 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
704 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
705 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
706 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
707 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
708 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
709 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
710 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
711 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
712 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
713 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
714 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
715 "@5","template_parm_list","template_type_parm","template_parm","template_def",
716 "datadef","ctor_initializer_opt","maybe_return_init","eat_saved_input","fndef",
717 "constructor_declarator","@6","@7","@8","@9","fn.def1","component_constructor_declarator",
718 "fn.def2","return_id","return_init","base_init",".set_base_init","member_init_list",
719 "member_init","identifier","notype_identifier","identifier_defn","explicit_instantiation",
720 "template_type","self_template_type","template_close_bracket","template_arg_list",
721 "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond",
722 "condition","@10","compstmtend","already_scoped_stmt","@11","nontrivial_exprlist",
723 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
724 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
725 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
726 "primary","@12","new","delete","boolean.literal","string","nodecls","object",
727 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
728 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
729 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
730 "initdcl0","@13","initdcl","@14","notype_initdcl0","@15","nomods_initdcl0","@16",
731 "maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
732 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
733 "pending_inlines","defarg_again","pending_defargs","structsp","@17","@18","@19",
734 "@20","@21","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
735 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
736 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
737 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
738 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
739 "component_decl_1","components","notype_components","component_declarator0",
740 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
741 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
742 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
743 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
744 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
745 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
746 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
747 "typename_sub","typename_sub0","typename_sub1","typename_sub2","complex_type_name",
748 "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl",
749 "direct_abstract_declarator","stmts","errstmt",".pushlevel",".poplevel","maybe_label_decls",
750 "label_decls","label_decl","compstmt_or_error","compstmt","@22","simple_if",
751 "@23","@24","implicitly_scoped_stmt","@25","stmt","simple_stmt","@26","@27",
752 "@28","@29","@30","@31","@32","@33","@34","@35","@36","@37","@38","@39","@40",
753 "function_try_block","@41","@42","try_block","@43","@44","handler_seq","handler",
754 "@45","@46","@47","type_specifier_seq","handler_args","label_colon","for.init.statement",
755 "maybe_cv_qualifier","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
756 "asm_clobbers","parmlist","complex_parmlist","defarg","@48","defarg1","parms",
757 "parms_comma","named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
758 "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
759 "operator_name", NULL
763 static const short yyr1
[] = { 0,
764 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
765 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
766 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
767 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
768 130, 132, 132, 133, 133, 133, 133, 134, 134, 134,
769 134, 135, 135, 136, 136, 136, 136, 136, 136, 136,
770 136, 136, 137, 137, 138, 138, 138, 139, 139, 140,
771 140, 140, 142, 141, 141, 143, 141, 141, 144, 141,
772 141, 145, 141, 141, 146, 146, 146, 146, 146, 147,
773 147, 147, 147, 148, 148, 148, 148, 148, 148, 148,
774 148, 149, 150, 150, 150, 151, 152, 153, 153, 153,
775 153, 154, 154, 154, 154, 154, 154, 154, 154, 155,
776 155, 155, 155, 155, 156, 156, 156, 157, 157, 157,
777 158, 158, 158, 158, 158, 158, 158, 158, 159, 159,
778 159, 159, 159, 160, 160, 161, 161, 162, 162, 163,
779 163, 164, 164, 164, 164, 164, 165, 165, 166, 166,
780 167, 167, 168, 168, 168, 170, 169, 169, 171, 171,
781 171, 171, 173, 172, 172, 174, 174, 174, 174, 175,
782 175, 176, 176, 176, 176, 176, 176, 176, 176, 176,
783 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
784 176, 176, 176, 176, 176, 177, 177, 178, 178, 178,
785 178, 179, 179, 180, 180, 180, 181, 181, 181, 181,
786 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
787 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
788 181, 182, 182, 182, 182, 182, 182, 183, 184, 184,
789 184, 184, 185, 185, 185, 186, 186, 186, 187, 187,
790 187, 187, 188, 188, 189, 189, 189, 189, 190, 190,
791 190, 190, 190, 190, 190, 191, 190, 190, 190, 190,
792 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
793 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
794 190, 190, 190, 190, 190, 190, 190, 190, 192, 192,
795 193, 193, 194, 194, 195, 195, 196, 197, 197, 198,
796 198, 198, 198, 198, 198, 199, 199, 200, 200, 201,
797 201, 201, 201, 201, 202, 202, 203, 203, 203, 203,
798 203, 203, 204, 204, 204, 204, 204, 205, 205, 205,
799 205, 205, 205, 206, 206, 206, 206, 207, 207, 208,
800 208, 208, 208, 208, 208, 208, 209, 209, 209, 210,
801 210, 211, 211, 212, 212, 213, 213, 215, 214, 214,
802 217, 216, 216, 219, 218, 218, 221, 220, 220, 222,
803 222, 223, 223, 224, 225, 225, 226, 226, 226, 226,
804 226, 227, 227, 227, 227, 228, 228, 229, 229, 230,
805 230, 230, 230, 230, 231, 231, 231, 231, 231, 231,
806 232, 233, 233, 233, 234, 234, 235, 235, 236, 236,
807 236, 238, 237, 237, 239, 237, 237, 237, 237, 237,
808 240, 241, 242, 237, 237, 243, 243, 244, 244, 245,
809 245, 245, 245, 245, 246, 247, 248, 248, 248, 248,
810 248, 249, 250, 250, 250, 251, 252, 252, 253, 253,
811 253, 254, 254, 255, 255, 256, 256, 256, 256, 257,
812 257, 257, 257, 258, 259, 260, 260, 260, 260, 261,
813 261, 262, 262, 262, 262, 262, 262, 262, 262, 263,
814 263, 263, 263, 263, 263, 263, 263, 263, 263, 264,
815 264, 264, 265, 265, 265, 266, 266, 267, 267, 268,
816 268, 269, 269, 269, 269, 270, 270, 271, 271, 271,
817 272, 272, 273, 273, 274, 274, 274, 275, 275, 276,
818 276, 277, 278, 279, 279, 279, 279, 280, 280, 280,
819 280, 280, 280, 281, 281, 282, 282, 282, 283, 284,
820 284, 284, 284, 284, 284, 285, 285, 285, 285, 285,
821 285, 286, 286, 286, 286, 286, 286, 287, 287, 287,
822 287, 287, 287, 288, 288, 289, 289, 290, 290, 291,
823 291, 291, 292, 292, 292, 293, 293, 294, 294, 294,
824 294, 295, 295, 296, 297, 297, 298, 298, 298, 298,
825 298, 298, 299, 299, 299, 300, 300, 301, 302, 302,
826 302, 302, 302, 302, 302, 303, 303, 304, 304, 304,
827 304, 304, 304, 304, 304, 304, 304, 304, 305, 305,
828 305, 305, 305, 305, 305, 305, 305, 305, 305, 306,
829 306, 306, 306, 307, 308, 309, 310, 310, 311, 311,
830 312, 313, 313, 315, 314, 317, 318, 316, 319, 320,
831 319, 321, 321, 322, 322, 323, 324, 322, 322, 325,
832 326, 322, 327, 328, 322, 329, 330, 331, 332, 322,
833 333, 334, 322, 335, 322, 336, 322, 337, 322, 322,
834 322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
835 322, 322, 322, 339, 340, 338, 342, 343, 341, 344,
836 344, 346, 347, 348, 345, 349, 349, 350, 350, 351,
837 351, 351, 351, 352, 352, 352, 353, 353, 354, 354,
838 354, 355, 355, 356, 356, 357, 358, 358, 359, 359,
839 359, 360, 360, 360, 360, 360, 360, 360, 360, 360,
840 360, 362, 361, 363, 363, 364, 364, 364, 364, 364,
841 365, 365, 366, 366, 366, 366, 366, 366, 367, 367,
842 368, 368, 369, 370, 370, 371, 371, 371, 372, 373,
843 373, 374, 374, 374, 374, 375, 376, 376, 376, 376,
844 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
845 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
846 376, 376, 376, 376, 376, 376, 376, 376, 376, 376,
850 static const short yyr2
[] = { 0,
851 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
852 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
853 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
854 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
855 3, 1, 3, 1, 2, 1, 2, 1, 3, 1,
856 3, 2, 2, 2, 3, 3, 2, 2, 2, 2,
857 2, 1, 1, 1, 0, 1, 2, 0, 1, 4,
858 3, 3, 0, 8, 5, 0, 9, 6, 0, 8,
859 5, 0, 9, 6, 2, 2, 1, 2, 1, 6,
860 4, 6, 4, 2, 1, 2, 2, 1, 2, 1,
861 2, 2, 2, 4, 2, 3, 0, 0, 1, 3,
862 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
863 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
864 3, 3, 2, 2, 4, 4, 3, 3, 4, 3,
865 4, 3, 1, 4, 3, 1, 1, 1, 3, 1,
866 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
867 1, 3, 0, 1, 1, 0, 7, 1, 1, 3,
868 4, 3, 0, 3, 1, 3, 3, 3, 3, 1,
869 1, 1, 2, 2, 2, 2, 2, 2, 2, 4,
870 2, 4, 2, 3, 3, 4, 4, 5, 5, 6,
871 2, 4, 5, 2, 2, 3, 3, 3, 1, 3,
872 2, 3, 4, 1, 2, 5, 1, 3, 3, 3,
873 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
874 3, 3, 3, 3, 3, 3, 5, 3, 3, 1,
875 2, 3, 1, 1, 1, 1, 1, 0, 5, 4,
876 5, 4, 5, 5, 5, 1, 1, 1, 1, 2,
877 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
878 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
879 2, 2, 1, 4, 1, 7, 7, 7, 7, 4,
880 4, 2, 2, 1, 4, 2, 2, 5, 3, 2,
881 2, 5, 3, 5, 3, 4, 6, 2, 1, 2,
882 1, 2, 1, 1, 1, 2, 0, 2, 2, 3,
883 3, 3, 2, 2, 2, 1, 1, 1, 2, 2,
884 2, 2, 1, 1, 1, 1, 2, 2, 3, 3,
885 3, 4, 1, 2, 2, 2, 1, 1, 1, 2,
886 2, 2, 1, 1, 2, 2, 3, 1, 2, 1,
887 1, 1, 4, 4, 4, 4, 1, 1, 1, 1,
888 3, 1, 3, 1, 3, 0, 4, 0, 6, 3,
889 0, 6, 3, 0, 6, 3, 0, 6, 3, 0,
890 1, 1, 2, 6, 1, 3, 0, 1, 4, 6,
891 4, 1, 1, 1, 1, 1, 3, 0, 2, 1,
892 2, 3, 4, 1, 1, 3, 4, 6, 3, 5,
893 1, 4, 3, 3, 0, 3, 3, 3, 0, 2,
894 2, 0, 7, 4, 0, 6, 3, 2, 2, 2,
895 0, 0, 0, 10, 1, 0, 1, 0, 1, 1,
896 2, 2, 2, 2, 2, 2, 3, 4, 3, 2,
897 3, 0, 1, 3, 2, 2, 1, 1, 0, 2,
898 3, 1, 4, 1, 3, 1, 1, 4, 4, 2,
899 2, 3, 3, 1, 0, 1, 2, 4, 3, 1,
900 2, 2, 2, 2, 2, 2, 2, 1, 2, 2,
901 2, 4, 4, 2, 1, 5, 4, 1, 2, 0,
902 1, 3, 0, 1, 3, 1, 1, 1, 1, 4,
903 4, 4, 4, 4, 3, 4, 4, 4, 4, 3,
904 1, 3, 1, 3, 2, 1, 6, 0, 2, 1,
905 2, 0, 2, 4, 4, 2, 4, 3, 3, 2,
906 2, 3, 1, 1, 2, 1, 1, 2, 2, 4,
907 4, 3, 3, 2, 1, 3, 3, 2, 2, 3,
908 1, 3, 3, 2, 2, 3, 1, 4, 3, 4,
909 3, 1, 2, 2, 2, 2, 2, 1, 2, 4,
910 4, 2, 1, 1, 1, 1, 2, 2, 2, 2,
911 2, 1, 2, 2, 1, 2, 2, 2, 2, 2,
912 2, 2, 2, 1, 2, 2, 3, 1, 3, 2,
913 3, 2, 2, 3, 1, 3, 4, 3, 2, 2,
914 1, 3, 2, 2, 1, 2, 3, 1, 3, 1,
915 6, 4, 4, 3, 5, 3, 3, 3, 2, 1,
916 1, 2, 2, 2, 0, 0, 0, 1, 1, 2,
917 3, 1, 2, 0, 5, 0, 0, 6, 1, 0,
918 4, 1, 1, 1, 2, 0, 0, 6, 1, 0,
919 0, 7, 0, 0, 7, 0, 0, 0, 0, 14,
920 0, 0, 9, 0, 5, 0, 7, 0, 4, 2,
921 2, 2, 3, 6, 8, 10, 12, 4, 3, 2,
922 2, 1, 1, 0, 0, 6, 0, 0, 5, 1,
923 2, 0, 0, 0, 8, 1, 1, 3, 3, 2,
924 2, 2, 2, 2, 1, 2, 0, 1, 0, 1,
925 1, 0, 1, 1, 3, 4, 1, 3, 0, 1,
926 1, 1, 2, 2, 2, 1, 1, 2, 2, 2,
927 2, 0, 3, 1, 1, 1, 2, 2, 2, 4,
928 2, 2, 2, 2, 2, 2, 1, 2, 1, 2,
929 1, 1, 0, 0, 1, 0, 4, 2, 1, 1,
930 3, 0, 3, 3, 3, 1, 2, 2, 2, 2,
931 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
932 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
933 2, 2, 2, 2, 3, 2, 2, 4, 4, 3,
937 static const short yydefact
[] = { 3,
938 13, 13, 5, 0, 4, 0, 245, 593, 594, 0,
939 349, 361, 540, 0, 11, 12, 0, 0, 0, 10,
940 450, 796, 0, 0, 0, 0, 618, 246, 247, 62,
941 0, 0, 783, 0, 37, 0, 0, 14, 0, 8,
942 0, 17, 16, 68, 89, 65, 0, 595, 143, 266,
943 243, 267, 571, 0, 336, 0, 335, 354, 0, 374,
944 353, 392, 360, 0, 463, 462, 469, 468, 467, 445,
945 348, 556, 362, 557, 87, 265, 582, 554, 0, 596,
946 538, 0, 0, 244, 60, 61, 0, 598, 0, 599,
947 0, 248, 0, 120, 121, 122, 123, 124, 435, 438,
948 0, 614, 0, 439, 0, 0, 0, 0, 121, 122,
949 123, 124, 24, 0, 0, 0, 0, 0, 0, 0,
950 440, 602, 0, 605, 0, 0, 0, 0, 0, 0,
951 30, 0, 0, 349, 39, 134, 0, 0, 354, 133,
952 0, 600, 0, 0, 569, 0, 0, 0, 568, 0,
953 0, 0, 0, 266, 0, 542, 0, 265, 538, 29,
954 0, 27, 3, 38, 0, 53, 52, 69, 15, 0,
955 0, 408, 66, 58, 601, 542, 0, 538, 59, 0,
956 0, 0, 85, 0, 370, 326, 553, 327, 565, 0,
957 538, 351, 350, 57, 88, 337, 0, 372, 352, 86,
958 343, 367, 368, 338, 356, 358, 347, 369, 0, 54,
959 393, 451, 452, 453, 454, 466, 129, 128, 130, 455,
960 456, 460, 0, 0, 469, 783, 465, 484, 441, 541,
961 355, 0, 0, 390, 594, 0, 616, 143, 586, 587,
962 583, 559, 597, 0, 558, 555, 0, 831, 827, 826,
963 824, 806, 811, 812, 0, 818, 817, 803, 804, 802,
964 821, 810, 807, 808, 809, 813, 814, 800, 801, 797,
965 798, 799, 823, 815, 816, 805, 822, 0, 819, 726,
966 354, 727, 792, 248, 245, 540, 270, 315, 0, 0,
967 0, 0, 311, 309, 283, 313, 314, 0, 0, 0,
968 0, 0, 247, 240, 0, 0, 153, 152, 0, 154,
969 155, 0, 0, 156, 0, 0, 148, 0, 214, 0,
970 217, 151, 269, 182, 0, 0, 271, 272, 0, 150,
971 333, 354, 334, 588, 294, 285, 0, 0, 146, 147,
972 142, 0, 145, 0, 0, 138, 0, 354, 137, 437,
973 0, 432, 615, 613, 0, 157, 158, 0, 0, 0,
974 397, 3, 22, 0, 611, 607, 608, 610, 612, 609,
975 120, 121, 122, 123, 124, 604, 606, 603, 257, 258,
976 0, 256, 33, 34, 0, 585, 584, 32, 31, 41,
977 0, 132, 131, 140, 0, 0, 567, 0, 566, 242,
978 261, 0, 575, 260, 0, 574, 0, 268, 579, 0,
979 0, 13, 0, 0, 9, 9, 102, 72, 107, 714,
980 0, 64, 63, 71, 105, 0, 0, 103, 67, 581,
981 0, 0, 546, 0, 786, 0, 551, 0, 550, 0,
982 0, 0, 0, 538, 390, 0, 56, 542, 538, 564,
983 0, 340, 341, 0, 55, 390, 345, 344, 346, 339,
984 359, 376, 375, 457, 461, 459, 0, 464, 470, 485,
985 357, 0, 389, 391, 538, 73, 0, 0, 0, 538,
986 79, 539, 570, 594, 617, 143, 0, 0, 820, 825,
987 356, 538, 538, 0, 538, 830, 0, 0, 0, 0,
988 189, 0, 0, 191, 204, 205, 0, 0, 0, 0,
989 0, 241, 188, 185, 184, 186, 0, 0, 0, 0,
990 0, 269, 0, 0, 0, 183, 0, 263, 187, 0,
991 0, 215, 0, 0, 0, 0, 0, 0, 0, 0,
992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
993 0, 0, 0, 0, 279, 281, 282, 319, 318, 0,
994 0, 0, 0, 0, 193, 536, 0, 201, 316, 308,
995 0, 783, 297, 300, 301, 0, 0, 328, 635, 631,
996 640, 0, 542, 538, 538, 538, 330, 638, 0, 592,
997 332, 0, 0, 331, 296, 0, 292, 310, 312, 589,
998 0, 293, 141, 144, 250, 0, 136, 135, 533, 448,
999 531, 434, 0, 363, 0, 0, 364, 365, 366, 403,
1000 404, 405, 402, 0, 395, 398, 0, 3, 0, 28,
1001 36, 35, 46, 0, 48, 42, 782, 777, 0, 333,
1002 354, 44, 334, 781, 50, 139, 264, 573, 572, 268,
1003 576, 0, 19, 21, 68, 108, 317, 0, 664, 70,
1004 662, 414, 0, 410, 409, 181, 0, 180, 543, 580,
1005 0, 756, 757, 0, 751, 354, 0, 750, 752, 784,
1006 766, 0, 0, 578, 549, 548, 0, 0, 563, 0,
1007 380, 371, 562, 0, 786, 552, 342, 373, 386, 390,
1008 458, 593, 594, 783, 0, 783, 595, 471, 472, 474,
1009 783, 477, 476, 0, 0, 0, 0, 387, 786, 749,
1010 0, 0, 0, 786, 749, 538, 76, 538, 82, 829,
1011 828, 792, 792, 792, 252, 0, 0, 0, 0, 592,
1012 0, 0, 0, 0, 354, 0, 0, 0, 275, 0,
1013 273, 274, 0, 212, 149, 245, 593, 594, 246, 247,
1014 0, 0, 415, 446, 0, 239, 238, 741, 740, 0,
1015 236, 235, 233, 234, 232, 231, 230, 227, 228, 229,
1016 225, 226, 220, 221, 222, 223, 224, 218, 219, 0,
1017 0, 0, 0, 0, 0, 195, 209, 0, 0, 194,
1018 538, 538, 0, 538, 535, 625, 0, 0, 0, 0,
1019 299, 0, 303, 0, 305, 0, 634, 633, 630, 629,
1020 782, 0, 0, 649, 0, 0, 786, 329, 786, 636,
1021 538, 749, 542, 635, 631, 0, 0, 538, 0, 0,
1022 0, 0, 0, 249, 0, 449, 0, 448, 179, 178,
1023 177, 176, 397, 0, 0, 25, 0, 26, 47, 0,
1024 40, 0, 635, 631, 0, 773, 538, 776, 778, 0,
1025 774, 775, 455, 0, 18, 20, 125, 113, 126, 127,
1026 0, 106, 109, 0, 0, 0, 0, 663, 655, 411,
1027 0, 104, 547, 544, 755, 772, 761, 759, 0, 545,
1028 754, 771, 760, 758, 753, 785, 768, 779, 769, 762,
1029 767, 788, 0, 378, 561, 560, 384, 383, 481, 0,
1030 480, 783, 783, 783, 0, 505, 594, 0, 0, 498,
1031 0, 0, 508, 0, 100, 95, 0, 143, 510, 513,
1032 0, 490, 0, 98, 0, 390, 377, 0, 75, 0,
1033 0, 0, 0, 81, 0, 786, 749, 786, 749, 794,
1034 793, 795, 251, 284, 190, 192, 290, 291, 0, 0,
1035 0, 0, 274, 277, 0, 0, 0, 0, 213, 0,
1036 278, 280, 207, 206, 197, 0, 196, 211, 0, 0,
1037 622, 620, 0, 623, 542, 202, 0, 0, 306, 0,
1038 0, 0, 632, 628, 639, 538, 648, 646, 647, 637,
1039 786, 0, 644, 0, 590, 591, 0, 295, 534, 532,
1040 436, 0, 396, 394, 245, 0, 23, 43, 49, 634,
1041 630, 635, 631, 0, 554, 0, 538, 636, 51, 0,
1042 111, 0, 115, 0, 117, 0, 119, 0, 715, 657,
1043 0, 412, 635, 631, 0, 269, 0, 588, 780, 0,
1044 0, 789, 790, 0, 0, 0, 381, 0, 0, 0,
1045 483, 482, 475, 538, 749, 504, 499, 101, 509, 390,
1046 390, 496, 497, 494, 495, 538, 749, 245, 593, 0,
1047 376, 96, 500, 511, 516, 517, 376, 376, 0, 0,
1048 376, 94, 501, 514, 376, 491, 492, 493, 390, 0,
1049 442, 388, 538, 254, 253, 255, 538, 78, 0, 84,
1050 0, 0, 0, 0, 0, 0, 419, 0, 0, 416,
1051 216, 237, 0, 198, 199, 208, 210, 621, 619, 626,
1052 624, 0, 203, 0, 298, 302, 304, 786, 642, 538,
1053 643, 433, 0, 399, 401, 634, 630, 559, 636, 112,
1054 110, 0, 0, 0, 0, 0, 169, 656, 0, 658,
1055 659, 413, 0, 591, 770, 764, 765, 763, 0, 787,
1056 379, 385, 0, 478, 479, 473, 786, 0, 408, 408,
1057 786, 0, 0, 0, 390, 390, 0, 390, 390, 0,
1058 390, 0, 408, 0, 429, 786, 786, 538, 538, 0,
1059 0, 0, 0, 417, 0, 0, 0, 200, 627, 307,
1060 645, 786, 0, 114, 116, 118, 722, 716, 720, 406,
1061 0, 665, 0, 245, 593, 594, 666, 680, 683, 686,
1062 655, 0, 0, 0, 0, 0, 0, 246, 712, 717,
1063 0, 737, 0, 674, 0, 0, 354, 0, 651, 672,
1064 679, 650, 673, 713, 0, 660, 274, 791, 382, 91,
1065 538, 503, 507, 93, 538, 390, 390, 525, 408, 245,
1066 593, 0, 512, 518, 519, 376, 376, 408, 408, 0,
1067 408, 515, 502, 0, 74, 80, 786, 786, 286, 287,
1068 288, 289, 0, 420, 537, 641, 400, 655, 721, 0,
1069 661, 654, 172, 730, 732, 733, 655, 655, 655, 0,
1070 0, 0, 698, 700, 701, 702, 0, 0, 0, 731,
1071 0, 325, 738, 0, 675, 323, 376, 0, 324, 0,
1072 376, 0, 0, 0, 170, 653, 652, 676, 711, 710,
1073 786, 786, 524, 521, 523, 0, 0, 390, 390, 390,
1074 520, 522, 506, 431, 0, 430, 425, 77, 83, 418,
1075 0, 407, 0, 0, 670, 669, 0, 0, 0, 0,
1076 694, 0, 703, 0, 709, 718, 0, 321, 322, 0,
1077 0, 0, 320, 171, 655, 90, 92, 390, 390, 530,
1078 408, 408, 0, 0, 444, 0, 723, 161, 0, 667,
1079 681, 0, 684, 657, 735, 687, 0, 168, 0, 354,
1080 0, 0, 0, 699, 708, 0, 0, 677, 529, 527,
1081 526, 528, 428, 427, 421, 65, 68, 0, 0, 0,
1082 0, 655, 0, 656, 0, 736, 655, 734, 691, 376,
1083 696, 695, 719, 742, 0, 656, 0, 426, 728, 729,
1084 724, 162, 668, 173, 656, 175, 671, 159, 0, 0,
1085 0, 655, 390, 0, 0, 0, 743, 744, 704, 678,
1086 424, 0, 423, 656, 657, 682, 0, 685, 165, 0,
1087 164, 692, 0, 697, 0, 742, 0, 0, 422, 725,
1088 174, 160, 688, 656, 166, 0, 0, 705, 745, 0,
1089 693, 0, 746, 0, 0, 0, 167, 747, 0, 706,
1090 689, 0, 0, 0, 748, 707, 656, 690, 0, 0,
1094 static const short yydefgoto
[] = { 1529,
1095 412, 2, 413, 165, 654, 315, 233, 3, 4, 38,
1096 628, 362, 933, 381, 40, 934, 391, 634, 635, 636,
1097 42, 43, 421, 171, 169, 44, 935, 720, 957, 725,
1098 959, 46, 936, 937, 172, 173, 422, 656, 882, 883,
1099 609, 884, 221, 47, 48, 49, 341, 316, 317, 318,
1100 1253, 1470, 1410, 1490, 1419, 1512, 1168, 1465, 1485, 356,
1101 837, 319, 564, 800, 320, 321, 357, 323, 345, 51,
1102 240, 383, 401, 52, 53, 324, 524, 325, 326, 327,
1103 328, 423, 329, 1254, 462, 585, 330, 1255, 55, 204,
1104 639, 331, 205, 502, 206, 184, 197, 59, 445, 185,
1105 1065, 463, 1183, 198, 1066, 60, 948, 473, 61, 62,
1106 624, 625, 626, 1231, 428, 763, 764, 1436, 1437, 1405,
1107 1366, 1294, 63, 613, 351, 470, 1205, 1367, 978, 847,
1108 64, 65, 66, 67, 225, 68, 69, 70, 227, 708,
1109 709, 710, 711, 229, 715, 716, 941, 942, 943, 1093,
1110 1103, 1094, 1283, 1095, 1096, 1284, 1285, 610, 611, 565,
1111 827, 333, 431, 432, 178, 186, 72, 73, 74, 187,
1112 188, 157, 76, 131, 334, 335, 336, 78, 337, 80,
1113 713, 122, 123, 124, 104, 81, 338, 805, 806, 822,
1114 588, 1258, 1259, 1375, 1232, 1169, 1170, 1171, 660, 1260,
1115 889, 1261, 1317, 1442, 1377, 1412, 1262, 1263, 1395, 1456,
1116 1318, 1443, 1319, 1445, 1320, 1447, 1510, 1524, 1472, 1504,
1117 1423, 1474, 1382, 424, 657, 1165, 1264, 1331, 1426, 1228,
1118 1229, 1308, 1440, 1484, 1421, 1407, 1265, 1416, 1334, 770,
1119 1476, 1477, 1478, 1519, 677, 678, 911, 1061, 1178, 679,
1120 680, 681, 907, 682, 150, 909, 684, 1063, 1064, 496,
1124 static const short yypact
[] = { 115,
1125 150,-32768,-32768, 5678,-32768, 106, 44, 53, 174, 89,
1126 199,-32768,-32768, 1304,-32768,-32768, 129, 180, 190,-32768,
1127 -32768,-32768, 1099, 807, 855, 3485,-32768, 186, 474,-32768,
1128 1489, 1489,-32768, 4751,-32768, 5678, 203,-32768, 249, 465,
1129 10095,-32768,-32768, 260,-32768, 333, 327, 342,-32768,-32768,
1130 -32768,-32768, 268, 1815,-32768, 10288,-32768, 1834, 274,-32768,
1131 406,-32768,-32768, 1655,-32768,-32768, 410,-32768,-32768, 382,
1132 5305,-32768,-32768,-32768, 1207,-32768,-32768,-32768, 1129,-32768,
1133 -32768, 370, 7424, 446,-32768,-32768, 9063,-32768, 8611,-32768,
1134 8611,-32768, 10500,-32768, 53, 174, 186, 484, 439, 494,
1135 342,-32768, 370,-32768, 370, 9063, 9063, 472,-32768,-32768,
1136 -32768,-32768,-32768, 88, 513, 535, 554, 588, 522, 546,
1137 -32768,-32768, 1016,-32768, 1186, 53, 174, 576, 186, 484,
1138 -32768, 1300, 376,-32768, 539,-32768, 4762, 4510, 768,-32768,
1139 8611,-32768, 9063, 2096,-32768, 1432, 814, 2096,-32768, 1297,
1140 2644, 2644, 4751, 544, 596, 614, 602, 641,-32768,-32768,
1141 744,-32768, 653,-32768, 2623, 106,-32768,-32768,-32768, 791,
1142 112, 292, 708,-32768,-32768, 688, 36,-32768,-32768, 2737,
1143 2737, 4824, 1207, 564,-32768,-32768, 341,-32768,-32768, 1644,
1144 -32768,-32768,-32768,-32768,-32768, 1834, 718,-32768, 406, 1207,
1145 -32768,-32768,-32768, 2048, 1834,-32768, 406,-32768, 4762,-32768,
1146 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1147 -32768, 342, 1322, 1322, 410,-32768,-32768,-32768,-32768,-32768,
1148 843, 370, 705, 406, 463, 1059,-32768, 159,-32768,-32768,
1149 -32768,-32768,-32768, 2835,-32768,-32768, 338,-32768, 730, 746,
1150 -32768,-32768,-32768,-32768, 740,-32768,-32768,-32768,-32768,-32768,
1151 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1152 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 714,-32768,-32768,
1153 843, 5305, 490,-32768,-32768, 750,-32768,-32768, 9678, 9765,
1154 9852, 9852,-32768,-32768,-32768,-32768,-32768, 756, 780, 792,
1155 799, 806, 484, 9150, 1297, 9852,-32768,-32768, 9852,-32768,
1156 -32768, 9852, 6988,-32768, 9852, 632,-32768, 9852,-32768, 9237,
1157 -32768, 10551,-32768, 1032, 2854, 9324,-32768, 877, 644,-32768,
1158 782, 2401, 5056,-32768, 173,-32768, 1931, 2142,-32768,-32768,
1159 -32768, 632,-32768, 632, 8611,-32768, 4762, 1997,-32768,-32768,
1160 1297, 774,-32768,-32768, 786, 863, 10700, 825, 831, 834,
1161 1942, 653,-32768, 576,-32768,-32768,-32768,-32768,-32768,-32768,
1162 513, 535, 554, 588, 522,-32768,-32768,-32768, 53, 174,
1163 871,-32768,-32768,-32768, 376,-32768,-32768,-32768,-32768,-32768,
1164 5364,-32768,-32768,-32768, 632, 632,-32768, 473,-32768,-32768,
1165 -32768, 2096,-32768,-32768, 2096,-32768, 841,-32768,-32768, 2835,
1166 69, 845, 846, 10500,-32768,-32768,-32768,-32768,-32768,-32768,
1167 119,-32768,-32768,-32768,-32768, 7080, 9150,-32768,-32768,-32768,
1168 9150, 847,-32768, 6316, 98, 3264,-32768, 3264,-32768, 4260,
1169 4260, 4824, 849,-32768, 406, 4762,-32768, 848,-32768,-32768,
1170 4649, 2048, 1834, 4762,-32768, 406,-32768,-32768, 406, 2048,
1171 -32768, 874,-32768,-32768, 342,-32768, 1322,-32768, 1673,-32768,
1172 843, 744, 900, 406,-32768,-32768, 892, 894, 895,-32768,
1173 -32768,-32768,-32768, 489,-32768, 237, 858, 861,-32768,-32768,
1174 843,-32768,-32768, 667,-32768,-32768, 8611, 9150, 750, 6988,
1175 -32768, 271, 6988,-32768,-32768,-32768, 9063, 5611, 5611, 5611,
1176 5611, 10768,-32768,-32768,-32768,-32768, 866, 9939, 9939, 6988,
1177 867, 544, 869, 921, 875,-32768, 9063,-32768,-32768, 6797,
1178 6988,-32768, 9150, 9150, 5550, 9150, 9150, 9150, 9150, 9150,
1179 9150, 9150, 9150, 9150, 9150, 9150, 9150, 9150, 9150, 9150,
1180 9150, 9150, 9150, 9150,-32768,-32768,-32768,-32768,-32768, 9150,
1181 9150, 9150, 9063, 5016, 493, 1042, 7788,-32768,-32768,-32768,
1182 931, 976, 358, 372, 392, 2061, 814,-32768, 1648, 1648,
1183 -32768, 3217, 876, 893, 944,-32768,-32768, 363, 8419, 361,
1184 -32768, 686, 370,-32768,-32768, 9150,-32768,-32768,-32768,-32768,
1185 86,-32768,-32768,-32768,-32768, 632,-32768,-32768, 934, 946,
1186 -32768,-32768, 1297,-32768, 7517, 7609,-32768,-32768,-32768,-32768,
1187 -32768,-32768,-32768, 134,-32768, 909, 883, 653, 948,-32768,
1188 -32768,-32768, 1050, 176, 950,-32768,-32768, 726, 10556, 726,
1189 4026, 1655, 3637,-32768, 951,-32768,-32768,-32768,-32768, 908,
1190 -32768, 962,-32768,-32768, 260, 478, 965, 921,-32768,-32768,
1191 -32768,-32768, 6518, 10768,-32768, 863, 915, 10700,-32768,-32768,
1192 919,-32768,-32768, 922, 263, 5440, 923,-32768, 170, 10349,
1193 971, 972, 431,-32768,-32768,-32768, 3264, 3264,-32768, 4649,
1194 977,-32768,-32768, 936, 98,-32768, 2048,-32768, 991, 406,
1195 -32768, 535, 554,-32768, 963,-32768, 546, 998,-32768,-32768,
1196 365,-32768,-32768, 1334, 2508, 54, 80,-32768, 98, 1779,
1197 9063, 9063, 9063, 98, 1779,-32768,-32768,-32768,-32768,-32768,
1198 -32768, 1530, 1530, 1530,-32768, 632, 959, 960, 9417, 944,
1199 969, 975, 981, 1010, 4541, 1014, 1017, 1018,-32768, 985,
1200 -32768,-32768, 986,-32768,-32768, 1035, 695, 697, 61, 335,
1201 9150, 1047,-32768, 1052, 1004, 10768, 10768,-32768,-32768, 1065,
1202 4859, 3372, 4889, 5136, 4165, 3092, 2981, 1994, 1994, 1994,
1203 1514, 1514, 1283, 1283, 822, 822, 822,-32768,-32768, 1005,
1204 1009, 1019, 1028, 1030, 5611, 493,-32768, 7080, 9150,-32768,
1205 -32768,-32768, 9150,-32768,-32768, 1034, 9852, 1033, 1054, 1097,
1206 -32768, 9150,-32768, 9150,-32768, 9150, 2121,-32768, 2121,-32768,
1207 82, 1037, 1043,-32768, 1046, 5611, 98,-32768, 98, 3667,
1208 -32768, 1779, 1048, 8698, 8698, 6110, 1057, 9237, 1066, 1826,
1209 2142, 699, 1072,-32768, 9150, 1297, 1049, 946,-32768, 10768,
1210 -32768, 10768, 1942, 1074, 9504,-32768, 1051,-32768,-32768, 5364,
1211 -32768, 5611, 3067, 3067, 10156,-32768,-32768,-32768,-32768, 1644,
1212 -32768,-32768, 766, 9150,-32768,-32768, 513,-32768, 588, 522,
1213 9150, 1104,-32768, 440, 526, 538, 921,-32768,-32768,-32768,
1214 140,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 8515,-32768,
1215 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 972, 1120,-32768,
1216 -32768,-32768, 5611,-32768,-32768,-32768,-32768, 1123,-32768, 9063,
1217 -32768,-32768,-32768,-32768, 1713,-32768, 619, 888, 1117,-32768,
1218 9150, 10227,-32768, 4267, 594, 594, 113, 552, 2934, 10394,
1219 3809,-32768, 149, 594, 1135, 406,-32768, 7080,-32768, 1092,
1220 632, 632, 632,-32768, 1094, 98, 1779, 98, 1779,-32768,
1221 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1113, 1115,
1222 1125, 1126, 908,-32768, 10632, 7080, 6613, 1100,-32768, 9150,
1223 -32768,-32768,-32768,-32768, 272, 1112,-32768,-32768, 1121, 38,
1224 943, 943, 1101, 943,-32768,-32768, 9852, 1213,-32768, 1136,
1225 1138, 1139,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1226 98, 1140,-32768, 1114,-32768,-32768, 1859,-32768, 10768,-32768,
1227 -32768, 1122,-32768,-32768, 153, 1141,-32768,-32768,-32768, 3247,
1228 3247, 3416, 3416, 10156,-32768, 1644,-32768, 3929, 10551, 1143,
1229 -32768, 478,-32768, 9150,-32768, 9150,-32768, 9150,-32768, 78,
1230 6705,-32768, 8791, 8791, 6220, 177, 1145, 282,-32768, 7080,
1231 6892,-32768,-32768, 166, 7080, 7080,-32768, 1153, 1155, 1673,
1232 -32768,-32768,-32768,-32768, 1779, 10768,-32768,-32768,-32768, 406,
1233 406,-32768,-32768,-32768,-32768,-32768, 1779, 427, 698, 9150,
1234 874,-32768, 1165,-32768,-32768,-32768, 492, 548, 1129, 814,
1235 899, 594, 1185,-32768, 980,-32768,-32768,-32768, 406, 7857,
1236 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1159,-32768,
1237 1160, 9150, 9150, 9150, 9150, 7080,-32768, 9150, 1208,-32768,
1238 -32768, 10768, 9150,-32768, 272,-32768,-32768,-32768,-32768,-32768,
1239 -32768, 1162,-32768, 1228,-32768,-32768,-32768, 98,-32768,-32768,
1240 -32768,-32768, 9150,-32768,-32768, 3247, 3247,-32768, 3929,-32768,
1241 -32768, 1169, 1171, 1176, 1194, 1297,-32768,-32768, 6000, 1259,
1242 -32768,-32768, 1184, 1250,-32768,-32768,-32768,-32768, 5611,-32768,
1243 -32768,-32768, 7080,-32768,-32768,-32768, 98, 1202, 1230, 1230,
1244 98, 1204, 9150, 9150, 10610, 406, 3045, 406, 406, 732,
1245 406, 4404, 1230, 7928,-32768, 98, 98,-32768,-32768, 1210,
1246 1211, 1218, 1219,-32768, 10723, 7080, 1183,-32768,-32768,-32768,
1247 -32768, 98, 1223,-32768,-32768,-32768,-32768, 1194,-32768,-32768,
1248 854,-32768, 189, 1260, 733, 761,-32768,-32768,-32768,-32768,
1249 -32768, 9150, 1271, 1275, 1279, 8884, 684, 606,-32768,-32768,
1250 8976, 1332, 1285,-32768, 4742, 10455, 3697, 5887,-32768,-32768,
1251 1331,-32768,-32768,-32768, 8023,-32768, 306,-32768,-32768,-32768,
1252 -32768,-32768,-32768,-32768,-32768, 10610, 10610,-32768, 1230, 659,
1253 856, 9150,-32768,-32768,-32768, 874, 874, 1230, 1230, 489,
1254 1230,-32768,-32768, 5749,-32768,-32768, 98, 98,-32768,-32768,
1255 -32768,-32768, 7080,-32768,-32768,-32768,-32768,-32768,-32768, 1297,
1256 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 921, 1256,
1257 1262, 10588,-32768,-32768,-32768,-32768, 1312, 9150, 1316,-32768,
1258 921,-32768,-32768, 1288,-32768,-32768, 874, 857,-32768, 860,
1259 874, 9591, 878, 201,-32768,-32768,-32768,-32768,-32768,-32768,
1260 98, 98,-32768,-32768,-32768, 9150, 9150, 10610, 406, 406,
1261 -32768,-32768,-32768,-32768, 7701,-32768,-32768,-32768,-32768,-32768,
1262 1301,-32768, 557, 557,-32768,-32768, 1377, 6426, 9063, 9150,
1263 -32768, 8133,-32768, 1335,-32768,-32768, 744,-32768,-32768, 10026,
1264 10026, 7172,-32768,-32768, 921,-32768,-32768, 10610, 10610,-32768,
1265 1230, 1230, 1290, 10654, 1298, 4177,-32768,-32768, 9063,-32768,
1266 -32768, 8325,-32768, 78,-32768,-32768, 1339,-32768, 1291, 233,
1267 4762, 10746, 8133,-32768,-32768, 1194, 60,-32768,-32768,-32768,
1268 -32768,-32768,-32768,-32768,-32768, 333, 260, 1305, 1307, 921,
1269 1308, 921, 8229,-32768, 589,-32768,-32768,-32768,-32768, 874,
1270 -32768,-32768, 1194, 1412, 1365,-32768, 132,-32768,-32768,-32768,
1271 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 9150, 1366,
1272 7264, 921, 406, 8133, 1336, 58, 1373,-32768,-32768,-32768,
1273 -32768, 119,-32768,-32768, 78,-32768, 1324,-32768,-32768, 1380,
1274 -32768,-32768, 1382,-32768, 9150, 1412, 1384, 1412,-32768,-32768,
1275 -32768,-32768,-32768,-32768,-32768, 1340, 121,-32768,-32768, 7356,
1276 -32768, 7080,-32768, 1441, 1392, 1344,-32768,-32768, 167,-32768,
1277 -32768, 1445, 1400, 8229,-32768,-32768,-32768,-32768, 1462, 1463,
1281 static const short yypgoto
[] = {-32768,
1282 1466,-32768, -329,-32768, 1053, 32, -1, 1469,-32768, 679,
1283 -32768,-32768, 314, 1108,-32768, 637,-32768,-32768,-32768, 608,
1284 -32768, 1311, -648, 42, -645, 1314, 73,-32768,-32768,-32768,
1285 -32768,-32768, 540, 549,-32768,-32768,-32768,-32768,-32768, 444,
1286 33,-32768,-32768,-32768, 5142, 56, 198, -65, 961,-32768,
1287 1278,-32768, 117,-32768, -1316,-32768, -1333, -23,-32768, 1111,
1288 1325, -269,-32768, -767, 2378, -72, 1083, 3472, 1227,-32768,
1289 -74, -90, 929, -64, 162,-32768,-32768,-32768, -313,-32768,
1290 -155,-32768,-32768, -1190, -49, -328, 4271, 70, 1329, -142,
1291 8, 118, -183, -4, -100, -949, 246,-32768, -57,-32768,
1292 -32768, 184,-32768,-32768,-32768,-32768,-32768, 378, 208, -30,
1293 -32768, 650,-32768,-32768, -987, -381, 844,-32768,-32768,-32768,
1294 -32768,-32768, 1,-32768,-32768,-32768,-32768,-32768,-32768, 664,
1295 -363,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1289,-32768,
1296 445, 591,-32768,-32768,-32768,-32768, 409, -879, 592,-32768,
1297 -32768,-32768,-32768,-32768, 582,-32768, 323, 916, 682, 973,
1298 1860, 34, 37, -425, 1346, 4299, -458,-32768, 13,-32768,
1299 4544, -150, 298, -78, 3985, 1214,-32768, 4046, 1888, 299,
1300 -16, -106,-32768, 1413,-32768, 3613, 2750, -146,-32768, 2540,
1301 -32768,-32768, 284, -848, -1120,-32768,-32768, 379, 66, -259,
1302 -32768,-32768,-32768,-32768, -1285,-32768, -1201, -1312,-32768,-32768,
1303 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1304 -32768,-32768,-32768, 83,-32768,-32768,-32768,-32768,-32768, 124,
1305 -1159,-32768,-32768,-32768, -66,-32768,-32768,-32768,-32768, -1306,
1306 55,-32768, 57,-32768, -574, -543, 649,-32768,-32768,-32768,
1307 -32768, -384,-32768, -375, -196,-32768, 1284, 380,-32768, -270,
1312 #define YYLAST 10853
1315 static const short yytable
[] = { 58,
1316 403, 406, 37, 590, 183, 411, 644, 121, 887, 876,
1317 712, 56, 453, 479, 241, 645, 283, 234, 378, 501,
1318 504, 139, 694, 342, 599, 344, 102, 642, 987, 469,
1319 211, 58, 627, 138, 37, 36, 58, 71, 823, 37,
1320 1050, 387, 388, 56, 665, 823, 100, 471, 56, 384,
1321 532, 196, 1077, 452, 389, 114, 1347, 386, 208, 71,
1322 1332, 1106, 460, 1350, 144, 148, 231, 36, 1309, 71,
1323 569, 1417, 36, 54, 71, 395, 45, 396, 281, 569,
1324 1446, 241, 332, 433, 332, 578, 332, 392, 348, 177,
1325 569, 945, 1441, 895, 245, 137, 220, 491, 136, 1444,
1326 138, 332, 332, 458, 461, 54, 482, 88, 45, 1428,
1327 54, 1166, 418, 45, -1, 602, 282, 353, 87, 658,
1328 1496, 57, 1454, -123, 293, 241, 71, 89, 195, 434,
1329 1466, 739, 1481, 196, 238, 141, 332, 1082, 332, 208,
1330 27, 896, 456, 57, 897, 950, 363, 1137, 491, -2,
1331 955, 1501, 364, 57, 1491, 376, 1463, 825, 57, 683,
1332 58, 661, 347, 92, 946, 346, 85, 1497, 211, 1455,
1333 -317, 1083, 56, 740, 419, 1084, 211, 659, 652, 898,
1334 1424, 901, 400, 1514, 402, 405, 1492, 1415, 1167, 947,
1335 -317, 754, 177, 853, 419, 156, 208, 885, 71, 1051,
1336 280, 1272, 1273, 1516, 208, 208, 480, 420, 1085, 1107,
1337 57, 1466, 1153, 436, 438, 1293, 86, 1134, 505, 506,
1338 595, 1452, 106, 177, -266, 1179, 1522, 420, 90, 902,
1339 1515, 208, 903, 514, 54, 860, 515, 45, 574, 516,
1340 202, 203, 526, 854, 245, 529, 14, 93, 91, 1312,
1341 1052, 861, 481, 568, 573, 464, 466, 1012, 566, 1108,
1342 141, 1312, 1154, 199, 753, 207, 596, 904, 478, 21,
1343 -266, -266, 1494, 107, 895, 1180, 1523, 231, 24, 606,
1344 578, 208, 57, 108, 728, 384, -259, 599, 343, 403,
1345 406, 1355, 823, 1309, 631, 644, 161, 607, 857, 1313,
1346 1361, 1362, 486, 1363, 908, 1338, 632, 1343, 332, 162,
1347 697, 1394, 156, 156, 156, -542, 717, 39, 578, 797,
1348 281, 823, 896, 1467, 1106, 897, 739, -782, 231, -582,
1349 729, 158, 208, 209, 210, 1480, 798, 513, 394, 425,
1350 332, 8, 484, 156, 1486, 199, 207, 590, 208, 39,
1351 245, 458, 461, -268, 39, 823, 426, 170, 282, 458,
1352 898, -542, 176, 1500, 739, 799, 1133, 1218, 168, -538,
1353 461, 923, -538, 8, 9, -582, -582, 243, 285, 379,
1354 380, 10, 1119, 1511, 1121, 427, 641, 174, -542, 142,
1355 461, -582, 1321, 623, 129, 130, 175, -124, 888, -268,
1356 -268, 243, 924, 207, 700, 811, 1528, 1014, 828, 139,
1357 831, 459, 207, 1431, 1432, -262, 988, 22, 485, 813,
1358 -538, 138, -538, -538, 643, -538, 129, 130, 211, 676,
1359 243, 736, 28, 303, -542, 448, -538, 19, -538, 815,
1360 228, 474, 280, 211, 243, 514, 515, 71, 158, 158,
1361 158, 812, 208, 208, -538, -538, 832, 833, -538, 1371,
1362 208, 960, 961, 962, 33, 814, 712, 643, 1373, 1374,
1363 -538, 208, 226, 687, 688, 644, 126, 127, 912, 158,
1364 877, 702, 703, 137, 645, 816, 136, 1043, 243, 1193,
1365 823, 208, 332, 126, 127, 332, 642, 566, 332, 701,
1366 1188, 87, 332, 745, 745, 745, 745, 919, 640, 921,
1367 475, 823, 1192, 528, 925, 332, -326, 90, 15, 16,
1368 284, 243, 332, 163, 913, 878, 332, 599, 142, 129,
1369 130, 57, 27, 1044, 879, 880, 726, 91, 142, 603,
1370 797, 604, 605, 90, 27, 243, 129, 130, 143, 350,
1371 -326, 640, 352, 485, -326, 207, 476, 798, 332, 281,
1372 492, 491, 762, 91, 164, 361, 1112, 365, 532, 1142,
1373 493, 881, -327, 1045, 15, 16, 369, 641, 285, 379,
1374 380, 10, 727, 885, 676, 1047, 799, -326, 866, 366,
1375 871, 872, 646, 647, 1127, 1130, 458, 282, 1471, 1086,
1376 370, 156, 156, 156, 1408, 245, -327, 378, 367, 89,
1377 -327, 712, 817, 819, 390, 643, 121, 22, 602, 1046,
1378 15, 16, 643, 446, 447, -376, 872, 1049, 91, 692,
1379 27, 1048, 28, 303, 196, 243, 1468, 698, 231, 886,
1380 41, 208, 368, -327, 570, 1087, 285, 379, 380, 10,
1381 1409, 571, 474, -259, -376, 951, 952, 953, -376, 459,
1382 207, 740, 141, 474, 33, 859, 1074, 459, 1330, 1130,
1383 126, 127, 41, 90, 873, 641, 208, 41, 1175, 1177,
1384 141, 280, 1469, 1181, 1182, 22, 94, 109, 110, 8,
1385 9, 527, 236, 91, 735, 762, 243, 208, 27, 640,
1386 28, 303, 8, 9, -376, 408, 640, 339, 176, 340,
1387 58, 409, 1075, 643, 160, 641, 332, 332, 332, 167,
1388 641, 1356, 940, 129, 130, 1070, 1071, 1072, 7, 8,
1389 9, 10, 572, 87, 996, 126, 1290, 158, 158, 158,
1390 111, 112, 129, 130, 1214, 208, 932, 237, 71, 88,
1391 -577, 90, 88, 643, 288, 129, 130, -121, 643, -122,
1392 1194, 514, 515, -7, 1328, 243, 237, 22, 429, 89,
1393 938, 91, 89, 578, 201, 202, 203, 454, 455, 485,
1394 27, 14, 28, 29, 939, 126, 127, 88, 129, 130,
1395 745, 1458, 243, 417, 990, 1315, 863, 640, 472, 19,
1396 430, 1269, 489, 844, 21, 241, 864, 89, 1482, 115,
1397 116, 117, 485, 24, 33, 90, 581, 126, 127, 865,
1398 583, 745, 691, 1316, 487, -45, 490, 641, 393, 578,
1399 -45, 676, 57, 699, 1304, 91, 27, 640, 129, 130,
1400 488, -45, 640, 498, 1138, 1139, 199, 1141, 207, 507,
1401 202, 203, 579, 245, 508, 641, 14, 745, 126, 127,
1402 641, 27, 580, 118, 119, 643, 509, 817, 819, 643,
1403 129, 130, 581, 510, 243, 582, 583, 1080, 1081, 21,
1404 511, 403, 406, 207, 612, 623, 1109, 569, 24, 1092,
1405 243, 126, 127, 643, 676, 614, 1030, 1031, 643, 128,
1406 15, 16, 403, 406, 459, 553, 554, 474, 745, 27,
1407 88, 129, 130, 1310, 1311, 332, 446, 1388, 1357, 454,
1408 1389, 1370, 615, -99, 1143, 15, 16, 58, 740, 58,
1409 89, 630, 643, 963, 617, 196, 58, 446, 1393, 940,
1410 618, 940, 27, 619, 129, 130, 126, 127, 940, 640,
1411 650, 482, 641, 640, 641, -6, 653, -99, 689, 670,
1412 693, -99, 155, 932, 718, 71, 721, 71, 722, 723,
1413 730, 241, 932, 731, 71, 749, 751, 640, 752, 659,
1414 514, 515, 640, 810, 754, 809, 826, 938, 824, 938,
1415 643, 828, 643, 856, -99, 938, 938, 27, 845, 129,
1416 130, 939, 855, 939, -97, 846, 15, 16, 858, 1129,
1417 939, 1091, 1101, 801, 862, 874, 640, -262, 371, 372,
1418 373, 644, 875, 802, 892, 886, 156, 419, 893, 641,
1419 1439, 894, 900, 1196, 241, -781, 910, 803, -97, 1198,
1420 1199, 914, -97, 1196, 1201, 126, 127, 1199, 915, 57,
1421 676, 57, 371, 372, 373, 917, 920, 922, 57, 1376,
1422 156, 94, 109, 110, 477, 1156, 1157, 643, 964, 965,
1423 641, 1386, 374, 375, 640, -97, 640, 918, 966, 555,
1424 404, 407, 641, 1129, 967, 969, 1156, 1157, 643, 970,
1425 968, 740, 971, 972, 973, 974, 27, -120, 129, 130,
1426 22, 94, 109, 110, 27, 58, 374, 375, 643, 976,
1427 155, 977, 801, 979, 981, 111, 112, 940, 556, 557,
1428 643, 982, 802, 558, 559, 560, 561, 980, 995, 983,
1429 1517, 7, 8, 235, 10, 1376, 803, 984, 243, 985,
1430 243, 932, 998, 71, 999, 997, 1005, 199, 1114, 1115,
1431 1116, 640, 1006, 474, 238, 111, 112, 113, 1007, 1021,
1432 1013, 1027, 158, 1042, 1257, 938, 1015, 1252, 243, 322,
1433 22, 322, 640, 322, 745, 1016, 1256, 236, 526, 939,
1434 1461, 1018, 1376, 1024, 1060, 28, 29, 1067, 115, 116,
1435 117, 135, 640, 156, 156, 156, 158, 1110, 1230, 58,
1436 1251, 1113, 71, 1117, 640, 1337, 1122, 1337, 1123, 237,
1437 1131, 940, 1376, 1140, 156, 156, 156, 33, 1124, 1125,
1438 1144, 1135, 661, 322, 1197, 322, 1151, 57, 1359, 1360,
1439 1136, 1427, 1152, 15, 16, 932, 491, 71, -376, 403,
1440 406, 523, 118, 119, 1202, 1145, 1257, 1146, 1147, 1150,
1441 1155, 196, 1160, 1257, 1174, 486, 1252, 208, 1256, 938,
1442 1257, -268, 1184, 1252, 1185, 1256, -376, -376, 1208, 1209,
1443 1216, -376, 1256, 939, 1219, 1220, -268, -268, 1224, 1329,
1444 1225, -268, 1251, 456, 71, 1226, 57, 474, 474, 1251,
1445 1227, 71, 1166, 1267, 426, 1305, 1251, -268, 71, 94,
1446 109, 110, 285, 379, 380, 10, 94, 95, 96, -268,
1447 -268, 1271, -268, 1275, -268, 243, 474, 514, 515, 1299,
1448 1300, 57, 1314, 1111, 94, 95, 96, 1301, 1302, 158,
1449 158, 158, 1307, 1323, 243, 1324, 115, 702, 703, 1325,
1450 1333, 22, 1372, -268, -268, 1335, 1348, -268, 236, 1378,
1451 158, 158, 158, 111, 112, 1379, 28, 303, 27, -268,
1452 97, 98, 99, 550, 551, 552, 553, 554, 57, 404,
1453 407, 1450, 1383, 1257, 1420, 57, 1385, 1257, 97, 98,
1454 1252, 1387, 57, 355, 359, 1256, 512, 332, 33, 1256,
1455 118, 119, 1473, 1413, 1406, 1425, 1435, 243, 1433, 1448,
1456 1449, 641, 474, 474, 1420, 474, 474, 1257, 474, 1251,
1457 1252, 71, 282, 1251, 1459, 71, 1460, 1462, 1257, 1256,
1458 208, 1252, 1475, 687, 688, 1479, 1488, 322, 523, 1495,
1459 1256, 523, 1498, 1502, 7, 126, 127, 10, 1257, 643,
1460 1503, 1252, 282, 1251, 1508, 71, 1505, 404, 750, 1513,
1461 1256, 1518, 1520, 1521, 1251, 1525, 71, 1189, 1190, 523,
1462 1526, 1530, 1531, 199, 207, 1, 1420, 1028, 655, 1257,
1463 5, 629, 1252, 22, 1251, 415, 71, 1457, 416, 1102,
1464 236, 1256, 1078, 474, 474, 1161, 1203, 755, 28, 29,
1465 1411, 7, 126, 127, 10, 57, 280, 13, 243, 57,
1466 1527, 1340, 1023, 156, 282, 1251, 891, 71, 664, 668,
1467 497, 1022, 237, 468, 1186, 1073, 668, 839, 1204, 1257,
1468 33, 1104, 1252, 640, 1292, 1079, 280, 1020, 848, 57,
1469 22, 1256, 449, 126, 127, 377, 796, 666, 482, 1483,
1470 57, 1346, 575, 27, 666, 28, 29, 1499, 1266, 1453,
1471 1507, 156, 156, 156, 1509, 1251, 1059, 71, 1268, 31,
1472 57, 0, 0, 0, 0, 474, 474, 474, 0, 32,
1473 0, 0, 1278, 1279, 0, 1288, 1289, 33, 1291, 322,
1474 668, 0, 34, 0, 27, 0, 129, 130, 280, 0,
1475 521, 57, 548, 549, 550, 551, 552, 553, 554, 0,
1476 492, 0, 0, 0, 0, 474, 474, 0, 666, 322,
1477 493, 0, 664, 0, 0, 766, 767, 0, 771, 772,
1478 773, 774, 775, 776, 777, 778, 779, 780, 781, 782,
1479 783, 784, 785, 786, 787, 788, 789, 0, 0, 158,
1480 0, 57, 668, 0, 668, 668, 7, 8, 9, 10,
1481 0, 126, 127, 1353, 1354, 0, 13, 94, 95, 96,
1482 0, 212, 213, 214, 0, 0, 0, 839, 0, 0,
1483 666, 668, 666, 666, 0, 115, 702, 703, 668, 704,
1484 474, 0, 0, 0, 0, 22, 0, 158, 158, 158,
1485 0, 215, 236, 0, 0, 578, 0, 850, 852, 666,
1486 28, 29, 27, 705, 129, 130, 666, 0, 669, 27,
1487 706, 97, 98, 216, 0, 115, 702, 703, 579, 638,
1488 0, 0, 0, 0, 237, 0, 0, 27, 580, 118,
1489 119, 0, 33, 0, 0, 1400, 1401, 1402, 581, 0,
1490 0, 582, 583, 705, 0, 664, 0, 0, 0, 0,
1491 0, 667, 0, 0, 0, 0, 0, 0, 674, 217,
1492 218, 219, 638, 404, 750, 0, 0, 27, 0, 118,
1493 119, 0, 0, 0, 0, 1429, 1430, 521, 0, 0,
1494 521, 0, 8, 9, 742, 134, 12, 13, 0, 0,
1495 672, 0, 14, 155, 0, 0, 0, 521, 0, 0,
1496 0, 0, 0, 322, 322, 322, 0, 17, 521, 18,
1497 19, 0, 769, 0, 0, 21, 0, 7, 8, 9,
1498 10, 668, 737, 0, 24, 0, 0, 1057, 285, 8,
1499 9, 10, 0, 27, 0, 129, 130, 0, 791, 0,
1500 201, 202, 203, 975, 808, 0, 0, 14, 0, 666,
1501 1493, 0, 0, 0, 0, 0, 22, 0, 0, 0,
1502 0, 285, 8, 9, 10, 19, 0, 22, 0, 27,
1503 21, 28, 29, 0, 236, 179, 673, 0, 0, 24,
1504 664, 668, 28, 303, 790, 180, 792, 793, 0, 0,
1505 0, 79, 0, 0, 668, 181, 668, 0, 668, 0,
1506 22, 103, 0, 33, 0, 0, 237, 236, 182, 666,
1507 638, 0, 132, 79, 33, 28, 303, 638, 146, 146,
1508 843, 146, 666, 79, 666, 0, 666, 1019, 79, 0,
1509 0, 0, 0, 285, 8, 9, 10, 668, 0, 485,
1510 244, 190, 0, 79, 94, 109, 110, 33, 620, 621,
1511 622, 223, 0, 0, 0, 0, 1039, 0, 103, 0,
1512 0, 404, 407, 668, 0, 666, 0, 0, 0, 247,
1513 103, 0, 22, 0, 0, 0, 0, 0, 916, 236,
1514 79, 668, 404, 1173, 0, 0, 0, 28, 303, 0,
1515 0, 666, 103, 0, 0, 0, 0, 0, 111, 112,
1516 0, 0, 949, 201, 202, 203, 0, 954, 638, 666,
1517 14, 0, 0, 1076, 0, 132, 0, 0, 410, 33,
1518 132, 0, 0, 0, 190, 103, 0, 0, 19, 0,
1519 664, 146, 0, 21, 398, 146, 0, 435, 146, 146,
1520 146, 0, 24, 0, 0, 0, 0, 0, 638, 0,
1521 451, 0, 79, 638, 457, 202, 203, 608, 664, 664,
1522 0, 14, 1132, 285, 126, 127, 10, 190, 190, 190,
1523 546, 547, 548, 549, 550, 551, 552, 553, 554, 19,
1524 993, 0, 0, 0, 21, 0, 0, 0, 0, 0,
1525 0, 0, 0, 24, 0, 0, 190, 0, 7, 126,
1526 127, 10, 22, 0, 230, 0, 0, 0, 0, 236,
1527 1008, 467, 1009, 521, 0, 0, 0, 28, 303, 103,
1528 0, 0, 0, 989, 126, 127, 668, 0, 668, 230,
1529 668, 146, 0, 664, 0, 0, 1000, 22, 1001, 0,
1530 1002, 0, 664, 664, 597, 8, 9, 664, 664, 33,
1531 27, 0, 28, 29, 666, 0, 666, 0, 666, 0,
1532 638, 0, 0, 0, 638, 0, 31, 0, 578, 103,
1533 494, 0, 1195, 0, 0, 27, 32, 129, 130, 1026,
1534 293, 598, 0, 22, 33, 0, 0, 0, 638, 34,
1535 0, 579, 0, 638, 0, 0, 27, 1068, 129, 130,
1536 0, 580, 0, 0, 0, 1040, 0, 0, 664, 0,
1537 1215, 581, 103, 0, 582, 583, 576, 0, 494, 494,
1538 592, 0, 0, 0, 0, 0, 0, 638, 0, 0,
1539 0, 0, 0, 0, 190, 668, 0, 0, 0, 1118,
1540 0, 1120, 0, 0, 0, 0, 0, 0, 0, 0,
1541 0, 132, 0, 0, 0, 0, 0, 0, 0, 0,
1542 0, 0, 0, 666, 0, 664, 0, 0, 0, 0,
1543 1057, 0, 132, 0, 0, 1276, 1277, 0, 103, 0,
1544 0, 0, 0, 0, 0, 638, 0, 638, 0, 146,
1545 0, 0, 146, 0, 1149, 0, 0, 146, 664, 0,
1546 0, 79, 0, 690, 0, 0, 0, 0, 695, 0,
1547 0, 0, 0, 0, 0, 0, 0, 0, 0, 404,
1548 1173, 0, 0, 190, 1322, 190, 0, 190, 190, 190,
1549 0, 0, 521, 190, 719, 0, 0, 0, 190, 724,
1550 0, 190, 0, 0, 0, 0, 0, 0, 0, 0,
1551 0, 732, 733, 0, 734, 0, 0, 0, 0, 0,
1552 0, 0, 638, 0, 1358, 0, 0, 0, 1162, 0,
1553 1163, 0, 1164, 0, 0, 0, 0, 0, 0, 0,
1554 0, 0, 0, 638, 0, 664, 0, 0, 0, 0,
1555 0, 0, 0, 0, 0, 103, 103, 103, 103, 1210,
1556 1211, 1212, 1213, 638, 126, 127, 0, 0, 202, 203,
1557 1217, 0, 0, 0, 14, 638, 0, 0, 0, 0,
1558 0, 0, 0, 0, 668, 0, 0, 0, 0, 0,
1559 0, 1221, 0, 0, 0, 0, 0, 21, 1398, 1399,
1560 0, 0, 0, 0, 829, 830, 24, 1404, 578, 829,
1561 0, 103, 666, 494, 0, 27, 0, 129, 130, 0,
1562 0, 0, 1422, 0, 576, 0, 494, 494, 0, 592,
1563 1270, 579, 0, 0, 1274, 0, 840, 1223, 0, 0,
1564 842, 580, 0, 0, 0, 0, 0, 0, 0, 1295,
1565 1296, 581, 0, 0, 589, 583, 0, 0, 0, 0,
1566 0, 0, 0, 0, 0, 1306, 0, 0, 926, 0,
1567 7, 8, 927, 10, 134, 12, 13, 0, 0, 0,
1568 0, 14, 0, 1327, 0, 190, 870, 190, 190, 223,
1569 592, 0, 0, 0, 0, 0, 17, 0, 18, 19,
1570 20, 0, 0, 0, 21, -486, 0, 0, 0, 22,
1571 0, 0, 0, 24, 928, 0, 929, 0, 0, 0,
1572 0, 0, 27, 190, 28, 29, 0, 870, 930, 0,
1573 931, 0, 0, 0, 190, 190, 0, 190, 31, 0,
1574 1368, 1369, 0, 0, 0, 956, 0, 958, 32, 0,
1575 0, 0, 0, 0, 664, 0, 33, 0, 0, 0,
1576 0, 34, 79, 0, 0, 1384, 0, 103, 0, 0,
1577 0, 0, 103, 0, 0, 0, 0, 0, -486, 494,
1578 494, 494, 0, 6, 0, 7, 8, 9, 10, 11,
1579 12, 13, 494, 0, 1396, 1397, 14, 0, 0, 0,
1580 0, 0, 0, 0, 0, 0, 7, 126, 127, 10,
1581 0, 17, 13, 18, 19, 769, 1418, 0, 0, 21,
1582 991, 992, 0, 994, 22, 0, 0, 0, 24, 521,
1583 0, 414, 0, 0, 0, 0, 0, 27, 0, 28,
1584 29, 0, 103, 30, 0, 22, 1418, 0, 0, 0,
1585 1011, 0, 0, 31, 0, 0, 0, 0, 27, 0,
1586 28, 29, 0, 32, 494, 0, 494, 0, 584, 584,
1587 584, 33, 0, 103, 151, 0, 34, 494, 0, 103,
1588 0, 840, 840, 840, 152, 0, 1038, 0, 1017, 0,
1589 0, 0, 33, 0, 638, 0, 0, 153, 0, 7,
1590 8, 9, 10, 0, 0, 13, 1487, 103, 1418, 103,
1591 190, 190, 1036, 82, 0, 0, 0, 0, 0, 0,
1592 0, 0, 0, 105, 0, 0, 0, 0, 0, 0,
1593 0, 0, 1506, 125, 133, 82, 0, 0, 22, 0,
1594 147, 147, 0, 147, 0, 82, 1036, 769, 0, 0,
1595 82, 27, 0, 28, 29, 0, 0, 0, 0, 0,
1596 103, 0, 0, 147, 0, 82, 0, 180, 0, 0,
1597 0, 0, 0, 224, 0, 132, 0, 181, 0, 79,
1598 232, 79, 0, 0, 0, 33, 1099, 79, 79, 0,
1599 182, 0, 232, 0, 0, 0, 0, 7, 126, 127,
1600 10, 0, 82, 482, 103, 0, 103, 0, 0, 0,
1601 0, 0, 0, 0, 0, 0, 0, 8, 9, 0,
1602 0, 12, 13, 0, 0, 1148, 0, 14, 0, 0,
1603 587, 591, 594, 0, 0, 0, 22, 385, 494, 494,
1604 0, 494, 17, 0, 18, 0, 147, 232, 0, 27,
1605 21, 28, 29, 147, 0, 0, 1159, 147, 0, 24,
1606 147, 147, 147, 0, 0, 31, 0, 0, 27, 0,
1607 129, 130, 562, 0, 82, 32, 0, 190, 190, 190,
1608 190, 1036, 0, 33, 0, 190, 0, 0, 34, 147,
1609 147, 147, 0, 1187, 0, 0, 1088, 1089, 9, 10,
1610 1036, 1036, 1036, 0, 0, 1191, 0, 563, 0, 0,
1611 0, 0, 0, 0, 0, 0, 584, 584, 147, 584,
1612 0, 0, 103, 0, 0, 0, 838, 0, 0, 0,
1613 0, 0, 1206, 0, 103, 22, 1207, 0, 0, 0,
1614 0, 0, 0, 0, 0, 0, 0, 1200, 27, 0,
1615 28, 29, 0, 147, 0, 0, 1090, 79, 0, 0,
1616 0, 0, 0, 0, 180, 0, 0, 0, 0, 1222,
1617 0, 0, 0, 0, 181, 584, 0, 584, 584, 0,
1618 584, 0, 33, 0, 0, 0, 0, 182, 0, 0,
1619 0, 232, 147, 0, 0, 0, 0, 0, 0, 0,
1620 0, 0, 0, 190, 190, 0, 190, 1280, 1281, 9,
1621 10, 0, 0, 584, 543, 544, 545, 546, 547, 548,
1622 549, 550, 551, 552, 553, 554, 103, 1297, 1298, 7,
1623 8, 9, 10, 0, 232, 13, 0, 0, 577, 0,
1624 147, 147, 593, 0, 190, 0, 22, 601, 0, 146,
1625 0, 79, 0, 0, 0, 0, 147, 0, 0, 27,
1626 0, 28, 29, 0, 0, 0, 0, 1282, 22, 0,
1627 0, 0, 0, 385, 578, 180, 0, 0, 818, 820,
1628 0, 27, 584, 28, 29, 181, 0, 0, 0, 0,
1629 1351, 0, 0, 33, 1352, 0, 0, 863, 182, 0,
1630 232, 0, 190, 870, 190, 0, 0, 864, 0, 0,
1631 0, 147, 0, 0, 147, 33, 0, 581, 0, 147,
1632 865, 583, 0, 82, 542, 543, 544, 545, 546, 547,
1633 548, 549, 550, 551, 552, 553, 554, 868, 0, 587,
1634 591, 0, 594, 0, 0, 147, 0, 147, 0, 147,
1635 147, 147, 0, 0, 584, 147, 584, 0, 0, 0,
1636 147, 0, 0, 147, 0, 0, 0, 584, 0, 0,
1637 0, 838, 838, 838, 0, 591, 0, 0, 714, 0,
1638 8, 9, 0, 134, 12, 13, 0, 0, 672, 1036,
1639 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1640 584, 584, 584, 0, 0, 17, 0, 18, 19, 7,
1641 8, 9, 10, 21, 0, 230, 0, 232, 232, 232,
1642 232, 0, 24, 0, 578, 0, 7, 8, 9, 10,
1643 0, 27, 230, 129, 130, 0, 838, 1036, 1036, 1036,
1644 0, 0, 0, 0, 591, 0, 0, 579, 22, 0,
1645 0, 0, 0, 103, 578, 0, 0, 580, 0, 0,
1646 0, 27, 0, 28, 29, 22, 0, 581, 190, 0,
1647 582, 583, 0, 232, 673, 147, 0, 863, 27, 0,
1648 28, 29, 0, 0, 0, 0, 0, 864, 147, 147,
1649 0, 593, 0, 0, 180, 33, 0, 581, 841, 0,
1650 865, 583, 0, 0, 181, 0, 0, 0, 0, 0,
1651 601, 0, 33, 0, 0, 0, 1003, 182, 1004, 0,
1652 0, 0, 0, 0, 0, 0, 0, 0, 0, 1010,
1653 0, 0, 0, 818, 820, 0, 0, 0, 0, 0,
1654 0, 0, 125, 0, 0, 0, 0, 147, 593, 147,
1655 147, 224, 593, 0, 0, 0, 0, 0, 0, 0,
1656 0, 0, 818, 820, 0, 714, 0, 584, 584, 584,
1657 584, 584, 0, 0, 0, 584, 0, 0, 7, 8,
1658 9, 10, 0, 0, 13, 147, 0, 0, 0, 593,
1659 838, 838, 838, 0, 0, 0, 147, 147, 0, 147,
1660 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
1661 548, 549, 550, 551, 552, 553, 554, 22, 0, 0,
1662 0, 0, 0, 578, 82, 0, 0, 0, 0, 232,
1663 27, 0, 28, 29, 232, 50, 0, 0, 0, 0,
1664 0, 147, 147, 147, 0, 0, 1032, 7, 8, 9,
1665 10, 134, 12, 13, 147, 0, 1033, 50, 14, 0,
1666 0, 0, 50, 50, 33, 154, 581, 50, 0, 1034,
1667 583, 0, 50, 17, 0, 18, 19, 0, 0, 0,
1668 0, 21, 0, 0, 0, 50, 22, 50, 0, 0,
1669 24, 0, 0, 584, 584, 0, 584, 0, 0, 27,
1670 0, 28, 29, 0, 232, 0, 0, 0, 0, 0,
1671 239, 0, 0, 0, 0, 31, 0, 0, 0, 135,
1672 0, 0, 0, 0, 50, 32, 147, 0, 147, 1003,
1673 1004, 818, 820, 33, 0, 232, 0, 1010, 34, 147,
1674 0, 232, 0, 841, 841, 841, 0, 0, 0, 0,
1675 601, 0, 818, 820, 0, 0, 0, 0, 0, 382,
1676 0, 0, 0, 382, 382, 0, 0, 0, 50, 232,
1677 0, 232, 147, 147, 593, 50, 0, 239, 0, 50,
1678 0, 0, 154, 154, 154, 0, 0, 0, 0, 0,
1679 0, 0, 0, 0, 0, 0, 50, 0, 0, -348,
1680 8, 9, -348, -348, 12, 230, 159, 0, 841, 0,
1681 14, 50, 50, 154, 0, 0, 0, 0, 0, 0,
1682 0, 239, 232, 0, 0, 17, 191, 18, -348, 0,
1683 126, 127, 0, 21, 714, 482, 0, 133, -348, 0,
1684 50, 82, 24, 82, 578, 0, 0, 0, 1100, 82,
1685 82, 27, 0, 129, 130, 1003, 1004, 0, 1010, 7,
1686 8, 9, 10, 201, 202, 203, 232, 579, 232, 0,
1687 14, 0, 0, 0, 578, 50, 0, 580, 0, 0,
1688 0, 27, 0, 129, 130, -348, 0, 581, 19, 0,
1689 582, 583, 0, 21, 0, 0, 0, 579, 22, 0,
1690 147, 147, 24, 147, 578, 0, 0, 580, 0, 191,
1691 0, 27, 0, 28, 29, 0, 0, 581, 0, 0,
1692 582, 583, 0, 159, 159, 159, 0, 180, 0, 0,
1693 0, 0, 0, 0, 0, 0, 0, 181, 0, 147,
1694 147, 147, 147, 593, 522, 33, 0, 147, 0, 0,
1695 1342, 714, 191, 191, 444, 0, 0, 0, 0, 0,
1696 382, 0, 841, 841, 841, 0, 0, 0, 239, 926,
1697 0, 7, 8, 927, 10, 134, 12, 13, 50, 714,
1698 0, 191, 14, 0, 232, 0, 0, 0, 0, 0,
1699 0, 0, 0, 0, 0, 382, 232, 17, 0, 18,
1700 19, 20, 0, 0, 0, 21, -487, 0, 0, 0,
1701 22, 0, 0, 0, 24, 928, 382, 929, 0, 82,
1702 0, 0, 0, 27, 0, 28, 29, 0, 0, 930,
1703 0, 931, 0, 50, 0, 0, 50, 0, 0, 31,
1704 0, 50, 0, 0, 0, 50, 0, 0, 0, 32,
1705 0, 0, 0, 0, 0, 495, 0, 33, 0, 0,
1706 0, 0, 34, 0, 0, 147, 147, 50, 147, 50,
1707 0, 154, 154, 154, 0, 0, 0, 50, 0, -487,
1708 0, 0, 50, 0, 0, 50, 0, 0, 232, 0,
1709 0, 7, 8, 9, 10, 0, 0, 482, 0, 0,
1710 0, 0, 0, 586, 586, 586, 147, 0, 0, 0,
1711 0, 147, 0, 82, 0, 0, 0, 0, 0, 191,
1712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1713 22, 522, 0, 0, 522, 0, 578, 0, 0, 0,
1714 0, 0, 0, 27, 0, 28, 29, 0, 77, 522,
1715 522, 522, 0, 0, 0, 0, 0, 0, 0, 863,
1716 0, 0, 522, 0, 147, 593, 147, 0, 0, 864,
1717 77, 0, 0, 0, 0, 77, 77, 33, 77, 581,
1718 77, 0, 865, 583, 0, 77, 0, 0, 7, 8,
1719 9, 10, 201, 202, 203, 0, 0, 0, 77, 14,
1720 77, 0, 0, 0, 0, 0, 0, 239, 191, 0,
1721 191, 0, 444, 444, 444, 0, 0, 19, 191, 0,
1722 522, 0, 21, 191, 0, 0, 191, 22, 0, 0,
1723 0, 24, 0, 578, 0, 0, 0, 77, 0, 0,
1724 27, 0, 28, 29, 0, 0, 0, 0, 0, 0,
1725 0, 841, 0, 0, 0, 0, 863, 0, 0, 189,
1726 0, 0, 0, 0, 0, 0, 864, 0, 0, 50,
1727 50, 50, 50, 0, 33, 0, 581, 0, 0, 865,
1728 583, 77, 0, 0, 242, 0, 0, 246, 77, 0,
1729 0, 0, 77, 0, 0, 77, 77, 77, 0, 841,
1730 841, 841, 0, 0, 0, 0, 0, 50, 242, 77,
1731 354, 50, 0, 0, 0, 232, 0, 0, 50, 50,
1732 0, 50, 0, 0, 77, 77, 77, 0, 0, 0,
1733 147, 0, 0, 0, 0, 0, 0, 0, 804, 0,
1734 8, 9, 189, 134, 12, 13, 50, 0, 1438, 0,
1735 14, 586, 586, 77, 586, 0, 0, 0, 0, 0,
1736 0, 586, 0, 0, 0, 17, 0, 18, 19, 0,
1737 522, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1738 0, 0, 24, 0, 0, 189, 189, 189, 77, 0,
1739 0, 27, 0, 129, 130, 450, 541, 542, 543, 544,
1740 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1741 867, 0, 867, 867, 189, 586, 0, 0, 0, 0,
1742 0, 0, 7, 8, 9, 10, 0, 926, 13, 7,
1743 8, 927, 10, 134, 12, 13, 0, 246, 0, 0,
1744 14, 0, 0, 0, 0, 0, 0, 0, 867, 0,
1745 0, 0, 242, 0, 0, 17, 0, 18, 19, 191,
1746 191, 22, 191, 21, 0, 522, 522, 522, 22, 0,
1747 0, 239, 24, 928, 27, 929, 28, 29, 0, 0,
1748 0, 27, 600, 28, 29, 0, 0, 0, 0, 931,
1749 440, 77, 0, 0, 50, 50, 154, 31, 0, 0,
1750 441, 239, 0, 0, 495, 495, 495, 32, 33, 0,
1751 0, 0, 0, 442, 0, 33, 0, 586, 0, 0,
1752 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1753 1056, 0, 0, 0, 0, 0, 358, 360, 0, 0,
1754 0, 0, 242, 246, 0, 0, 77, 0, 0, 77,
1755 0, 0, 189, 0, 77, 0, 0, 0, 77, 0,
1756 0, 0, 0, 50, 0, 50, 1280, 126, 127, 10,
1757 50, 50, 50, 0, 0, 0, 0, 0, 0, 0,
1758 77, 0, 77, 0, 77, 77, 77, 0, 0, 586,
1759 77, 586, 0, 0, 0, 77, 0, 0, 77, 0,
1760 0, 0, 586, 0, 0, 22, 586, 586, 586, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 27, 0,
1762 28, 29, 0, 0, 0, 0, 1282, 0, 0, 0,
1763 0, 0, 0, 0, 31, 867, 867, 1037, 437, 439,
1764 443, 189, 0, 189, 32, 189, 189, 189, 239, 0,
1765 0, 189, 33, 0, 0, 0, 189, 34, 0, 189,
1766 0, 50, 50, 154, 154, 154, 0, 239, 0, 50,
1767 0, 1037, 0, 8, 9, 0, 192, 12, 193, 0,
1768 0, 0, 0, 14, 1056, 1056, 1056, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
1770 18, 19, 0, 0, 126, 127, 21, 75, 202, 203,
1771 0, 191, 0, 0, 14, 24, 0, 0, 0, 0,
1772 0, 600, 0, 0, 27, 0, 129, 130, 0, 140,
1773 239, 0, 0, 0, 145, 149, 0, 21, 0, 75,
1774 0, 50, 0, 525, 75, 0, 24, 0, 578, 0,
1775 0, 0, 0, 0, 0, 27, 0, 129, 130, 200,
1776 0, 0, 0, 804, 804, 0, 804, 0, 0, 0,
1777 0, 579, 0, 0, 0, 0, 0, 0, 0, 0,
1778 0, 580, 77, 77, 77, 77, 0, 50, 50, 0,
1779 50, 581, 0, 0, 582, 583, 349, 242, 246, 0,
1780 0, 0, 867, 867, 1037, 1037, 1037, 0, 0, 0,
1781 867, 7, 8, 9, 10, 0, 0, 482, 0, 0,
1782 77, 637, 0, 0, 77, 1037, 1037, 1037, 50, 0,
1783 0, 77, 77, 50, 77, 50, 0, 0, 0, 0,
1784 0, 0, 0, 189, 0, 189, 189, 397, 0, 0,
1785 22, 399, 0, 0, 0, 0, 0, 0, 0, 77,
1786 0, 0, 0, 27, 675, 28, 29, 0, 75, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 180,
1788 0, 189, 0, 145, 149, 0, 50, 50, 50, 181,
1789 0, 0, 189, 189, 685, 189, 686, 33, 437, 439,
1790 443, 0, 182, 0, 7, 8, 9, 10, 0, 696,
1791 0, 0, 0, 7, 126, 127, 10, 0, 0, 246,
1792 0, 0, 0, 0, 7, 8, 9, 10, 867, 867,
1793 738, 867, 0, 741, 0, 0, 0, 743, 744, 746,
1794 747, 748, 0, 22, 0, 0, 0, 483, 0, 0,
1795 525, 0, 22, 0, 0, 0, 27, 0, 28, 29,
1796 0, 765, 1336, 22, 0, 27, 0, 28, 29, 191,
1797 0, 0, 180, 1056, 0, 0, 27, 0, 28, 29,
1798 0, 151, 181, 0, 0, 600, 7, 8, 9, 10,
1799 33, 152, 180, 794, 0, 182, 0, 0, 0, 33,
1800 0, 0, 181, 0, 153, 0, 0, 77, 77, 77,
1801 33, 0, 821, 0, 0, 182, 0, 0, 0, 821,
1802 0, 1056, 1056, 1056, 0, 22, 0, 191, 0, 191,
1803 0, 0, 0, 0, 0, 0, 0, 0, 27, 0,
1804 28, 29, 0, 1058, 0, 242, 246, 242, 0, 0,
1805 0, 0, 50, 0, 440, 0, 0, 0, 0, 0,
1806 0, 0, 0, 0, 441, 0, 0, 0, 189, 189,
1807 1035, 0, 33, 0, 0, 242, 77, 442, 77, 0,
1808 0, 0, 0, 77, 77, 77, 537, 538, 539, 540,
1809 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
1810 551, 552, 553, 554, 1035, 648, 0, 0, 649, 0,
1811 637, 0, 0, 651, 444, 0, 0, 140, 539, 540,
1812 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
1813 551, 552, 553, 554, 0, 0, 0, 0, 0, 397,
1814 0, 399, 0, 0, 189, 685, 686, 0, 696, 0,
1815 675, 0, 0, 0, 483, 675, 0, 0, 0, 0,
1816 0, 0, 444, 444, 444, 0, 0, 0, 0, 0,
1817 0, 0, 0, 0, 77, 77, 77, 77, 77, 8,
1818 9, 0, 77, 12, 13, 0, 0, 0, 0, 14,
1819 0, 0, 0, 191, 0, 0, 0, 1058, 1058, 1058,
1820 0, 0, 0, 0, 17, 0, 18, 0, 0, 0,
1821 0, 0, 21, 0, 0, 0, 0, 0, 0, 8,
1822 9, 24, 242, 12, 230, 986, 0, 0, 0, 14,
1823 27, 0, 129, 130, 0, 189, 189, 189, 189, 1035,
1824 0, 1158, 0, 189, 17, 0, 18, 0, 0, 0,
1825 0, 0, 21, 0, 77, 0, 765, 0, 1035, 1035,
1826 1035, 24, 675, 578, 0, 0, 821, 0, 0, 795,
1827 27, 0, 129, 130, 0, 0, 0, 0, 0, 0,
1828 0, 0, 0, 0, 0, 0, 579, 0, 0, 0,
1829 637, 0, 1029, 0, 0, 821, 580, 0, 0, 0,
1830 77, 77, 0, 77, 450, 0, 581, 0, 0, 582,
1831 583, 0, 0, 0, 0, 101, 0, 0, 0, 0,
1832 0, 437, 439, 443, 0, 120, 101, 0, 0, 821,
1833 0, 0, 101, 101, 0, 101, 0, 0, 0, 0,
1834 0, 77, 869, 1062, 0, 0, 77, 0, 77, 0,
1835 1069, 0, 0, 0, 0, 0, 0, 443, 0, 0,
1836 0, 189, 189, 0, 189, 222, 540, 541, 542, 543,
1837 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1838 554, 0, 0, 906, 0, 0, 0, 675, 0, 675,
1839 648, 649, 0, 651, 0, 0, 0, 1097, 0, 77,
1840 77, 77, 189, 0, 0, 0, 0, 0, 0, 0,
1841 0, 0, 0, 0, 0, 0, 0, 0, 944, 0,
1842 0, 0, 0, 0, 120, 0, 120, 0, 0, 101,
1843 0, 0, 0, 101, 101, 0, 0, 0, 0, 0,
1844 0, 0, 0, 0, 0, 101, 0, 101, 101, 101,
1845 0, 0, 101, 101, 101, 0, 0, 0, 0, 0,
1846 189, 0, 189, 0, 821, 0, 0, 0, 8, 9,
1847 0, 0, 12, 230, 0, 0, 0, 0, 14, 0,
1848 0, 0, 0, 0, 0, 821, 1058, 0, 685, 686,
1849 437, 439, 443, 17, 0, 18, 696, 0, 0, 0,
1850 0, 21, 0, 0, 0, 675, 0, 0, 0, 0,
1851 24, 437, 439, 443, 0, 0, 0, 675, 0, 27,
1852 0, 129, 130, 0, 465, 101, 0, 8, 9, 0,
1853 134, 12, 13, 0, 1058, 1058, 1058, 14, 0, 0,
1854 0, 0, 0, 0, 0, 101, 0, 1035, 0, 0,
1855 0, 0, 17, 0, 18, 19, 0, 0, 0, 0,
1856 21, 0, 0, 0, 0, 77, 145, 149, 0, 633,
1857 0, 0, 0, 0, 0, 0, 0, 0, 27, 0,
1858 129, 130, 0, 0, 101, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 0, 1035, 1035, 1035, 0, 0,
1860 0, 0, 7, 8, 9, 10, 201, 202, 203, 1062,
1861 0, 0, 0, 14, 685, 686, 0, 696, 0, 0,
1862 0, 0, 0, 0, 0, 0, 189, 0, 0, 0,
1863 101, 19, 101, 101, 0, 944, 21, 944, 0, 0,
1864 0, 22, 1098, 1105, 944, 24, 0, 578, 0, 0,
1865 0, 0, 0, 0, 27, 1286, 28, 29, 0, 0,
1866 0, 0, 0, 0, 0, 101, 0, 0, 0, 0,
1867 863, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868 864, 0, 0, 0, 0, 0, 101, 0, 33, 0,
1869 581, 0, 0, 899, 583, 0, 0, 0, 0, 101,
1870 0, 0, 0, 101, 0, 0, 101, 0, 0, 0,
1871 768, 101, 285, 8, 9, 10, 0, 12, 499, 287,
1872 288, 0, 289, 14, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 397, 399, 0, 0, 0, 17, 290,
1874 18, 483, 20, 0, 291, 292, 21, 0, 293, 294,
1875 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
1876 299, 300, 301, 302, 27, 0, 28, 303, 101, 0,
1877 707, 304, -739, 0, 8, 9, 0, 305, 12, 13,
1878 306, 0, 0, 0, 14, 0, 0, 0, 307, 308,
1879 309, 0, 0, 0, 0, 101, 310, 311, 312, 17,
1880 443, 18, 0, 313, 0, 0, 0, 21, 0, 0,
1881 0, 0, 0, 944, 0, 0, 24, 0, 0, 0,
1882 0, 314, 525, 0, 0, 27, 0, 129, 130, 0,
1883 0, 0, 0, 0, 0, 0, 637, 0, 6, 0,
1884 7, 8, 9, 10, 11, 12, 13, 0, 437, 439,
1885 443, 14, 0, 0, 0, 0, 0, 0, 0, 648,
1886 649, 0, 651, 0, 15, 16, 17, 101, 18, 19,
1887 20, 0, 0, 0, 21, 0, 0, 101, 101, 22,
1888 101, 101, 23, 24, 25, 0, 26, 0, 0, 0,
1889 0, 0, 27, 0, 28, 29, 0, 0, 30, 0,
1890 1287, 0, 0, 0, 0, 1287, 0, 944, 31, 1364,
1891 0, -443, -443, -443, -443, -443, -443, -443, 32, 0,
1892 -443, 0, -443, 0, 0, 0, 33, 0, 0, 0,
1893 0, 34, 0, -443, 120, -443, -443, 35, 0, 0,
1894 -443, 0, 0, 222, 0, -443, 0, 0, 0, 0,
1895 -443, 0, 0, 0, -443, 0, -443, 707, 0, 1341,
1896 0, 0, 0, -443, 0, -443, -443, -443, -443, -443,
1897 0, -443, -443, -443, -443, -443, -443, -443, -443, -443,
1898 -443, -443, -443, -443, -443, -443, -443, -443, -443, -443,
1899 -443, -443, -443, -443, 0, -443, -443, -443, 0, -443,
1900 -443, -443, -443, -443, -443, 0, -443, -443, 0, 0,
1901 0, 0, 1365, 0, 0, 707, 0, -443, -443, -443,
1902 0, -443, 0, 0, 0, 0, 0, 0, 0, 0,
1903 0, 0, 0, 101, 101, 101, 0, 0, 0, 0,
1904 0, 0, 0, 0, 0, 0, 101, 1344, 0, 1234,
1905 1235, 1236, 10, 134, 12, 286, 287, 288, 0, 289,
1906 14, 1237, 0, 1238, 1239, 1240, 1241, 1242, 1243, 1244,
1907 1245, 1246, 1247, 15, 16, 17, 290, 18, 19, 20,
1908 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
1909 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
1910 302, 27, 0, 1248, 303, 659, 0, 1249, 304, 0,
1911 0, 0, 0, 0, 305, 0, 0, 306, 101, 0,
1912 101, 0, 0, 0, 0, 307, 308, 309, 0, 0,
1913 0, 101, 0, 310, 311, 312, 0, 0, 0, 0,
1914 313, 0, 1250, 0, 0, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 1345, 314, 0,
1916 1233, 0, 1234, 1235, 1236, 10, 134, 12, 286, 287,
1917 288, 0, 289, 14, 1237, 0, 1238, 1239, 1240, 1241,
1918 1242, 1243, 1244, 1245, 1246, 1247, 15, 16, 17, 290,
1919 18, 19, 20, 0, 291, 292, 21, 0, 293, 294,
1920 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
1921 299, 300, 301, 302, 27, 0, 1248, 303, 659, 0,
1922 1249, 304, 0, 0, 0, 0, 707, 305, 0, 101,
1923 306, 0, 0, 0, 0, 0, 0, 0, 307, 308,
1924 309, 0, 0, 0, 0, 0, 310, 311, 312, 0,
1925 0, 0, 0, 313, 0, 1250, 0, 0, 0, 0,
1926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927 517, 314, 285, 8, 9, 10, 134, 12, 286, 287,
1928 288, 672, 289, 14, 0, 0, 0, 0, 0, 0,
1929 0, 0, 101, 101, 0, 101, 0, 0, 17, 290,
1930 18, 19, 20, 0, 291, 292, 21, 0, 293, 294,
1931 295, 22, 296, 297, 0, 24, 0, 578, 0, 298,
1932 299, 300, 301, 302, 27, 0, 28, 303, -276, 0,
1933 0, 304, 0, 0, 0, 0, 0, 305, 0, 0,
1934 834, 0, 0, 707, 0, 0, 0, 0, 307, 308,
1935 835, 0, 0, 0, 0, 0, 310, 311, 312, 0,
1936 581, 0, 0, 836, 583, 0, 0, 673, 0, 0,
1937 0, 707, 0, 0, 0, 0, 0, 0, 0, 0,
1938 517, 314, 7, 8, 9, 10, 134, 12, 286, 287,
1939 288, 672, 289, 14, 0, 0, 0, 0, 0, 0,
1940 0, 101, 0, 0, 0, 0, 0, 0, 17, 290,
1941 18, 19, 20, 0, 291, 292, 21, 0, 293, 294,
1942 295, 22, 296, 297, 0, 24, 0, 578, 0, 298,
1943 299, 300, 301, 302, 27, 0, 28, 29, -276, 0,
1944 0, 304, 0, 0, 0, 0, 0, 305, 0, 0,
1945 1053, 0, 0, 0, 0, 0, 0, 0, 307, 308,
1946 1054, 0, 0, 0, 0, 0, 310, 311, 312, 0,
1947 581, 0, 0, 1055, 583, 0, 671, 673, 285, 8,
1948 9, 10, 134, 12, 286, 287, 288, 672, 289, 14,
1949 0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
1950 0, 101, 0, 101, 17, 290, 18, 19, 20, 0,
1951 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
1952 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
1953 27, 0, 28, 303, 0, 0, 0, 304, 0, 0,
1954 0, 0, 0, 305, 0, 0, 306, 0, 0, 0,
1955 0, 0, 0, 0, 307, 308, 309, 0, 0, 0,
1956 0, 0, 310, 311, 312, 0, 0, 0, 0, 313,
1957 0, 0, 0, 673, 0, 0, 0, 0, 0, 0,
1958 0, 0, 0, 0, 0, -749, 768, 314, 285, 8,
1959 9, 10, 134, 12, 286, 287, 288, 0, 289, 14,
1960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961 0, 0, 0, 0, 17, 290, 18, 19, 20, 0,
1962 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
1963 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
1964 27, 0, 28, 303, 1414, 0, -739, 304, 0, 0,
1965 0, 0, 0, 305, 0, 0, 306, 0, 0, 0,
1966 0, 0, 0, 0, 307, 308, 309, 0, 0, 0,
1967 0, 0, 310, 311, 312, 0, 0, 0, 662, 313,
1968 756, 757, 758, 10, 0, 12, 499, 287, 288, 0,
1969 289, 14, 0, 0, 0, 0, 0, 314, 0, 0,
1970 0, 0, 0, 0, 0, 0, 17, 290, 18, 0,
1971 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
1972 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
1973 301, 302, 27, 0, 759, 760, 663, 0, 0, 304,
1974 0, 0, 0, 0, 0, 305, 0, 0, 306, 0,
1975 0, 0, 0, 0, 0, 0, 307, 308, 309, 0,
1976 0, 0, 0, 0, 310, 311, 312, 0, 0, 0,
1977 0, 313, 761, 662, 0, 756, 757, 758, 10, 0,
1978 12, 499, 287, 288, 0, 289, 14, 0, 890, 314,
1979 0, 0, 0, 1128, 0, 0, 0, 0, 0, 0,
1980 0, 17, 290, 18, 0, 20, 0, 291, 292, 21,
1981 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
1982 0, 0, 298, 299, 300, 301, 302, 27, 0, 759,
1983 760, 663, 0, 0, 304, 0, 0, 0, 0, 0,
1984 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
1985 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
1986 311, 312, 0, 0, 0, 662, 313, 756, 757, 758,
1987 10, 0, 12, 499, 287, 288, 0, 289, 14, 0,
1988 0, 0, 0, -447, 314, 1128, 0, 0, 0, 0,
1989 0, 0, 0, 17, 290, 18, 0, 20, 0, 291,
1990 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
1991 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
1992 0, 759, 760, 663, 0, 0, 304, 0, 0, 0,
1993 0, 0, 305, 0, 0, 306, 0, 0, 0, 0,
1994 0, 0, 0, 307, 308, 309, 0, 0, 0, 0,
1995 0, 310, 311, 312, 0, 0, 0, 662, 313, 756,
1996 757, 758, 10, 0, 12, 499, 287, 288, 0, 289,
1997 14, 0, 0, 0, 0, 1172, 314, 0, 0, 0,
1998 0, 0, 0, 0, 0, 17, 290, 18, 0, 20,
1999 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2000 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2001 302, 27, 0, 759, 760, 663, 0, 0, 304, 0,
2002 0, 0, 0, 0, 305, 0, 0, 306, 0, 0,
2003 0, 0, 0, 0, 0, 307, 308, 309, 0, 0,
2004 0, 0, 0, 310, 311, 312, 0, 0, 0, 0,
2005 313, 761, 662, 0, 285, 8, 9, 10, 0, 12,
2006 499, 287, 288, 0, 289, 14, 0, 0, 314, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
2009 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
2010 0, 298, 299, 300, 301, 302, 27, 0, 28, 303,
2011 663, 0, 0, 304, 0, 0, 0, 0, 0, 305,
2012 0, 0, 306, 0, 0, 0, 0, 0, 0, 0,
2013 307, 308, 309, 0, 0, 0, 0, 0, 310, 311,
2014 312, 0, 0, 0, 0, 313, 0, 0, 517, 0,
2015 285, 8, 9, 10, 1176, 12, 286, 287, 288, 0,
2016 289, 14, 0, 314, 0, 0, 0, 0, 0, 0,
2017 0, 0, 0, 0, 0, 0, 17, 290, 18, 0,
2018 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
2019 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
2020 301, 302, 27, 0, 28, 303, -276, 0, 0, 304,
2021 0, 0, 0, 0, 0, 305, 0, 0, 518, 0,
2022 0, 0, 0, 0, 0, 0, 307, 308, 519, 0,
2023 0, 0, 0, 0, 310, 311, 312, 0, 0, 0,
2024 662, 520, 285, 8, 9, 10, 0, 12, 499, 287,
2025 288, 0, 289, 14, 0, 0, 0, 0, 0, 314,
2026 0, 0, 0, 0, 0, 0, 0, 0, 17, 290,
2027 18, 0, 20, 0, 291, 292, 21, 0, 293, 294,
2028 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
2029 299, 300, 301, 302, 27, 0, 28, 303, 663, 0,
2030 0, 304, 0, 0, 0, 0, 0, 305, 0, 0,
2031 306, 0, 0, 0, 0, 0, 0, 0, 307, 308,
2032 309, 0, 0, 0, 0, 0, 310, 311, 312, 0,
2033 0, 0, 517, 313, 7, 8, 9, 10, 0, 12,
2034 286, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2035 0, 314, 0, 0, 0, 0, 0, 0, 0, 0,
2036 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
2037 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
2038 0, 298, 299, 300, 301, 302, 27, 0, 28, 29,
2039 -276, 0, 0, 304, 0, 0, 0, 0, 0, 305,
2040 0, 0, 1390, 0, 0, 0, 0, 0, 0, 0,
2041 307, 308, 1391, 0, 0, 0, 0, 0, 310, 311,
2042 312, 0, 0, 0, 1489, 1392, 285, 8, 9, 10,
2043 0, 12, 286, 287, 288, 0, 289, 14, 0, 0,
2044 0, 0, 0, 314, 0, 0, 0, 0, 0, 0,
2045 0, 0, 17, 290, 18, 0, 20, 0, 291, 292,
2046 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
2047 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
2048 28, 303, 0, 0, -163, 304, 0, 0, 0, 0,
2049 0, 305, 0, 0, 306, 0, 0, 0, 0, 0,
2050 0, 0, 307, 308, 309, 0, 0, 0, 0, 0,
2051 310, 311, 312, 0, 0, 0, 768, 313, 285, 8,
2052 9, 10, 0, 12, 499, 287, 288, 0, 289, 14,
2053 0, 0, 0, 0, 0, 314, 0, 0, 0, 0,
2054 0, 0, 0, 0, 17, 290, 18, 0, 20, 0,
2055 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
2056 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
2057 27, 0, 28, 303, 0, 0, 0, 304, 0, 0,
2058 0, 0, 0, 305, 248, 0, 306, 8, 9, 0,
2059 0, 12, 13, 0, 307, 308, 309, 14, 0, 0,
2060 0, 0, 310, 311, 312, 0, 0, 0, 0, 313,
2061 0, 0, 17, 0, 18, 0, 0, 0, 0, 0,
2062 21, 0, 249, 250, 0, -739, 0, 314, 0, 24,
2063 0, 251, 0, 0, 0, 0, 0, 0, 27, 0,
2064 129, 130, 0, 252, 0, 0, 0, 253, 254, 255,
2065 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
2066 266, 267, 268, 269, 270, 271, 272, 273, 0, 0,
2067 274, 275, 276, 0, 0, 277, 0, 849, 278, 285,
2068 8, 9, 10, 0, 12, 499, 287, 288, 0, 289,
2069 14, 0, 0, 0, 0, 279, 0, 0, 0, 0,
2070 0, 0, 0, 0, 0, 17, 290, 18, 0, 20,
2071 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2072 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2073 302, 27, 0, 28, 303, 0, 0, 0, 304, 0,
2074 0, 0, 0, 0, 305, 0, 0, 306, 0, 0,
2075 0, 0, 0, 0, 0, 307, 308, 309, 0, 0,
2076 0, 0, 0, 310, 311, 312, 0, 0, 0, 851,
2077 313, 285, 8, 9, 10, 0, 12, 499, 287, 288,
2078 0, 289, 14, 0, 0, 0, 0, 0, 314, 0,
2079 0, 0, 0, 0, 0, 0, 0, 17, 290, 18,
2080 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2081 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
2082 300, 301, 302, 27, 0, 28, 303, 0, 0, 0,
2083 304, 0, 0, 0, 0, 0, 305, 0, 0, 306,
2084 0, 0, 0, 0, 0, 0, 0, 307, 308, 309,
2085 0, 0, 0, 0, 0, 310, 311, 312, 0, 0,
2086 0, 1403, 313, 285, 8, 9, 10, 0, 12, 499,
2087 287, 288, 0, 289, 14, 0, 0, 0, 0, 0,
2088 314, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2089 290, 18, 0, 20, 0, 291, 292, 21, 0, 293,
2090 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2091 298, 299, 300, 301, 302, 27, 0, 28, 303, 0,
2092 0, 0, 304, 0, 0, 0, 0, 0, 305, 0,
2093 0, 306, 0, 0, 0, 0, 0, 0, 0, 307,
2094 308, 309, 0, 0, 0, 0, 0, 310, 311, 312,
2095 285, 8, 9, 10, 313, 12, 499, 287, 288, 0,
2096 289, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2097 0, 0, 314, 0, 0, 0, 17, 290, 18, 0,
2098 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
2099 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
2100 301, 302, 27, 0, 28, 303, 0, 0, 0, 304,
2101 0, 0, 0, 0, 0, 305, 0, 926, 306, 7,
2102 8, 927, 10, 134, 12, 13, 307, 308, 309, 0,
2103 14, 0, 0, 0, 310, 311, 312, 0, 0, 0,
2104 0, 313, 0, 0, 0, 17, 0, 18, 19, 20,
2105 0, 0, 0, 21, -489, 0, 0, 0, 22, 314,
2106 807, 0, 24, 928, 0, 929, 0, 0, 0, 0,
2107 0, 27, 0, 28, 29, 0, 0, 930, 0, 931,
2108 0, 0, 0, 0, 0, 0, 0, 31, 926, 0,
2109 7, 8, 927, 10, 134, 12, 13, 32, 0, 0,
2110 0, 14, 0, 0, 0, 33, 0, 0, 0, 0,
2111 34, 0, 0, 0, 0, 0, 17, 0, 18, 19,
2112 20, 0, 0, 0, 21, -488, 0, -489, 0, 22,
2113 0, 0, 0, 24, 928, 0, 929, 0, 0, 0,
2114 0, 0, 27, 0, 28, 29, 0, 0, 930, 0,
2115 931, 0, 0, 0, 0, 0, 0, 0, 31, 0,
2116 0, 0, 0, 0, 0, 0, 0, 0, 32, 0,
2117 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
2118 0, 34, 0, 0, 0, 1234, 1235, 1236, 10, 134,
2119 12, 286, 287, 288, 0, 289, 14, 1237, -488, 1238,
2120 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 15,
2121 16, 17, 290, 18, 19, 20, 0, 291, 292, 21,
2122 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2123 0, 0, 298, 299, 300, 301, 302, 27, 0, 1248,
2124 303, 659, 0, 1249, 304, 0, 0, 0, 0, 0,
2125 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
2126 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
2127 311, 312, 0, 0, 0, 0, 313, 0, 1250, 0,
2128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2129 0, 0, 0, 1349, 314, 1234, 1235, 1236, 10, 134,
2130 12, 286, 287, 288, 0, 289, 14, 1237, 0, 1238,
2131 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 15,
2132 16, 17, 290, 18, 19, 20, 0, 291, 292, 21,
2133 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2134 0, 0, 298, 299, 300, 301, 302, 27, 0, 1248,
2135 303, 659, 0, 1249, 304, 0, 0, 0, 0, 0,
2136 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
2137 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
2138 311, 312, 0, 0, 0, 0, 313, 0, 1250, 0,
2139 0, 1234, 1235, 1236, 10, 134, 12, 286, 287, 288,
2140 0, 289, 14, 1237, 314, 1238, 1239, 1240, 1241, 1242,
2141 1243, 1244, 1245, 1246, 1247, 15, 16, 17, 290, 18,
2142 19, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2143 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
2144 300, 301, 302, 27, 0, 1248, 303, 1464, 0, 1249,
2145 304, 0, 0, 0, 0, 0, 305, 0, 0, 306,
2146 0, 0, 0, 0, 0, 0, 0, 307, 308, 309,
2147 0, 0, 0, 0, 0, 310, 311, 312, 0, 0,
2148 0, 0, 313, 0, 1250, 0, 0, 1234, 1235, 1236,
2149 10, 134, 12, 286, 287, 288, 0, 289, 14, 1237,
2150 314, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246,
2151 1247, 15, 16, 17, 290, 18, 19, 20, 0, 291,
2152 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2153 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
2154 0, 1248, 303, 0, 0, 1249, 304, 0, 0, 0,
2155 0, 0, 305, 0, 0, 306, 0, 0, 0, 0,
2156 0, 0, 0, 307, 308, 309, 0, 0, 0, 0,
2157 0, 310, 311, 312, 0, 0, 0, 0, 313, 0,
2158 1250, 285, 8, 9, 10, 134, 12, 286, 287, 288,
2159 672, 289, 14, 0, 0, 0, 314, 0, 0, 0,
2160 0, 0, 0, 0, 0, 0, 0, 17, 290, 18,
2161 19, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2162 22, 296, 297, 0, 24, 0, 578, 0, 298, 299,
2163 300, 301, 302, 27, 0, 28, 303, 0, 0, 0,
2164 304, 0, 0, 0, 0, 0, 305, 0, 0, 834,
2165 0, 0, 0, 0, 0, 0, 0, 307, 308, 835,
2166 0, 0, 0, 0, 0, 310, 311, 312, 0, 581,
2167 0, 0, 836, 583, 0, 0, 673, 7, 8, 9,
2168 10, 134, 12, 286, 287, 288, 672, 289, 14, 0,
2169 314, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2170 0, 0, 0, 17, 290, 18, 19, 20, 0, 291,
2171 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2172 24, 0, 578, 0, 298, 299, 300, 301, 302, 27,
2173 0, 28, 29, 0, 0, 0, 304, 0, 0, 0,
2174 0, 0, 305, 0, 0, 1053, 0, 0, 0, 0,
2175 0, 0, 0, 307, 308, 1054, 0, 0, 0, 0,
2176 0, 310, 311, 312, 0, 581, 0, 0, 1055, 583,
2177 0, 0, 673, 285, 8, 9, 10, 0, 12, 286,
2178 287, 288, 0, 289, 14, 0, 314, 0, 0, 0,
2179 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2180 290, 18, 0, 20, 0, 291, 292, 21, 0, 293,
2181 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2182 298, 299, 300, 301, 302, 27, 0, 28, 303, 0,
2183 0, 0, 304, 0, 0, 0, 0, 0, 305, 0,
2184 0, 306, 0, 0, 0, 0, 339, 0, 340, 307,
2185 308, 309, 0, 0, 0, 0, 0, 310, 311, 312,
2186 285, 8, 9, 10, 313, 12, 286, 287, 288, 0,
2187 289, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2188 0, 0, 314, 0, 0, 0, 17, 290, 18, 0,
2189 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
2190 296, 297, 0, 24, 0, 578, 0, 298, 299, 300,
2191 301, 302, 27, 0, 28, 303, 0, 0, 0, 0,
2192 0, 0, 0, 0, 0, 305, 0, 0, 834, 0,
2193 0, 0, 0, 0, 0, 0, 307, 308, 835, 0,
2194 0, 0, 0, 0, 310, 311, 312, 0, 581, 0,
2195 0, 836, 583, 7, 8, 9, 10, 0, 12, 286,
2196 287, 288, 0, 289, 14, 0, 0, 0, 0, 314,
2197 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2198 290, 18, 0, 20, 0, 291, 292, 21, 0, 293,
2199 294, 295, 22, 296, 297, 0, 24, 0, 578, 0,
2200 298, 299, 300, 301, 302, 27, 0, 28, 29, 0,
2201 0, 0, 0, 0, 0, 0, 0, 0, 305, 0,
2202 0, 1053, 0, 0, 0, 0, 0, 0, 0, 307,
2203 308, 1054, 0, 0, 0, 0, 0, 310, 311, 312,
2204 0, 581, 0, 0, 1055, 583, 285, 8, 9, 10,
2205 0, 12, 499, 287, 288, 0, 289, 14, 0, 0,
2206 0, 0, 314, 0, 0, 0, 0, 0, 0, 0,
2207 0, 0, 17, 290, 18, 0, 20, 0, 291, 292,
2208 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
2209 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
2210 28, 303, 0, 0, 1326, 304, 0, 0, 0, 0,
2211 0, 305, 0, 0, 306, 0, 0, 0, 0, 0,
2212 0, 0, 307, 308, 309, 0, 0, 0, 0, 0,
2213 310, 311, 312, 0, 0, 0, 0, 313, 285, 8,
2214 9, 10, 134, 12, 286, 287, 288, 0, 289, 14,
2215 0, 0, 0, 0, 0, 314, 0, 0, 0, 0,
2216 0, 0, 0, 0, 17, 290, 18, 19, 20, 0,
2217 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
2218 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
2219 27, 0, 28, 303, 0, 0, 0, 0, 0, 0,
2220 0, 0, 0, 305, 0, 0, 306, 0, 0, 0,
2221 0, 0, 0, 0, 307, 308, 309, 0, 0, 0,
2222 0, 0, 310, 311, 312, 285, 8, 9, 10, 313,
2223 12, 286, 287, 288, 0, 289, 14, 0, 0, 0,
2224 0, 0, 0, 0, 0, 0, 0, 314, 0, 0,
2225 0, 17, 290, 18, 0, 20, 0, 291, 292, 21,
2226 0, 293, 294, 295, 22, 296, 297, 0, 24, 0,
2227 0, 0, 298, 299, 300, 301, 302, 27, 0, 28,
2228 303, 0, 0, 0, 304, 0, 0, 0, 0, 0,
2229 305, 0, 0, 306, 0, 0, 0, 0, 0, 0,
2230 0, 307, 308, 309, 0, 0, 0, 0, 0, 310,
2231 311, 312, 285, 8, 9, 10, 313, 12, 499, 287,
2232 288, 0, 289, 14, 0, 0, 0, 0, 0, 0,
2233 0, 0, 0, 0, 314, 0, 0, 0, 17, 290,
2234 18, 0, 20, 0, 291, 292, 21, 0, 293, 294,
2235 295, 22, 296, 297, 0, 24, 0, 0, 0, 298,
2236 299, 300, 301, 302, 27, 0, 28, 303, 0, 0,
2237 0, 304, 0, 0, 0, 0, 0, 305, 0, 0,
2238 306, 0, 0, 0, 0, 0, 0, 0, 307, 308,
2239 309, 0, 0, 0, 0, 0, 310, 311, 312, 285,
2240 8, 9, 10, 313, 12, 499, 287, 288, 0, 289,
2241 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2242 0, 314, 0, 0, 0, 17, 290, 18, 0, 20,
2243 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2244 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2245 302, 27, 0, 28, 303, 530, 0, 0, 0, 0,
2246 0, 0, 0, 0, 305, 0, 0, 306, 0, 0,
2247 0, 0, 0, 0, 0, 307, 308, 309, 0, 0,
2248 0, 0, 0, 310, 311, 312, 285, 8, 9, 10,
2249 531, 12, 499, 287, 288, 0, 289, 14, 0, 0,
2250 0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
2251 0, 0, 17, 290, 18, 0, 20, 0, 291, 292,
2252 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
2253 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
2254 28, 303, 0, 0, 0, 0, 0, 0, 0, 0,
2255 0, 305, 0, 0, 306, 0, 0, 0, 0, 0,
2256 0, 0, 307, 308, 309, 0, 0, 0, 0, 0,
2257 310, 311, 312, 0, 0, 0, 0, 313, 567, 285,
2258 8, 9, 10, 0, 12, 499, 287, 288, 0, 289,
2259 14, 0, 0, 0, 0, 314, 0, 0, 0, 0,
2260 0, 0, 0, 0, 0, 17, 290, 18, 0, 20,
2261 0, 291, 292, 21, 0, 293, 294, 295, 22, 296,
2262 297, 0, 24, 0, 0, 0, 298, 299, 300, 301,
2263 302, 27, 0, 28, 303, 0, 0, 0, 304, 0,
2264 0, 0, 0, 0, 305, 0, 0, 518, 0, 0,
2265 0, 0, 0, 0, 0, 307, 308, 519, 0, 0,
2266 0, 0, 0, 310, 311, 312, 1025, 8, 9, 10,
2267 520, 12, 499, 287, 288, 0, 289, 14, 0, 0,
2268 0, 0, 0, 0, 0, 0, 0, 0, 314, 0,
2269 0, 0, 17, 290, 18, 0, 20, 0, 291, 292,
2270 21, 0, 293, 294, 295, 22, 296, 297, 0, 24,
2271 0, 0, 0, 298, 299, 300, 301, 302, 27, 0,
2272 28, 303, 0, 0, 0, 304, 0, 0, 0, 0,
2273 0, 305, 0, 0, 306, 0, 0, 0, 0, 0,
2274 0, 0, 307, 308, 309, 0, 0, 0, 0, 0,
2275 310, 311, 312, 7, 8, 9, 10, 313, 12, 499,
2276 287, 288, 0, 289, 14, 0, 0, 0, 0, 0,
2277 0, 0, 0, 0, 0, 314, 0, 0, 0, 17,
2278 290, 18, 0, 20, 0, 291, 292, 21, 0, 293,
2279 294, 295, 22, 296, 297, 0, 24, 0, 0, 0,
2280 298, 299, 300, 301, 302, 27, 0, 28, 29, 0,
2281 0, 0, 304, 0, 0, 0, 0, 0, 305, 0,
2282 0, 1390, 0, 0, 0, 0, 0, 0, 0, 307,
2283 308, 1391, 0, 0, 0, 0, 0, 310, 311, 312,
2284 285, 8, 9, 10, 1392, 12, 499, 287, 288, 0,
2285 289, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2286 0, 0, 314, 0, 0, 0, 17, 290, 18, 0,
2287 20, 0, 291, 292, 21, 0, 293, 294, 295, 22,
2288 296, 297, 0, 24, 0, 0, 0, 298, 299, 300,
2289 301, 302, 27, 0, 28, 303, 0, 0, 0, 0,
2290 0, 0, 0, 0, 0, 305, 0, 0, 306, 0,
2291 0, 0, 0, 0, 0, 0, 307, 308, 309, 0,
2292 0, 0, 0, 0, 310, 311, 312, 285, 8, 9,
2293 10, 500, 12, 499, 287, 288, 0, 289, 14, 0,
2294 0, 0, 0, 0, 0, 0, 0, 0, 0, 314,
2295 0, 0, 0, 17, 290, 18, 0, 20, 0, 291,
2296 292, 21, 0, 293, 294, 295, 22, 296, 297, 0,
2297 24, 0, 0, 0, 298, 299, 300, 301, 302, 27,
2298 0, 28, 303, 0, 0, 0, 0, 0, 0, 0,
2299 0, 0, 305, 0, 0, 306, 0, 0, 0, 0,
2300 0, 0, 0, 307, 308, 309, 0, 0, 0, 0,
2301 0, 310, 311, 312, 285, 8, 9, 10, 503, 12,
2302 499, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2303 0, 0, 0, 0, 0, 0, 314, 0, 0, 0,
2304 17, 290, 18, 0, 20, 0, 291, 292, 21, 0,
2305 293, 294, 295, 22, 296, 297, 0, 24, 0, 0,
2306 0, 298, 299, 300, 301, 302, 27, 0, 28, 303,
2307 0, 0, 0, 0, 0, 0, 0, 0, 0, 305,
2308 0, 0, 306, 0, 0, 0, 0, 0, 0, 0,
2309 307, 308, 309, 0, 0, 0, 0, 0, 310, 311,
2310 312, 285, 8, 9, 10, 313, 12, 499, 287, 288,
2311 0, 289, 14, 0, 0, 0, 0, 0, 0, 0,
2312 0, 0, 0, 314, 0, 0, 0, 17, 290, 18,
2313 0, 20, 0, 291, 292, 21, 0, 293, 294, 295,
2314 22, 296, 297, 0, 24, 0, 0, 0, 298, 299,
2315 300, 301, 302, 27, 0, 28, 303, 0, 0, 0,
2316 0, 0, 0, 0, 0, 0, 305, 0, 0, 518,
2317 0, 0, 0, 0, 0, 0, 0, 307, 308, 519,
2318 0, 0, 0, 0, 0, 310, 311, 312, 7, 8,
2319 9, 10, 520, 12, 286, 287, 288, 0, 289, 14,
2320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2321 314, 0, 0, 0, 17, 290, 18, 0, 20, 0,
2322 291, 292, 21, 0, 293, 294, 295, 22, 296, 297,
2323 0, 24, 0, 0, 0, 298, 299, 300, 301, 302,
2324 27, 0, 28, 29, 0, 0, 0, 0, 0, 0,
2325 0, 0, 0, 305, 0, 166, 1390, 7, 8, 9,
2326 10, 11, 12, 13, 307, 308, 1391, 0, 14, 0,
2327 0, 0, 310, 311, 312, 0, 0, 0, 0, 1392,
2328 0, 15, 16, 17, 0, 18, 19, 20, 0, 0,
2329 0, 21, 0, 0, 0, 0, 22, 314, 0, 23,
2330 24, 25, 0, 26, 0, 0, 0, 0, 0, 27,
2331 0, 28, 29, 0, 0, 30, 0, 0, 7, 8,
2332 9, 10, 134, 12, 13, 31, 0, 672, 0, 14,
2333 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
2334 0, 0, 0, 33, 17, 0, 18, 19, 34, 0,
2335 0, 0, 21, 0, 35, 0, 0, 22, 0, 0,
2336 0, 24, 0, 578, 0, 0, 0, 0, 0, 0,
2337 27, 0, 28, 29, 0, 0, 0, 0, 0, 0,
2338 0, 0, 0, 0, 0, 0, 1032, 926, 0, 7,
2339 8, 927, 10, 134, 12, 13, 1033, 0, 0, 0,
2340 14, 0, 0, 0, 33, 0, 581, 0, 0, 1034,
2341 583, 0, 0, 673, 0, 17, 0, 18, 19, 20,
2342 0, 0, 0, 21, 0, 0, 0, 0, 22, 0,
2343 0, 0, 24, 928, 0, 929, 0, 0, 0, 0,
2344 0, 27, 0, 28, 29, 0, 0, 930, 0, 931,
2345 7, 8, 9, 10, 192, 12, 193, 31, 0, 0,
2346 0, 14, 0, 0, 0, 0, 0, 32, 0, 0,
2347 0, 0, 0, 0, 0, 33, 17, 0, 18, 19,
2348 34, 0, 0, 0, 21, 0, 0, 0, 0, 22,
2349 0, 0, 0, 24, 0, 0, 0, 0, 0, 0,
2350 0, 0, 27, 0, 28, 29, 0, 0, 194, 0,
2351 0, 7, 8, 9, 10, 134, 12, 13, 31, 0,
2352 905, 0, 14, 0, 0, 0, 0, 0, 32, 0,
2353 0, 0, 0, 0, 0, 0, 33, 17, 0, 18,
2354 19, 34, 0, 0, 0, 21, 0, 0, 0, 0,
2355 22, 0, 0, 0, 24, 0, 1088, 8, 927, 10,
2356 192, 12, 193, 27, 0, 28, 29, 14, 0, 0,
2357 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2358 0, 0, 17, 0, 18, 19, 0, 0, 0, 32,
2359 21, 0, 0, 0, 0, 22, 0, 33, 0, 24,
2360 0, 0, 34, 0, 0, 0, 0, 0, 27, 0,
2361 28, 29, 0, 0, 0, 0, 1090, 7, 8, 9,
2362 10, 192, 12, 193, 31, 0, 0, 0, 14, 0,
2363 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2364 0, 0, 33, 17, 0, 18, 19, 34, 0, 0,
2365 0, 21, 0, 0, 0, 0, 22, 0, 0, 0,
2366 24, 0, 7, 8, 9, 10, 134, 12, 13, 27,
2367 0, 28, 29, 14, 0, 1339, 0, 0, 0, 0,
2368 0, 0, 0, 0, 0, 31, 0, 0, 17, 0,
2369 18, 19, 0, 0, 0, 32, 21, 0, 0, 0,
2370 0, 22, 0, 33, 0, 24, 0, 0, 34, 0,
2371 0, 0, 0, 0, 27, 0, 28, 29, 7, 8,
2372 9, 10, 192, 12, 193, 0, 0, 0, 0, 14,
2373 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2374 32, 0, 0, 0, 17, 0, 18, 19, 33, 0,
2375 0, 0, 21, 34, 0, 0, 0, 22, 0, 1380,
2376 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
2377 27, 0, 28, 29, 533, 534, 535, 536, 537, 538,
2378 539, 540, 541, 542, 543, 544, 31, 546, 547, 548,
2379 549, 550, 551, 552, 553, 554, 32, 0, 0, 0,
2380 0, 19, 0, 0, 33, 0, 0, 0, 0, 34,
2381 1381, 533, 534, 535, 536, 537, 538, 539, 540, 541,
2382 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2383 552, 553, 554, 533, 534, 535, 536, 537, 538, 539,
2384 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
2385 550, 551, 552, 553, 554, 533, 534, 535, 536, 537,
2386 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2387 548, 549, 550, 551, 552, 553, 554, 533, 534, 535,
2388 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2389 546, 547, 548, 549, 550, 551, 552, 553, 554, 0,
2390 0, 0, 0, 0, 1126, 0, 0, 0, 0, 0,
2391 0, 0, 0, 0, 0, 0, 0, 0, 0, 616,
2392 0, 0, 1434, 533, 534, 535, 536, 537, 538, 539,
2393 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
2394 550, 551, 552, 553, 554, 1303, 533, 534, 535, 536,
2395 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
2396 547, 548, 549, 550, 551, 552, 553, 554, 1451, 533,
2397 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
2398 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
2399 554, 533, 534, 535, 536, 537, 538, 539, 540, 541,
2400 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2404 static const short yycheck
[] = { 4,
2405 151, 152, 4, 332, 54, 161, 391, 24, 657, 655,
2406 469, 4, 196, 236, 79, 391, 83, 75, 125, 289,
2407 290, 26, 448, 89, 338, 91, 14, 391, 796, 226,
2408 61, 36, 362, 26, 36, 4, 41, 4, 582, 41,
2409 889, 132, 133, 36, 426, 589, 14, 231, 41, 128,
2410 320, 56, 932, 196, 133, 23, 1258, 132, 58, 26,
2411 1251, 941, 205, 1265, 31, 32, 71, 36, 1228, 36,
2412 11, 1378, 41, 4, 41, 141, 4, 143, 83, 11,
2413 1414, 146, 87, 48, 89, 48, 91, 137, 93, 53,
2414 11, 38, 1409, 12, 82, 26, 64, 281, 26, 1412,
2415 93, 106, 107, 204, 205, 36, 9, 55, 36, 1395,
2416 41, 34, 1, 41, 0, 338, 83, 105, 75, 1,
2417 63, 4, 63, 63, 39, 190, 93, 75, 56, 94,
2418 1443, 94, 1, 138, 79, 75, 141, 25, 143, 139,
2419 55, 60, 200, 26, 63, 720, 59, 110, 332, 0,
2420 725, 1485, 65, 36, 1471, 123, 1442, 583, 41, 62,
2421 165, 421, 93, 75, 111, 93, 61, 110, 199, 110,
2422 59, 59, 165, 502, 63, 63, 207, 59, 110, 98,
2423 1382, 12, 150, 63, 151, 152, 1472, 1378, 111, 110,
2424 59, 110, 156, 60, 63, 34, 196, 656, 165, 60,
2425 83, 1189, 1190, 1510, 204, 205, 48, 96, 96, 61,
2426 93, 1524, 60, 180, 181, 1203, 111, 985, 291, 292,
2427 48, 1423, 94, 187, 48, 60, 60, 96, 55, 60,
2428 110, 231, 63, 306, 165, 60, 309, 165, 329, 312,
2429 8, 9, 315, 110, 232, 318, 14, 49, 75, 61,
2430 111, 76, 94, 326, 329, 223, 224, 832, 325, 111,
2431 75, 61, 110, 56, 524, 58, 94, 98, 236, 37,
2432 94, 95, 1474, 94, 12, 110, 110, 282, 46, 345,
2433 48, 281, 165, 94, 48, 364, 110, 601, 91, 440,
2434 441, 1279, 836, 1453, 385, 680, 94, 347, 628, 111,
2435 1288, 1289, 247, 1291, 680, 1255, 385, 1257, 313, 61,
2436 453, 111, 151, 152, 153, 48, 472, 4, 48, 48,
2437 325, 865, 60, 1444, 1204, 63, 94, 65, 333, 48,
2438 94, 34, 332, 60, 61, 1456, 65, 305, 141, 48,
2439 345, 4, 5, 182, 1465, 138, 139, 676, 348, 36,
2440 338, 452, 453, 48, 41, 899, 65, 25, 325, 460,
2441 98, 94, 95, 1484, 94, 94, 95, 1135, 109, 9,
2442 471, 7, 12, 4, 5, 94, 95, 79, 3, 4,
2443 5, 6, 957, 1504, 959, 94, 391, 61, 48, 55,
2444 491, 110, 1241, 361, 57, 58, 55, 63, 658, 94,
2445 95, 103, 38, 196, 462, 48, 1527, 833, 48, 414,
2446 48, 204, 205, 1401, 1402, 110, 798, 42, 81, 48,
2447 60, 414, 62, 63, 391, 65, 57, 58, 459, 434,
2448 132, 497, 57, 58, 94, 95, 76, 32, 78, 48,
2449 59, 234, 325, 474, 146, 518, 519, 414, 151, 152,
2450 153, 94, 452, 453, 94, 95, 94, 95, 98, 1308,
2451 460, 732, 733, 734, 89, 94, 925, 434, 1317, 1318,
2452 110, 471, 63, 440, 441, 860, 4, 5, 48, 182,
2453 3, 4, 5, 414, 860, 94, 414, 48, 190, 63,
2454 1034, 491, 497, 4, 5, 500, 860, 564, 503, 467,
2455 1075, 75, 507, 508, 509, 510, 511, 704, 391, 706,
2456 48, 1055, 1087, 316, 711, 520, 25, 55, 27, 28,
2457 75, 223, 527, 59, 94, 48, 531, 841, 55, 57,
2458 58, 414, 55, 94, 57, 58, 48, 75, 55, 342,
2459 48, 344, 345, 55, 55, 247, 57, 58, 75, 111,
2460 59, 434, 59, 81, 63, 348, 94, 65, 563, 564,
2461 71, 745, 530, 75, 100, 94, 948, 55, 838, 995,
2462 81, 94, 25, 48, 27, 28, 55, 582, 3, 4,
2463 5, 6, 94, 1042, 589, 48, 94, 96, 638, 55,
2464 640, 641, 395, 396, 976, 977, 697, 564, 1447, 48,
2465 55, 440, 441, 442, 48, 593, 59, 714, 55, 75,
2466 63, 1070, 579, 580, 76, 582, 633, 42, 841, 94,
2467 27, 28, 589, 60, 61, 32, 676, 887, 75, 446,
2468 55, 94, 57, 58, 639, 337, 48, 454, 643, 656,
2469 4, 641, 55, 96, 1, 94, 3, 4, 5, 6,
2470 94, 8, 445, 110, 61, 721, 722, 723, 65, 452,
2471 453, 990, 75, 456, 89, 633, 48, 460, 63, 1051,
2472 4, 5, 36, 55, 642, 680, 676, 41, 1060, 1061,
2473 75, 564, 94, 1065, 1066, 42, 3, 4, 5, 4,
2474 5, 60, 49, 75, 497, 663, 398, 697, 55, 582,
2475 57, 58, 4, 5, 111, 110, 589, 76, 95, 78,
2476 715, 110, 94, 680, 36, 720, 721, 722, 723, 41,
2477 725, 63, 715, 57, 58, 922, 923, 924, 3, 4,
2478 5, 6, 89, 75, 807, 4, 5, 440, 441, 442,
2479 57, 58, 57, 58, 1126, 745, 715, 81, 715, 55,
2480 110, 55, 55, 720, 11, 57, 58, 63, 725, 63,
2481 63, 834, 835, 111, 81, 467, 81, 42, 61, 75,
2482 715, 75, 75, 48, 7, 8, 9, 60, 61, 81,
2483 55, 14, 57, 58, 715, 4, 5, 55, 57, 58,
2484 795, 1437, 494, 3, 799, 63, 71, 680, 94, 32,
2485 113, 1183, 63, 606, 37, 870, 81, 75, 1457, 3,
2486 4, 5, 81, 46, 89, 55, 91, 4, 5, 94,
2487 95, 826, 445, 63, 95, 60, 113, 832, 61, 48,
2488 65, 836, 715, 456, 1216, 75, 55, 720, 57, 58,
2489 95, 76, 725, 94, 991, 992, 639, 994, 641, 94,
2490 8, 9, 71, 841, 75, 860, 14, 862, 4, 5,
2491 865, 55, 81, 57, 58, 832, 75, 834, 835, 836,
2492 57, 58, 91, 75, 576, 94, 95, 935, 936, 37,
2493 75, 1032, 1033, 676, 111, 853, 944, 11, 46, 939,
2494 592, 4, 5, 860, 899, 110, 863, 864, 865, 45,
2495 27, 28, 1053, 1054, 697, 84, 85, 700, 913, 55,
2496 55, 57, 58, 60, 61, 920, 60, 61, 63, 60,
2497 61, 1303, 60, 25, 997, 27, 28, 932, 1257, 934,
2498 75, 61, 899, 736, 110, 940, 941, 60, 61, 932,
2499 110, 934, 55, 110, 57, 58, 4, 5, 941, 832,
2500 110, 9, 957, 836, 959, 111, 111, 59, 110, 113,
2501 113, 63, 34, 932, 65, 932, 75, 934, 75, 75,
2502 113, 1036, 941, 113, 941, 110, 110, 860, 110, 59,
2503 1053, 1054, 865, 8, 110, 55, 94, 932, 113, 934,
2504 957, 48, 959, 111, 96, 940, 941, 55, 65, 57,
2505 58, 932, 94, 934, 25, 60, 27, 28, 61, 977,
2506 941, 939, 940, 71, 65, 65, 899, 110, 3, 4,
2507 5, 1406, 61, 81, 110, 1042, 865, 63, 110, 1034,
2508 1406, 110, 110, 1091, 1099, 65, 65, 95, 59, 1097,
2509 1098, 65, 63, 1101, 1102, 4, 5, 1105, 113, 932,
2510 1055, 934, 3, 4, 5, 65, 94, 60, 941, 1319,
2511 899, 3, 4, 5, 6, 1032, 1033, 1034, 110, 110,
2512 1075, 1331, 57, 58, 957, 96, 959, 700, 110, 48,
2513 152, 153, 1087, 1051, 110, 76, 1053, 1054, 1055, 76,
2514 110, 1420, 76, 76, 110, 110, 55, 63, 57, 58,
2515 42, 3, 4, 5, 55, 1110, 57, 58, 1075, 63,
2516 182, 60, 71, 110, 110, 57, 58, 1110, 87, 88,
2517 1087, 113, 81, 92, 93, 94, 95, 63, 95, 111,
2518 1512, 3, 4, 5, 6, 1395, 95, 110, 840, 110,
2519 842, 1110, 89, 1110, 48, 113, 110, 940, 951, 952,
2520 953, 1034, 110, 946, 1099, 57, 58, 59, 113, 111,
2521 113, 111, 865, 60, 1169, 1110, 110, 1169, 870, 87,
2522 42, 89, 1055, 91, 1179, 110, 1169, 49, 1251, 1110,
2523 1440, 110, 1442, 110, 65, 57, 58, 65, 3, 4,
2524 5, 75, 1075, 1032, 1033, 1034, 899, 63, 1166, 1204,
2525 1169, 110, 1169, 110, 1087, 1255, 94, 1257, 94, 81,
2526 111, 1204, 1472, 113, 1053, 1054, 1055, 89, 94, 94,
2527 8, 110, 1482, 141, 60, 143, 113, 1110, 1286, 1287,
2528 110, 1387, 111, 27, 28, 1204, 1420, 1204, 32, 1390,
2529 1391, 313, 57, 58, 60, 110, 1251, 110, 110, 110,
2530 110, 1256, 110, 1258, 110, 1200, 1258, 1257, 1251, 1204,
2531 1265, 12, 110, 1265, 110, 1258, 60, 61, 110, 110,
2532 63, 65, 1265, 1204, 113, 48, 27, 28, 110, 1247,
2533 110, 32, 1251, 1341, 1251, 110, 1169, 1080, 1081, 1258,
2534 97, 1258, 34, 110, 65, 113, 1265, 48, 1265, 3,
2535 4, 5, 3, 4, 5, 6, 3, 4, 5, 60,
2536 61, 110, 63, 110, 65, 1017, 1109, 1390, 1391, 110,
2537 110, 1204, 63, 946, 3, 4, 5, 110, 110, 1032,
2538 1033, 1034, 110, 63, 1036, 61, 3, 4, 5, 61,
2539 9, 42, 1310, 94, 95, 61, 16, 98, 49, 94,
2540 1053, 1054, 1055, 57, 58, 94, 57, 58, 55, 110,
2541 57, 58, 59, 81, 82, 83, 84, 85, 1251, 441,
2542 442, 1421, 61, 1378, 1379, 1258, 61, 1382, 57, 58,
2543 1382, 94, 1265, 106, 107, 1378, 304, 1392, 89, 1382,
2544 57, 58, 1450, 17, 94, 61, 99, 1099, 109, 61,
2545 110, 1406, 1195, 1196, 1409, 1198, 1199, 1412, 1201, 1378,
2546 1412, 1378, 1379, 1382, 110, 1382, 110, 110, 1423, 1412,
2547 1420, 1423, 11, 1390, 1391, 61, 61, 345, 500, 94,
2548 1423, 503, 60, 110, 3, 4, 5, 6, 1443, 1406,
2549 61, 1443, 1409, 1412, 61, 1412, 65, 519, 520, 110,
2550 1443, 11, 61, 110, 1423, 11, 1423, 1080, 1081, 531,
2551 61, 0, 0, 1256, 1257, 0, 1471, 860, 416, 1474,
2552 2, 364, 1474, 42, 1443, 165, 1443, 1436, 165, 940,
2553 49, 1474, 934, 1276, 1277, 1042, 1109, 527, 57, 58,
2554 1374, 3, 4, 5, 6, 1378, 1379, 9, 1200, 1382,
2555 1524, 1256, 853, 1342, 1471, 1474, 663, 1474, 426, 427,
2556 284, 848, 81, 225, 1070, 925, 434, 589, 1110, 1524,
2557 89, 940, 1524, 1406, 1202, 934, 1409, 846, 613, 1412,
2558 42, 1524, 187, 4, 5, 123, 564, 427, 9, 1457,
2559 1423, 1258, 329, 55, 434, 57, 58, 1482, 1170, 1426,
2560 1496, 1390, 1391, 1392, 1498, 1524, 908, 1524, 1179, 71,
2561 1443, -1, -1, -1, -1, 1358, 1359, 1360, -1, 81,
2562 -1, -1, 1195, 1196, -1, 1198, 1199, 89, 1201, 497,
2563 498, -1, 94, -1, 55, -1, 57, 58, 1471, -1,
2564 313, 1474, 79, 80, 81, 82, 83, 84, 85, -1,
2565 71, -1, -1, -1, -1, 1398, 1399, -1, 498, 527,
2566 81, -1, 530, -1, -1, 533, 534, -1, 536, 537,
2567 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2568 548, 549, 550, 551, 552, 553, 554, -1, -1, 1342,
2569 -1, 1524, 560, -1, 562, 563, 3, 4, 5, 6,
2570 -1, 4, 5, 1276, 1277, -1, 9, 3, 4, 5,
2571 -1, 7, 8, 9, -1, -1, -1, 739, -1, -1,
2572 560, 589, 562, 563, -1, 3, 4, 5, 596, 7,
2573 1473, -1, -1, -1, -1, 42, -1, 1390, 1391, 1392,
2574 -1, 37, 49, -1, -1, 48, -1, 615, 616, 589,
2575 57, 58, 55, 31, 57, 58, 596, -1, 431, 55,
2576 38, 57, 58, 59, -1, 3, 4, 5, 71, 391,
2577 -1, -1, -1, -1, 81, -1, -1, 55, 81, 57,
2578 58, -1, 89, -1, -1, 1358, 1359, 1360, 91, -1,
2579 -1, 94, 95, 31, -1, 663, -1, -1, -1, -1,
2580 -1, 427, -1, -1, -1, -1, -1, -1, 434, 105,
2581 106, 107, 434, 835, 836, -1, -1, 55, -1, 57,
2582 58, -1, -1, -1, -1, 1398, 1399, 500, -1, -1,
2583 503, -1, 4, 5, 507, 7, 8, 9, -1, -1,
2584 12, -1, 14, 865, -1, -1, -1, 520, -1, -1,
2585 -1, -1, -1, 721, 722, 723, -1, 29, 531, 31,
2586 32, -1, 535, -1, -1, 37, -1, 3, 4, 5,
2587 6, 739, 498, -1, 46, -1, -1, 899, 3, 4,
2588 5, 6, -1, 55, -1, 57, 58, -1, 561, -1,
2589 7, 8, 9, 761, 567, -1, -1, 14, -1, 739,
2590 1473, -1, -1, -1, -1, -1, 42, -1, -1, -1,
2591 -1, 3, 4, 5, 6, 32, -1, 42, -1, 55,
2592 37, 57, 58, -1, 49, 61, 98, -1, -1, 46,
2593 798, 799, 57, 58, 560, 71, 562, 563, -1, -1,
2594 -1, 4, -1, -1, 812, 81, 814, -1, 816, -1,
2595 42, 14, -1, 89, -1, -1, 81, 49, 94, 799,
2596 582, -1, 25, 26, 89, 57, 58, 589, 31, 32,
2597 596, 34, 812, 36, 814, -1, 816, 845, 41, -1,
2598 -1, -1, -1, 3, 4, 5, 6, 855, -1, 81,
2599 81, 54, -1, 56, 3, 4, 5, 89, 7, 8,
2600 9, 64, -1, -1, -1, -1, 874, -1, 71, -1,
2601 -1, 1033, 1034, 881, -1, 855, -1, -1, -1, 82,
2602 83, -1, 42, -1, -1, -1, -1, -1, 695, 49,
2603 93, 899, 1054, 1055, -1, -1, -1, 57, 58, -1,
2604 -1, 881, 105, -1, -1, -1, -1, -1, 57, 58,
2605 -1, -1, 719, 7, 8, 9, -1, 724, 680, 899,
2606 14, -1, -1, 931, -1, 128, -1, -1, 159, 89,
2607 133, -1, -1, -1, 137, 138, -1, -1, 32, -1,
2608 948, 144, -1, 37, 147, 148, -1, 178, 151, 152,
2609 153, -1, 46, -1, -1, -1, -1, -1, 720, -1,
2610 191, -1, 165, 725, 7, 8, 9, 61, 976, 977,
2611 -1, 14, 980, 3, 4, 5, 6, 180, 181, 182,
2612 77, 78, 79, 80, 81, 82, 83, 84, 85, 32,
2613 803, -1, -1, -1, 37, -1, -1, -1, -1, -1,
2614 -1, -1, -1, 46, -1, -1, 209, -1, 3, 4,
2615 5, 6, 42, -1, 9, -1, -1, -1, -1, 49,
2616 827, 224, 829, 836, -1, -1, -1, 57, 58, 232,
2617 -1, -1, -1, 799, 4, 5, 1044, -1, 1046, 9,
2618 1048, 244, -1, 1051, -1, -1, 812, 42, 814, -1,
2619 816, -1, 1060, 1061, 3, 4, 5, 1065, 1066, 89,
2620 55, -1, 57, 58, 1044, -1, 1046, -1, 1048, -1,
2621 832, -1, -1, -1, 836, -1, 71, -1, 48, 282,
2622 283, -1, 1090, -1, -1, 55, 81, 57, 58, 855,
2623 39, 40, -1, 42, 89, -1, -1, -1, 860, 94,
2624 -1, 71, -1, 865, -1, -1, 55, 920, 57, 58,
2625 -1, 81, -1, -1, -1, 881, -1, -1, 1126, -1,
2626 1128, 91, 325, -1, 94, 95, 329, -1, 331, 332,
2627 333, -1, -1, -1, -1, -1, -1, 899, -1, -1,
2628 -1, -1, -1, -1, 347, 1153, -1, -1, -1, 956,
2629 -1, 958, -1, -1, -1, -1, -1, -1, -1, -1,
2630 -1, 364, -1, -1, -1, -1, -1, -1, -1, -1,
2631 -1, -1, -1, 1153, -1, 1183, -1, -1, -1, -1,
2632 1342, -1, 385, -1, -1, 1193, 1194, -1, 391, -1,
2633 -1, -1, -1, -1, -1, 957, -1, 959, -1, 402,
2634 -1, -1, 405, -1, 1011, -1, -1, 410, 1216, -1,
2635 -1, 414, -1, 444, -1, -1, -1, -1, 449, -1,
2636 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1391,
2637 1392, -1, -1, 436, 1242, 438, -1, 440, 441, 442,
2638 -1, -1, 1055, 446, 475, -1, -1, -1, 451, 480,
2639 -1, 454, -1, -1, -1, -1, -1, -1, -1, -1,
2640 -1, 492, 493, -1, 495, -1, -1, -1, -1, -1,
2641 -1, -1, 1034, -1, 1282, -1, -1, -1, 1044, -1,
2642 1046, -1, 1048, -1, -1, -1, -1, -1, -1, -1,
2643 -1, -1, -1, 1055, -1, 1303, -1, -1, -1, -1,
2644 -1, -1, -1, -1, -1, 508, 509, 510, 511, 1122,
2645 1123, 1124, 1125, 1075, 4, 5, -1, -1, 8, 9,
2646 1133, -1, -1, -1, 14, 1087, -1, -1, -1, -1,
2647 -1, -1, -1, -1, 1342, -1, -1, -1, -1, -1,
2648 -1, 1148, -1, -1, -1, -1, -1, 37, 1356, 1357,
2649 -1, -1, -1, -1, 585, 586, 46, 1365, 48, 590,
2650 -1, 564, 1342, 566, -1, 55, -1, 57, 58, -1,
2651 -1, -1, 1380, -1, 577, -1, 579, 580, -1, 582,
2652 1187, 71, -1, -1, 1191, -1, 589, 1153, -1, -1,
2653 593, 81, -1, -1, -1, -1, -1, -1, -1, 1206,
2654 1207, 91, -1, -1, 94, 95, -1, -1, -1, -1,
2655 -1, -1, -1, -1, -1, 1222, -1, -1, 1, -1,
2656 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
2657 -1, 14, -1, 1246, -1, 638, 639, 640, 641, 642,
2658 643, -1, -1, -1, -1, -1, 29, -1, 31, 32,
2659 33, -1, -1, -1, 37, 38, -1, -1, -1, 42,
2660 -1, -1, -1, 46, 47, -1, 49, -1, -1, -1,
2661 -1, -1, 55, 676, 57, 58, -1, 680, 61, -1,
2662 63, -1, -1, -1, 687, 688, -1, 690, 71, -1,
2663 1297, 1298, -1, -1, -1, 726, -1, 728, 81, -1,
2664 -1, -1, -1, -1, 1512, -1, 89, -1, -1, -1,
2665 -1, 94, 715, -1, -1, 1328, -1, 720, -1, -1,
2666 -1, -1, 725, -1, -1, -1, -1, -1, 111, 732,
2667 733, 734, -1, 1, -1, 3, 4, 5, 6, 7,
2668 8, 9, 745, -1, 1351, 1352, 14, -1, -1, -1,
2669 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
2670 -1, 29, 9, 31, 32, 1378, 1379, -1, -1, 37,
2671 801, 802, -1, 804, 42, -1, -1, -1, 46, 1392,
2672 -1, 49, -1, -1, -1, -1, -1, 55, -1, 57,
2673 58, -1, 795, 61, -1, 42, 1409, -1, -1, -1,
2674 831, -1, -1, 71, -1, -1, -1, -1, 55, -1,
2675 57, 58, -1, 81, 817, -1, 819, -1, 331, 332,
2676 333, 89, -1, 826, 71, -1, 94, 830, -1, 832,
2677 -1, 834, 835, 836, 81, -1, 867, -1, 841, -1,
2678 -1, -1, 89, -1, 1406, -1, -1, 94, -1, 3,
2679 4, 5, 6, -1, -1, 9, 1469, 860, 1471, 862,
2680 863, 864, 865, 4, -1, -1, -1, -1, -1, -1,
2681 -1, -1, -1, 14, -1, -1, -1, -1, -1, -1,
2682 -1, -1, 1495, 24, 25, 26, -1, -1, 42, -1,
2683 31, 32, -1, 34, -1, 36, 899, 1510, -1, -1,
2684 41, 55, -1, 57, 58, -1, -1, -1, -1, -1,
2685 913, -1, -1, 54, -1, 56, -1, 71, -1, -1,
2686 -1, -1, -1, 64, -1, 928, -1, 81, -1, 932,
2687 71, 934, -1, -1, -1, 89, 939, 940, 941, -1,
2688 94, -1, 83, -1, -1, -1, -1, 3, 4, 5,
2689 6, -1, 93, 9, 957, -1, 959, -1, -1, -1,
2690 -1, -1, -1, -1, -1, -1, -1, 4, 5, -1,
2691 -1, 8, 9, -1, -1, 1006, -1, 14, -1, -1,
2692 331, 332, 333, -1, -1, -1, 42, 128, 991, 992,
2693 -1, 994, 29, -1, 31, -1, 137, 138, -1, 55,
2694 37, 57, 58, 144, -1, -1, 1037, 148, -1, 46,
2695 151, 152, 153, -1, -1, 71, -1, -1, 55, -1,
2696 57, 58, 59, -1, 165, 81, -1, 1030, 1031, 1032,
2697 1033, 1034, -1, 89, -1, 1038, -1, -1, 94, 180,
2698 181, 182, -1, 1074, -1, -1, 3, 4, 5, 6,
2699 1053, 1054, 1055, -1, -1, 1086, -1, 94, -1, -1,
2700 -1, -1, -1, -1, -1, -1, 579, 580, 209, 582,
2701 -1, -1, 1075, -1, -1, -1, 589, -1, -1, -1,
2702 -1, -1, 1113, -1, 1087, 42, 1117, -1, -1, -1,
2703 -1, -1, -1, -1, -1, -1, -1, 1100, 55, -1,
2704 57, 58, -1, 244, -1, -1, 63, 1110, -1, -1,
2705 -1, -1, -1, -1, 71, -1, -1, -1, -1, 1150,
2706 -1, -1, -1, -1, 81, 638, -1, 640, 641, -1,
2707 643, -1, 89, -1, -1, -1, -1, 94, -1, -1,
2708 -1, 282, 283, -1, -1, -1, -1, -1, -1, -1,
2709 -1, -1, -1, 1156, 1157, -1, 1159, 3, 4, 5,
2710 6, -1, -1, 676, 74, 75, 76, 77, 78, 79,
2711 80, 81, 82, 83, 84, 85, 1179, 1208, 1209, 3,
2712 4, 5, 6, -1, 325, 9, -1, -1, 329, -1,
2713 331, 332, 333, -1, 1197, -1, 42, 338, -1, 1202,
2714 -1, 1204, -1, -1, -1, -1, 347, -1, -1, 55,
2715 -1, 57, 58, -1, -1, -1, -1, 63, 42, -1,
2716 -1, -1, -1, 364, 48, 71, -1, -1, 579, 580,
2717 -1, 55, 745, 57, 58, 81, -1, -1, -1, -1,
2718 1271, -1, -1, 89, 1275, -1, -1, 71, 94, -1,
2719 391, -1, 1255, 1256, 1257, -1, -1, 81, -1, -1,
2720 -1, 402, -1, -1, 405, 89, -1, 91, -1, 410,
2721 94, 95, -1, 414, 73, 74, 75, 76, 77, 78,
2722 79, 80, 81, 82, 83, 84, 85, 638, -1, 640,
2723 641, -1, 643, -1, -1, 436, -1, 438, -1, 440,
2724 441, 442, -1, -1, 817, 446, 819, -1, -1, -1,
2725 451, -1, -1, 454, -1, -1, -1, 830, -1, -1,
2726 -1, 834, 835, 836, -1, 676, -1, -1, 469, -1,
2727 4, 5, -1, 7, 8, 9, -1, -1, 12, 1342,
2728 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2729 863, 864, 865, -1, -1, 29, -1, 31, 32, 3,
2730 4, 5, 6, 37, -1, 9, -1, 508, 509, 510,
2731 511, -1, 46, -1, 48, -1, 3, 4, 5, 6,
2732 -1, 55, 9, 57, 58, -1, 899, 1390, 1391, 1392,
2733 -1, -1, -1, -1, 745, -1, -1, 71, 42, -1,
2734 -1, -1, -1, 1406, 48, -1, -1, 81, -1, -1,
2735 -1, 55, -1, 57, 58, 42, -1, 91, 1421, -1,
2736 94, 95, -1, 564, 98, 566, -1, 71, 55, -1,
2737 57, 58, -1, -1, -1, -1, -1, 81, 579, 580,
2738 -1, 582, -1, -1, 71, 89, -1, 91, 589, -1,
2739 94, 95, -1, -1, 81, -1, -1, -1, -1, -1,
2740 601, -1, 89, -1, -1, -1, 817, 94, 819, -1,
2741 -1, -1, -1, -1, -1, -1, -1, -1, -1, 830,
2742 -1, -1, -1, 834, 835, -1, -1, -1, -1, -1,
2743 -1, -1, 633, -1, -1, -1, -1, 638, 639, 640,
2744 641, 642, 643, -1, -1, -1, -1, -1, -1, -1,
2745 -1, -1, 863, 864, -1, 656, -1, 1030, 1031, 1032,
2746 1033, 1034, -1, -1, -1, 1038, -1, -1, 3, 4,
2747 5, 6, -1, -1, 9, 676, -1, -1, -1, 680,
2748 1053, 1054, 1055, -1, -1, -1, 687, 688, -1, 690,
2749 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2750 79, 80, 81, 82, 83, 84, 85, 42, -1, -1,
2751 -1, -1, -1, 48, 715, -1, -1, -1, -1, 720,
2752 55, -1, 57, 58, 725, 4, -1, -1, -1, -1,
2753 -1, 732, 733, 734, -1, -1, 71, 3, 4, 5,
2754 6, 7, 8, 9, 745, -1, 81, 26, 14, -1,
2755 -1, -1, 31, 32, 89, 34, 91, 36, -1, 94,
2756 95, -1, 41, 29, -1, 31, 32, -1, -1, -1,
2757 -1, 37, -1, -1, -1, 54, 42, 56, -1, -1,
2758 46, -1, -1, 1156, 1157, -1, 1159, -1, -1, 55,
2759 -1, 57, 58, -1, 795, -1, -1, -1, -1, -1,
2760 79, -1, -1, -1, -1, 71, -1, -1, -1, 75,
2761 -1, -1, -1, -1, 93, 81, 817, -1, 819, 1030,
2762 1031, 1032, 1033, 89, -1, 826, -1, 1038, 94, 830,
2763 -1, 832, -1, 834, 835, 836, -1, -1, -1, -1,
2764 841, -1, 1053, 1054, -1, -1, -1, -1, -1, 128,
2765 -1, -1, -1, 132, 133, -1, -1, -1, 137, 860,
2766 -1, 862, 863, 864, 865, 144, -1, 146, -1, 148,
2767 -1, -1, 151, 152, 153, -1, -1, -1, -1, -1,
2768 -1, -1, -1, -1, -1, -1, 165, -1, -1, 3,
2769 4, 5, 6, 7, 8, 9, 34, -1, 899, -1,
2770 14, 180, 181, 182, -1, -1, -1, -1, -1, -1,
2771 -1, 190, 913, -1, -1, 29, 54, 31, 32, -1,
2772 4, 5, -1, 37, 925, 9, -1, 928, 42, -1,
2773 209, 932, 46, 934, 48, -1, -1, -1, 939, 940,
2774 941, 55, -1, 57, 58, 1156, 1157, -1, 1159, 3,
2775 4, 5, 6, 7, 8, 9, 957, 71, 959, -1,
2776 14, -1, -1, -1, 48, 244, -1, 81, -1, -1,
2777 -1, 55, -1, 57, 58, 89, -1, 91, 32, -1,
2778 94, 95, -1, 37, -1, -1, -1, 71, 42, -1,
2779 991, 992, 46, 994, 48, -1, -1, 81, -1, 137,
2780 -1, 55, -1, 57, 58, -1, -1, 91, -1, -1,
2781 94, 95, -1, 151, 152, 153, -1, 71, -1, -1,
2782 -1, -1, -1, -1, -1, -1, -1, 81, -1, 1030,
2783 1031, 1032, 1033, 1034, 313, 89, -1, 1038, -1, -1,
2784 94, 1042, 180, 181, 182, -1, -1, -1, -1, -1,
2785 329, -1, 1053, 1054, 1055, -1, -1, -1, 337, 1,
2786 -1, 3, 4, 5, 6, 7, 8, 9, 347, 1070,
2787 -1, 209, 14, -1, 1075, -1, -1, -1, -1, -1,
2788 -1, -1, -1, -1, -1, 364, 1087, 29, -1, 31,
2789 32, 33, -1, -1, -1, 37, 38, -1, -1, -1,
2790 42, -1, -1, -1, 46, 47, 385, 49, -1, 1110,
2791 -1, -1, -1, 55, -1, 57, 58, -1, -1, 61,
2792 -1, 63, -1, 402, -1, -1, 405, -1, -1, 71,
2793 -1, 410, -1, -1, -1, 414, -1, -1, -1, 81,
2794 -1, -1, -1, -1, -1, 283, -1, 89, -1, -1,
2795 -1, -1, 94, -1, -1, 1156, 1157, 436, 1159, 438,
2796 -1, 440, 441, 442, -1, -1, -1, 446, -1, 111,
2797 -1, -1, 451, -1, -1, 454, -1, -1, 1179, -1,
2798 -1, 3, 4, 5, 6, -1, -1, 9, -1, -1,
2799 -1, -1, -1, 331, 332, 333, 1197, -1, -1, -1,
2800 -1, 1202, -1, 1204, -1, -1, -1, -1, -1, 347,
2801 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2802 42, 500, -1, -1, 503, -1, 48, -1, -1, -1,
2803 -1, -1, -1, 55, -1, 57, 58, -1, 4, 518,
2804 519, 520, -1, -1, -1, -1, -1, -1, -1, 71,
2805 -1, -1, 531, -1, 1255, 1256, 1257, -1, -1, 81,
2806 26, -1, -1, -1, -1, 31, 32, 89, 34, 91,
2807 36, -1, 94, 95, -1, 41, -1, -1, 3, 4,
2808 5, 6, 7, 8, 9, -1, -1, -1, 54, 14,
2809 56, -1, -1, -1, -1, -1, -1, 576, 436, -1,
2810 438, -1, 440, 441, 442, -1, -1, 32, 446, -1,
2811 589, -1, 37, 451, -1, -1, 454, 42, -1, -1,
2812 -1, 46, -1, 48, -1, -1, -1, 93, -1, -1,
2813 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
2814 -1, 1342, -1, -1, -1, -1, 71, -1, -1, 54,
2815 -1, -1, -1, -1, -1, -1, 81, -1, -1, 638,
2816 639, 640, 641, -1, 89, -1, 91, -1, -1, 94,
2817 95, 137, -1, -1, 79, -1, -1, 82, 144, -1,
2818 -1, -1, 148, -1, -1, 151, 152, 153, -1, 1390,
2819 1391, 1392, -1, -1, -1, -1, -1, 676, 103, 165,
2820 105, 680, -1, -1, -1, 1406, -1, -1, 687, 688,
2821 -1, 690, -1, -1, 180, 181, 182, -1, -1, -1,
2822 1421, -1, -1, -1, -1, -1, -1, -1, 566, -1,
2823 4, 5, 137, 7, 8, 9, 715, -1, 12, -1,
2824 14, 579, 580, 209, 582, -1, -1, -1, -1, -1,
2825 -1, 589, -1, -1, -1, 29, -1, 31, 32, -1,
2826 739, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2827 -1, -1, 46, -1, -1, 180, 181, 182, 244, -1,
2828 -1, 55, -1, 57, 58, 190, 72, 73, 74, 75,
2829 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2830 638, -1, 640, 641, 209, 643, -1, -1, -1, -1,
2831 -1, -1, 3, 4, 5, 6, -1, 1, 9, 3,
2832 4, 5, 6, 7, 8, 9, -1, 232, -1, -1,
2833 14, -1, -1, -1, -1, -1, -1, -1, 676, -1,
2834 -1, -1, 247, -1, -1, 29, -1, 31, 32, 687,
2835 688, 42, 690, 37, -1, 834, 835, 836, 42, -1,
2836 -1, 840, 46, 47, 55, 49, 57, 58, -1, -1,
2837 -1, 55, 338, 57, 58, -1, -1, -1, -1, 63,
2838 71, 347, -1, -1, 863, 864, 865, 71, -1, -1,
2839 81, 870, -1, -1, 732, 733, 734, 81, 89, -1,
2840 -1, -1, -1, 94, -1, 89, -1, 745, -1, -1,
2841 94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2842 899, -1, -1, -1, -1, -1, 106, 107, -1, -1,
2843 -1, -1, 337, 338, -1, -1, 402, -1, -1, 405,
2844 -1, -1, 347, -1, 410, -1, -1, -1, 414, -1,
2845 -1, -1, -1, 932, -1, 934, 3, 4, 5, 6,
2846 939, 940, 941, -1, -1, -1, -1, -1, -1, -1,
2847 436, -1, 438, -1, 440, 441, 442, -1, -1, 817,
2848 446, 819, -1, -1, -1, 451, -1, -1, 454, -1,
2849 -1, -1, 830, -1, -1, 42, 834, 835, 836, -1,
2850 -1, -1, -1, -1, -1, -1, -1, -1, 55, -1,
2851 57, 58, -1, -1, -1, -1, 63, -1, -1, -1,
2852 -1, -1, -1, -1, 71, 863, 864, 865, 180, 181,
2853 182, 436, -1, 438, 81, 440, 441, 442, 1017, -1,
2854 -1, 446, 89, -1, -1, -1, 451, 94, -1, 454,
2855 -1, 1030, 1031, 1032, 1033, 1034, -1, 1036, -1, 1038,
2856 -1, 899, -1, 4, 5, -1, 7, 8, 9, -1,
2857 -1, -1, -1, 14, 1053, 1054, 1055, -1, -1, -1,
2858 -1, -1, -1, -1, -1, -1, -1, -1, 29, -1,
2859 31, 32, -1, -1, 4, 5, 37, 4, 8, 9,
2860 -1, 939, -1, -1, 14, 46, -1, -1, -1, -1,
2861 -1, 577, -1, -1, 55, -1, 57, 58, -1, 26,
2862 1099, -1, -1, -1, 31, 32, -1, 37, -1, 36,
2863 -1, 1110, -1, 313, 41, -1, 46, -1, 48, -1,
2864 -1, -1, -1, -1, -1, 55, -1, 57, 58, 56,
2865 -1, -1, -1, 991, 992, -1, 994, -1, -1, -1,
2866 -1, 71, -1, -1, -1, -1, -1, -1, -1, -1,
2867 -1, 81, 638, 639, 640, 641, -1, 1156, 1157, -1,
2868 1159, 91, -1, -1, 94, 95, 93, 592, 593, -1,
2869 -1, -1, 1030, 1031, 1032, 1033, 1034, -1, -1, -1,
2870 1038, 3, 4, 5, 6, -1, -1, 9, -1, -1,
2871 676, 391, -1, -1, 680, 1053, 1054, 1055, 1197, -1,
2872 -1, 687, 688, 1202, 690, 1204, -1, -1, -1, -1,
2873 -1, -1, -1, 638, -1, 640, 641, 144, -1, -1,
2874 42, 148, -1, -1, -1, -1, -1, -1, -1, 715,
2875 -1, -1, -1, 55, 434, 57, 58, -1, 165, -1,
2876 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
2877 -1, 676, -1, 180, 181, -1, 1255, 1256, 1257, 81,
2878 -1, -1, 687, 688, 436, 690, 438, 89, 440, 441,
2879 442, -1, 94, -1, 3, 4, 5, 6, -1, 451,
2880 -1, -1, -1, 3, 4, 5, 6, -1, -1, 714,
2881 -1, -1, -1, -1, 3, 4, 5, 6, 1156, 1157,
2882 500, 1159, -1, 503, -1, -1, -1, 507, 508, 509,
2883 510, 511, -1, 42, -1, -1, -1, 244, -1, -1,
2884 520, -1, 42, -1, -1, -1, 55, -1, 57, 58,
2885 -1, 531, 61, 42, -1, 55, -1, 57, 58, 1197,
2886 -1, -1, 71, 1342, -1, -1, 55, -1, 57, 58,
2887 -1, 71, 81, -1, -1, 841, 3, 4, 5, 6,
2888 89, 81, 71, 563, -1, 94, -1, -1, -1, 89,
2889 -1, -1, 81, -1, 94, -1, -1, 863, 864, 865,
2890 89, -1, 582, -1, -1, 94, -1, -1, -1, 589,
2891 -1, 1390, 1391, 1392, -1, 42, -1, 1255, -1, 1257,
2892 -1, -1, -1, -1, -1, -1, -1, -1, 55, -1,
2893 57, 58, -1, 899, -1, 840, 841, 842, -1, -1,
2894 -1, -1, 1421, -1, 71, -1, -1, -1, -1, -1,
2895 -1, -1, -1, -1, 81, -1, -1, -1, 863, 864,
2896 865, -1, 89, -1, -1, 870, 932, 94, 934, -1,
2897 -1, -1, -1, 939, 940, 941, 68, 69, 70, 71,
2898 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2899 82, 83, 84, 85, 899, 402, -1, -1, 405, -1,
2900 680, -1, -1, 410, 1342, -1, -1, 414, 70, 71,
2901 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2902 82, 83, 84, 85, -1, -1, -1, -1, -1, 436,
2903 -1, 438, -1, -1, 939, 687, 688, -1, 690, -1,
2904 720, -1, -1, -1, 451, 725, -1, -1, -1, -1,
2905 -1, -1, 1390, 1391, 1392, -1, -1, -1, -1, -1,
2906 -1, -1, -1, -1, 1030, 1031, 1032, 1033, 1034, 4,
2907 5, -1, 1038, 8, 9, -1, -1, -1, -1, 14,
2908 -1, -1, -1, 1421, -1, -1, -1, 1053, 1054, 1055,
2909 -1, -1, -1, -1, 29, -1, 31, -1, -1, -1,
2910 -1, -1, 37, -1, -1, -1, -1, -1, -1, 4,
2911 5, 46, 1017, 8, 9, 795, -1, -1, -1, 14,
2912 55, -1, 57, 58, -1, 1030, 1031, 1032, 1033, 1034,
2913 -1, 1036, -1, 1038, 29, -1, 31, -1, -1, -1,
2914 -1, -1, 37, -1, 1110, -1, 826, -1, 1053, 1054,
2915 1055, 46, 832, 48, -1, -1, 836, -1, -1, 94,
2916 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
2917 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2918 860, -1, 862, -1, -1, 865, 81, -1, -1, -1,
2919 1156, 1157, -1, 1159, 1099, -1, 91, -1, -1, 94,
2920 95, -1, -1, -1, -1, 14, -1, -1, -1, -1,
2921 -1, 863, 864, 865, -1, 24, 25, -1, -1, 899,
2922 -1, -1, 31, 32, -1, 34, -1, -1, -1, -1,
2923 -1, 1197, 639, 913, -1, -1, 1202, -1, 1204, -1,
2924 920, -1, -1, -1, -1, -1, -1, 899, -1, -1,
2925 -1, 1156, 1157, -1, 1159, 64, 71, 72, 73, 74,
2926 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2927 85, -1, -1, 680, -1, -1, -1, 957, -1, 959,
2928 687, 688, -1, 690, -1, -1, -1, 939, -1, 1255,
2929 1256, 1257, 1197, -1, -1, -1, -1, -1, -1, -1,
2930 -1, -1, -1, -1, -1, -1, -1, -1, 715, -1,
2931 -1, -1, -1, -1, 123, -1, 125, -1, -1, 128,
2932 -1, -1, -1, 132, 133, -1, -1, -1, -1, -1,
2933 -1, -1, -1, -1, -1, 144, -1, 146, 147, 148,
2934 -1, -1, 151, 152, 153, -1, -1, -1, -1, -1,
2935 1255, -1, 1257, -1, 1034, -1, -1, -1, 4, 5,
2936 -1, -1, 8, 9, -1, -1, -1, -1, 14, -1,
2937 -1, -1, -1, -1, -1, 1055, 1342, -1, 1030, 1031,
2938 1032, 1033, 1034, 29, -1, 31, 1038, -1, -1, -1,
2939 -1, 37, -1, -1, -1, 1075, -1, -1, -1, -1,
2940 46, 1053, 1054, 1055, -1, -1, -1, 1087, -1, 55,
2941 -1, 57, 58, -1, 223, 224, -1, 4, 5, -1,
2942 7, 8, 9, -1, 1390, 1391, 1392, 14, -1, -1,
2943 -1, -1, -1, -1, -1, 244, -1, 1342, -1, -1,
2944 -1, -1, 29, -1, 31, 32, -1, -1, -1, -1,
2945 37, -1, -1, -1, -1, 1421, 863, 864, -1, 46,
2946 -1, -1, -1, -1, -1, -1, -1, -1, 55, -1,
2947 57, 58, -1, -1, 283, -1, -1, -1, -1, -1,
2948 -1, -1, -1, -1, -1, 1390, 1391, 1392, -1, -1,
2949 -1, -1, 3, 4, 5, 6, 7, 8, 9, 1179,
2950 -1, -1, -1, 14, 1156, 1157, -1, 1159, -1, -1,
2951 -1, -1, -1, -1, -1, -1, 1421, -1, -1, -1,
2952 329, 32, 331, 332, -1, 932, 37, 934, -1, -1,
2953 -1, 42, 939, 940, 941, 46, -1, 48, -1, -1,
2954 -1, -1, -1, -1, 55, 1197, 57, 58, -1, -1,
2955 -1, -1, -1, -1, -1, 364, -1, -1, -1, -1,
2956 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2957 81, -1, -1, -1, -1, -1, 385, -1, 89, -1,
2958 91, -1, -1, 94, 95, -1, -1, -1, -1, 398,
2959 -1, -1, -1, 402, -1, -1, 405, -1, -1, -1,
2960 1, 410, 3, 4, 5, 6, -1, 8, 9, 10,
2961 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
2962 -1, -1, -1, 1030, 1031, -1, -1, -1, 29, 30,
2963 31, 1038, 33, -1, 35, 36, 37, -1, 39, 40,
2964 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
2965 51, 52, 53, 54, 55, -1, 57, 58, 467, -1,
2966 469, 62, 63, -1, 4, 5, -1, 68, 8, 9,
2967 71, -1, -1, -1, 14, -1, -1, -1, 79, 80,
2968 81, -1, -1, -1, -1, 494, 87, 88, 89, 29,
2969 1342, 31, -1, 94, -1, -1, -1, 37, -1, -1,
2970 -1, -1, -1, 1110, -1, -1, 46, -1, -1, -1,
2971 -1, 112, 1392, -1, -1, 55, -1, 57, 58, -1,
2972 -1, -1, -1, -1, -1, -1, 1406, -1, 1, -1,
2973 3, 4, 5, 6, 7, 8, 9, -1, 1390, 1391,
2974 1392, 14, -1, -1, -1, -1, -1, -1, -1, 1156,
2975 1157, -1, 1159, -1, 27, 28, 29, 566, 31, 32,
2976 33, -1, -1, -1, 37, -1, -1, 576, 577, 42,
2977 579, 580, 45, 46, 47, -1, 49, -1, -1, -1,
2978 -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
2979 1197, -1, -1, -1, -1, 1202, -1, 1204, 71, 1,
2980 -1, 3, 4, 5, 6, 7, 8, 9, 81, -1,
2981 12, -1, 14, -1, -1, -1, 89, -1, -1, -1,
2982 -1, 94, -1, 25, 633, 27, 28, 100, -1, -1,
2983 32, -1, -1, 642, -1, 37, -1, -1, -1, -1,
2984 42, -1, -1, -1, 46, -1, 48, 656, -1, 1256,
2985 -1, -1, -1, 55, -1, 57, 58, 59, 60, 61,
2986 -1, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2987 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2988 82, 83, 84, 85, -1, 87, 88, 89, -1, 91,
2989 92, 93, 94, 95, 96, -1, 98, 99, -1, -1,
2990 -1, -1, 104, -1, -1, 714, -1, 109, 110, 111,
2991 -1, 113, -1, -1, -1, -1, -1, -1, -1, -1,
2992 -1, -1, -1, 732, 733, 734, -1, -1, -1, -1,
2993 -1, -1, -1, -1, -1, -1, 745, 1, -1, 3,
2994 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
2995 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
2996 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
2997 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
2998 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
2999 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3000 -1, -1, -1, -1, 68, -1, -1, 71, 817, -1,
3001 819, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3002 -1, 830, -1, 87, 88, 89, -1, -1, -1, -1,
3003 94, -1, 96, -1, -1, -1, -1, -1, -1, -1,
3004 -1, -1, -1, -1, -1, -1, -1, 111, 112, -1,
3005 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3006 11, -1, 13, 14, 15, -1, 17, 18, 19, 20,
3007 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3008 31, 32, 33, -1, 35, 36, 37, -1, 39, 40,
3009 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3010 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3011 61, 62, -1, -1, -1, -1, 925, 68, -1, 928,
3012 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3013 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3014 -1, -1, -1, 94, -1, 96, -1, -1, -1, -1,
3015 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3016 1, 112, 3, 4, 5, 6, 7, 8, 9, 10,
3017 11, 12, 13, 14, -1, -1, -1, -1, -1, -1,
3018 -1, -1, 991, 992, -1, 994, -1, -1, 29, 30,
3019 31, 32, 33, -1, 35, 36, 37, -1, 39, 40,
3020 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3021 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3022 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3023 71, -1, -1, 1042, -1, -1, -1, -1, 79, 80,
3024 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3025 91, -1, -1, 94, 95, -1, -1, 98, -1, -1,
3026 -1, 1070, -1, -1, -1, -1, -1, -1, -1, -1,
3027 1, 112, 3, 4, 5, 6, 7, 8, 9, 10,
3028 11, 12, 13, 14, -1, -1, -1, -1, -1, -1,
3029 -1, 1100, -1, -1, -1, -1, -1, -1, 29, 30,
3030 31, 32, 33, -1, 35, 36, 37, -1, 39, 40,
3031 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3032 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3033 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3034 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3035 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3036 91, -1, -1, 94, 95, -1, 1, 98, 3, 4,
3037 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3038 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3039 -1, 1200, -1, 1202, 29, 30, 31, 32, 33, -1,
3040 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3041 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3042 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3043 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3044 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3045 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3046 -1, -1, -1, 98, -1, -1, -1, -1, -1, -1,
3047 -1, -1, -1, -1, -1, 110, 1, 112, 3, 4,
3048 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3049 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3050 -1, -1, -1, -1, 29, 30, 31, 32, 33, -1,
3051 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3052 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3053 55, -1, 57, 58, 59, -1, 61, 62, -1, -1,
3054 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3055 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3056 -1, -1, 87, 88, 89, -1, -1, -1, 1, 94,
3057 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3058 13, 14, -1, -1, -1, -1, -1, 112, -1, -1,
3059 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3060 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3061 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3062 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3063 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3064 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3065 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3066 -1, 94, 95, 1, -1, 3, 4, 5, 6, -1,
3067 8, 9, 10, 11, -1, 13, 14, -1, 111, 112,
3068 -1, -1, -1, 21, -1, -1, -1, -1, -1, -1,
3069 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3070 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3071 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3072 58, 59, -1, -1, 62, -1, -1, -1, -1, -1,
3073 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3074 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3075 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3076 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3077 -1, -1, -1, 111, 112, 21, -1, -1, -1, -1,
3078 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3079 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3080 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3081 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3082 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3083 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3084 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3085 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3086 14, -1, -1, -1, -1, 111, 112, -1, -1, -1,
3087 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3088 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3089 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3090 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3091 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3092 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3093 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3094 94, 95, 1, -1, 3, 4, 5, 6, -1, 8,
3095 9, 10, 11, -1, 13, 14, -1, -1, 112, -1,
3096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3097 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3098 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3099 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3100 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3101 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3102 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3103 89, -1, -1, -1, -1, 94, -1, -1, 1, -1,
3104 3, 4, 5, 6, 103, 8, 9, 10, 11, -1,
3105 13, 14, -1, 112, -1, -1, -1, -1, -1, -1,
3106 -1, -1, -1, -1, -1, -1, 29, 30, 31, -1,
3107 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3108 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3109 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3110 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3111 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3112 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3113 1, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3114 11, -1, 13, 14, -1, -1, -1, -1, -1, 112,
3115 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3116 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3117 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3118 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3119 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3120 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3121 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3122 -1, -1, 1, 94, 3, 4, 5, 6, -1, 8,
3123 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3124 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3125 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3126 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3127 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3128 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3129 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3130 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3131 89, -1, -1, -1, 1, 94, 3, 4, 5, 6,
3132 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3133 -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
3134 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3135 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3136 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3137 57, 58, -1, -1, 61, 62, -1, -1, -1, -1,
3138 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3139 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3140 87, 88, 89, -1, -1, -1, 1, 94, 3, 4,
3141 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3142 -1, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3143 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3144 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3145 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3146 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3147 -1, -1, -1, 68, 1, -1, 71, 4, 5, -1,
3148 -1, 8, 9, -1, 79, 80, 81, 14, -1, -1,
3149 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3150 -1, -1, 29, -1, 31, -1, -1, -1, -1, -1,
3151 37, -1, 39, 40, -1, 110, -1, 112, -1, 46,
3152 -1, 48, -1, -1, -1, -1, -1, -1, 55, -1,
3153 57, 58, -1, 60, -1, -1, -1, 64, 65, 66,
3154 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3155 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
3156 87, 88, 89, -1, -1, 92, -1, 1, 95, 3,
3157 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3158 14, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3159 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3160 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3161 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3162 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3163 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3164 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3165 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3166 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3167 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3168 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3169 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3170 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3171 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3172 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3173 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3174 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3175 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3176 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3177 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3178 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3179 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3180 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3181 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3182 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3183 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3184 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3185 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3186 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3187 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3188 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3189 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3190 -1, -1, -1, -1, -1, 68, -1, 1, 71, 3,
3191 4, 5, 6, 7, 8, 9, 79, 80, 81, -1,
3192 14, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3193 -1, 94, -1, -1, -1, 29, -1, 31, 32, 33,
3194 -1, -1, -1, 37, 38, -1, -1, -1, 42, 112,
3195 113, -1, 46, 47, -1, 49, -1, -1, -1, -1,
3196 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
3197 -1, -1, -1, -1, -1, -1, -1, 71, 1, -1,
3198 3, 4, 5, 6, 7, 8, 9, 81, -1, -1,
3199 -1, 14, -1, -1, -1, 89, -1, -1, -1, -1,
3200 94, -1, -1, -1, -1, -1, 29, -1, 31, 32,
3201 33, -1, -1, -1, 37, 38, -1, 111, -1, 42,
3202 -1, -1, -1, 46, 47, -1, 49, -1, -1, -1,
3203 -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
3204 63, -1, -1, -1, -1, -1, -1, -1, 71, -1,
3205 -1, -1, -1, -1, -1, -1, -1, -1, 81, -1,
3206 -1, -1, -1, -1, -1, -1, 89, -1, -1, -1,
3207 -1, 94, -1, -1, -1, 3, 4, 5, 6, 7,
3208 8, 9, 10, 11, -1, 13, 14, 15, 111, 17,
3209 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3210 28, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3211 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3212 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3213 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3214 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3215 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3216 88, 89, -1, -1, -1, -1, 94, -1, 96, -1,
3217 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3218 -1, -1, -1, 111, 112, 3, 4, 5, 6, 7,
3219 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3220 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3221 28, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3222 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3223 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3224 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3225 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3226 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3227 88, 89, -1, -1, -1, -1, 94, -1, 96, -1,
3228 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3229 -1, 13, 14, 15, 112, 17, 18, 19, 20, 21,
3230 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3231 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3232 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3233 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3234 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3235 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3236 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3237 -1, -1, 94, -1, 96, -1, -1, 3, 4, 5,
3238 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3239 112, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3240 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3241 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3242 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3243 -1, 57, 58, -1, -1, 61, 62, -1, -1, -1,
3244 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3245 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3246 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3247 96, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3248 12, 13, 14, -1, -1, -1, 112, -1, -1, -1,
3249 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3250 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3251 42, 43, 44, -1, 46, -1, 48, -1, 50, 51,
3252 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3253 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3254 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3255 -1, -1, -1, -1, -1, 87, 88, 89, -1, 91,
3256 -1, -1, 94, 95, -1, -1, 98, 3, 4, 5,
3257 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3258 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3259 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3260 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3261 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
3262 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3263 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3264 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3265 -1, 87, 88, 89, -1, 91, -1, -1, 94, 95,
3266 -1, -1, 98, 3, 4, 5, 6, -1, 8, 9,
3267 10, 11, -1, 13, 14, -1, 112, -1, -1, -1,
3268 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3269 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3270 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3271 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3272 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3273 -1, 71, -1, -1, -1, -1, 76, -1, 78, 79,
3274 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3275 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3276 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3277 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3278 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3279 43, 44, -1, 46, -1, 48, -1, 50, 51, 52,
3280 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3281 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3282 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3283 -1, -1, -1, -1, 87, 88, 89, -1, 91, -1,
3284 -1, 94, 95, 3, 4, 5, 6, -1, 8, 9,
3285 10, 11, -1, 13, 14, -1, -1, -1, -1, 112,
3286 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3287 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3288 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3289 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3290 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3291 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3292 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3293 -1, 91, -1, -1, 94, 95, 3, 4, 5, 6,
3294 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3295 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3296 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3297 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3298 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3299 57, 58, -1, -1, 61, 62, -1, -1, -1, -1,
3300 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3301 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3302 87, 88, 89, -1, -1, -1, -1, 94, 3, 4,
3303 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3304 -1, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3305 -1, -1, -1, -1, 29, 30, 31, 32, 33, -1,
3306 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3307 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3308 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3309 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3310 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3311 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3312 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3313 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3314 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3315 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3316 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3317 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3318 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3319 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3320 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3321 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3322 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3323 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3324 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3325 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3326 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3327 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3328 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3329 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3330 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3331 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3332 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3333 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3334 54, 55, -1, 57, 58, 59, -1, -1, -1, -1,
3335 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3336 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3337 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3338 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3339 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3340 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3341 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3342 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3343 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3344 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3345 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3346 87, 88, 89, -1, -1, -1, -1, 94, 95, 3,
3347 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3348 14, -1, -1, -1, -1, 112, -1, -1, -1, -1,
3349 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3350 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3351 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3352 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3353 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3354 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3355 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3356 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3357 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3358 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3359 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3360 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3361 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3362 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3363 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3364 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3365 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3366 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3367 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3368 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3369 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3370 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3371 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3372 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3373 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3374 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3375 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3376 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3377 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3378 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3379 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3380 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3381 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3382 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3383 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3384 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3385 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3386 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3387 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3388 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3389 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3390 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3391 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3392 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3393 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3394 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3395 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3396 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
3397 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3398 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3399 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3400 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3401 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3402 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3403 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3404 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3405 -1, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3406 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3407 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3408 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3409 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3410 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3411 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3412 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3413 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3414 -1, -1, -1, 68, -1, 1, 71, 3, 4, 5,
3415 6, 7, 8, 9, 79, 80, 81, -1, 14, -1,
3416 -1, -1, 87, 88, 89, -1, -1, -1, -1, 94,
3417 -1, 27, 28, 29, -1, 31, 32, 33, -1, -1,
3418 -1, 37, -1, -1, -1, -1, 42, 112, -1, 45,
3419 46, 47, -1, 49, -1, -1, -1, -1, -1, 55,
3420 -1, 57, 58, -1, -1, 61, -1, -1, 3, 4,
3421 5, 6, 7, 8, 9, 71, -1, 12, -1, 14,
3422 -1, -1, -1, -1, -1, 81, -1, -1, -1, -1,
3423 -1, -1, -1, 89, 29, -1, 31, 32, 94, -1,
3424 -1, -1, 37, -1, 100, -1, -1, 42, -1, -1,
3425 -1, 46, -1, 48, -1, -1, -1, -1, -1, -1,
3426 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3427 -1, -1, -1, -1, -1, -1, 71, 1, -1, 3,
3428 4, 5, 6, 7, 8, 9, 81, -1, -1, -1,
3429 14, -1, -1, -1, 89, -1, 91, -1, -1, 94,
3430 95, -1, -1, 98, -1, 29, -1, 31, 32, 33,
3431 -1, -1, -1, 37, -1, -1, -1, -1, 42, -1,
3432 -1, -1, 46, 47, -1, 49, -1, -1, -1, -1,
3433 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
3434 3, 4, 5, 6, 7, 8, 9, 71, -1, -1,
3435 -1, 14, -1, -1, -1, -1, -1, 81, -1, -1,
3436 -1, -1, -1, -1, -1, 89, 29, -1, 31, 32,
3437 94, -1, -1, -1, 37, -1, -1, -1, -1, 42,
3438 -1, -1, -1, 46, -1, -1, -1, -1, -1, -1,
3439 -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
3440 -1, 3, 4, 5, 6, 7, 8, 9, 71, -1,
3441 12, -1, 14, -1, -1, -1, -1, -1, 81, -1,
3442 -1, -1, -1, -1, -1, -1, 89, 29, -1, 31,
3443 32, 94, -1, -1, -1, 37, -1, -1, -1, -1,
3444 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3445 7, 8, 9, 55, -1, 57, 58, 14, -1, -1,
3446 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3447 -1, -1, 29, -1, 31, 32, -1, -1, -1, 81,
3448 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3449 -1, -1, 94, -1, -1, -1, -1, -1, 55, -1,
3450 57, 58, -1, -1, -1, -1, 63, 3, 4, 5,
3451 6, 7, 8, 9, 71, -1, -1, -1, 14, -1,
3452 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3453 -1, -1, 89, 29, -1, 31, 32, 94, -1, -1,
3454 -1, 37, -1, -1, -1, -1, 42, -1, -1, -1,
3455 46, -1, 3, 4, 5, 6, 7, 8, 9, 55,
3456 -1, 57, 58, 14, -1, 61, -1, -1, -1, -1,
3457 -1, -1, -1, -1, -1, 71, -1, -1, 29, -1,
3458 31, 32, -1, -1, -1, 81, 37, -1, -1, -1,
3459 -1, 42, -1, 89, -1, 46, -1, -1, 94, -1,
3460 -1, -1, -1, -1, 55, -1, 57, 58, 3, 4,
3461 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3462 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3463 81, -1, -1, -1, 29, -1, 31, 32, 89, -1,
3464 -1, -1, 37, 94, -1, -1, -1, 42, -1, 12,
3465 -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
3466 55, -1, 57, 58, 64, 65, 66, 67, 68, 69,
3467 70, 71, 72, 73, 74, 75, 71, 77, 78, 79,
3468 80, 81, 82, 83, 84, 85, 81, -1, -1, -1,
3469 -1, 32, -1, -1, 89, -1, -1, -1, -1, 94,
3470 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3471 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3472 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
3473 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3474 81, 82, 83, 84, 85, 64, 65, 66, 67, 68,
3475 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3476 79, 80, 81, 82, 83, 84, 85, 64, 65, 66,
3477 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3478 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3479 -1, -1, -1, -1, 113, -1, -1, -1, -1, -1,
3480 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
3481 -1, -1, 109, 64, 65, 66, 67, 68, 69, 70,
3482 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3483 81, 82, 83, 84, 85, 63, 64, 65, 66, 67,
3484 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3485 78, 79, 80, 81, 82, 83, 84, 85, 63, 64,
3486 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3487 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3488 85, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3489 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3492 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3493 #line 3 "/usr/share/bison.simple"
3495 /* Skeleton output parser for bison,
3496 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3498 This program is free software; you can redistribute it and/or modify
3499 it under the terms of the GNU General Public License as published by
3500 the Free Software Foundation; either version 2, or (at your option)
3503 This program is distributed in the hope that it will be useful,
3504 but WITHOUT ANY WARRANTY; without even the implied warranty of
3505 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3506 GNU General Public License for more details.
3508 You should have received a copy of the GNU General Public License
3509 along with this program; if not, write to the Free Software
3510 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3512 /* As a special exception, when this file is copied by Bison into a
3513 Bison output file, you may use that output file without restriction.
3514 This special exception was added by the Free Software Foundation
3515 in version 1.24 of Bison. */
3519 #define alloca __builtin_alloca
3520 #else /* not GNU C. */
3521 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3523 #else /* not sparc */
3524 #if defined (MSDOS) && !defined (__TURBOC__)
3526 #else /* not MSDOS, or __TURBOC__ */
3530 #else /* not MSDOS, __TURBOC__, or _AIX */
3534 void *alloca (unsigned int);
3536 #else /* not __cplusplus */
3538 #endif /* not __cplusplus */
3540 #endif /* not _AIX */
3541 #endif /* not MSDOS, or __TURBOC__ */
3542 #endif /* not sparc. */
3543 #endif /* not GNU C. */
3544 #endif /* alloca not defined. */
3546 /* This is the parser code that is written into each bison parser
3547 when the %semantic_parser declaration is not specified in the grammar.
3548 It was written by Richard Stallman by simplifying the hairy parser
3549 used when %semantic_parser is specified. */
3551 /* Note: there must be only one dollar sign in this file.
3552 It is replaced by the list of actions, each action
3553 as one case of the switch. */
3555 #define yyerrok (yyerrstatus = 0)
3556 #define yyclearin (yychar = YYEMPTY)
3559 #define YYACCEPT return(0)
3560 #define YYABORT return(1)
3561 #define YYERROR goto yyerrlab1
3562 /* Like YYERROR except do call yyerror.
3563 This remains here temporarily to ease the
3564 transition to the new meaning of YYERROR, for GCC.
3565 Once GCC version 2 has supplanted version 1, this can go. */
3566 #define YYFAIL goto yyerrlab
3567 #define YYRECOVERING() (!!yyerrstatus)
3568 #define YYBACKUP(token, value) \
3570 if (yychar == YYEMPTY && yylen == 1) \
3571 { yychar = (token), yylval = (value); \
3572 yychar1 = YYTRANSLATE (yychar); \
3577 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3581 #define YYERRCODE 256
3584 #define YYLEX yylex()
3590 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3592 #define YYLEX yylex(&yylval, &yylloc)
3594 #else /* not YYLSP_NEEDED */
3596 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3598 #define YYLEX yylex(&yylval)
3600 #endif /* not YYLSP_NEEDED */
3603 /* If nonreentrant, generate the variables here */
3607 int yychar
; /* the lookahead symbol */
3608 YYSTYPE yylval
; /* the semantic value of the */
3609 /* lookahead symbol */
3612 YYLTYPE yylloc
; /* location data for the lookahead */
3616 int yynerrs
; /* number of parse errors so far */
3617 #endif /* not YYPURE */
3620 int yydebug
; /* nonzero means print parse trace */
3621 /* Since this is uninitialized, it does not stop multiple parsers
3625 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3628 #define YYINITDEPTH 200
3631 /* YYMAXDEPTH is the maximum size the stacks can grow to
3632 (effective only if the built-in stack extension method is used). */
3639 #define YYMAXDEPTH 10000
3642 /* Prevent warning if -Wstrict-prototypes. */
3647 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3648 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3649 #else /* not GNU C or C++ */
3652 /* This is the most reliable way to avoid incompatibilities
3653 in available built-in functions on various systems. */
3655 __yy_memcpy (to
, from
, count
)
3660 register char *f
= from
;
3661 register char *t
= to
;
3662 register int i
= count
;
3668 #else /* __cplusplus */
3670 /* This is the most reliable way to avoid incompatibilities
3671 in available built-in functions on various systems. */
3673 __yy_memcpy (char *to
, char *from
, int count
)
3675 register char *f
= from
;
3676 register char *t
= to
;
3677 register int i
= count
;
3686 #line 196 "/usr/share/bison.simple"
3688 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3689 into yyparse. The argument should have type void *.
3690 It should actually point to an object.
3691 Grammar actions can access the variable by casting it
3692 to the proper pointer type. */
3694 #ifdef YYPARSE_PARAM
3696 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3697 #define YYPARSE_PARAM_DECL
3698 #else /* not __cplusplus */
3699 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3700 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3701 #endif /* not __cplusplus */
3702 #else /* not YYPARSE_PARAM */
3703 #define YYPARSE_PARAM_ARG
3704 #define YYPARSE_PARAM_DECL
3705 #endif /* not YYPARSE_PARAM */
3708 yyparse(YYPARSE_PARAM_ARG
)
3711 register int yystate
;
3713 register short *yyssp
;
3714 register YYSTYPE
*yyvsp
;
3715 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
3716 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
3718 short yyssa
[YYINITDEPTH
]; /* the state stack */
3719 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
3721 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
3722 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
3725 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
3726 YYLTYPE
*yyls
= yylsa
;
3729 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3731 #define YYPOPSTACK (yyvsp--, yyssp--)
3734 int yystacksize
= YYINITDEPTH
;
3745 YYSTYPE yyval
; /* the variable used to return */
3746 /* semantic values from the action */
3753 fprintf(stderr
, "Starting parse\n");
3759 yychar
= YYEMPTY
; /* Cause a token to be read. */
3761 /* Initialize stack pointers.
3762 Waste one element of value and location stack
3763 so that they stay on the same level as the state stack.
3764 The wasted elements are never initialized. */
3772 /* Push a new state, which is found in yystate . */
3773 /* In all cases, when you get here, the value and location stacks
3774 have just been pushed. so pushing a state here evens the stacks. */
3779 if (yyssp
>= yyss
+ yystacksize
- 1)
3781 /* Give user a chance to reallocate the stack */
3782 /* Use copies of these so that the &'s don't force the real ones into memory. */
3783 YYSTYPE
*yyvs1
= yyvs
;
3784 short *yyss1
= yyss
;
3786 YYLTYPE
*yyls1
= yyls
;
3789 /* Get the current used size of the three stacks, in elements. */
3790 int size
= yyssp
- yyss
+ 1;
3793 /* Each stack pointer address is followed by the size of
3794 the data in use in that stack, in bytes. */
3796 /* This used to be a conditional around just the two extra args,
3797 but that might be undefined if yyoverflow is a macro. */
3798 yyoverflow("parser stack overflow",
3799 &yyss1
, size
* sizeof (*yyssp
),
3800 &yyvs1
, size
* sizeof (*yyvsp
),
3801 &yyls1
, size
* sizeof (*yylsp
),
3804 yyoverflow("parser stack overflow",
3805 &yyss1
, size
* sizeof (*yyssp
),
3806 &yyvs1
, size
* sizeof (*yyvsp
),
3810 yyss
= yyss1
; yyvs
= yyvs1
;
3814 #else /* no yyoverflow */
3815 /* Extend the stack our own way. */
3816 if (yystacksize
>= YYMAXDEPTH
)
3818 yyerror("parser stack overflow");
3822 if (yystacksize
> YYMAXDEPTH
)
3823 yystacksize
= YYMAXDEPTH
;
3824 yyss
= (short *) alloca (yystacksize
* sizeof (*yyssp
));
3825 __yy_memcpy ((char *)yyss
, (char *)yyss1
, size
* sizeof (*yyssp
));
3826 yyvs
= (YYSTYPE
*) alloca (yystacksize
* sizeof (*yyvsp
));
3827 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
, size
* sizeof (*yyvsp
));
3829 yyls
= (YYLTYPE
*) alloca (yystacksize
* sizeof (*yylsp
));
3830 __yy_memcpy ((char *)yyls
, (char *)yyls1
, size
* sizeof (*yylsp
));
3832 #endif /* no yyoverflow */
3834 yyssp
= yyss
+ size
- 1;
3835 yyvsp
= yyvs
+ size
- 1;
3837 yylsp
= yyls
+ size
- 1;
3842 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
3845 if (yyssp
>= yyss
+ yystacksize
- 1)
3851 fprintf(stderr
, "Entering state %d\n", yystate
);
3857 /* Do appropriate processing given the current state. */
3858 /* Read a lookahead token if we need one and don't already have one. */
3861 /* First try to decide what to do without reference to lookahead token. */
3863 yyn
= yypact
[yystate
];
3867 /* Not known => get a lookahead token if don't already have one. */
3869 /* yychar is either YYEMPTY or YYEOF
3870 or a valid token in external form. */
3872 if (yychar
== YYEMPTY
)
3876 fprintf(stderr
, "Reading a token: ");
3881 /* Convert token to internal form (in yychar1) for indexing tables with */
3883 if (yychar
<= 0) /* This means end of input. */
3886 yychar
= YYEOF
; /* Don't call YYLEX any more */
3890 fprintf(stderr
, "Now at end of input.\n");
3895 yychar1
= YYTRANSLATE(yychar
);
3900 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
3901 /* Give the individual parser a way to print the precise meaning
3902 of a token, for further debugging info. */
3904 YYPRINT (stderr
, yychar
, yylval
);
3906 fprintf (stderr
, ")\n");
3912 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
3917 /* yyn is what to do for this token type in this state.
3918 Negative => reduce, -yyn is rule number.
3919 Positive => shift, yyn is new state.
3920 New state is final state => don't bother to shift,
3921 just return success.
3922 0, or most negative number => error. */
3937 /* Shift the lookahead token. */
3941 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
3944 /* Discard the token being shifted unless it is eof. */
3945 if (yychar
!= YYEOF
)
3953 /* count tokens shifted since error; after three, turn off error status. */
3954 if (yyerrstatus
) yyerrstatus
--;
3959 /* Do the default action for the current state. */
3962 yyn
= yydefact
[yystate
];
3966 /* Do a reduction. yyn is the number of a rule to reduce with. */
3970 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
3977 fprintf (stderr
, "Reducing via rule %d (line %d), ",
3980 /* Print the symbols being reduced, and their result. */
3981 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
3982 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
3983 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
3993 /* In case there were missing closebraces,
3994 get us back to the global binding level. */
3995 while (! global_bindings_p ())
4002 { yyval
.ttype
= NULL_TREE
; ;
4006 { yyval
.ttype
= NULL_TREE
; ;
4010 { yyval
.ttype
= NULL_TREE
; ;
4014 { have_extern_spec
= 1;
4015 used_extern_spec
= 0;
4016 yyval
.ttype
= NULL_TREE
; ;
4020 { have_extern_spec
= 0; ;
4024 { yyval
.itype
= pedantic
;
4029 { if (pending_lang_change
) do_pending_lang_change(); ;
4033 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4034 pop_everything (); ;
4038 { if (pending_inlines
) do_pending_inlines (); ;
4042 { if (pending_inlines
) do_pending_inlines (); ;
4046 { if (pending_inlines
) do_pending_inlines (); ;
4050 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4051 assemble_asm (yyvsp
[-2].ttype
); ;
4055 { pop_lang_context (); ;
4059 { if (pending_inlines
) do_pending_inlines ();
4060 pop_lang_context (); ;
4064 { if (pending_inlines
) do_pending_inlines ();
4065 pop_lang_context (); ;
4069 { push_namespace (yyvsp
[-1].ttype
); ;
4073 { pop_namespace (); ;
4077 { push_namespace (NULL_TREE
); ;
4081 { pop_namespace (); ;
4085 { do_namespace_alias (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4089 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4094 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
4095 yyvsp
[-1].ttype
= lastiddecl
;
4096 do_using_directive (yyvsp
[-1].ttype
);
4101 { pedantic
= yyvsp
[-1].itype
; ;
4105 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4109 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4113 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4117 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4121 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4125 { push_lang_context (yyvsp
[0].ttype
); ;
4129 { if (current_lang_name
!= yyvsp
[0].ttype
)
4130 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4131 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4135 { begin_template_parm_list (); ;
4139 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4143 { begin_specialization();
4144 yyval
.ttype
= NULL_TREE
; ;
4148 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4152 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4157 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
);
4159 if (TREE_PURPOSE (yyval
.ttype
) == signature_type_node
)
4160 sorry ("signature as template type parameter");
4161 else if (TREE_PURPOSE (yyval
.ttype
) != class_type_node
)
4163 pedwarn ("template type parameters must use the keyword `class'");
4164 TREE_PURPOSE (yyval
.ttype
) = class_type_node
;
4170 { yyval
.ttype
= build_tree_list (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); goto ttpa
; ;
4174 { yyval
.ttype
= build_tree_list (class_type_node
, NULL_TREE
); ;
4178 { yyval
.ttype
= build_tree_list (class_type_node
, yyvsp
[0].ttype
); ;
4182 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4186 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4190 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4194 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4199 if (yyvsp
[-1].ttype
)
4200 end_template_decl ();
4202 end_specialization ();
4208 if (yyvsp
[-1].ttype
)
4209 end_template_decl ();
4211 end_specialization ();
4225 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
4230 { pedwarn ("empty declaration"); ;
4236 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4238 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4243 { yyval
.itype
= 0; ;
4247 { yyval
.itype
= 1; ;
4251 { finish_function (lineno
, (int)yyvsp
[-1].itype
, 0); ;
4264 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4265 if (yyvsp
[-2].ttype
!= current_class_type
)
4267 push_nested_class (yyvsp
[-2].ttype
, 3);
4268 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4274 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4279 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4280 if (yyvsp
[-4].ttype
!= current_class_type
)
4282 push_nested_class (yyvsp
[-4].ttype
, 3);
4283 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4285 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4291 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4292 if (yyvsp
[-2].ttype
!= current_class_type
)
4294 push_nested_class (yyvsp
[-2].ttype
, 3);
4295 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4301 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4306 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4307 if (yyvsp
[-4].ttype
!= current_class_type
)
4309 push_nested_class (yyvsp
[-4].ttype
, 3);
4310 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4312 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4318 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4319 if (yyvsp
[-2].ttype
!= current_class_type
)
4321 push_nested_class (yyvsp
[-2].ttype
, 3);
4322 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4328 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4333 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4334 if (yyvsp
[-4].ttype
!= current_class_type
)
4336 push_nested_class (yyvsp
[-4].ttype
, 3);
4337 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4339 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4345 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
);
4346 if (yyvsp
[-2].ttype
!= current_class_type
)
4348 push_nested_class (yyvsp
[-2].ttype
, 3);
4349 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4355 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4360 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
4361 if (yyvsp
[-4].ttype
!= current_class_type
)
4363 push_nested_class (yyvsp
[-4].ttype
, 3);
4364 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
4366 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
4371 { tree specs
, attrs
;
4372 split_specs_attrs (yyvsp
[-1].ftype
.t
, &specs
, &attrs
);
4373 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4375 reinit_parse_for_function ();
4376 yyval
.ttype
= NULL_TREE
; ;
4380 { tree specs
, attrs
;
4381 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4382 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4384 reinit_parse_for_function ();
4385 yyval
.ttype
= NULL_TREE
; ;
4389 { if (! start_function (NULL_TREE
, yyval
.ttype
, NULL_TREE
, 0))
4391 reinit_parse_for_function ();
4392 yyval
.ttype
= NULL_TREE
; ;
4396 { tree specs
, attrs
;
4397 split_specs_attrs (yyvsp
[-1].ttype
, &specs
, &attrs
);
4398 if (! start_function (specs
, yyvsp
[0].ttype
, attrs
, 0))
4400 reinit_parse_for_function ();
4401 yyval
.ttype
= NULL_TREE
; ;
4405 { if (! start_function (NULL_TREE
, yyval
.ttype
, NULL_TREE
, 0))
4407 reinit_parse_for_function ();
4408 yyval
.ttype
= NULL_TREE
; ;
4412 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4416 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4420 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4424 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4428 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4429 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
);
4433 if (yychar
== YYEMPTY
)
4435 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4439 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4443 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4444 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4448 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4449 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4453 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4457 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
4458 yyval
.ttype
= start_method (specs
, yyvsp
[0].ttype
); goto rest_of_mdef
; ;
4462 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
); goto rest_of_mdef
; ;
4467 if (yyvsp
[-1].ttype
)
4468 end_template_decl ();
4470 end_specialization ();
4472 if (yyvsp
[0].ttype
&& DECL_TEMPLATE_INFO (yyvsp
[0].ttype
)
4473 && !DECL_TEMPLATE_SPECIALIZATION (yyvsp
[0].ttype
))
4475 yyval
.ttype
= DECL_TI_TEMPLATE (yyvsp
[0].ttype
);
4476 check_member_template (yyval
.ttype
);
4478 else if (yyvsp
[0].ttype
)
4479 yyval
.ttype
= yyvsp
[0].ttype
;
4482 cp_error("invalid member template declaration");
4483 yyval
.ttype
= NULL_TREE
;
4490 if (! current_function_parms_stored
)
4491 store_parm_decls ();
4492 yyval
.ttype
= yyvsp
[0].ttype
;
4497 { store_return_init (yyval
.ttype
, yyvsp
[0].ttype
); ;
4501 { store_return_init (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4505 { store_return_init (yyval
.ttype
, NULL_TREE
); ;
4510 if (yyvsp
[0].itype
== 0)
4511 error ("no base initializers given following ':'");
4513 /* Always keep the BLOCK node associated with the outermost
4514 pair of curley braces of a function. These are needed
4515 for correct operation of dwarfout.c. */
4522 if (! current_function_parms_stored
)
4523 store_parm_decls ();
4525 if (DECL_CONSTRUCTOR_P (current_function_decl
))
4527 /* Make a contour for the initializer list. */
4530 expand_start_bindings (0);
4532 else if (current_class_type
== NULL_TREE
)
4533 error ("base initializers not allowed for non-member functions");
4534 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
4535 error ("only constructors take base initializers");
4540 { yyval
.itype
= 0; ;
4544 { yyval
.itype
= 1; ;
4549 if (current_class_name
)
4550 pedwarn ("anachronistic old style base class initializer");
4551 expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
4557 if (current_class_name
)
4558 pedwarn ("anachronistic old style base class initializer");
4559 expand_member_init (current_class_ref
, NULL_TREE
, void_type_node
);
4564 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4568 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4572 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
4576 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
4580 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
4585 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
4590 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
4591 yyungetc (';', 1); ;
4595 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4596 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
4600 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4604 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
4608 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-3].ttype
);
4609 yyungetc (';', 1); ;
4613 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
4614 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
4618 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
); ;
4622 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
); ;
4627 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
);
4628 if (yyval
.ttype
!= error_mark_node
)
4629 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4635 yyval
.ttype
= lookup_template_class (yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
);
4636 if (yyval
.ttype
!= error_mark_node
)
4637 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4643 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
);
4644 if (yyval
.ttype
!= error_mark_node
)
4645 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4651 yyval
.ttype
= lookup_template_class (yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
);
4652 if (yyval
.ttype
!= error_mark_node
)
4653 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4659 yyval
.ttype
= lookup_template_class (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
);
4660 if (yyval
.ttype
!= error_mark_node
)
4661 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4667 yyval
.ttype
= lookup_template_class (yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
);
4668 if (yyval
.ttype
!= error_mark_node
)
4669 yyval
.ttype
= TYPE_STUB_DECL (yyval
.ttype
);
4675 /* Handle `Class<Class<Type>>' without space in the `>>' */
4676 pedwarn ("`>>' should be `> >' in template class name");
4682 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
4686 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4690 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
4694 { yyval
.code
= NEGATE_EXPR
; ;
4698 { yyval
.code
= CONVERT_EXPR
; ;
4702 { yyval
.code
= PREINCREMENT_EXPR
; ;
4706 { yyval
.code
= PREDECREMENT_EXPR
; ;
4710 { yyval
.code
= TRUTH_NOT_EXPR
; ;
4714 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
4718 { error ("ANSI C++ forbids an empty condition for `%s'",
4720 yyval
.ttype
= integer_zero_node
; ;
4724 { yyval
.ttype
= condition_conversion (yyvsp
[-1].ttype
); ;
4728 { error ("ANSI C++ forbids an empty condition for `%s'",
4730 yyval
.ttype
= integer_zero_node
; ;
4734 { yyval
.ttype
= condition_conversion (yyvsp
[-1].ttype
); ;
4738 { yyval
.ttype
= NULL_TREE
; ;
4742 { yyval
.ttype
= condition_conversion (yyval
.ttype
); ;
4746 { yyval
.ttype
= NULL_TREE
; ;
4752 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
4753 if (TREE_CODE (d
) == TYPE_DECL
) {
4754 tree s
= TREE_TYPE (d
);
4755 if (TREE_CODE (s
) == RECORD_TYPE
)
4756 cp_error ("definition of class `%T' in condition", s
);
4757 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
4758 cp_error ("definition of enum `%T' in condition", s
);
4761 current_declspecs
= yyvsp
[-4].ftype
.t
;
4762 yyvsp
[0].itype
= suspend_momentary ();
4763 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
4764 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
,
4765 /*prefix_attributes*/ NULL_TREE
);
4769 #line 1009 "parse.y"
4771 cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
, 1, LOOKUP_ONLYCONVERTING
);
4772 resume_momentary (yyvsp
[-2].itype
);
4773 yyval
.ttype
= yyvsp
[-1].ttype
;
4774 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
4775 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
4779 #line 1028 "parse.y"
4781 if (processing_template_decl
)
4783 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
4784 COMPOUND_STMT_NO_SCOPE (yyval
.ttype
) = 1;
4785 add_tree (yyval
.ttype
);
4790 #line 1037 "parse.y"
4792 if (processing_template_decl
)
4794 TREE_OPERAND (yyvsp
[-1].ttype
, 0) = TREE_CHAIN (yyvsp
[-1].ttype
);
4795 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
4796 last_tree
= yyvsp
[-1].ttype
;
4802 #line 1052 "parse.y"
4803 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4804 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4807 #line 1055 "parse.y"
4808 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyval
.ttype
,
4809 build_expr_list (NULL_TREE
, error_mark_node
)); ;
4812 #line 1058 "parse.y"
4813 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
4816 #line 1060 "parse.y"
4817 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
4820 #line 1065 "parse.y"
4821 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
4824 #line 1071 "parse.y"
4825 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4828 #line 1074 "parse.y"
4829 { yyval
.ttype
= yyvsp
[0].ttype
;
4830 pedantic
= yyvsp
[-1].itype
; ;
4833 #line 1077 "parse.y"
4834 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
4837 #line 1079 "parse.y"
4838 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
4841 #line 1081 "parse.y"
4842 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
4845 #line 1083 "parse.y"
4846 { yyval
.ttype
= build_x_unary_op (yyvsp
[-1].code
, yyvsp
[0].ttype
);
4847 if (yyvsp
[-1].code
== NEGATE_EXPR
&& TREE_CODE (yyvsp
[0].ttype
) == INTEGER_CST
)
4848 TREE_NEGATED_INT (yyval
.ttype
) = 1;
4849 overflow_warning (yyval
.ttype
);
4853 #line 1090 "parse.y"
4854 { tree label
= lookup_label (yyvsp
[0].ttype
);
4856 pedwarn ("ANSI C++ forbids `&&'");
4857 if (label
== NULL_TREE
)
4858 yyval
.ttype
= null_pointer_node
;
4861 TREE_USED (label
) = 1;
4862 yyval
.ttype
= build1 (ADDR_EXPR
, ptr_type_node
, label
);
4863 TREE_CONSTANT (yyval
.ttype
) = 1;
4868 #line 1103 "parse.y"
4869 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
4872 #line 1105 "parse.y"
4873 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
)); ;
4876 #line 1107 "parse.y"
4877 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
4880 #line 1109 "parse.y"
4881 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
4882 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
4885 #line 1115 "parse.y"
4886 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
4887 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4890 #line 1118 "parse.y"
4891 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
4892 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4895 #line 1121 "parse.y"
4896 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
4897 check_for_new_type ("new", yyvsp
[0].ftype
); ;
4900 #line 1124 "parse.y"
4901 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
4902 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4905 #line 1127 "parse.y"
4906 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
4907 NULL_TREE
, yyvsp
[-3].itype
);
4908 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4911 #line 1131 "parse.y"
4912 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-4].itype
);
4913 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4916 #line 1134 "parse.y"
4917 { yyval
.ttype
= build_new (yyvsp
[-3].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-4].itype
);
4918 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
4921 #line 1137 "parse.y"
4922 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
4923 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
4926 #line 1141 "parse.y"
4927 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
4930 #line 1143 "parse.y"
4931 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
4932 if (yychar
== YYEMPTY
)
4936 #line 1147 "parse.y"
4937 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
4938 if (yychar
== YYEMPTY
)
4942 #line 1151 "parse.y"
4943 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
4946 #line 1153 "parse.y"
4947 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
4950 #line 1158 "parse.y"
4951 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4954 #line 1160 "parse.y"
4956 yyval
.ttype
= yyvsp
[-1].ttype
;
4957 pedwarn ("old style placement syntax, use () instead");
4961 #line 1168 "parse.y"
4962 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
4965 #line 1170 "parse.y"
4966 { yyval
.ttype
= NULL_TREE
; ;
4969 #line 1172 "parse.y"
4971 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
4972 yyval
.ttype
= error_mark_node
;
4976 #line 1180 "parse.y"
4979 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4980 yyval
.ttype
= yyvsp
[0].ttype
;
4984 #line 1190 "parse.y"
4985 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
4986 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
4987 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4988 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4991 #line 1195 "parse.y"
4992 { yyvsp
[-1].ftype
.t
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
4993 TREE_PARMLIST (yyvsp
[-1].ftype
.t
) = 1;
4994 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
4995 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
4998 #line 1204 "parse.y"
4999 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5002 #line 1206 "parse.y"
5004 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5005 nreverse (yyvsp
[-2].ttype
));
5007 pedwarn ("ANSI C++ forbids constructor-expressions");
5008 /* Indicate that this was a GNU C constructor expression. */
5009 TREE_HAS_CONSTRUCTOR (init
) = 1;
5011 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5015 #line 1222 "parse.y"
5016 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5019 #line 1224 "parse.y"
5020 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5023 #line 1226 "parse.y"
5024 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5027 #line 1228 "parse.y"
5028 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5031 #line 1230 "parse.y"
5032 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5035 #line 1232 "parse.y"
5036 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5039 #line 1234 "parse.y"
5040 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5043 #line 1236 "parse.y"
5044 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5047 #line 1238 "parse.y"
5048 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5051 #line 1240 "parse.y"
5052 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5055 #line 1242 "parse.y"
5056 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5059 #line 1244 "parse.y"
5060 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5063 #line 1246 "parse.y"
5064 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5067 #line 1248 "parse.y"
5068 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5071 #line 1250 "parse.y"
5072 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5075 #line 1252 "parse.y"
5076 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5079 #line 1254 "parse.y"
5080 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5083 #line 1256 "parse.y"
5084 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5087 #line 1258 "parse.y"
5088 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5091 #line 1260 "parse.y"
5092 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5095 #line 1262 "parse.y"
5096 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5097 if (yyval
.ttype
!= error_mark_node
)
5098 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5101 #line 1266 "parse.y"
5102 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5105 #line 1268 "parse.y"
5106 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5109 #line 1270 "parse.y"
5110 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5113 #line 1288 "parse.y"
5114 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5117 #line 1297 "parse.y"
5118 { yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1); ;
5121 #line 1301 "parse.y"
5122 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5125 #line 1303 "parse.y"
5126 { yyval
.ttype
= lookup_template_function (yyvsp
[-1].ttype
, NULL_TREE
); ;
5129 #line 1305 "parse.y"
5130 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5133 #line 1307 "parse.y"
5134 { yyval
.ttype
= lookup_template_function (yyvsp
[-1].ttype
, NULL_TREE
); ;
5137 #line 1312 "parse.y"
5138 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5141 #line 1314 "parse.y"
5142 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5145 #line 1316 "parse.y"
5146 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5149 #line 1328 "parse.y"
5150 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5153 #line 1330 "parse.y"
5154 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5157 #line 1332 "parse.y"
5158 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5161 #line 1337 "parse.y"
5162 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5165 #line 1339 "parse.y"
5166 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5169 #line 1347 "parse.y"
5170 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5173 #line 1352 "parse.y"
5175 if (TREE_CODE (yyval
.ttype
) == BIT_NOT_EXPR
)
5176 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyval
.ttype
, 0));
5177 else if (TREE_CODE (yyval
.ttype
) != TEMPLATE_ID_EXPR
)
5178 yyval
.ttype
= do_identifier (yyval
.ttype
, 1);
5182 #line 1361 "parse.y"
5184 if (processing_template_decl
)
5185 push_obstacks (&permanent_obstack
, &permanent_obstack
);
5186 yyval
.ttype
= combine_strings (yyval
.ttype
);
5187 if (processing_template_decl
)
5192 #line 1369 "parse.y"
5194 yyval
.ttype
= yyvsp
[-1].ttype
;
5195 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
5196 if (class == 'e' || class == '1'
5197 || class == '2' || class == '<')
5198 /* This inhibits warnings in truthvalue_conversion. */
5199 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, ERROR_MARK
); ;
5202 #line 1377 "parse.y"
5204 yyval
.ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5205 class = TREE_CODE_CLASS (TREE_CODE (yyval
.ttype
));
5206 if (class == 'e' || class == '1'
5207 || class == '2' || class == '<')
5208 /* This inhibits warnings in truthvalue_conversion. */
5209 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, ERROR_MARK
); ;
5212 #line 1385 "parse.y"
5213 { yyval
.ttype
= error_mark_node
; ;
5216 #line 1387 "parse.y"
5217 { if (current_function_decl
== 0)
5219 error ("braced-group within expression allowed only inside a function");
5223 yyval
.ttype
= expand_start_stmt_expr (); ;
5226 #line 1395 "parse.y"
5229 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5230 rtl_exp
= expand_end_stmt_expr (yyvsp
[-2].ttype
);
5231 /* The statements have side effects, so the group does. */
5232 TREE_SIDE_EFFECTS (rtl_exp
) = 1;
5234 if (TREE_CODE (yyvsp
[-1].ttype
) == BLOCK
)
5236 /* Make a BIND_EXPR for the BLOCK already made. */
5237 yyval
.ttype
= build (BIND_EXPR
, TREE_TYPE (rtl_exp
),
5238 NULL_TREE
, rtl_exp
, yyvsp
[-1].ttype
);
5239 /* Remove the block from the tree at this point.
5240 It gets put back at the proper place
5241 when the BIND_EXPR is expanded. */
5242 delete_block (yyvsp
[-1].ttype
);
5245 yyval
.ttype
= yyvsp
[-1].ttype
;
5249 #line 1416 "parse.y"
5251 yyval
.ttype
= build_x_function_call (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, current_class_ref
);
5252 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5253 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5254 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5258 #line 1423 "parse.y"
5260 yyval
.ttype
= build_x_function_call (yyval
.ttype
, NULL_TREE
, current_class_ref
);
5261 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5262 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5263 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5267 #line 1430 "parse.y"
5268 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5271 #line 1432 "parse.y"
5272 { /* If we get an OFFSET_REF, turn it into what it really
5273 means (e.g., a COMPONENT_REF). This way if we've got,
5274 say, a reference to a static member that's being operated
5275 on, we don't end up trying to find a member operator for
5276 the class it's in. */
5277 if (TREE_CODE (yyval
.ttype
) == OFFSET_REF
)
5278 yyval
.ttype
= resolve_offset_ref (yyval
.ttype
);
5279 yyval
.ttype
= build_x_unary_op (POSTINCREMENT_EXPR
, yyval
.ttype
); ;
5282 #line 1441 "parse.y"
5283 { if (TREE_CODE (yyval
.ttype
) == OFFSET_REF
)
5284 yyval
.ttype
= resolve_offset_ref (yyval
.ttype
);
5285 yyval
.ttype
= build_x_unary_op (POSTDECREMENT_EXPR
, yyval
.ttype
); ;
5288 #line 1446 "parse.y"
5289 { if (current_class_ptr
)
5291 #ifdef WARNING_ABOUT_CCD
5292 TREE_USED (current_class_ptr
) = 1;
5294 yyval
.ttype
= current_class_ptr
;
5296 else if (current_function_decl
5297 && DECL_STATIC_FUNCTION_P (current_function_decl
))
5299 error ("`this' is unavailable for static member functions");
5300 yyval
.ttype
= error_mark_node
;
5304 if (current_function_decl
)
5305 error ("invalid use of `this' in non-member function");
5307 error ("invalid use of `this' at top level");
5308 yyval
.ttype
= error_mark_node
;
5313 #line 1469 "parse.y"
5316 tree id
= yyval
.ttype
;
5318 /* This is a C cast in C++'s `functional' notation. */
5319 if (yyvsp
[-1].ttype
== error_mark_node
)
5321 yyval
.ttype
= error_mark_node
;
5325 if (yyvsp
[-1].ttype
== NULL_TREE
)
5327 error ("cannot cast null list to type `%s'",
5328 IDENTIFIER_POINTER (TYPE_NAME (id
)));
5329 yyval
.ttype
= error_mark_node
;
5334 /* type is not set! (mrs) */
5335 if (type
== error_mark_node
)
5336 yyval
.ttype
= error_mark_node
;
5340 if (id
== ridpointers
[(int) RID_CONST
])
5341 type
= build_type_variant (integer_type_node
, 1, 0);
5342 else if (id
== ridpointers
[(int) RID_VOLATILE
])
5343 type
= build_type_variant (integer_type_node
, 0, 1);
5345 /* should not be able to get here (mrs) */
5346 else if (id
== ridpointers
[(int) RID_FRIEND
])
5348 error ("cannot cast expression to `friend' type");
5349 yyval
.ttype
= error_mark_node
;
5353 else my_friendly_abort (79);
5354 yyval
.ttype
= build_c_cast (type
, build_compound_expr (yyvsp
[-1].ttype
));
5359 #line 1514 "parse.y"
5360 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5361 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
5362 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
5365 #line 1518 "parse.y"
5366 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5367 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
5368 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
5371 #line 1522 "parse.y"
5372 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5373 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
5374 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
5377 #line 1526 "parse.y"
5378 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
5379 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
5380 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
5383 #line 1530 "parse.y"
5384 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
5387 #line 1532 "parse.y"
5388 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5389 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
5390 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
5393 #line 1536 "parse.y"
5394 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5397 #line 1538 "parse.y"
5399 got_scope
= NULL_TREE
;
5400 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
5401 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
5403 yyval
.ttype
= yyvsp
[0].ttype
;
5407 #line 1546 "parse.y"
5408 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5411 #line 1548 "parse.y"
5412 { if (processing_template_decl
)
5413 yyval
.ttype
= build_min_nt (CALL_EXPR
, copy_to_permanent (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
, NULL_TREE
);
5415 yyval
.ttype
= build_member_call (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
), yyvsp
[-1].ttype
); ;
5418 #line 1553 "parse.y"
5419 { if (processing_template_decl
)
5420 yyval
.ttype
= build_min_nt (CALL_EXPR
, copy_to_permanent (yyvsp
[-1].ttype
),
5421 NULL_TREE
, NULL_TREE
);
5423 yyval
.ttype
= build_member_call (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
), NULL_TREE
); ;
5426 #line 1559 "parse.y"
5428 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5432 #line 1563 "parse.y"
5434 yyval
.ttype
= build_method_call (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
5435 NULL_TREE
, LOOKUP_NORMAL
);
5439 #line 1568 "parse.y"
5441 yyval
.ttype
= build_method_call (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, NULL_TREE
,
5442 NULL_TREE
, LOOKUP_NORMAL
);
5446 #line 1573 "parse.y"
5447 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5450 #line 1575 "parse.y"
5451 { if (processing_template_decl
)
5452 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, copy_to_permanent (yyvsp
[0].ttype
));
5454 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5457 #line 1580 "parse.y"
5460 /* This is a future direction of this code, but because
5461 build_x_function_call cannot always undo what is done
5462 in build_component_ref entirely yet, we cannot do this. */
5463 yyval
.ttype
= build_x_function_call (build_component_ref (yyval
.ttype
, yyvsp
[-3].ttype
, NULL_TREE
, 1), yyvsp
[-1].ttype
, current_class_ref
);
5464 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5465 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5466 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5468 yyval
.ttype
= build_method_call (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, NULL_TREE
,
5474 #line 1595 "parse.y"
5477 /* This is a future direction of this code, but because
5478 build_x_function_call cannot always undo what is done
5479 in build_component_ref entirely yet, we cannot do this. */
5480 yyval
.ttype
= build_x_function_call (build_component_ref (yyval
.ttype
, yyvsp
[-1].ttype
, NULL_TREE
, 1), NULL_TREE
, current_class_ref
);
5481 if (TREE_CODE (yyval
.ttype
) == CALL_EXPR
5482 && TREE_TYPE (yyval
.ttype
) != void_type_node
)
5483 yyval
.ttype
= require_complete_type (yyval
.ttype
);
5485 yyval
.ttype
= build_method_call (yyval
.ttype
, yyvsp
[-1].ttype
, NULL_TREE
, NULL_TREE
,
5491 #line 1610 "parse.y"
5493 if (IS_SIGNATURE (OP0 (yyvsp
[-3].ttype
)))
5495 warning ("signature name in scope resolution ignored");
5496 yyval
.ttype
= build_method_call (yyval
.ttype
, OP1 (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
, NULL_TREE
,
5500 yyval
.ttype
= build_scoped_method_call (yyval
.ttype
, OP0 (yyvsp
[-3].ttype
), OP1 (yyvsp
[-3].ttype
), yyvsp
[-1].ttype
);
5504 #line 1621 "parse.y"
5506 if (IS_SIGNATURE (OP0 (yyvsp
[-1].ttype
)))
5508 warning ("signature name in scope resolution ignored");
5509 yyval
.ttype
= build_method_call (yyval
.ttype
, OP1 (yyvsp
[-1].ttype
), NULL_TREE
, NULL_TREE
,
5513 yyval
.ttype
= build_scoped_method_call (yyval
.ttype
, OP0 (yyvsp
[-1].ttype
), OP1 (yyvsp
[-1].ttype
), NULL_TREE
);
5517 #line 1633 "parse.y"
5519 if (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-1].ttype
)
5520 && (TREE_CODE (TREE_TYPE (yyvsp
[-3].ttype
))
5521 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-1].ttype
)))))
5522 cp_error ("`%E' is not of type `%T'", yyvsp
[-3].ttype
, yyvsp
[-1].ttype
);
5523 yyval
.ttype
= cp_convert (void_type_node
, yyvsp
[-3].ttype
);
5527 #line 1641 "parse.y"
5529 if (yyvsp
[-4].ttype
!= yyvsp
[-1].ttype
)
5530 cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
5531 if (TREE_CODE (TREE_TYPE (yyvsp
[-5].ttype
))
5532 != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp
[-4].ttype
))))
5533 cp_error ("`%E' is not of type `%T'", yyvsp
[-5].ttype
, yyvsp
[-4].ttype
);
5534 yyval
.ttype
= cp_convert (void_type_node
, yyvsp
[-5].ttype
);
5538 #line 1650 "parse.y"
5540 yyval
.ttype
= error_mark_node
;
5544 #line 1695 "parse.y"
5545 { yyval
.itype
= 0; ;
5548 #line 1697 "parse.y"
5549 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5552 #line 1702 "parse.y"
5553 { yyval
.itype
= 0; ;
5556 #line 1704 "parse.y"
5557 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5560 #line 1709 "parse.y"
5561 { yyval
.ttype
= boolean_true_node
; ;
5564 #line 1711 "parse.y"
5565 { yyval
.ttype
= boolean_false_node
; ;
5568 #line 1718 "parse.y"
5569 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5572 #line 1723 "parse.y"
5574 if (! current_function_parms_stored
)
5575 store_parm_decls ();
5577 /* Always keep the BLOCK node associated with the outermost
5578 pair of curley braces of a function. These are needed
5579 for correct operation of dwarfout.c. */
5584 #line 1736 "parse.y"
5585 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5588 #line 1738 "parse.y"
5590 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5591 got_object
= TREE_TYPE (yyval
.ttype
);
5595 #line 1746 "parse.y"
5597 resume_momentary (yyvsp
[-1].itype
);
5598 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
5599 note_got_semicolon (yyvsp
[-2].ftype
.t
);
5603 #line 1752 "parse.y"
5605 resume_momentary (yyvsp
[-1].itype
);
5606 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5610 #line 1757 "parse.y"
5611 { resume_momentary (yyvsp
[-1].itype
); ;
5614 #line 1759 "parse.y"
5616 shadow_tag (yyvsp
[-1].ftype
.t
);
5617 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5621 #line 1764 "parse.y"
5622 { warning ("empty declaration"); ;
5625 #line 1766 "parse.y"
5626 { pedantic
= yyvsp
[-1].itype
; ;
5629 #line 1780 "parse.y"
5630 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5631 NULL_TREE
, NULL_TREE
); ;
5634 #line 1783 "parse.y"
5635 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
5639 #line 1790 "parse.y"
5640 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5641 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5644 #line 1793 "parse.y"
5645 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5646 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5649 #line 1796 "parse.y"
5650 { yyval
.ftype
.t
= build_decl_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
5651 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5654 #line 1799 "parse.y"
5655 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5656 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5659 #line 1802 "parse.y"
5660 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
5661 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5664 #line 1818 "parse.y"
5665 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
);
5666 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5669 #line 1821 "parse.y"
5670 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5671 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5674 #line 1824 "parse.y"
5675 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
5676 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5679 #line 1827 "parse.y"
5680 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5681 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5684 #line 1830 "parse.y"
5685 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ttype
));
5686 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5689 #line 1833 "parse.y"
5690 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
5691 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ttype
)));
5692 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5695 #line 1840 "parse.y"
5696 { if (extra_warnings
)
5697 warning ("`%s' is not at beginning of declaration",
5698 IDENTIFIER_POINTER (yyval
.ttype
));
5699 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
5702 #line 1845 "parse.y"
5703 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
5706 #line 1847 "parse.y"
5707 { if (extra_warnings
)
5708 warning ("`%s' is not at beginning of declaration",
5709 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5710 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
5713 #line 1852 "parse.y"
5714 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5717 #line 1854 "parse.y"
5718 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5721 #line 1864 "parse.y"
5722 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
5725 #line 1866 "parse.y"
5726 { yyval
.ttype
= IDENTIFIER_AS_LIST (yyval
.ttype
); ;
5729 #line 1868 "parse.y"
5730 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5731 TREE_STATIC (yyval
.ttype
) = 1; ;
5734 #line 1871 "parse.y"
5735 { if (extra_warnings
&& TREE_STATIC (yyval
.ttype
))
5736 warning ("`%s' is not at beginning of declaration",
5737 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
5738 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
5739 TREE_STATIC (yyval
.ttype
) = TREE_STATIC (yyvsp
[-1].ttype
); ;
5742 #line 1877 "parse.y"
5743 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5746 #line 1879 "parse.y"
5747 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
5750 #line 1890 "parse.y"
5751 { yyval
.ftype
.t
= get_decl_list (yyvsp
[0].ftype
.t
);
5752 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5755 #line 1893 "parse.y"
5756 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
5757 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
5760 #line 1896 "parse.y"
5761 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
5762 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
5765 #line 1899 "parse.y"
5766 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
5767 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
5770 #line 1905 "parse.y"
5771 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
5774 #line 1907 "parse.y"
5775 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
5778 #line 1917 "parse.y"
5779 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5782 #line 1919 "parse.y"
5783 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5786 #line 1921 "parse.y"
5787 { yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ttype
);
5788 yyval
.ftype
.new_type_flag
= 0; ;
5791 #line 1924 "parse.y"
5792 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
5793 yyval
.ftype
.new_type_flag
= 0; ;
5796 #line 1927 "parse.y"
5797 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
5799 yyval
.ftype
.new_type_flag
= 0;
5800 if (IS_AGGR_TYPE (type
))
5802 sorry ("sigof type specifier");
5803 yyval
.ftype
.t
= type
;
5807 error ("`sigof' applied to non-aggregate expression");
5808 yyval
.ftype
.t
= error_mark_node
;
5813 #line 1942 "parse.y"
5814 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
5816 yyval
.ftype
.new_type_flag
= 0;
5817 if (IS_AGGR_TYPE (type
))
5819 sorry ("sigof type specifier");
5820 yyval
.ftype
.t
= type
;
5824 error("`sigof' applied to non-aggregate type");
5825 yyval
.ftype
.t
= error_mark_node
;
5830 #line 1962 "parse.y"
5831 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5834 #line 1964 "parse.y"
5835 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
5838 #line 1985 "parse.y"
5839 { yyval
.ttype
= NULL_TREE
; ;
5842 #line 1987 "parse.y"
5843 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
5846 #line 1992 "parse.y"
5847 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
5848 &prefix_attributes
);
5849 if (current_declspecs
5850 && TREE_CODE (current_declspecs
) != TREE_LIST
)
5851 current_declspecs
= get_decl_list (current_declspecs
);
5852 if (have_extern_spec
&& !used_extern_spec
)
5854 current_declspecs
= decl_tree_cons
5855 (NULL_TREE
, get_identifier ("extern"),
5857 used_extern_spec
= 1;
5859 yyvsp
[0].itype
= suspend_momentary ();
5860 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5861 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5864 #line 2009 "parse.y"
5865 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5866 yyval
.itype
= yyvsp
[-2].itype
; ;
5869 #line 2012 "parse.y"
5871 split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
5872 &prefix_attributes
);
5873 if (current_declspecs
5874 && TREE_CODE (current_declspecs
) != TREE_LIST
)
5875 current_declspecs
= get_decl_list (current_declspecs
);
5876 if (have_extern_spec
&& !used_extern_spec
)
5878 current_declspecs
= decl_tree_cons
5879 (NULL_TREE
, get_identifier ("extern"),
5881 used_extern_spec
= 1;
5883 yyval
.itype
= suspend_momentary ();
5884 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5885 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5886 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5889 #line 2033 "parse.y"
5890 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5891 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5894 #line 2037 "parse.y"
5895 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
5898 #line 2039 "parse.y"
5899 { yyval
.ttype
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5900 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
);
5901 cp_finish_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5904 #line 2046 "parse.y"
5905 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
5906 &prefix_attributes
);
5907 yyvsp
[0].itype
= suspend_momentary ();
5908 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5909 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5912 #line 2053 "parse.y"
5913 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5914 yyval
.itype
= yyvsp
[-2].itype
; ;
5917 #line 2056 "parse.y"
5919 split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
5920 &prefix_attributes
);
5921 yyval
.itype
= suspend_momentary ();
5922 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5923 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5924 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5927 #line 2067 "parse.y"
5928 { current_declspecs
= NULL_TREE
;
5929 prefix_attributes
= NULL_TREE
;
5930 yyvsp
[0].itype
= suspend_momentary ();
5931 yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1);
5932 cplus_decl_attributes (yyval
.ttype
, yyvsp
[-1].ttype
, prefix_attributes
); ;
5935 #line 2074 "parse.y"
5936 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
);
5937 yyval
.itype
= yyvsp
[-2].itype
; ;
5940 #line 2077 "parse.y"
5942 current_declspecs
= NULL_TREE
;
5943 prefix_attributes
= NULL_TREE
;
5944 yyval
.itype
= suspend_momentary ();
5945 d
= start_decl (yyvsp
[-2].ttype
, current_declspecs
, 0);
5946 cplus_decl_attributes (d
, yyvsp
[0].ttype
, prefix_attributes
);
5947 cp_finish_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
, 1, 0); ;
5950 #line 2090 "parse.y"
5951 { yyval
.ttype
= NULL_TREE
; ;
5954 #line 2092 "parse.y"
5955 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5958 #line 2097 "parse.y"
5959 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5962 #line 2099 "parse.y"
5963 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5966 #line 2104 "parse.y"
5967 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
5970 #line 2109 "parse.y"
5971 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5974 #line 2111 "parse.y"
5975 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5978 #line 2116 "parse.y"
5979 { yyval
.ttype
= NULL_TREE
; ;
5982 #line 2118 "parse.y"
5983 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
5986 #line 2120 "parse.y"
5987 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
5990 #line 2122 "parse.y"
5991 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
5994 #line 2124 "parse.y"
5995 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5998 #line 2140 "parse.y"
5999 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
6002 #line 2142 "parse.y"
6003 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
6006 #line 2147 "parse.y"
6007 { yyval
.ttype
= NULL_TREE
; ;
6010 #line 2149 "parse.y"
6011 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6014 #line 2157 "parse.y"
6015 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
6016 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6019 #line 2160 "parse.y"
6020 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
6021 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6024 #line 2163 "parse.y"
6025 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
6026 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6029 #line 2166 "parse.y"
6030 { yyval
.ttype
= NULL_TREE
; ;
6033 #line 2173 "parse.y"
6034 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
6037 #line 2175 "parse.y"
6038 { yyval
.ttype
= expr_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6041 #line 2178 "parse.y"
6042 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6045 #line 2180 "parse.y"
6046 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6049 #line 2182 "parse.y"
6050 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
6053 #line 2184 "parse.y"
6054 { yyval
.ttype
= expr_tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6057 #line 2189 "parse.y"
6058 { start_function (NULL_TREE
, TREE_VALUE (yyvsp
[0].ttype
),
6060 reinit_parse_for_function (); ;
6063 #line 2195 "parse.y"
6065 int nested
= (hack_decl_function_context
6066 (current_function_decl
) != NULL_TREE
);
6067 finish_function (lineno
, (int)yyvsp
[-1].itype
, nested
);
6068 process_next_inline (yyvsp
[-3].ttype
);
6072 #line 2202 "parse.y"
6073 { process_next_inline (yyvsp
[-2].ttype
); ;
6076 #line 2204 "parse.y"
6077 { process_next_inline (yyvsp
[-2].ttype
); ;
6080 #line 2216 "parse.y"
6081 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6084 #line 2218 "parse.y"
6085 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6088 #line 2223 "parse.y"
6089 { do_pending_defargs (); ;
6092 #line 2225 "parse.y"
6093 { do_pending_defargs (); ;
6096 #line 2230 "parse.y"
6097 { yyvsp
[0].itype
= suspend_momentary ();
6098 yyval
.ttype
= start_enum (yyvsp
[-1].ttype
); ;
6101 #line 2233 "parse.y"
6102 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
6103 yyval
.ftype
.new_type_flag
= 1;
6104 resume_momentary ((int) yyvsp
[-4].itype
);
6105 check_for_missing_semicolon (yyvsp
[-3].ttype
); ;
6108 #line 2238 "parse.y"
6109 { yyval
.ftype
.t
= finish_enum (start_enum (yyvsp
[-2].ttype
), NULL_TREE
);
6110 yyval
.ftype
.new_type_flag
= 1;
6111 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6114 #line 2242 "parse.y"
6115 { yyvsp
[0].itype
= suspend_momentary ();
6116 yyval
.ttype
= start_enum (make_anon_name ()); ;
6119 #line 2245 "parse.y"
6120 { yyval
.ftype
.t
= finish_enum (yyvsp
[-3].ttype
, yyvsp
[-2].ttype
);
6121 resume_momentary ((int) yyvsp
[-5].itype
);
6122 check_for_missing_semicolon (yyvsp
[-3].ttype
);
6123 yyval
.ftype
.new_type_flag
= 1; ;
6126 #line 2250 "parse.y"
6127 { yyval
.ftype
.t
= finish_enum (start_enum (make_anon_name()), NULL_TREE
);
6128 yyval
.ftype
.new_type_flag
= 1;
6129 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6132 #line 2254 "parse.y"
6133 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6134 yyval
.ftype
.new_type_flag
= 0; ;
6137 #line 2257 "parse.y"
6138 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6139 yyval
.ftype
.new_type_flag
= 0; ;
6142 #line 2260 "parse.y"
6143 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6144 yyval
.ftype
.new_type_flag
= 0; ;
6147 #line 2264 "parse.y"
6148 { reset_specialization(); ;
6151 #line 2266 "parse.y"
6156 yyval
.ttype
= yyvsp
[-5].ttype
;
6158 /* Need to rework class nesting in the
6159 presence of nested classes, etc. */
6160 shadow_tag (CLASSTYPE_AS_LIST (yyvsp
[-5].ttype
)); */
6162 if (yychar
== YYEMPTY
)
6164 semi
= yychar
== ';';
6165 /* finish_struct nukes this anyway; if
6166 finish_exception does too, then it can go. */
6168 note_got_semicolon (yyvsp
[-5].ttype
);
6170 if (TREE_CODE (yyvsp
[-5].ttype
) == ENUMERAL_TYPE
)
6174 yyval
.ttype
= finish_struct (yyvsp
[-5].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
, semi
);
6175 if (semi
) note_got_semicolon (yyval
.ttype
);
6181 check_for_missing_semicolon (yyvsp
[-5].ttype
);
6182 if (current_scope () == current_function_decl
)
6183 do_pending_defargs ();
6187 #line 2300 "parse.y"
6190 && current_scope () == current_function_decl
)
6191 do_pending_inlines ();
6195 #line 2306 "parse.y"
6197 yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6198 yyval
.ftype
.new_type_flag
= 1;
6199 if (current_class_type
== NULL_TREE
)
6200 clear_inline_text_obstack ();
6204 #line 2313 "parse.y"
6206 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6207 yyval
.ftype
.new_type_flag
= 0;
6208 /* struct B: public A; is not accepted by the WP grammar. */
6209 if (TYPE_BINFO_BASETYPES (yyval
.ftype
.t
) && !TYPE_SIZE (yyval
.ftype
.t
)
6210 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6211 cp_error ("base clause without member specification for `%#T'",
6216 #line 2332 "parse.y"
6217 { if (pedantic
&& !in_system_header
)
6218 pedwarn ("comma at end of enumerator list"); ;
6221 #line 2339 "parse.y"
6222 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6225 #line 2341 "parse.y"
6226 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6229 #line 2343 "parse.y"
6230 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6233 #line 2345 "parse.y"
6234 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6237 #line 2350 "parse.y"
6238 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6241 #line 2355 "parse.y"
6242 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6245 #line 2360 "parse.y"
6247 current_aggr
= yyvsp
[-2].ttype
;
6248 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6252 #line 2365 "parse.y"
6254 current_aggr
= yyvsp
[-3].ttype
;
6255 yyval
.ttype
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6259 #line 2370 "parse.y"
6261 current_aggr
= yyvsp
[-2].ttype
;
6262 yyval
.ttype
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6266 #line 2375 "parse.y"
6267 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6270 #line 2377 "parse.y"
6271 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6274 #line 2382 "parse.y"
6275 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 0); ;
6278 #line 2387 "parse.y"
6279 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
6282 #line 2390 "parse.y"
6284 yyval
.ttype
= yyvsp
[-1].ttype
;
6286 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6290 #line 2396 "parse.y"
6292 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6293 if (TREE_INT_CST_LOW (current_aggr
) == union_type
6294 && TREE_CODE (yyval
.ttype
) != UNION_TYPE
)
6295 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval
.ttype
);
6296 else if (TREE_CODE (yyval
.ttype
) == UNION_TYPE
6297 && TREE_INT_CST_LOW (current_aggr
) != union_type
)
6298 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ttype
);
6301 if (IS_AGGR_TYPE (yyval
.ttype
) && CLASSTYPE_USE_TEMPLATE (yyval
.ttype
))
6303 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval
.ttype
)
6304 && TYPE_SIZE (yyval
.ttype
) == NULL_TREE
)
6306 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval
.ttype
);
6307 if (processing_template_decl
)
6308 push_template_decl (TYPE_MAIN_DECL (yyval
.ttype
));
6310 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval
.ttype
))
6311 cp_error ("specialization after instantiation of `%T'", yyval
.ttype
);
6313 xref_basetypes (current_aggr
, yyvsp
[-1].ttype
, yyval
.ttype
, yyvsp
[0].ttype
);
6318 #line 2425 "parse.y"
6319 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), NULL_TREE
, 0);
6320 yyungetc ('{', 1); ;
6323 #line 2436 "parse.y"
6324 { yyval
.ttype
= NULL_TREE
; ;
6327 #line 2438 "parse.y"
6328 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6331 #line 2440 "parse.y"
6332 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6335 #line 2446 "parse.y"
6336 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6339 #line 2451 "parse.y"
6341 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6342 if (! is_aggr_type (type
, 1))
6343 yyval
.ttype
= NULL_TREE
;
6344 else if (current_aggr
== signature_type_node
6345 && (! type
) && (! IS_SIGNATURE (type
)))
6347 error ("class name not allowed as base signature");
6348 yyval
.ttype
= NULL_TREE
;
6350 else if (current_aggr
== signature_type_node
)
6352 sorry ("signature inheritance, base type `%s' ignored",
6353 IDENTIFIER_POINTER (yyval
.ttype
));
6354 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6356 else if (type
&& IS_SIGNATURE (type
))
6358 error ("signature name not allowed as base class");
6359 yyval
.ttype
= NULL_TREE
;
6362 yyval
.ttype
= build_tree_list (access_default_node
, type
);
6366 #line 2476 "parse.y"
6368 tree type
= TREE_TYPE (yyvsp
[0].ttype
);
6369 if (current_aggr
== signature_type_node
)
6370 error ("access and source specifiers not allowed in signature");
6371 if (! IS_AGGR_TYPE (type
))
6372 yyval
.ttype
= NULL_TREE
;
6373 else if (current_aggr
== signature_type_node
6374 && (! type
) && (! IS_SIGNATURE (type
)))
6376 error ("class name not allowed as base signature");
6377 yyval
.ttype
= NULL_TREE
;
6379 else if (current_aggr
== signature_type_node
)
6381 sorry ("signature inheritance, base type `%s' ignored",
6382 IDENTIFIER_POINTER (yyval
.ttype
));
6383 yyval
.ttype
= build_tree_list (access_public_node
, type
);
6385 else if (type
&& IS_SIGNATURE (type
))
6387 error ("signature name not allowed as base class");
6388 yyval
.ttype
= NULL_TREE
;
6391 yyval
.ttype
= build_tree_list (yyval
.ttype
, type
);
6395 #line 2506 "parse.y"
6396 { yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6399 #line 2509 "parse.y"
6401 if (current_aggr
== signature_type_node
)
6403 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp
[-1].ttype
)))
6405 sorry ("`sigof' as base signature specifier");
6406 yyval
.ttype
= TREE_TYPE (yyvsp
[-1].ttype
);
6410 error ("`sigof' applied to non-aggregate expression");
6411 yyval
.ttype
= error_mark_node
;
6416 error ("`sigof' in struct or class declaration");
6417 yyval
.ttype
= error_mark_node
;
6422 #line 2530 "parse.y"
6424 if (current_aggr
== signature_type_node
)
6426 if (IS_AGGR_TYPE (groktypename (yyvsp
[-1].ftype
.t
)))
6428 sorry ("`sigof' as base signature specifier");
6429 yyval
.ttype
= groktypename (yyvsp
[-1].ftype
.t
);
6433 error ("`sigof' applied to non-aggregate expression");
6434 yyval
.ttype
= error_mark_node
;
6439 error ("`sigof' in struct or class declaration");
6440 yyval
.ttype
= error_mark_node
;
6445 #line 2555 "parse.y"
6446 { if (yyval
.ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6447 sorry ("non-virtual access");
6448 yyval
.ttype
= access_default_virtual_node
; ;
6451 #line 2559 "parse.y"
6453 if (yyvsp
[-1].ttype
== access_protected_node
)
6455 warning ("`protected' access not implemented");
6456 yyvsp
[-1].ttype
= access_public_node
;
6459 else if (yyvsp
[-1].ttype
== access_public_node
)
6461 if (yyvsp
[-2].ttype
== access_private_node
)
6464 error ("base class cannot be public and private");
6466 else if (yyvsp
[-2].ttype
== access_default_virtual_node
)
6467 yyval
.ttype
= access_public_virtual_node
;
6469 else /* $2 == access_private_node */
6471 if (yyvsp
[-2].ttype
== access_public_node
)
6473 else if (yyvsp
[-2].ttype
== access_default_virtual_node
)
6474 yyval
.ttype
= access_private_virtual_node
;
6479 #line 2585 "parse.y"
6480 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6481 sorry ("non-virtual access");
6482 if (yyval
.ttype
== access_public_node
)
6483 yyval
.ttype
= access_public_virtual_node
;
6484 else if (yyval
.ttype
== access_private_node
)
6485 yyval
.ttype
= access_private_virtual_node
; ;
6488 #line 2595 "parse.y"
6489 { tree t
= yyvsp
[-1].ttype
;
6490 push_obstacks_nochange ();
6491 end_temporary_allocation ();
6493 if (t
== error_mark_node
6494 || ! IS_AGGR_TYPE (t
))
6496 t
= yyvsp
[-1].ttype
= make_lang_type (RECORD_TYPE
);
6497 pushtag (make_anon_name (), t
, 0);
6500 duplicate_tag_error (t
);
6501 if (TYPE_SIZE (t
) || TYPE_BEING_DEFINED (t
))
6503 t
= make_lang_type (TREE_CODE (t
));
6504 pushtag (TYPE_IDENTIFIER (yyvsp
[-1].ttype
), t
, 0);
6505 yyvsp
[-1].ttype
= t
;
6507 if (processing_template_decl
&& TYPE_CONTEXT (t
)
6508 && ! current_class_type
)
6509 push_template_decl (TYPE_STUB_DECL (t
));
6511 TYPE_BEING_DEFINED (t
) = 1;
6512 if (IS_AGGR_TYPE (t
) && CLASSTYPE_USE_TEMPLATE (t
))
6514 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t
)
6515 && TYPE_SIZE (t
) == NULL_TREE
)
6517 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t
);
6518 if (processing_template_decl
)
6519 push_template_decl (TYPE_MAIN_DECL (t
));
6521 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t
))
6522 cp_error ("specialization after instantiation of `%T'", t
);
6524 /* Reset the interface data, at the earliest possible
6525 moment, as it might have been set via a class foo;
6527 /* Don't change signatures. */
6528 if (! IS_SIGNATURE (t
))
6530 extern tree pending_vtables
;
6532 tree name
= TYPE_IDENTIFIER (t
);
6534 if (! ANON_AGGRNAME_P (name
))
6536 CLASSTYPE_INTERFACE_ONLY (t
) = interface_only
;
6537 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6538 (t
, interface_unknown
);
6541 /* Record how to set the access of this class's
6542 virtual functions. If write_virtuals == 2 or 3, then
6543 inline virtuals are ``extern inline''. */
6544 switch (write_virtuals
)
6551 needs_writing
= !! value_member (name
, pending_vtables
);
6554 needs_writing
= ! CLASSTYPE_INTERFACE_ONLY (t
)
6555 && CLASSTYPE_INTERFACE_KNOWN (t
);
6560 CLASSTYPE_VTABLE_NEEDS_WRITING (t
) = needs_writing
;
6563 t
= TYPE_IDENTIFIER (yyvsp
[-1].ttype
);
6564 if (t
&& IDENTIFIER_TEMPLATE (t
))
6565 overload_template_name (t
, 1);
6570 #line 2678 "parse.y"
6572 yyval
.ttype
= build_self_reference ();
6576 #line 2685 "parse.y"
6577 { if (yyval
.ttype
) yyval
.ttype
= build_tree_list (access_public_node
, yyval
.ttype
); ;
6580 #line 2687 "parse.y"
6582 if (current_aggr
== signature_type_node
)
6583 yyval
.ttype
= build_tree_list (access_public_node
, yyvsp
[0].ttype
);
6585 yyval
.ttype
= build_tree_list (access_default_node
, yyvsp
[0].ttype
);
6586 if (yyvsp
[-1].ttype
) yyval
.ttype
= tree_cons (access_public_node
, yyvsp
[-1].ttype
, yyval
.ttype
);
6590 #line 2695 "parse.y"
6592 tree visspec
= yyvsp
[-2].ttype
;
6594 if (current_aggr
== signature_type_node
)
6596 error ("access specifier not allowed in signature");
6597 visspec
= access_public_node
;
6599 yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (visspec
, yyvsp
[0].ttype
));
6603 #line 2706 "parse.y"
6605 if (current_aggr
== signature_type_node
)
6606 error ("access specifier not allowed in signature");
6610 #line 2716 "parse.y"
6611 { if (yyval
.ttype
== void_type_node
) yyval
.ttype
= NULL_TREE
;
6615 #line 2719 "parse.y"
6616 { /* In pushdecl, we created a reverse list of names
6617 in this binding level. Make sure that the chain
6618 of what we're trying to add isn't the item itself
6619 (which can happen with what pushdecl's doing). */
6620 if (yyvsp
[0].ttype
!= NULL_TREE
&& yyvsp
[0].ttype
!= void_type_node
)
6622 if (TREE_CHAIN (yyvsp
[0].ttype
) != yyval
.ttype
)
6623 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6625 yyval
.ttype
= yyvsp
[0].ttype
;
6630 #line 2735 "parse.y"
6634 #line 2737 "parse.y"
6635 { error ("missing ';' before right brace");
6636 yyungetc ('}', 0); ;
6639 #line 2742 "parse.y"
6640 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6643 #line 2744 "parse.y"
6644 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6647 #line 2746 "parse.y"
6648 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6651 #line 2748 "parse.y"
6652 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6655 #line 2750 "parse.y"
6656 { yyval
.ttype
= NULL_TREE
; ;
6659 #line 2752 "parse.y"
6660 { yyval
.ttype
= yyvsp
[0].ttype
;
6661 pedantic
= yyvsp
[-1].itype
; ;
6664 #line 2761 "parse.y"
6665 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6668 #line 2763 "parse.y"
6669 { yyval
.ttype
= grok_x_components (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6672 #line 2765 "parse.y"
6673 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6674 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6677 #line 2768 "parse.y"
6678 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6679 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6682 #line 2771 "parse.y"
6683 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6686 #line 2773 "parse.y"
6687 { yyval
.ttype
= NULL_TREE
; ;
6690 #line 2784 "parse.y"
6691 { tree specs
, attrs
;
6692 split_specs_attrs (yyvsp
[-4].ttype
, &specs
, &attrs
);
6693 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6694 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
6697 #line 2789 "parse.y"
6698 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6699 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
6702 #line 2792 "parse.y"
6703 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6706 #line 2794 "parse.y"
6708 if (yyvsp
[-1].ttype
)
6709 end_template_decl ();
6711 end_specialization ();
6713 if (yyvsp
[0].ttype
&& DECL_TEMPLATE_INFO (yyvsp
[0].ttype
)
6714 && !DECL_TEMPLATE_SPECIALIZATION (yyvsp
[0].ttype
))
6716 yyval
.ttype
= DECL_TI_TEMPLATE (yyvsp
[0].ttype
);
6717 check_member_template (yyval
.ttype
);
6719 else if (yyvsp
[0].ttype
)
6720 yyval
.ttype
= yyvsp
[0].ttype
;
6723 cp_error("invalid member template declaration");
6724 yyval
.ttype
= NULL_TREE
;
6729 #line 2819 "parse.y"
6730 { yyval
.ttype
= NULL_TREE
; ;
6733 #line 2822 "parse.y"
6735 /* In this context, void_type_node encodes
6736 friends. They have been recorded elsewhere. */
6737 if (yyval
.ttype
== void_type_node
)
6738 yyval
.ttype
= yyvsp
[0].ttype
;
6740 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6744 #line 2834 "parse.y"
6745 { yyval
.ttype
= NULL_TREE
; ;
6748 #line 2837 "parse.y"
6750 /* In this context, void_type_node encodes
6751 friends. They have been recorded elsewhere. */
6752 if (yyval
.ttype
== void_type_node
)
6753 yyval
.ttype
= yyvsp
[0].ttype
;
6755 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
);
6759 #line 2859 "parse.y"
6760 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6761 &prefix_attributes
);
6762 yyvsp
[-4].ttype
= current_declspecs
;
6763 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6764 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6767 #line 2865 "parse.y"
6768 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6769 &prefix_attributes
);
6770 yyvsp
[-4].ttype
= current_declspecs
;
6771 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6772 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6775 #line 2874 "parse.y"
6776 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6777 &prefix_attributes
);
6778 yyvsp
[-4].ttype
= current_declspecs
;
6779 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6780 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6783 #line 2880 "parse.y"
6784 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6785 &prefix_attributes
);
6786 yyvsp
[-4].ttype
= current_declspecs
;
6787 yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6788 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6791 #line 2886 "parse.y"
6792 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_declspecs
,
6793 &prefix_attributes
);
6794 yyvsp
[-4].ttype
= current_declspecs
;
6795 yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6796 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6799 #line 2892 "parse.y"
6800 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_declspecs
,
6801 &prefix_attributes
);
6802 yyvsp
[-3].ttype
= current_declspecs
;
6803 yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6804 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6807 #line 2901 "parse.y"
6808 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6809 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6812 #line 2904 "parse.y"
6813 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6814 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6817 #line 2910 "parse.y"
6818 { yyval
.ttype
= grokfield (yyval
.ttype
, current_declspecs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
6819 build_tree_list (yyvsp
[-1].ttype
, prefix_attributes
)); ;
6822 #line 2913 "parse.y"
6823 { yyval
.ttype
= grokbitfield (yyval
.ttype
, current_declspecs
, yyvsp
[-1].ttype
);
6824 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6827 #line 2916 "parse.y"
6828 { yyval
.ttype
= grokbitfield (NULL_TREE
, current_declspecs
, yyvsp
[-1].ttype
);
6829 cplus_decl_attributes (yyval
.ttype
, yyvsp
[0].ttype
, prefix_attributes
); ;
6832 #line 2927 "parse.y"
6833 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6836 #line 2932 "parse.y"
6837 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
); ;
6840 #line 2934 "parse.y"
6841 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
); ;
6844 #line 2940 "parse.y"
6845 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6846 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6849 #line 2943 "parse.y"
6850 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6851 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6854 #line 2948 "parse.y"
6857 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6858 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
6859 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
6860 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
6864 #line 2959 "parse.y"
6865 { yyval
.ttype
= NULL_TREE
; ;
6868 #line 2961 "parse.y"
6869 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6872 #line 2966 "parse.y"
6873 { yyval
.ftype
.t
= IDENTIFIER_AS_LIST (yyvsp
[0].ttype
);
6874 yyval
.ftype
.new_type_flag
= 0; ;
6877 #line 2969 "parse.y"
6878 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6879 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6882 #line 2978 "parse.y"
6883 { yyval
.itype
= suspend_momentary (); ;
6886 #line 2983 "parse.y"
6887 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6890 #line 2989 "parse.y"
6891 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6894 #line 2991 "parse.y"
6895 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6898 #line 2993 "parse.y"
6899 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6902 #line 2995 "parse.y"
6903 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6906 #line 3002 "parse.y"
6907 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6910 #line 3004 "parse.y"
6911 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6914 #line 3006 "parse.y"
6915 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6918 #line 3008 "parse.y"
6919 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6922 #line 3010 "parse.y"
6923 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6924 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
6928 #line 3018 "parse.y"
6930 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6932 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
6933 if (current_class_type
6934 && TYPE_BEING_DEFINED (current_class_type
)
6935 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[0].ttype
))
6937 /* Remember that this name has been used in the class
6938 definition, as per [class.scope0] */
6939 pushdecl_class_level (yyval
.ttype
);
6943 yyval
.ttype
= yyvsp
[0].ttype
;
6947 #line 3035 "parse.y"
6949 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6950 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
6952 yyval
.ttype
= yyvsp
[0].ttype
;
6953 got_scope
= NULL_TREE
;
6957 #line 3048 "parse.y"
6958 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6961 #line 3053 "parse.y"
6962 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
6965 #line 3058 "parse.y"
6966 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6969 #line 3060 "parse.y"
6970 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
6973 #line 3062 "parse.y"
6974 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
6977 #line 3064 "parse.y"
6978 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
6981 #line 3066 "parse.y"
6982 { push_nested_class (yyvsp
[-1].ttype
, 3);
6983 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
6984 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
6987 #line 3077 "parse.y"
6988 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6991 #line 3079 "parse.y"
6992 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6995 #line 3081 "parse.y"
6996 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
6999 #line 3083 "parse.y"
7000 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7003 #line 3085 "parse.y"
7004 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7005 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7009 #line 3093 "parse.y"
7010 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7013 #line 3095 "parse.y"
7014 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7017 #line 3097 "parse.y"
7018 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7021 #line 3099 "parse.y"
7022 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7025 #line 3101 "parse.y"
7026 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7027 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7031 #line 3109 "parse.y"
7032 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7035 #line 3111 "parse.y"
7036 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7039 #line 3113 "parse.y"
7040 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7043 #line 3115 "parse.y"
7044 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7047 #line 3117 "parse.y"
7048 { if (OP0 (yyval
.ttype
) != current_class_type
)
7050 push_nested_class (OP0 (yyval
.ttype
), 3);
7051 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
7056 #line 3124 "parse.y"
7057 { got_scope
= NULL_TREE
;
7058 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7059 if (yyvsp
[-1].ttype
!= current_class_type
)
7061 push_nested_class (yyvsp
[-1].ttype
, 3);
7062 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
;
7067 #line 3136 "parse.y"
7068 { got_scope
= NULL_TREE
;
7069 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7072 #line 3139 "parse.y"
7073 { got_scope
= NULL_TREE
;
7074 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7077 #line 3145 "parse.y"
7078 { got_scope
= NULL_TREE
;
7079 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7082 #line 3148 "parse.y"
7083 { got_scope
= NULL_TREE
;
7084 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7087 #line 3155 "parse.y"
7088 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7091 #line 3160 "parse.y"
7092 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7095 #line 3162 "parse.y"
7096 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7099 #line 3164 "parse.y"
7100 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7103 #line 3176 "parse.y"
7104 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7107 #line 3183 "parse.y"
7109 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7111 yyval
.ttype
= lastiddecl
;
7112 /* Remember that this name has been used in the class
7113 definition, as per [class.scope0] */
7114 if (current_class_type
7115 && TYPE_BEING_DEFINED (current_class_type
)
7116 && ! IDENTIFIER_CLASS_VALUE (yyvsp
[-1].ttype
))
7117 pushdecl_class_level (yyval
.ttype
);
7119 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7123 #line 3197 "parse.y"
7125 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7126 yyval
.ttype
= lastiddecl
;
7127 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7131 #line 3203 "parse.y"
7133 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7134 yyval
.ttype
= lastiddecl
;
7135 got_scope
= yyval
.ttype
;
7139 #line 3209 "parse.y"
7140 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
7143 #line 3225 "parse.y"
7144 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7147 #line 3230 "parse.y"
7149 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7150 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7151 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7152 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7154 yyval
.ttype
= yyvsp
[0].ttype
;
7158 #line 3242 "parse.y"
7160 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7161 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7165 #line 3247 "parse.y"
7167 if (TREE_CODE_CLASS (TREE_CODE (yyvsp
[-1].ttype
)) == 't')
7168 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7169 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7170 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7172 yyval
.ttype
= yyvsp
[0].ttype
;
7176 #line 3259 "parse.y"
7178 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7179 yyval
.ttype
= lastiddecl
;
7180 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7184 #line 3265 "parse.y"
7186 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7187 yyval
.ttype
= lastiddecl
;
7188 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7192 #line 3271 "parse.y"
7193 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7196 #line 3275 "parse.y"
7198 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7199 yyval
.ttype
= lastiddecl
;
7200 got_scope
= yyval
.ttype
;
7204 #line 3284 "parse.y"
7206 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7207 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7209 yyval
.ttype
= yyvsp
[0].ttype
;
7210 got_scope
= NULL_TREE
;
7214 #line 3293 "parse.y"
7215 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7218 #line 3298 "parse.y"
7219 { got_scope
= NULL_TREE
; ;
7222 #line 3300 "parse.y"
7223 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7226 #line 3307 "parse.y"
7227 { got_scope
= void_type_node
; ;
7230 #line 3313 "parse.y"
7231 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7234 #line 3315 "parse.y"
7235 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7238 #line 3317 "parse.y"
7239 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7242 #line 3319 "parse.y"
7243 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7246 #line 3321 "parse.y"
7247 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7248 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7252 #line 3325 "parse.y"
7253 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7254 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7258 #line 3334 "parse.y"
7259 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7262 #line 3336 "parse.y"
7263 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7266 #line 3342 "parse.y"
7267 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7270 #line 3344 "parse.y"
7271 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7274 #line 3346 "parse.y"
7275 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7278 #line 3348 "parse.y"
7279 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7282 #line 3350 "parse.y"
7283 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7286 #line 3352 "parse.y"
7287 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7290 #line 3354 "parse.y"
7291 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7294 #line 3356 "parse.y"
7295 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7298 #line 3358 "parse.y"
7299 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7300 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7304 #line 3362 "parse.y"
7305 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7306 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7310 #line 3371 "parse.y"
7311 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7314 #line 3375 "parse.y"
7315 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7318 #line 3377 "parse.y"
7319 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7322 #line 3379 "parse.y"
7323 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7326 #line 3381 "parse.y"
7327 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7330 #line 3383 "parse.y"
7331 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7334 #line 3385 "parse.y"
7335 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7338 #line 3387 "parse.y"
7339 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7342 #line 3389 "parse.y"
7343 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7346 #line 3391 "parse.y"
7347 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7350 #line 3415 "parse.y"
7351 { do_pushlevel (); ;
7354 #line 3420 "parse.y"
7355 { yyval
.ttype
= do_poplevel (); ;
7358 #line 3428 "parse.y"
7360 pedwarn ("ANSI C++ forbids label declarations"); ;
7363 #line 3439 "parse.y"
7365 for (link
= yyvsp
[-1].ttype
; link
; link
= TREE_CHAIN (link
))
7367 tree label
= shadow_label (TREE_VALUE (link
));
7368 C_DECLARED_LABEL_FLAG (label
) = 1;
7369 declare_nonlocal_label (label
);
7374 #line 3453 "parse.y"
7378 #line 3459 "parse.y"
7380 if (processing_template_decl
)
7382 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
7383 add_tree (yyval
.ttype
);
7388 #line 3467 "parse.y"
7390 if (processing_template_decl
)
7392 TREE_OPERAND (yyvsp
[-3].ttype
, 0) = TREE_CHAIN (yyvsp
[-3].ttype
);
7393 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7394 last_tree
= yyvsp
[-3].ttype
;
7396 yyval
.ttype
= yyvsp
[0].ttype
;
7400 #line 3480 "parse.y"
7402 if (processing_template_decl
)
7404 yyval
.ttype
= build_min_nt (IF_STMT
, NULL_TREE
, NULL_TREE
,
7406 add_tree (yyval
.ttype
);
7408 cond_stmt_keyword
= "if";
7412 #line 3490 "parse.y"
7414 if (processing_template_decl
)
7416 if (last_tree
!= yyvsp
[-2].ttype
)
7418 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = last_tree
;
7419 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7420 last_tree
= yyvsp
[-2].ttype
;
7423 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = yyvsp
[0].ttype
;
7427 emit_line_note (input_filename
, lineno
);
7428 expand_start_cond (yyvsp
[0].ttype
, 0);
7433 #line 3509 "parse.y"
7435 if (processing_template_decl
)
7437 TREE_OPERAND (yyvsp
[-4].ttype
, 1) = TREE_CHAIN (yyvsp
[-4].ttype
);
7438 TREE_CHAIN (yyvsp
[-4].ttype
) = NULL_TREE
;
7439 yyval
.ttype
= last_tree
= yyvsp
[-4].ttype
;
7444 #line 3521 "parse.y"
7448 #line 3523 "parse.y"
7450 if (processing_template_decl
)
7452 yyval
.ttype
= build_min_nt (COMPOUND_STMT
, NULL_TREE
);
7453 add_tree (yyval
.ttype
);
7458 #line 3531 "parse.y"
7460 if (processing_template_decl
)
7462 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7463 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7464 last_tree
= yyvsp
[-2].ttype
;
7466 yyval
.ttype
= yyvsp
[0].ttype
;
7470 #line 3544 "parse.y"
7474 #line 3550 "parse.y"
7478 #line 3552 "parse.y"
7480 tree expr
= yyvsp
[-1].ttype
;
7481 if (! processing_template_decl
)
7483 emit_line_note (input_filename
, lineno
);
7484 /* Do default conversion if safe and possibly important,
7485 in case within ({...}). */
7486 if ((TREE_CODE (TREE_TYPE (expr
)) == ARRAY_TYPE
7488 || TREE_CODE (TREE_TYPE (expr
)) == FUNCTION_TYPE
)
7489 expr
= default_conversion (expr
);
7491 cplus_expand_expr_stmt (expr
);
7496 #line 3568 "parse.y"
7497 { if (! processing_template_decl
) expand_start_else (); ;
7500 #line 3570 "parse.y"
7502 if (processing_template_decl
)
7504 TREE_OPERAND (yyvsp
[-3].ttype
, 2) = TREE_CHAIN (yyvsp
[-3].ttype
);
7505 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7506 last_tree
= yyvsp
[-3].ttype
;
7513 #line 3581 "parse.y"
7517 #line 3583 "parse.y"
7518 { if (! processing_template_decl
) expand_end_cond ();
7523 #line 3587 "parse.y"
7525 if (processing_template_decl
)
7527 yyval
.ttype
= build_min_nt (WHILE_STMT
, NULL_TREE
, NULL_TREE
);
7528 add_tree (yyval
.ttype
);
7533 emit_line_note (input_filename
, lineno
);
7534 expand_start_loop (1);
7536 cond_stmt_keyword
= "while";
7540 #line 3602 "parse.y"
7542 if (processing_template_decl
)
7544 if (last_tree
!= yyvsp
[-2].ttype
)
7546 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = last_tree
;
7547 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7548 last_tree
= yyvsp
[-2].ttype
;
7551 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = yyvsp
[0].ttype
;
7555 emit_line_note (input_filename
, lineno
);
7556 expand_exit_loop_if_false (0, yyvsp
[0].ttype
);
7561 #line 3621 "parse.y"
7563 if (processing_template_decl
)
7565 TREE_OPERAND (yyvsp
[-5].ttype
, 1) = TREE_CHAIN (yyvsp
[-5].ttype
);
7566 TREE_CHAIN (yyvsp
[-5].ttype
) = NULL_TREE
;
7567 last_tree
= yyvsp
[-5].ttype
;
7575 #line 3633 "parse.y"
7577 if (processing_template_decl
)
7579 yyval
.ttype
= build_min_nt (DO_STMT
, NULL_TREE
, NULL_TREE
);
7580 add_tree (yyval
.ttype
);
7585 emit_line_note (input_filename
, lineno
);
7586 expand_start_loop_continue_elsewhere (1);
7591 #line 3647 "parse.y"
7593 if (processing_template_decl
)
7595 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7596 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7597 last_tree
= yyvsp
[-2].ttype
;
7601 expand_loop_continue_here ();
7602 cond_stmt_keyword
= "do";
7607 #line 3661 "parse.y"
7609 if (processing_template_decl
)
7610 TREE_OPERAND (yyvsp
[-5].ttype
, 1) = yyvsp
[-1].ttype
;
7613 emit_line_note (input_filename
, lineno
);
7614 expand_exit_loop_if_false (0, yyvsp
[-1].ttype
);
7622 #line 3674 "parse.y"
7623 { if (processing_template_decl
)
7625 yyval
.ttype
= build_min_nt (FOR_STMT
, NULL_TREE
, NULL_TREE
,
7626 NULL_TREE
, NULL_TREE
);
7627 add_tree (yyval
.ttype
);
7630 emit_line_note (input_filename
, lineno
);
7631 if (flag_new_for_scope
> 0)
7633 /* Conditionalize .pushlevel */
7635 note_level_for_for ();
7638 expand_start_bindings (0);
7643 #line 3693 "parse.y"
7645 if (processing_template_decl
)
7647 if (last_tree
!= yyvsp
[-2].ttype
)
7649 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7650 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7651 last_tree
= yyvsp
[-2].ttype
;
7657 emit_line_note (input_filename
, lineno
);
7658 expand_start_loop_continue_elsewhere (1);
7663 #line 3711 "parse.y"
7665 if (processing_template_decl
)
7667 if (last_tree
!= yyvsp
[-6].ttype
)
7669 TREE_OPERAND (yyvsp
[-6].ttype
, 1) = last_tree
;
7670 TREE_CHAIN (yyvsp
[-6].ttype
) = NULL_TREE
;
7671 last_tree
= yyvsp
[-6].ttype
;
7674 TREE_OPERAND (yyvsp
[-6].ttype
, 1) = yyvsp
[-1].ttype
;
7678 emit_line_note (input_filename
, lineno
);
7679 if (yyvsp
[-1].ttype
) expand_exit_loop_if_false (0, yyvsp
[-1].ttype
);
7684 #line 3732 "parse.y"
7686 if (processing_template_decl
)
7687 TREE_OPERAND (yyvsp
[-9].ttype
, 2) = yyvsp
[-1].ttype
;
7692 #line 3738 "parse.y"
7694 if (processing_template_decl
)
7696 TREE_OPERAND (yyvsp
[-12].ttype
, 3) = TREE_CHAIN (yyvsp
[-12].ttype
);
7697 TREE_CHAIN (yyvsp
[-12].ttype
) = NULL_TREE
;
7698 last_tree
= yyvsp
[-12].ttype
;
7702 emit_line_note (input_filename
, lineno
);
7703 expand_loop_continue_here ();
7704 if (yyvsp
[-4].ttype
) cplus_expand_expr_stmt (yyvsp
[-4].ttype
);
7708 if (flag_new_for_scope
> 0)
7715 #line 3759 "parse.y"
7717 if (processing_template_decl
)
7719 yyval
.ttype
= build_min_nt (SWITCH_STMT
, yyvsp
[-1].ttype
, NULL_TREE
);
7720 add_tree (yyval
.ttype
);
7724 emit_line_note (input_filename
, lineno
);
7725 c_expand_start_case (yyvsp
[-1].ttype
);
7728 /* Don't let the tree nodes for $4 be discarded by
7729 clear_momentary during the parsing of the next stmt. */
7734 #line 3776 "parse.y"
7736 if (processing_template_decl
)
7738 TREE_OPERAND (yyvsp
[-1].ttype
, 1) = TREE_CHAIN (yyvsp
[-1].ttype
);
7739 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
7740 last_tree
= yyvsp
[-1].ttype
;
7743 expand_end_case (yyvsp
[-3].ttype
);
7749 #line 3789 "parse.y"
7753 #line 3791 "parse.y"
7754 { do_case (yyvsp
[-1].ttype
, NULL_TREE
); ;
7757 #line 3794 "parse.y"
7758 { do_case (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7761 #line 3797 "parse.y"
7762 { do_case (NULL_TREE
, NULL_TREE
); ;
7765 #line 3800 "parse.y"
7766 { emit_line_note (input_filename
, lineno
);
7767 if (processing_template_decl
)
7768 add_tree (build_min_nt (BREAK_STMT
));
7769 else if ( ! expand_exit_something ())
7770 error ("break statement not within loop or switch"); ;
7773 #line 3806 "parse.y"
7774 { emit_line_note (input_filename
, lineno
);
7775 if (processing_template_decl
)
7776 add_tree (build_min_nt (CONTINUE_STMT
));
7777 else if (! expand_continue_loop (0))
7778 error ("continue statement not within a loop"); ;
7781 #line 3812 "parse.y"
7782 { emit_line_note (input_filename
, lineno
);
7783 c_expand_return (NULL_TREE
); ;
7786 #line 3815 "parse.y"
7787 { emit_line_note (input_filename
, lineno
);
7788 c_expand_return (yyvsp
[-1].ttype
);
7793 #line 3820 "parse.y"
7794 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
7795 emit_line_note (input_filename
, lineno
);
7796 expand_asm (yyvsp
[-2].ttype
);
7801 #line 3827 "parse.y"
7802 { if (TREE_CHAIN (yyvsp
[-4].ttype
)) yyvsp
[-4].ttype
= combine_strings (yyvsp
[-4].ttype
);
7803 emit_line_note (input_filename
, lineno
);
7804 c_expand_asm_operands (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7805 yyvsp
[-6].ttype
== ridpointers
[(int)RID_VOLATILE
],
7806 input_filename
, lineno
);
7811 #line 3836 "parse.y"
7812 { if (TREE_CHAIN (yyvsp
[-6].ttype
)) yyvsp
[-6].ttype
= combine_strings (yyvsp
[-6].ttype
);
7813 emit_line_note (input_filename
, lineno
);
7814 c_expand_asm_operands (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7815 yyvsp
[-8].ttype
== ridpointers
[(int)RID_VOLATILE
],
7816 input_filename
, lineno
);
7821 #line 3846 "parse.y"
7822 { if (TREE_CHAIN (yyvsp
[-8].ttype
)) yyvsp
[-8].ttype
= combine_strings (yyvsp
[-8].ttype
);
7823 emit_line_note (input_filename
, lineno
);
7824 c_expand_asm_operands (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
,
7825 yyvsp
[-10].ttype
== ridpointers
[(int)RID_VOLATILE
],
7826 input_filename
, lineno
);
7831 #line 3854 "parse.y"
7833 if (processing_template_decl
)
7834 add_tree (build_min_nt (GOTO_STMT
, yyvsp
[-1].ttype
));
7836 { emit_line_note (input_filename
, lineno
);
7837 expand_computed_goto (yyvsp
[-1].ttype
); }
7841 #line 3862 "parse.y"
7843 if (processing_template_decl
)
7844 add_tree (build_min_nt (GOTO_STMT
, yyvsp
[-1].ttype
));
7848 emit_line_note (input_filename
, lineno
);
7849 decl
= lookup_label (yyvsp
[-1].ttype
);
7850 TREE_USED (decl
) = 1;
7856 #line 3875 "parse.y"
7860 #line 3877 "parse.y"
7861 { error ("label must be followed by statement");
7866 #line 3881 "parse.y"
7870 #line 3887 "parse.y"
7872 if (! current_function_parms_stored
)
7873 store_parm_decls ();
7874 expand_start_early_try_stmts ();
7878 #line 3893 "parse.y"
7879 { expand_start_all_catch (); ;
7882 #line 3895 "parse.y"
7884 int nested
= (hack_decl_function_context
7885 (current_function_decl
) != NULL_TREE
);
7886 expand_end_all_catch ();
7887 finish_function (lineno
, (int)yyvsp
[-3].itype
, nested
);
7891 #line 3905 "parse.y"
7893 if (processing_template_decl
)
7895 yyval
.ttype
= build_min_nt (TRY_BLOCK
, NULL_TREE
,
7897 add_tree (yyval
.ttype
);
7901 emit_line_note (input_filename
, lineno
);
7902 expand_start_try_stmts ();
7907 #line 3919 "parse.y"
7909 if (processing_template_decl
)
7911 TREE_OPERAND (yyvsp
[-1].ttype
, 0) = TREE_CHAIN (yyvsp
[-1].ttype
);
7912 TREE_CHAIN (yyvsp
[-1].ttype
) = NULL_TREE
;
7913 last_tree
= yyvsp
[-1].ttype
;
7916 expand_start_all_catch ();
7920 #line 3930 "parse.y"
7922 if (processing_template_decl
)
7924 TREE_OPERAND (yyvsp
[-3].ttype
, 1) = TREE_CHAIN (yyvsp
[-3].ttype
);
7925 TREE_CHAIN (yyvsp
[-3].ttype
) = NULL_TREE
;
7926 last_tree
= yyvsp
[-3].ttype
;
7929 expand_end_all_catch ();
7933 #line 3949 "parse.y"
7935 if (processing_template_decl
)
7937 yyval
.ttype
= build_min_nt (HANDLER
, NULL_TREE
,
7939 add_tree (yyval
.ttype
);
7944 #line 3958 "parse.y"
7946 if (processing_template_decl
)
7948 TREE_OPERAND (yyvsp
[-2].ttype
, 0) = TREE_CHAIN (yyvsp
[-2].ttype
);
7949 TREE_CHAIN (yyvsp
[-2].ttype
) = NULL_TREE
;
7950 last_tree
= yyvsp
[-2].ttype
;
7955 #line 3967 "parse.y"
7957 if (processing_template_decl
)
7959 TREE_OPERAND (yyvsp
[-4].ttype
, 1) = TREE_CHAIN (yyvsp
[-4].ttype
);
7960 TREE_CHAIN (yyvsp
[-4].ttype
) = NULL_TREE
;
7961 last_tree
= yyvsp
[-4].ttype
;
7964 expand_end_catch_block ();
7968 #line 3987 "parse.y"
7969 { expand_start_catch_block (NULL_TREE
, NULL_TREE
); ;
7972 #line 4003 "parse.y"
7973 { check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
7974 expand_start_catch_block (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
7975 TREE_VALUE (yyvsp
[-1].ftype
.t
)); ;
7978 #line 4010 "parse.y"
7981 label
= define_label (input_filename
, lineno
, yyvsp
[-1].ttype
);
7982 if (label
&& ! minimal_parse_mode
)
7983 expand_label (label
);
7987 #line 4017 "parse.y"
7991 #line 4019 "parse.y"
7995 #line 4021 "parse.y"
7999 #line 4026 "parse.y"
8000 { if (yyvsp
[-1].ttype
) cplus_expand_expr_stmt (yyvsp
[-1].ttype
); ;
8003 #line 4029 "parse.y"
8005 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
8009 #line 4038 "parse.y"
8010 { emit_line_note (input_filename
, lineno
);
8011 yyval
.ttype
= NULL_TREE
; ;
8014 #line 4041 "parse.y"
8015 { emit_line_note (input_filename
, lineno
); ;
8018 #line 4046 "parse.y"
8019 { yyval
.ttype
= NULL_TREE
; ;
8022 #line 4049 "parse.y"
8023 { yyval
.ttype
= NULL_TREE
; ;
8026 #line 4056 "parse.y"
8027 { yyval
.ttype
= NULL_TREE
; ;
8030 #line 4063 "parse.y"
8031 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
8034 #line 4068 "parse.y"
8035 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
8038 #line 4073 "parse.y"
8039 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
8042 #line 4075 "parse.y"
8043 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
8046 #line 4086 "parse.y"
8048 yyval
.ttype
= empty_parms();
8052 #line 4091 "parse.y"
8053 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, void_list_node
);
8054 TREE_PARMLIST (yyval
.ttype
) = 1;
8055 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
8058 #line 4100 "parse.y"
8060 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
8061 TREE_PARMLIST (yyval
.ttype
) = 1;
8065 #line 4105 "parse.y"
8067 TREE_PARMLIST (yyval
.ttype
) = 1;
8071 #line 4110 "parse.y"
8073 TREE_PARMLIST (yyval
.ttype
) = 1;
8077 #line 4114 "parse.y"
8079 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
8080 TREE_PARMLIST (yyval
.ttype
) = 1;
8084 #line 4119 "parse.y"
8086 yyval
.ttype
= NULL_TREE
;
8090 #line 4123 "parse.y"
8092 TREE_PARMLIST (yyval
.ttype
) = 1;
8096 #line 4127 "parse.y"
8098 TREE_PARMLIST (yyval
.ttype
) = 1;
8102 #line 4131 "parse.y"
8104 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
);
8105 TREE_PARMLIST (yyval
.ttype
) = 1;
8109 #line 4136 "parse.y"
8111 /* This helps us recover from really nasty
8112 parse errors, for example, a missing right
8114 yyerror ("possibly missing ')'");
8115 yyval
.ttype
= chainon (yyval
.ttype
, void_list_node
);
8116 TREE_PARMLIST (yyval
.ttype
) = 1;
8122 #line 4147 "parse.y"
8124 /* This helps us recover from really nasty
8125 parse errors, for example, a missing right
8127 yyerror ("possibly missing ')'");
8128 yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, void_list_node
);
8129 TREE_PARMLIST (yyval
.ttype
) = 1;
8135 #line 4162 "parse.y"
8136 { maybe_snarf_defarg (); ;
8139 #line 4164 "parse.y"
8140 { yyval
.ttype
= yyvsp
[0].ttype
; ;
8143 #line 4175 "parse.y"
8144 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8145 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
8148 #line 4178 "parse.y"
8149 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8150 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
8153 #line 4181 "parse.y"
8154 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8155 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
8158 #line 4184 "parse.y"
8159 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
8162 #line 4186 "parse.y"
8163 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
8166 #line 4192 "parse.y"
8167 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8168 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
8171 #line 4202 "parse.y"
8172 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8173 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
8174 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
8177 #line 4206 "parse.y"
8178 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
8179 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8182 #line 4209 "parse.y"
8183 { yyval
.ftype
.t
= build_tree_list (get_decl_list (yyvsp
[-1].ftype
.t
), yyvsp
[0].ttype
);
8184 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8187 #line 4212 "parse.y"
8188 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8189 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8190 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8193 #line 4216 "parse.y"
8194 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
8195 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
8196 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8199 #line 4220 "parse.y"
8200 { tree specs
= strip_attrs (yyvsp
[-1].ttype
);
8201 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8202 yyval
.ftype
.new_type_flag
= 0; ;
8205 #line 4227 "parse.y"
8206 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
8207 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8210 #line 4230 "parse.y"
8211 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
8212 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8215 #line 4241 "parse.y"
8216 { see_typename (); ;
8219 #line 4246 "parse.y"
8221 error ("type specifier omitted for parameter");
8222 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
8226 #line 4251 "parse.y"
8228 error ("type specifier omitted for parameter");
8229 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
8230 && TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
)
8231 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
8232 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
8236 #line 4262 "parse.y"
8237 { yyval
.ttype
= NULL_TREE
; ;
8240 #line 4264 "parse.y"
8241 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
8244 #line 4266 "parse.y"
8245 { yyval
.ttype
= build_decl_list (NULL_TREE
, NULL_TREE
); ;
8248 #line 4271 "parse.y"
8249 { yyval
.ttype
= build_decl_list (NULL_TREE
, groktypename(yyvsp
[0].ftype
.t
)); ;
8252 #line 4277 "parse.y"
8254 TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
;
8255 yyval
.ttype
= yyvsp
[0].ttype
;
8259 #line 4285 "parse.y"
8260 { yyval
.ttype
= NULL_TREE
; ;
8263 #line 4287 "parse.y"
8264 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8267 #line 4289 "parse.y"
8268 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8271 #line 4291 "parse.y"
8272 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
8273 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
8277 #line 4298 "parse.y"
8278 { got_scope
= NULL_TREE
; ;
8281 #line 4303 "parse.y"
8282 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
8285 #line 4305 "parse.y"
8286 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
8289 #line 4307 "parse.y"
8290 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
8293 #line 4309 "parse.y"
8294 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
8297 #line 4311 "parse.y"
8298 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
8301 #line 4313 "parse.y"
8302 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
8305 #line 4315 "parse.y"
8306 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
8309 #line 4317 "parse.y"
8310 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
8313 #line 4319 "parse.y"
8314 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
8317 #line 4321 "parse.y"
8318 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
8321 #line 4323 "parse.y"
8322 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8325 #line 4325 "parse.y"
8326 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
8329 #line 4327 "parse.y"
8330 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
8333 #line 4329 "parse.y"
8334 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8337 #line 4331 "parse.y"
8338 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
8341 #line 4333 "parse.y"
8342 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
8345 #line 4335 "parse.y"
8346 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8349 #line 4337 "parse.y"
8350 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8353 #line 4339 "parse.y"
8354 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
8357 #line 4341 "parse.y"
8358 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
8361 #line 4343 "parse.y"
8362 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
8365 #line 4345 "parse.y"
8366 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
8369 #line 4347 "parse.y"
8370 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
8373 #line 4349 "parse.y"
8374 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
8377 #line 4351 "parse.y"
8378 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8381 #line 4353 "parse.y"
8382 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
8385 #line 4355 "parse.y"
8386 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
8389 #line 4357 "parse.y"
8390 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
8393 #line 4359 "parse.y"
8394 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
8397 #line 4361 "parse.y"
8398 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
8401 #line 4363 "parse.y"
8402 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
8405 #line 4365 "parse.y"
8406 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
8409 #line 4367 "parse.y"
8410 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
8413 #line 4370 "parse.y"
8414 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
8417 #line 4372 "parse.y"
8418 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
8421 /* the action file gets copied in in place of this dollarsign */
8422 #line 498 "/usr/share/bison.simple"
8433 short *ssp1
= yyss
- 1;
8434 fprintf (stderr
, "state stack now");
8435 while (ssp1
!= yyssp
)
8436 fprintf (stderr
, " %d", *++ssp1
);
8437 fprintf (stderr
, "\n");
8447 yylsp
->first_line
= yylloc
.first_line
;
8448 yylsp
->first_column
= yylloc
.first_column
;
8449 yylsp
->last_line
= (yylsp
-1)->last_line
;
8450 yylsp
->last_column
= (yylsp
-1)->last_column
;
8455 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
8456 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
8460 /* Now "shift" the result of the reduction.
8461 Determine what state that goes to,
8462 based on the state we popped back to
8463 and the rule number reduced by. */
8467 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
8468 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
8469 yystate
= yytable
[yystate
];
8471 yystate
= yydefgoto
[yyn
- YYNTBASE
];
8475 yyerrlab
: /* here on detecting error */
8478 /* If not already recovering from an error, report this error. */
8482 #ifdef YYERROR_VERBOSE
8483 yyn
= yypact
[yystate
];
8485 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
8492 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8493 for (x
= (yyn
< 0 ? -yyn
: 0);
8494 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8495 if (yycheck
[x
+ yyn
] == x
)
8496 size
+= strlen(yytname
[x
]) + 15, count
++;
8497 msg
= (char *) malloc(size
+ 15);
8500 strcpy(msg
, "parse error");
8505 for (x
= (yyn
< 0 ? -yyn
: 0);
8506 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8507 if (yycheck
[x
+ yyn
] == x
)
8509 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
8510 strcat(msg
, yytname
[x
]);
8519 yyerror ("parse error; also virtual memory exceeded");
8522 #endif /* YYERROR_VERBOSE */
8523 yyerror("parse error");
8527 yyerrlab1
: /* here on error raised explicitly by an action */
8529 if (yyerrstatus
== 3)
8531 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8533 /* return failure if at end of input */
8534 if (yychar
== YYEOF
)
8539 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8545 /* Else will try to reuse lookahead token
8546 after shifting the error token. */
8548 yyerrstatus
= 3; /* Each real token shifted decrements this */
8552 yyerrdefault
: /* current state does not do anything special for the error token. */
8555 /* This is wrong; only states that explicitly want error tokens
8556 should shift them. */
8557 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8558 if (yyn
) goto yydefault
;
8561 yyerrpop
: /* pop the current state because it cannot handle the error token */
8563 if (yyssp
== yyss
) YYABORT
;
8573 short *ssp1
= yyss
- 1;
8574 fprintf (stderr
, "Error: state stack now");
8575 while (ssp1
!= yyssp
)
8576 fprintf (stderr
, " %d", *++ssp1
);
8577 fprintf (stderr
, "\n");
8583 yyn
= yypact
[yystate
];
8588 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8607 fprintf(stderr
, "Shifting error token, ");
8618 #line 4375 "parse.y"
8623 debug_yytranslate (value
)
8626 return yytname
[YYTRANSLATE (value
)];