parse.y (direct_notype_declarator): Add precedence declaration to notype_unqualified_...
[gcc.git] / gcc / cp / parse.c
1
2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
4 */
5
6 #define YYBISON 1 /* Identify Bison output. */
7
8 #define IDENTIFIER 258
9 #define TYPENAME 259
10 #define SELFNAME 260
11 #define PFUNCNAME 261
12 #define SCSPEC 262
13 #define TYPESPEC 263
14 #define CV_QUALIFIER 264
15 #define CONSTANT 265
16 #define STRING 266
17 #define ELLIPSIS 267
18 #define SIZEOF 268
19 #define ENUM 269
20 #define IF 270
21 #define ELSE 271
22 #define WHILE 272
23 #define DO 273
24 #define FOR 274
25 #define SWITCH 275
26 #define CASE 276
27 #define DEFAULT 277
28 #define BREAK 278
29 #define CONTINUE 279
30 #define RETURN 280
31 #define GOTO 281
32 #define ASM_KEYWORD 282
33 #define TYPEOF 283
34 #define ALIGNOF 284
35 #define SIGOF 285
36 #define ATTRIBUTE 286
37 #define EXTENSION 287
38 #define LABEL 288
39 #define REALPART 289
40 #define IMAGPART 290
41 #define AGGR 291
42 #define VISSPEC 292
43 #define DELETE 293
44 #define NEW 294
45 #define THIS 295
46 #define OPERATOR 296
47 #define CXX_TRUE 297
48 #define CXX_FALSE 298
49 #define NAMESPACE 299
50 #define TYPENAME_KEYWORD 300
51 #define USING 301
52 #define LEFT_RIGHT 302
53 #define TEMPLATE 303
54 #define TYPEID 304
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
59 #define SCOPE 309
60 #define EMPTY 310
61 #define PTYPENAME 311
62 #define NSNAME 312
63 #define THROW 313
64 #define ASSIGN 314
65 #define OROR 315
66 #define ANDAND 316
67 #define MIN_MAX 317
68 #define EQCOMPARE 318
69 #define ARITHCOMPARE 319
70 #define LSHIFT 320
71 #define RSHIFT 321
72 #define POINTSAT_STAR 322
73 #define DOT_STAR 323
74 #define UNARY 324
75 #define PLUSPLUS 325
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
79 #define POINTSAT 329
80 #define TRY 330
81 #define CATCH 331
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
84 #define ALL 334
85 #define PRE_PARSED_CLASS_DECL 335
86 #define DEFARG 336
87 #define DEFARG_MARKER 337
88 #define TYPENAME_DEFN 338
89 #define IDENTIFIER_DEFN 339
90 #define PTYPENAME_DEFN 340
91 #define END_OF_LINE 341
92 #define END_OF_SAVED_INPUT 342
93
94 #line 29 "parse.y"
95
96 /* Cause the `yydebug' variable to be defined. */
97 #define YYDEBUG 1
98
99 #include "config.h"
100
101 #include "system.h"
102
103 #include "tree.h"
104 #include "input.h"
105 #include "flags.h"
106 #include "lex.h"
107 #include "cp-tree.h"
108 #include "output.h"
109 #include "except.h"
110 #include "toplev.h"
111
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 char *language_string = "GNU C++";
115
116 extern tree void_list_node;
117 extern struct obstack permanent_obstack;
118
119 extern int end_of_file;
120
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
123
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
126
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static char *cond_stmt_keyword;
130
131 static tree empty_parms PROTO((void));
132
133 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
134 int have_extern_spec;
135 int used_extern_spec;
136
137 /* Cons up an empty parameter list. */
138 #ifdef __GNUC__
139 __inline
140 #endif
141 static tree
142 empty_parms ()
143 {
144 tree parms;
145
146 if (strict_prototype
147 || current_class_type != NULL)
148 parms = void_list_node;
149 else
150 parms = NULL_TREE;
151 return parms;
152 }
153
154
155 #line 92 "parse.y"
156 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
157 #line 282 "parse.y"
158
159 /* List of types and structure classes of the current declaration. */
160 static tree current_declspecs;
161
162 /* List of prefix attributes in effect.
163 Prefix attributes are parsed by the reserved_declspecs and declmods
164 rules. They create a list that contains *both* declspecs and attrs. */
165 /* ??? It is not clear yet that all cases where an attribute can now appear in
166 a declspec list have been updated. */
167 static tree prefix_attributes;
168
169 /* When defining an aggregate, this is the most recent one being defined. */
170 static tree current_aggr;
171
172 /* Tell yyparse how to print a token's value, if yydebug is set. */
173
174 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
175 extern void yyprint PROTO((FILE *, int, YYSTYPE));
176 extern tree combine_strings PROTO((tree));
177
178 static int
179 parse_decl(declarator, specs_attrs, attributes, initialized, decl)
180 tree declarator;
181 tree specs_attrs;
182 tree attributes;
183 int initialized;
184 tree* decl;
185 {
186 int sm;
187
188 split_specs_attrs (specs_attrs, &current_declspecs, &prefix_attributes);
189 if (current_declspecs
190 && TREE_CODE (current_declspecs) != TREE_LIST)
191 current_declspecs = get_decl_list (current_declspecs);
192 if (have_extern_spec && !used_extern_spec)
193 {
194 current_declspecs = decl_tree_cons (NULL_TREE,
195 get_identifier ("extern"),
196 current_declspecs);
197 used_extern_spec = 1;
198 }
199 sm = suspend_momentary ();
200 *decl = start_decl (declarator, current_declspecs, initialized,
201 attributes, prefix_attributes);
202 return sm;
203 }
204 #include <stdio.h>
205
206 #ifndef __cplusplus
207 #ifndef __STDC__
208 #define const
209 #endif
210 #endif
211
212
213
214 #define YYFINAL 1579
215 #define YYFLAG -32768
216 #define YYNTBASE 112
217
218 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 392)
219
220 static const char yytranslate[] = { 0,
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, 110, 2, 2, 2, 82, 70, 2, 93,
225 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
227 64, 75, 65, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
230 94, 2, 111, 69, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 58, 68, 109, 88, 2, 2, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
247 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
248 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
249 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
250 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
251 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
252 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
253 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
254 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
255 106, 107
256 };
257
258 #if YYDEBUG != 0
259 static const short yyprhs[] = { 0,
260 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
261 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
262 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
263 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
264 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
265 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
266 180, 182, 186, 189, 192, 195, 199, 203, 206, 209,
267 212, 215, 218, 220, 222, 224, 225, 227, 230, 231,
268 233, 238, 242, 246, 247, 256, 262, 263, 273, 280,
269 281, 290, 296, 297, 307, 314, 317, 320, 322, 325,
270 327, 334, 339, 346, 351, 354, 356, 359, 362, 364,
271 367, 369, 372, 375, 380, 383, 387, 388, 389, 391,
272 395, 398, 402, 404, 409, 412, 417, 420, 425, 428,
273 430, 432, 434, 436, 438, 440, 442, 444, 446, 448,
274 450, 451, 458, 459, 466, 467, 473, 474, 480, 481,
275 489, 490, 498, 499, 506, 507, 514, 515, 516, 521,
276 526, 528, 533, 535, 537, 538, 540, 542, 546, 548,
277 550, 552, 554, 556, 558, 560, 562, 564, 566, 568,
278 572, 574, 578, 579, 581, 583, 584, 592, 594, 596,
279 600, 605, 609, 610, 614, 616, 620, 624, 628, 632,
280 634, 636, 638, 641, 644, 647, 650, 653, 656, 659,
281 664, 667, 672, 675, 679, 683, 688, 694, 701, 708,
282 716, 719, 724, 730, 733, 736, 738, 739, 744, 749,
283 753, 755, 759, 762, 766, 771, 773, 776, 782, 784,
284 788, 792, 796, 800, 804, 808, 812, 816, 820, 824,
285 828, 832, 836, 840, 844, 848, 852, 856, 860, 866,
286 870, 874, 876, 879, 883, 885, 887, 889, 891, 893,
287 894, 900, 906, 912, 918, 924, 926, 928, 930, 932,
288 935, 938, 942, 947, 952, 954, 956, 958, 962, 964,
289 966, 968, 970, 974, 978, 982, 983, 988, 993, 996,
290 1001, 1004, 1009, 1012, 1015, 1017, 1022, 1024, 1032, 1040,
291 1048, 1056, 1061, 1066, 1069, 1072, 1075, 1077, 1082, 1085,
292 1088, 1094, 1098, 1101, 1104, 1110, 1114, 1120, 1124, 1129,
293 1136, 1139, 1141, 1144, 1146, 1149, 1151, 1153, 1155, 1158,
294 1159, 1162, 1165, 1169, 1173, 1177, 1180, 1183, 1186, 1188,
295 1190, 1192, 1195, 1198, 1201, 1204, 1206, 1208, 1210, 1212,
296 1215, 1218, 1222, 1226, 1230, 1235, 1237, 1240, 1243, 1246,
297 1248, 1250, 1252, 1255, 1258, 1261, 1263, 1265, 1268, 1271,
298 1275, 1277, 1280, 1282, 1284, 1286, 1291, 1296, 1301, 1306,
299 1308, 1310, 1312, 1314, 1318, 1320, 1324, 1326, 1330, 1331,
300 1336, 1337, 1344, 1348, 1349, 1354, 1356, 1360, 1364, 1365,
301 1370, 1374, 1375, 1377, 1379, 1382, 1389, 1391, 1395, 1396,
302 1398, 1403, 1410, 1415, 1417, 1419, 1421, 1423, 1425, 1429,
303 1430, 1433, 1435, 1438, 1442, 1447, 1449, 1451, 1455, 1460,
304 1464, 1470, 1472, 1477, 1481, 1485, 1486, 1490, 1494, 1498,
305 1499, 1502, 1505, 1506, 1514, 1519, 1520, 1527, 1531, 1534,
306 1537, 1540, 1541, 1542, 1552, 1554, 1555, 1557, 1558, 1560,
307 1562, 1565, 1568, 1571, 1574, 1577, 1580, 1583, 1586, 1589,
308 1593, 1598, 1602, 1605, 1609, 1610, 1612, 1616, 1619, 1622,
309 1624, 1626, 1627, 1630, 1634, 1636, 1641, 1643, 1647, 1649,
310 1651, 1656, 1661, 1664, 1667, 1671, 1675, 1677, 1678, 1680,
311 1683, 1688, 1692, 1694, 1697, 1700, 1703, 1706, 1709, 1712,
312 1715, 1717, 1720, 1723, 1727, 1730, 1733, 1738, 1743, 1746,
313 1748, 1754, 1759, 1761, 1762, 1764, 1768, 1769, 1771, 1775,
314 1777, 1779, 1781, 1783, 1788, 1793, 1798, 1803, 1808, 1812,
315 1817, 1822, 1827, 1832, 1836, 1838, 1842, 1844, 1848, 1851,
316 1853, 1861, 1862, 1865, 1867, 1870, 1871, 1874, 1879, 1884,
317 1887, 1892, 1896, 1900, 1903, 1906, 1910, 1912, 1914, 1917,
318 1919, 1921, 1924, 1927, 1932, 1937, 1941, 1945, 1948, 1950,
319 1954, 1958, 1961, 1964, 1968, 1970, 1974, 1978, 1981, 1984,
320 1988, 1990, 1995, 1999, 2004, 2008, 2010, 2013, 2016, 2019,
321 2022, 2025, 2027, 2030, 2035, 2040, 2043, 2045, 2047, 2049,
322 2051, 2054, 2059, 2062, 2065, 2068, 2071, 2073, 2076, 2079,
323 2082, 2085, 2089, 2091, 2094, 2098, 2103, 2106, 2109, 2112,
324 2115, 2118, 2121, 2126, 2129, 2131, 2134, 2137, 2141, 2143,
325 2147, 2150, 2154, 2157, 2160, 2164, 2166, 2170, 2175, 2179,
326 2182, 2185, 2187, 2191, 2194, 2197, 2199, 2202, 2206, 2208,
327 2212, 2214, 2221, 2226, 2231, 2235, 2241, 2245, 2249, 2253,
328 2256, 2258, 2260, 2263, 2266, 2269, 2270, 2272, 2274, 2277,
329 2281, 2283, 2286, 2287, 2291, 2292, 2293, 2299, 2301, 2302,
330 2305, 2307, 2309, 2311, 2314, 2315, 2320, 2322, 2323, 2324,
331 2330, 2331, 2332, 2340, 2341, 2342, 2343, 2344, 2357, 2358,
332 2359, 2367, 2368, 2374, 2375, 2383, 2384, 2389, 2392, 2395,
333 2398, 2402, 2409, 2418, 2429, 2442, 2447, 2451, 2454, 2457,
334 2459, 2461, 2463, 2465, 2467, 2468, 2469, 2476, 2477, 2478,
335 2484, 2486, 2489, 2490, 2491, 2497, 2499, 2501, 2505, 2509,
336 2512, 2515, 2518, 2521, 2524, 2526, 2529, 2530, 2532, 2533,
337 2535, 2537, 2538, 2540, 2542, 2546, 2551, 2553, 2557, 2558,
338 2560, 2562, 2564, 2567, 2570, 2573, 2575, 2578, 2581, 2582,
339 2586, 2588, 2590, 2592, 2595, 2598, 2601, 2606, 2609, 2612,
340 2615, 2618, 2621, 2624, 2626, 2629, 2631, 2634, 2636, 2638,
341 2639, 2640, 2642, 2643, 2648, 2651, 2653, 2655, 2659, 2660,
342 2664, 2668, 2672, 2674, 2677, 2680, 2683, 2686, 2689, 2692,
343 2695, 2698, 2701, 2704, 2707, 2710, 2713, 2716, 2719, 2722,
344 2725, 2728, 2731, 2734, 2737, 2740, 2743, 2747, 2750, 2753,
345 2756, 2759, 2763, 2766, 2769, 2774, 2779, 2783
346 };
347
348 static const short yyrhs[] = { -1,
349 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
350 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
351 122, 0, 146, 145, 0, 142, 0, 141, 0, 119,
352 93, 214, 108, 60, 0, 133, 58, 115, 109, 0,
353 133, 116, 146, 117, 145, 0, 133, 116, 142, 117,
354 0, 0, 44, 161, 58, 123, 115, 109, 0, 0,
355 44, 58, 124, 115, 109, 0, 125, 0, 127, 60,
356 0, 129, 0, 118, 122, 0, 0, 44, 161, 64,
357 126, 132, 60, 0, 46, 306, 0, 46, 320, 306,
358 0, 46, 320, 205, 0, 46, 131, 161, 0, 46,
359 320, 161, 0, 46, 320, 131, 161, 0, 0, 46,
360 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
361 54, 0, 205, 0, 306, 0, 320, 306, 0, 320,
362 205, 0, 98, 0, 133, 98, 0, 0, 48, 74,
363 135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
364 136, 59, 140, 0, 161, 0, 0, 263, 137, 0,
365 45, 137, 0, 134, 263, 137, 0, 138, 0, 138,
366 64, 220, 0, 383, 0, 383, 64, 200, 0, 139,
367 0, 139, 64, 180, 0, 134, 122, 0, 134, 1,
368 0, 231, 60, 0, 224, 230, 60, 0, 221, 229,
369 60, 0, 224, 60, 0, 164, 60, 0, 221, 60,
370 0, 1, 60, 0, 1, 109, 0, 60, 0, 215,
371 0, 157, 0, 0, 156, 0, 156, 60, 0, 0,
372 107, 0, 152, 144, 143, 330, 0, 152, 144, 354,
373 0, 152, 144, 1, 0, 0, 311, 5, 93, 148,
374 374, 108, 293, 386, 0, 311, 5, 47, 293, 386,
375 0, 0, 320, 311, 5, 93, 149, 374, 108, 293,
376 386, 0, 320, 311, 5, 47, 293, 386, 0, 0,
377 311, 176, 93, 150, 374, 108, 293, 386, 0, 311,
378 176, 47, 293, 386, 0, 0, 320, 311, 176, 93,
379 151, 374, 108, 293, 386, 0, 320, 311, 176, 47,
380 293, 386, 0, 221, 218, 0, 224, 303, 0, 303,
381 0, 224, 147, 0, 147, 0, 5, 93, 374, 108,
382 293, 386, 0, 5, 47, 293, 386, 0, 176, 93,
383 374, 108, 293, 386, 0, 176, 47, 293, 386, 0,
384 224, 153, 0, 153, 0, 221, 218, 0, 224, 303,
385 0, 303, 0, 224, 147, 0, 147, 0, 25, 3,
386 0, 155, 248, 0, 155, 93, 192, 108, 0, 155,
387 47, 0, 62, 158, 159, 0, 0, 0, 160, 0,
388 159, 59, 160, 0, 159, 1, 0, 93, 192, 108,
389 0, 47, 0, 162, 93, 192, 108, 0, 162, 47,
390 0, 299, 93, 192, 108, 0, 299, 47, 0, 313,
391 93, 192, 108, 0, 313, 47, 0, 3, 0, 4,
392 0, 5, 0, 56, 0, 57, 0, 3, 0, 56,
393 0, 57, 0, 104, 0, 103, 0, 105, 0, 0,
394 48, 173, 227, 60, 165, 174, 0, 0, 48, 173,
395 221, 218, 166, 174, 0, 0, 48, 173, 303, 167,
396 174, 0, 0, 48, 173, 147, 168, 174, 0, 0,
397 7, 48, 173, 227, 60, 169, 174, 0, 0, 7,
398 48, 173, 221, 218, 170, 174, 0, 0, 7, 48,
399 173, 303, 171, 174, 0, 0, 7, 48, 173, 147,
400 172, 174, 0, 0, 0, 56, 74, 178, 177, 0,
401 4, 74, 178, 177, 0, 176, 0, 5, 74, 178,
402 177, 0, 75, 0, 77, 0, 0, 179, 0, 180,
403 0, 179, 59, 180, 0, 220, 0, 56, 0, 200,
404 0, 79, 0, 78, 0, 86, 0, 87, 0, 110,
405 0, 191, 0, 200, 0, 47, 0, 93, 182, 108,
406 0, 47, 0, 93, 186, 108, 0, 0, 186, 0,
407 1, 0, 0, 364, 218, 232, 241, 64, 187, 249,
408 0, 182, 0, 109, 0, 327, 325, 109, 0, 327,
409 325, 1, 109, 0, 327, 1, 109, 0, 0, 58,
410 190, 188, 0, 339, 0, 200, 59, 200, 0, 200,
411 59, 1, 0, 191, 59, 200, 0, 191, 59, 1,
412 0, 200, 0, 191, 0, 209, 0, 118, 199, 0,
413 80, 199, 0, 70, 199, 0, 88, 199, 0, 181,
414 199, 0, 67, 161, 0, 13, 193, 0, 13, 93,
415 220, 108, 0, 29, 193, 0, 29, 93, 220, 108,
416 0, 211, 292, 0, 211, 292, 197, 0, 211, 196,
417 292, 0, 211, 196, 292, 197, 0, 211, 93, 195,
418 220, 194, 0, 211, 93, 195, 220, 194, 197, 0,
419 211, 196, 93, 195, 220, 194, 0, 211, 196, 93,
420 195, 220, 194, 197, 0, 212, 199, 0, 212, 94,
421 111, 199, 0, 212, 94, 182, 111, 199, 0, 34,
422 199, 0, 35, 199, 0, 108, 0, 0, 93, 195,
423 192, 108, 0, 58, 195, 192, 109, 0, 93, 192,
424 108, 0, 47, 0, 93, 227, 108, 0, 64, 249,
425 0, 93, 220, 108, 0, 198, 93, 220, 108, 0,
426 193, 0, 198, 193, 0, 198, 58, 250, 261, 109,
427 0, 199, 0, 200, 83, 200, 0, 200, 84, 200,
428 0, 200, 78, 200, 0, 200, 79, 200, 0, 200,
429 80, 200, 0, 200, 81, 200, 0, 200, 82, 200,
430 0, 200, 76, 200, 0, 200, 77, 200, 0, 200,
431 73, 200, 0, 200, 74, 200, 0, 200, 75, 200,
432 0, 200, 72, 200, 0, 200, 71, 200, 0, 200,
433 70, 200, 0, 200, 68, 200, 0, 200, 69, 200,
434 0, 200, 67, 200, 0, 200, 66, 200, 0, 200,
435 65, 369, 62, 200, 0, 200, 64, 200, 0, 200,
436 63, 200, 0, 61, 0, 61, 200, 0, 88, 384,
437 161, 0, 203, 0, 391, 0, 3, 0, 56, 0,
438 57, 0, 0, 6, 74, 202, 178, 177, 0, 391,
439 74, 202, 178, 177, 0, 48, 161, 74, 178, 177,
440 0, 48, 6, 74, 178, 177, 0, 48, 391, 74,
441 178, 177, 0, 201, 0, 4, 0, 5, 0, 201,
442 0, 80, 206, 0, 70, 206, 0, 93, 206, 108,
443 0, 3, 74, 178, 177, 0, 57, 74, 179, 177,
444 0, 305, 0, 201, 0, 207, 0, 93, 206, 108,
445 0, 201, 0, 10, 0, 213, 0, 214, 0, 93,
446 182, 108, 0, 93, 206, 108, 0, 93, 1, 108,
447 0, 0, 93, 210, 331, 108, 0, 201, 93, 192,
448 108, 0, 201, 47, 0, 209, 93, 192, 108, 0,
449 209, 47, 0, 209, 94, 182, 111, 0, 209, 86,
450 0, 209, 87, 0, 40, 0, 9, 93, 192, 108,
451 0, 309, 0, 50, 74, 220, 75, 93, 182, 108,
452 0, 51, 74, 220, 75, 93, 182, 108, 0, 52,
453 74, 220, 75, 93, 182, 108, 0, 53, 74, 220,
454 75, 93, 182, 108, 0, 49, 93, 182, 108, 0,
455 49, 93, 220, 108, 0, 320, 3, 0, 320, 203,
456 0, 320, 391, 0, 308, 0, 308, 93, 192, 108,
457 0, 308, 47, 0, 216, 204, 0, 216, 204, 93,
458 192, 108, 0, 216, 204, 47, 0, 216, 205, 0,
459 216, 308, 0, 216, 205, 93, 192, 108, 0, 216,
460 205, 47, 0, 216, 308, 93, 192, 108, 0, 216,
461 308, 47, 0, 216, 88, 8, 47, 0, 216, 8,
462 54, 88, 8, 47, 0, 216, 1, 0, 39, 0,
463 320, 39, 0, 38, 0, 320, 212, 0, 42, 0,
464 43, 0, 11, 0, 214, 11, 0, 0, 209, 92,
465 0, 209, 91, 0, 227, 229, 60, 0, 221, 229,
466 60, 0, 224, 230, 60, 0, 221, 60, 0, 224,
467 60, 0, 118, 217, 0, 298, 0, 303, 0, 47,
468 0, 219, 47, 0, 225, 323, 0, 294, 323, 0,
469 227, 323, 0, 225, 0, 294, 0, 225, 0, 222,
470 0, 224, 227, 0, 227, 223, 0, 227, 226, 223,
471 0, 224, 227, 223, 0, 224, 227, 226, 0, 224,
472 227, 226, 223, 0, 7, 0, 223, 228, 0, 223,
473 7, 0, 223, 242, 0, 242, 0, 294, 0, 7,
474 0, 224, 9, 0, 224, 7, 0, 224, 242, 0,
475 242, 0, 227, 0, 294, 227, 0, 227, 226, 0,
476 294, 227, 226, 0, 228, 0, 226, 228, 0, 256,
477 0, 8, 0, 300, 0, 28, 93, 182, 108, 0,
478 28, 93, 220, 108, 0, 30, 93, 182, 108, 0,
479 30, 93, 220, 108, 0, 8, 0, 9, 0, 256,
480 0, 237, 0, 229, 59, 233, 0, 238, 0, 230,
481 59, 233, 0, 239, 0, 231, 59, 233, 0, 0,
482 119, 93, 214, 108, 0, 0, 218, 232, 241, 64,
483 234, 249, 0, 218, 232, 241, 0, 0, 241, 64,
484 236, 249, 0, 241, 0, 218, 232, 235, 0, 303,
485 232, 235, 0, 0, 303, 232, 240, 235, 0, 147,
486 232, 241, 0, 0, 242, 0, 243, 0, 242, 243,
487 0, 31, 93, 93, 244, 108, 108, 0, 245, 0,
488 244, 59, 245, 0, 0, 246, 0, 246, 93, 3,
489 108, 0, 246, 93, 3, 59, 192, 108, 0, 246,
490 93, 192, 108, 0, 161, 0, 7, 0, 8, 0,
491 9, 0, 161, 0, 247, 59, 161, 0, 0, 64,
492 249, 0, 200, 0, 58, 109, 0, 58, 250, 109,
493 0, 58, 250, 59, 109, 0, 1, 0, 249, 0,
494 250, 59, 249, 0, 94, 200, 111, 249, 0, 161,
495 62, 249, 0, 250, 59, 161, 62, 249, 0, 97,
496 0, 251, 144, 143, 330, 0, 251, 144, 354, 0,
497 251, 144, 1, 0, 0, 253, 252, 145, 0, 102,
498 200, 107, 0, 102, 1, 107, 0, 0, 255, 254,
499 0, 255, 1, 0, 0, 14, 161, 58, 257, 290,
500 262, 109, 0, 14, 161, 58, 109, 0, 0, 14,
501 58, 258, 290, 262, 109, 0, 14, 58, 109, 0,
502 14, 161, 0, 14, 318, 0, 45, 313, 0, 0,
503 0, 270, 276, 278, 109, 241, 259, 255, 260, 253,
504 0, 270, 0, 0, 59, 0, 0, 59, 0, 36,
505 0, 263, 7, 0, 263, 8, 0, 263, 9, 0,
506 263, 36, 0, 263, 242, 0, 263, 161, 0, 263,
507 163, 0, 264, 58, 0, 264, 62, 0, 263, 311,
508 161, 0, 263, 320, 311, 161, 0, 263, 320, 161,
509 0, 263, 175, 0, 263, 311, 175, 0, 0, 264,
510 0, 265, 267, 271, 0, 266, 271, 0, 263, 58,
511 0, 269, 0, 268, 0, 0, 62, 384, 0, 62,
512 384, 272, 0, 273, 0, 272, 59, 384, 273, 0,
513 274, 0, 275, 384, 274, 0, 313, 0, 299, 0,
514 30, 93, 182, 108, 0, 30, 93, 220, 108, 0,
515 37, 384, 0, 7, 384, 0, 275, 37, 384, 0,
516 275, 7, 384, 0, 58, 0, 0, 277, 0, 277,
517 279, 0, 278, 37, 62, 279, 0, 278, 37, 62,
518 0, 280, 0, 279, 280, 0, 281, 60, 0, 281,
519 109, 0, 154, 62, 0, 154, 95, 0, 154, 25,
520 0, 154, 58, 0, 60, 0, 118, 280, 0, 134,
521 280, 0, 134, 221, 60, 0, 221, 282, 0, 224,
522 283, 0, 303, 232, 241, 248, 0, 147, 232, 241,
523 248, 0, 62, 200, 0, 1, 0, 224, 153, 232,
524 241, 248, 0, 153, 232, 241, 248, 0, 127, 0,
525 0, 284, 0, 282, 59, 285, 0, 0, 287, 0,
526 283, 59, 289, 0, 286, 0, 287, 0, 288, 0,
527 289, 0, 298, 232, 241, 248, 0, 4, 62, 200,
528 241, 0, 303, 232, 241, 248, 0, 147, 232, 241,
529 248, 0, 3, 62, 200, 241, 0, 62, 200, 241,
530 0, 298, 232, 241, 248, 0, 4, 62, 200, 241,
531 0, 303, 232, 241, 248, 0, 3, 62, 200, 241,
532 0, 62, 200, 241, 0, 291, 0, 290, 59, 291,
533 0, 161, 0, 161, 64, 200, 0, 364, 321, 0,
534 364, 0, 93, 195, 220, 194, 94, 182, 111, 0,
535 0, 293, 9, 0, 9, 0, 294, 9, 0, 0,
536 295, 182, 0, 295, 93, 192, 108, 0, 295, 93,
537 374, 108, 0, 295, 47, 0, 295, 93, 1, 108,
538 0, 80, 294, 298, 0, 70, 294, 298, 0, 80,
539 298, 0, 70, 298, 0, 319, 293, 298, 0, 302,
540 0, 310, 0, 320, 310, 0, 299, 0, 301, 0,
541 320, 301, 0, 311, 310, 0, 302, 297, 293, 386,
542 0, 302, 94, 296, 111, 0, 302, 94, 111, 0,
543 93, 298, 108, 0, 311, 310, 0, 310, 0, 80,
544 294, 303, 0, 70, 294, 303, 0, 80, 303, 0,
545 70, 303, 0, 319, 293, 303, 0, 208, 0, 80,
546 294, 303, 0, 70, 294, 303, 0, 80, 304, 0,
547 70, 304, 0, 319, 293, 303, 0, 305, 0, 208,
548 297, 293, 386, 0, 93, 304, 108, 0, 208, 94,
549 296, 111, 0, 208, 94, 111, 0, 307, 0, 311,
550 207, 0, 311, 205, 0, 311, 204, 0, 311, 201,
551 0, 311, 204, 0, 307, 0, 320, 307, 0, 227,
552 93, 192, 108, 0, 227, 93, 206, 108, 0, 227,
553 219, 0, 4, 0, 5, 0, 175, 0, 312, 0,
554 311, 312, 0, 311, 48, 317, 54, 0, 4, 54,
555 0, 5, 54, 0, 57, 54, 0, 175, 54, 0,
556 314, 0, 320, 314, 0, 315, 161, 0, 315, 175,
557 0, 315, 317, 0, 315, 48, 317, 0, 316, 0,
558 315, 316, 0, 315, 317, 54, 0, 315, 48, 317,
559 54, 0, 4, 54, 0, 5, 54, 0, 175, 54,
560 0, 56, 54, 0, 3, 54, 0, 57, 54, 0,
561 161, 74, 178, 177, 0, 320, 310, 0, 301, 0,
562 320, 301, 0, 311, 80, 0, 320, 311, 80, 0,
563 54, 0, 80, 293, 321, 0, 80, 293, 0, 70,
564 293, 321, 0, 70, 293, 0, 319, 293, 0, 319,
565 293, 321, 0, 322, 0, 94, 182, 111, 0, 322,
566 94, 296, 111, 0, 80, 294, 323, 0, 80, 323,
567 0, 80, 294, 0, 80, 0, 70, 294, 323, 0,
568 70, 323, 0, 70, 294, 0, 70, 0, 319, 293,
569 0, 319, 293, 323, 0, 324, 0, 93, 323, 108,
570 0, 90, 0, 324, 93, 374, 108, 293, 386, 0,
571 324, 47, 293, 386, 0, 324, 94, 296, 111, 0,
572 324, 94, 111, 0, 93, 375, 108, 293, 386, 0,
573 198, 293, 386, 0, 219, 293, 386, 0, 94, 296,
574 111, 0, 94, 111, 0, 338, 0, 326, 0, 325,
575 338, 0, 325, 326, 0, 1, 60, 0, 0, 328,
576 0, 329, 0, 328, 329, 0, 33, 247, 60, 0,
577 331, 0, 1, 331, 0, 0, 58, 332, 188, 0,
578 0, 0, 15, 334, 184, 335, 336, 0, 331, 0,
579 0, 337, 339, 0, 331, 0, 339, 0, 217, 0,
580 182, 60, 0, 0, 333, 16, 340, 336, 0, 333,
581 0, 0, 0, 17, 341, 184, 342, 189, 0, 0,
582 0, 18, 343, 336, 17, 344, 183, 60, 0, 0,
583 0, 0, 0, 19, 345, 93, 367, 346, 185, 60,
584 347, 369, 108, 348, 189, 0, 0, 0, 20, 349,
585 93, 186, 108, 350, 336, 0, 0, 21, 200, 62,
586 351, 338, 0, 0, 21, 200, 12, 200, 62, 352,
587 338, 0, 0, 22, 62, 353, 338, 0, 23, 60,
588 0, 24, 60, 0, 25, 60, 0, 25, 182, 60,
589 0, 119, 368, 93, 214, 108, 60, 0, 119, 368,
590 93, 214, 62, 370, 108, 60, 0, 119, 368, 93,
591 214, 62, 370, 62, 370, 108, 60, 0, 119, 368,
592 93, 214, 62, 370, 62, 370, 62, 373, 108, 60,
593 0, 26, 80, 182, 60, 0, 26, 161, 60, 0,
594 366, 338, 0, 366, 109, 0, 60, 0, 357, 0,
595 129, 0, 128, 0, 125, 0, 0, 0, 95, 355,
596 143, 331, 356, 360, 0, 0, 0, 95, 358, 331,
597 359, 360, 0, 361, 0, 360, 361, 0, 0, 0,
598 96, 362, 365, 363, 331, 0, 225, 0, 294, 0,
599 93, 12, 108, 0, 93, 383, 108, 0, 3, 62,
600 0, 56, 62, 0, 4, 62, 0, 5, 62, 0,
601 369, 60, 0, 217, 0, 58, 188, 0, 0, 9,
602 0, 0, 182, 0, 1, 0, 0, 371, 0, 372,
603 0, 371, 59, 372, 0, 11, 93, 182, 108, 0,
604 11, 0, 373, 59, 11, 0, 0, 375, 0, 220,
605 0, 379, 0, 380, 12, 0, 379, 12, 0, 220,
606 12, 0, 12, 0, 379, 62, 0, 220, 62, 0,
607 0, 64, 377, 378, 0, 101, 0, 249, 0, 381,
608 0, 383, 376, 0, 380, 382, 0, 380, 385, 0,
609 380, 385, 64, 249, 0, 379, 59, 0, 220, 59,
610 0, 222, 218, 0, 225, 218, 0, 227, 218, 0,
611 222, 323, 0, 222, 0, 224, 303, 0, 383, 0,
612 383, 376, 0, 381, 0, 220, 0, 0, 0, 303,
613 0, 0, 61, 93, 388, 108, 0, 61, 47, 0,
614 220, 0, 387, 0, 388, 59, 387, 0, 0, 80,
615 293, 389, 0, 70, 293, 389, 0, 319, 293, 389,
616 0, 41, 0, 390, 80, 0, 390, 81, 0, 390,
617 82, 0, 390, 78, 0, 390, 79, 0, 390, 70,
618 0, 390, 68, 0, 390, 69, 0, 390, 88, 0,
619 390, 59, 0, 390, 73, 0, 390, 74, 0, 390,
620 75, 0, 390, 72, 0, 390, 63, 0, 390, 64,
621 0, 390, 76, 0, 390, 77, 0, 390, 86, 0,
622 390, 87, 0, 390, 67, 0, 390, 66, 0, 390,
623 110, 0, 390, 65, 62, 0, 390, 71, 0, 390,
624 91, 0, 390, 83, 0, 390, 47, 0, 390, 94,
625 111, 0, 390, 39, 0, 390, 38, 0, 390, 39,
626 94, 111, 0, 390, 38, 94, 111, 0, 390, 364,
627 389, 0, 390, 1, 0
628 };
629
630 #endif
631
632 #if YYDEBUG != 0
633 static const short yyrline[] = { 0,
634 331, 333, 341, 344, 345, 349, 351, 354, 359, 363,
635 369, 373, 376, 380, 383, 385, 387, 390, 392, 395,
636 398, 400, 402, 404, 406, 407, 409, 410, 414, 417,
637 426, 429, 431, 435, 438, 440, 444, 447, 459, 466,
638 474, 476, 477, 479, 483, 486, 492, 495, 497, 502,
639 505, 509, 512, 515, 518, 522, 527, 537, 539, 541,
640 543, 545, 558, 567, 577, 579, 581, 585, 587, 588,
641 595, 596, 597, 600, 603, 607, 609, 610, 613, 615,
642 618, 621, 623, 627, 630, 632, 636, 638, 640, 644,
643 646, 648, 652, 654, 656, 662, 666, 669, 672, 675,
644 680, 683, 685, 687, 693, 703, 705, 708, 711, 713,
645 716, 720, 729, 732, 734, 738, 751, 771, 774, 776,
646 777, 780, 787, 793, 795, 797, 799, 801, 804, 809,
647 811, 812, 813, 814, 817, 819, 820, 823, 825, 826,
648 829, 834, 834, 838, 838, 841, 841, 844, 844, 848,
649 848, 853, 853, 856, 856, 859, 861, 864, 871, 878,
650 884, 887, 896, 898, 906, 909, 912, 915, 919, 922,
651 924, 927, 930, 932, 934, 936, 940, 943, 946, 951,
652 955, 960, 964, 967, 968, 972, 991, 998, 1001, 1003,
653 1004, 1005, 1008, 1012, 1013, 1017, 1021, 1024, 1026, 1030,
654 1033, 1036, 1040, 1043, 1045, 1047, 1049, 1052, 1056, 1058,
655 1060, 1062, 1068, 1071, 1074, 1077, 1089, 1094, 1098, 1102,
656 1107, 1109, 1113, 1117, 1119, 1128, 1132, 1135, 1138, 1143,
657 1146, 1148, 1156, 1169, 1174, 1180, 1182, 1184, 1197, 1200,
658 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218, 1220,
659 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236, 1238, 1240,
660 1244, 1246, 1248, 1265, 1268, 1269, 1270, 1271, 1272, 1275,
661 1278, 1281, 1285, 1288, 1290, 1295, 1297, 1298, 1301, 1303,
662 1305, 1307, 1311, 1314, 1318, 1320, 1321, 1322, 1326, 1334,
663 1335, 1336, 1344, 1346, 1349, 1351, 1361, 1366, 1368, 1370,
664 1372, 1374, 1376, 1378, 1381, 1383, 1427, 1428, 1432, 1436,
665 1440, 1444, 1446, 1450, 1452, 1454, 1462, 1464, 1466, 1468,
666 1472, 1474, 1476, 1478, 1483, 1485, 1487, 1489, 1492, 1494,
667 1496, 1540, 1543, 1547, 1550, 1554, 1557, 1562, 1564, 1568,
668 1581, 1584, 1591, 1598, 1603, 1605, 1610, 1612, 1619, 1621,
669 1625, 1629, 1635, 1639, 1642, 1645, 1648, 1658, 1660, 1663,
670 1667, 1670, 1673, 1676, 1679, 1685, 1691, 1693, 1698, 1700,
671 1709, 1712, 1714, 1717, 1723, 1725, 1735, 1739, 1742, 1745,
672 1750, 1753, 1761, 1763, 1765, 1767, 1770, 1773, 1788, 1807,
673 1810, 1812, 1815, 1817, 1820, 1822, 1825, 1827, 1830, 1833,
674 1837, 1843, 1844, 1856, 1863, 1866, 1872, 1876, 1881, 1887,
675 1888, 1896, 1899, 1903, 1906, 1910, 1915, 1918, 1922, 1925,
676 1927, 1929, 1931, 1938, 1940, 1941, 1942, 1946, 1949, 1953,
677 1956, 1962, 1964, 1967, 1970, 1973, 1979, 1982, 1985, 1987,
678 1989, 1993, 1999, 2007, 2009, 2013, 2015, 2020, 2023, 2026,
679 2028, 2030, 2034, 2038, 2043, 2047, 2050, 2055, 2059, 2062,
680 2065, 2069, 2081, 2083, 2086, 2106, 2108, 2111, 2113, 2118,
681 2120, 2122, 2124, 2126, 2128, 2132, 2137, 2140, 2142, 2146,
682 2152, 2157, 2162, 2164, 2168, 2173, 2176, 2183, 2211, 2217,
683 2219, 2222, 2225, 2227, 2231, 2233, 2237, 2270, 2306, 2309,
684 2310, 2331, 2354, 2356, 2360, 2371, 2385, 2390, 2397, 2400,
685 2408, 2419, 2428, 2432, 2447, 2450, 2455, 2457, 2459, 2461,
686 2463, 2465, 2468, 2470, 2474, 2480, 2482, 2485, 2488, 2490,
687 2501, 2506, 2509, 2514, 2517, 2518, 2529, 2532, 2533, 2544,
688 2546, 2549, 2551, 2554, 2561, 2569, 2576, 2582, 2588, 2596,
689 2600, 2605, 2609, 2612, 2621, 2623, 2627, 2630, 2635, 2639,
690 2645, 2656, 2659, 2663, 2667, 2675, 2680, 2686, 2689, 2691,
691 2693, 2699, 2702, 2704, 2706, 2708, 2712, 2715, 2733, 2743,
692 2745, 2746, 2750, 2755, 2758, 2760, 2762, 2764, 2768, 2774,
693 2777, 2779, 2781, 2783, 2787, 2790, 2793, 2795, 2797, 2799,
694 2803, 2806, 2809, 2811, 2813, 2815, 2827, 2838, 2842, 2847,
695 2851, 2856, 2858, 2862, 2865, 2867, 2871, 2873, 2874, 2877,
696 2879, 2881, 2887, 2902, 2908, 2914, 2928, 2930, 2934, 2948,
697 2950, 2952, 2956, 2962, 2975, 2977, 2981, 2994, 3000, 3002,
698 3003, 3004, 3012, 3017, 3026, 3027, 3031, 3034, 3040, 3046,
699 3049, 3051, 3053, 3055, 3059, 3063, 3067, 3070, 3075, 3078,
700 3080, 3082, 3084, 3086, 3088, 3090, 3092, 3096, 3100, 3104,
701 3108, 3109, 3111, 3113, 3115, 3117, 3119, 3121, 3123, 3125,
702 3133, 3135, 3136, 3137, 3140, 3146, 3148, 3153, 3155, 3158,
703 3172, 3175, 3178, 3182, 3185, 3192, 3194, 3197, 3199, 3201,
704 3204, 3207, 3210, 3213, 3215, 3218, 3222, 3224, 3230, 3232,
705 3233, 3235, 3240, 3242, 3244, 3246, 3248, 3251, 3252, 3254,
706 3257, 3258, 3261, 3261, 3264, 3264, 3267, 3267, 3269, 3271,
707 3273, 3275, 3281, 3287, 3290, 3293, 3299, 3301, 3303, 3307,
708 3309, 3310, 3311, 3313, 3316, 3323, 3328, 3336, 3340, 3342,
709 3345, 3347, 3350, 3354, 3356, 3359, 3361, 3364, 3381, 3387,
710 3395, 3397, 3399, 3403, 3406, 3407, 3415, 3419, 3423, 3426,
711 3427, 3433, 3436, 3439, 3441, 3445, 3450, 3453, 3463, 3468,
712 3469, 3476, 3479, 3482, 3484, 3487, 3489, 3499, 3513, 3517,
713 3520, 3522, 3526, 3530, 3533, 3536, 3538, 3542, 3544, 3551,
714 3558, 3561, 3564, 3568, 3572, 3578, 3582, 3587, 3589, 3592,
715 3597, 3603, 3614, 3617, 3619, 3623, 3628, 3630, 3637, 3640,
716 3642, 3644, 3650, 3655, 3658, 3660, 3662, 3664, 3666, 3668,
717 3670, 3672, 3674, 3676, 3678, 3680, 3682, 3684, 3686, 3688,
718 3690, 3692, 3694, 3696, 3698, 3700, 3702, 3704, 3706, 3708,
719 3710, 3712, 3714, 3716, 3718, 3720, 3723, 3725
720 };
721 #endif
722
723
724 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
725
726 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
727 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
728 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
729 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
730 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
731 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
732 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
733 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
734 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
735 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
736 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
737 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
738 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
739 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
740 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
741 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
742 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
743 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
744 "template_type_parm","template_template_parm","template_parm","template_def",
745 "datadef","ctor_initializer_opt","maybe_return_init","eat_saved_input","fndef",
746 "constructor_declarator","@8","@9","@10","@11","fn.def1","component_constructor_declarator",
747 "fn.def2","return_id","return_init","base_init",".set_base_init","member_init_list",
748 "member_init","identifier","notype_identifier","identifier_defn","explicit_instantiation",
749 "@12","@13","@14","@15","@16","@17","@18","@19","begin_explicit_instantiation",
750 "end_explicit_instantiation","template_type","self_template_type","template_close_bracket",
751 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
752 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
753 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
754 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
755 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
756 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
757 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
758 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
759 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
760 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
761 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
762 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
763 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
764 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
765 "@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
766 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
767 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
768 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
769 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
770 "component_decl_1","components","notype_components","component_declarator0",
771 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
772 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
773 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
774 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
775 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
776 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
777 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
778 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
779 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
780 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
781 "label_decls","label_decl","compstmt_or_error","compstmt","@30","simple_if",
782 "@31","@32","implicitly_scoped_stmt","@33","stmt","simple_stmt","@34","@35",
783 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","function_try_block",
784 "@48","@49","try_block","@50","@51","handler_seq","handler","@52","@53","type_specifier_seq",
785 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
786 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
787 "complex_parmlist","defarg","@54","defarg1","parms","parms_comma","named_parm",
788 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
789 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
790 };
791 #endif
792
793 static const short yyr1[] = { 0,
794 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
795 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
796 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
797 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
798 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
799 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
800 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
801 142, 142, 142, 143, 143, 144, 144, 144, 145, 145,
802 146, 146, 146, 148, 147, 147, 149, 147, 147, 150,
803 147, 147, 151, 147, 147, 152, 152, 152, 152, 152,
804 153, 153, 153, 153, 154, 154, 154, 154, 154, 154,
805 154, 155, 156, 156, 156, 157, 158, 159, 159, 159,
806 159, 160, 160, 160, 160, 160, 160, 160, 160, 161,
807 161, 161, 161, 161, 162, 162, 162, 163, 163, 163,
808 165, 164, 166, 164, 167, 164, 168, 164, 169, 164,
809 170, 164, 171, 164, 172, 164, 173, 174, 175, 175,
810 175, 176, 177, 177, 178, 178, 179, 179, 180, 180,
811 180, 181, 181, 181, 181, 181, 182, 182, 183, 183,
812 184, 184, 185, 185, 185, 187, 186, 186, 188, 188,
813 188, 188, 190, 189, 189, 191, 191, 191, 191, 192,
814 192, 193, 193, 193, 193, 193, 193, 193, 193, 193,
815 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
816 193, 193, 193, 193, 193, 194, 195, 196, 196, 197,
817 197, 197, 197, 198, 198, 199, 199, 199, 200, 200,
818 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
819 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
820 200, 200, 200, 201, 201, 201, 201, 201, 201, 202,
821 203, 203, 204, 204, 204, 205, 205, 205, 206, 206,
822 206, 206, 207, 207, 208, 208, 208, 208, 209, 209,
823 209, 209, 209, 209, 209, 210, 209, 209, 209, 209,
824 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
825 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
826 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
827 209, 211, 211, 212, 212, 213, 213, 214, 214, 215,
828 216, 216, 217, 217, 217, 217, 217, 217, 218, 218,
829 219, 219, 220, 220, 220, 220, 220, 221, 221, 222,
830 222, 222, 222, 222, 222, 223, 223, 223, 223, 223,
831 224, 224, 224, 224, 224, 224, 225, 225, 225, 225,
832 226, 226, 227, 227, 227, 227, 227, 227, 227, 228,
833 228, 228, 229, 229, 230, 230, 231, 231, 232, 232,
834 234, 233, 233, 236, 235, 235, 237, 238, 240, 239,
835 239, 241, 241, 242, 242, 243, 244, 244, 245, 245,
836 245, 245, 245, 246, 246, 246, 246, 247, 247, 248,
837 248, 249, 249, 249, 249, 249, 250, 250, 250, 250,
838 250, 251, 252, 252, 252, 253, 253, 254, 254, 255,
839 255, 255, 257, 256, 256, 258, 256, 256, 256, 256,
840 256, 259, 260, 256, 256, 261, 261, 262, 262, 263,
841 263, 263, 263, 263, 263, 264, 265, 265, 265, 266,
842 266, 266, 266, 266, 267, 268, 268, 268, 269, 270,
843 270, 271, 271, 271, 272, 272, 273, 273, 274, 274,
844 274, 274, 275, 275, 275, 275, 276, 277, 278, 278,
845 278, 278, 279, 279, 280, 280, 280, 280, 280, 280,
846 280, 280, 280, 280, 281, 281, 281, 281, 281, 281,
847 281, 281, 281, 282, 282, 282, 283, 283, 283, 284,
848 284, 285, 285, 286, 286, 287, 287, 287, 287, 288,
849 288, 289, 289, 289, 290, 290, 291, 291, 292, 292,
850 292, 293, 293, 294, 294, 295, 296, 297, 297, 297,
851 297, 298, 298, 298, 298, 298, 298, 299, 299, 300,
852 300, 300, 301, 302, 302, 302, 302, 302, 302, 303,
853 303, 303, 303, 303, 303, 304, 304, 304, 304, 304,
854 304, 305, 305, 305, 305, 305, 305, 306, 306, 307,
855 307, 308, 308, 309, 309, 309, 310, 310, 310, 311,
856 311, 311, 312, 312, 312, 312, 313, 313, 314, 314,
857 314, 314, 315, 315, 315, 315, 316, 316, 316, 316,
858 316, 316, 317, 318, 318, 318, 319, 319, 320, 321,
859 321, 321, 321, 321, 321, 321, 322, 322, 323, 323,
860 323, 323, 323, 323, 323, 323, 323, 323, 323, 324,
861 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
862 325, 325, 325, 325, 326, 327, 327, 328, 328, 329,
863 330, 330, 332, 331, 334, 335, 333, 336, 337, 336,
864 338, 338, 339, 339, 340, 339, 339, 341, 342, 339,
865 343, 344, 339, 345, 346, 347, 348, 339, 349, 350,
866 339, 351, 339, 352, 339, 353, 339, 339, 339, 339,
867 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
868 339, 339, 339, 339, 355, 356, 354, 358, 359, 357,
869 360, 360, 362, 363, 361, 364, 364, 365, 365, 366,
870 366, 366, 366, 367, 367, 367, 368, 368, 369, 369,
871 369, 370, 370, 371, 371, 372, 373, 373, 374, 374,
872 374, 375, 375, 375, 375, 375, 375, 375, 377, 376,
873 378, 378, 379, 379, 379, 379, 379, 380, 380, 381,
874 381, 381, 381, 381, 381, 382, 382, 383, 383, 384,
875 385, 385, 386, 386, 386, 387, 388, 388, 389, 389,
876 389, 389, 390, 391, 391, 391, 391, 391, 391, 391,
877 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
878 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
879 391, 391, 391, 391, 391, 391, 391, 391
880 };
881
882 static const short yyr2[] = { 0,
883 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
884 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
885 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
886 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
887 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
888 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
889 1, 3, 2, 2, 2, 3, 3, 2, 2, 2,
890 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
891 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
892 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
893 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
894 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
895 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
896 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
897 0, 6, 0, 6, 0, 5, 0, 5, 0, 7,
898 0, 7, 0, 6, 0, 6, 0, 0, 4, 4,
899 1, 4, 1, 1, 0, 1, 1, 3, 1, 1,
900 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
901 1, 3, 0, 1, 1, 0, 7, 1, 1, 3,
902 4, 3, 0, 3, 1, 3, 3, 3, 3, 1,
903 1, 1, 2, 2, 2, 2, 2, 2, 2, 4,
904 2, 4, 2, 3, 3, 4, 5, 6, 6, 7,
905 2, 4, 5, 2, 2, 1, 0, 4, 4, 3,
906 1, 3, 2, 3, 4, 1, 2, 5, 1, 3,
907 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
908 3, 3, 3, 3, 3, 3, 3, 3, 5, 3,
909 3, 1, 2, 3, 1, 1, 1, 1, 1, 0,
910 5, 5, 5, 5, 5, 1, 1, 1, 1, 2,
911 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
912 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
913 2, 4, 2, 2, 1, 4, 1, 7, 7, 7,
914 7, 4, 4, 2, 2, 2, 1, 4, 2, 2,
915 5, 3, 2, 2, 5, 3, 5, 3, 4, 6,
916 2, 1, 2, 1, 2, 1, 1, 1, 2, 0,
917 2, 2, 3, 3, 3, 2, 2, 2, 1, 1,
918 1, 2, 2, 2, 2, 1, 1, 1, 1, 2,
919 2, 3, 3, 3, 4, 1, 2, 2, 2, 1,
920 1, 1, 2, 2, 2, 1, 1, 2, 2, 3,
921 1, 2, 1, 1, 1, 4, 4, 4, 4, 1,
922 1, 1, 1, 3, 1, 3, 1, 3, 0, 4,
923 0, 6, 3, 0, 4, 1, 3, 3, 0, 4,
924 3, 0, 1, 1, 2, 6, 1, 3, 0, 1,
925 4, 6, 4, 1, 1, 1, 1, 1, 3, 0,
926 2, 1, 2, 3, 4, 1, 1, 3, 4, 3,
927 5, 1, 4, 3, 3, 0, 3, 3, 3, 0,
928 2, 2, 0, 7, 4, 0, 6, 3, 2, 2,
929 2, 0, 0, 9, 1, 0, 1, 0, 1, 1,
930 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
931 4, 3, 2, 3, 0, 1, 3, 2, 2, 1,
932 1, 0, 2, 3, 1, 4, 1, 3, 1, 1,
933 4, 4, 2, 2, 3, 3, 1, 0, 1, 2,
934 4, 3, 1, 2, 2, 2, 2, 2, 2, 2,
935 1, 2, 2, 3, 2, 2, 4, 4, 2, 1,
936 5, 4, 1, 0, 1, 3, 0, 1, 3, 1,
937 1, 1, 1, 4, 4, 4, 4, 4, 3, 4,
938 4, 4, 4, 3, 1, 3, 1, 3, 2, 1,
939 7, 0, 2, 1, 2, 0, 2, 4, 4, 2,
940 4, 3, 3, 2, 2, 3, 1, 1, 2, 1,
941 1, 2, 2, 4, 4, 3, 3, 2, 1, 3,
942 3, 2, 2, 3, 1, 3, 3, 2, 2, 3,
943 1, 4, 3, 4, 3, 1, 2, 2, 2, 2,
944 2, 1, 2, 4, 4, 2, 1, 1, 1, 1,
945 2, 4, 2, 2, 2, 2, 1, 2, 2, 2,
946 2, 3, 1, 2, 3, 4, 2, 2, 2, 2,
947 2, 2, 4, 2, 1, 2, 2, 3, 1, 3,
948 2, 3, 2, 2, 3, 1, 3, 4, 3, 2,
949 2, 1, 3, 2, 2, 1, 2, 3, 1, 3,
950 1, 6, 4, 4, 3, 5, 3, 3, 3, 2,
951 1, 1, 2, 2, 2, 0, 1, 1, 2, 3,
952 1, 2, 0, 3, 0, 0, 5, 1, 0, 2,
953 1, 1, 1, 2, 0, 4, 1, 0, 0, 5,
954 0, 0, 7, 0, 0, 0, 0, 12, 0, 0,
955 7, 0, 5, 0, 7, 0, 4, 2, 2, 2,
956 3, 6, 8, 10, 12, 4, 3, 2, 2, 1,
957 1, 1, 1, 1, 0, 0, 6, 0, 0, 5,
958 1, 2, 0, 0, 5, 1, 1, 3, 3, 2,
959 2, 2, 2, 2, 1, 2, 0, 1, 0, 1,
960 1, 0, 1, 1, 3, 4, 1, 3, 0, 1,
961 1, 1, 2, 2, 2, 1, 2, 2, 0, 3,
962 1, 1, 1, 2, 2, 2, 4, 2, 2, 2,
963 2, 2, 2, 1, 2, 1, 2, 1, 1, 0,
964 0, 1, 0, 4, 2, 1, 1, 3, 0, 3,
965 3, 3, 1, 2, 2, 2, 2, 2, 2, 2,
966 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
967 2, 2, 2, 2, 2, 2, 3, 2, 2, 2,
968 2, 3, 2, 2, 4, 4, 3, 2
969 };
970
971 static const short yydefact[] = { 3,
972 12, 12, 5, 0, 4, 0, 267, 617, 618, 0,
973 372, 384, 564, 0, 11, 0, 0, 0, 10, 470,
974 823, 0, 0, 0, 157, 649, 268, 269, 73, 0,
975 0, 810, 0, 45, 0, 0, 13, 25, 0, 27,
976 8, 0, 16, 15, 79, 100, 76, 0, 619, 161,
977 286, 265, 287, 595, 0, 359, 0, 358, 377, 0,
978 397, 376, 414, 383, 0, 486, 485, 492, 491, 490,
979 465, 371, 580, 385, 581, 98, 285, 606, 578, 0,
980 620, 562, 0, 0, 266, 71, 72, 165, 623, 165,
981 624, 165, 270, 157, 130, 131, 132, 133, 134, 456,
982 459, 0, 645, 0, 460, 0, 0, 0, 0, 131,
983 132, 133, 134, 23, 0, 0, 0, 0, 0, 0,
984 0, 461, 627, 0, 633, 0, 0, 0, 37, 0,
985 0, 31, 0, 0, 47, 0, 165, 625, 0, 0,
986 593, 0, 0, 0, 592, 0, 0, 0, 0, 286,
987 0, 566, 0, 285, 562, 28, 0, 26, 3, 46,
988 0, 64, 63, 80, 14, 0, 412, 0, 0, 430,
989 77, 69, 626, 566, 0, 562, 70, 0, 0, 0,
990 96, 0, 393, 349, 577, 350, 589, 0, 562, 374,
991 373, 68, 99, 360, 0, 395, 375, 97, 366, 390,
992 391, 361, 379, 381, 370, 392, 0, 65, 415, 471,
993 472, 473, 474, 489, 139, 138, 140, 476, 477, 483,
994 475, 0, 0, 478, 479, 492, 810, 488, 507, 508,
995 565, 378, 0, 409, 618, 0, 647, 161, 610, 611,
996 607, 583, 621, 0, 582, 579, 0, 858, 854, 853,
997 851, 833, 838, 839, 0, 845, 844, 830, 831, 829,
998 848, 837, 834, 835, 836, 840, 841, 827, 828, 824,
999 825, 826, 850, 842, 843, 832, 849, 0, 846, 756,
1000 377, 757, 819, 270, 267, 564, 290, 338, 0, 0,
1001 0, 0, 334, 332, 305, 336, 337, 0, 0, 0,
1002 0, 0, 268, 269, 262, 0, 0, 173, 172, 0,
1003 174, 175, 0, 0, 176, 0, 0, 166, 167, 0,
1004 236, 0, 239, 171, 289, 202, 0, 0, 291, 292,
1005 0, 169, 356, 377, 357, 612, 317, 307, 0, 0,
1006 0, 0, 165, 0, 458, 0, 453, 0, 646, 644,
1007 0, 177, 178, 0, 0, 0, 419, 3, 21, 29,
1008 641, 637, 638, 640, 642, 639, 130, 131, 132, 0,
1009 133, 134, 629, 630, 634, 631, 628, 0, 277, 278,
1010 276, 609, 608, 33, 32, 49, 0, 372, 147, 0,
1011 0, 377, 145, 0, 0, 591, 0, 590, 264, 281,
1012 0, 599, 280, 0, 598, 0, 288, 603, 0, 0,
1013 12, 0, 157, 9, 9, 0, 411, 413, 112, 83,
1014 117, 745, 0, 75, 74, 82, 115, 0, 0, 113,
1015 78, 605, 0, 0, 570, 0, 813, 0, 575, 0,
1016 574, 0, 0, 0, 0, 562, 412, 0, 67, 566,
1017 562, 588, 0, 363, 364, 0, 66, 412, 368, 367,
1018 369, 362, 382, 399, 398, 480, 484, 482, 0, 487,
1019 493, 0, 0, 380, 412, 562, 84, 0, 0, 0,
1020 0, 562, 90, 563, 594, 618, 648, 161, 0, 0,
1021 847, 852, 379, 562, 562, 0, 562, 857, 165, 0,
1022 0, 0, 209, 0, 0, 211, 224, 225, 0, 0,
1023 0, 0, 0, 263, 208, 205, 204, 206, 0, 0,
1024 0, 0, 0, 289, 0, 0, 0, 203, 163, 164,
1025 283, 0, 207, 0, 0, 237, 0, 0, 0, 0,
1026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1027 0, 0, 0, 0, 0, 0, 0, 0, 299, 0,
1028 301, 303, 304, 342, 341, 0, 0, 227, 227, 0,
1029 213, 560, 0, 221, 339, 331, 0, 0, 810, 320,
1030 323, 324, 0, 0, 351, 666, 662, 671, 0, 566,
1031 562, 562, 562, 353, 669, 0, 616, 355, 0, 0,
1032 354, 319, 0, 314, 333, 315, 335, 613, 0, 316,
1033 160, 162, 0, 155, 0, 377, 153, 557, 468, 555,
1034 455, 0, 0, 386, 0, 0, 387, 388, 389, 425,
1035 426, 427, 424, 0, 417, 420, 0, 3, 0, 632,
1036 165, 635, 0, 41, 42, 0, 53, 0, 0, 0,
1037 57, 61, 50, 809, 804, 0, 356, 377, 53, 357,
1038 808, 59, 158, 143, 141, 158, 159, 284, 597, 596,
1039 288, 600, 0, 18, 20, 79, 0, 118, 340, 0,
1040 693, 81, 691, 436, 0, 432, 431, 201, 0, 200,
1041 567, 604, 0, 786, 0, 781, 377, 0, 780, 782,
1042 811, 793, 0, 0, 602, 573, 572, 0, 0, 587,
1043 0, 407, 406, 394, 586, 0, 813, 576, 365, 396,
1044 408, 412, 481, 617, 618, 810, 0, 810, 619, 494,
1045 495, 497, 810, 500, 499, 0, 530, 618, 0, 521,
1046 0, 0, 533, 0, 111, 106, 0, 161, 534, 537,
1047 0, 513, 0, 109, 0, 412, 410, 813, 779, 165,
1048 165, 622, 165, 813, 779, 562, 87, 562, 93, 856,
1049 855, 819, 819, 819, 0, 0, 0, 0, 616, 0,
1050 0, 0, 0, 377, 0, 0, 0, 295, 0, 293,
1051 294, 0, 234, 168, 267, 617, 618, 268, 269, 0,
1052 0, 437, 466, 0, 261, 260, 771, 770, 0, 258,
1053 257, 255, 256, 254, 253, 252, 249, 250, 251, 247,
1054 248, 242, 243, 244, 245, 246, 240, 241, 0, 0,
1055 0, 0, 0, 227, 215, 231, 0, 0, 214, 562,
1056 562, 0, 562, 559, 656, 0, 0, 0, 0, 0,
1057 322, 0, 326, 0, 328, 0, 665, 664, 661, 660,
1058 809, 0, 0, 680, 0, 0, 813, 352, 813, 667,
1059 562, 779, 566, 666, 662, 0, 0, 562, 0, 0,
1060 0, 0, 0, 271, 158, 151, 149, 158, 0, 469,
1061 0, 468, 199, 198, 197, 196, 419, 0, 0, 24,
1062 0, 0, 636, 0, 38, 44, 43, 55, 52, 53,
1063 0, 48, 0, 0, 666, 662, 0, 800, 562, 803,
1064 805, 0, 801, 802, 54, 476, 0, 148, 158, 158,
1065 146, 17, 19, 400, 135, 123, 136, 137, 0, 116,
1066 119, 0, 0, 0, 0, 692, 686, 433, 0, 114,
1067 571, 568, 785, 799, 788, 0, 569, 784, 798, 787,
1068 783, 812, 795, 806, 796, 789, 794, 815, 0, 404,
1069 585, 584, 403, 504, 0, 503, 810, 810, 810, 0,
1070 562, 779, 529, 522, 534, 523, 412, 412, 519, 520,
1071 517, 518, 562, 779, 267, 617, 0, 399, 107, 525,
1072 535, 540, 541, 399, 399, 0, 0, 399, 105, 526,
1073 538, 399, 514, 515, 516, 412, 0, 462, 86, 0,
1074 0, 0, 0, 92, 0, 813, 779, 813, 779, 821,
1075 820, 822, 272, 306, 210, 212, 312, 313, 0, 0,
1076 0, 0, 294, 297, 0, 0, 0, 0, 235, 0,
1077 298, 300, 302, 0, 0, 0, 0, 216, 233, 0,
1078 0, 653, 651, 0, 654, 566, 222, 0, 0, 165,
1079 329, 0, 0, 0, 663, 659, 670, 562, 679, 677,
1080 678, 668, 813, 0, 675, 0, 614, 615, 0, 318,
1081 156, 158, 158, 154, 558, 556, 457, 0, 418, 416,
1082 267, 0, 22, 30, 643, 56, 51, 58, 62, 665,
1083 661, 666, 662, 0, 578, 0, 562, 667, 60, 144,
1084 142, 0, 121, 0, 125, 0, 127, 0, 129, 0,
1085 746, 0, 189, 694, 0, 687, 688, 0, 434, 666,
1086 662, 0, 289, 0, 612, 807, 0, 0, 816, 817,
1087 0, 0, 401, 0, 0, 0, 506, 505, 498, 813,
1088 0, 524, 430, 430, 813, 0, 0, 0, 412, 412,
1089 0, 412, 412, 0, 412, 0, 430, 0, 450, 562,
1090 274, 273, 275, 562, 89, 0, 95, 0, 0, 0,
1091 0, 0, 0, 440, 0, 438, 238, 259, 229, 228,
1092 226, 217, 0, 230, 232, 652, 650, 657, 655, 0,
1093 223, 0, 0, 321, 325, 327, 813, 673, 562, 674,
1094 152, 150, 454, 0, 421, 423, 665, 661, 583, 667,
1095 122, 120, 0, 0, 0, 0, 428, 0, 0, 267,
1096 617, 618, 695, 708, 711, 714, 719, 0, 0, 0,
1097 0, 0, 0, 0, 0, 268, 740, 748, 0, 767,
1098 744, 743, 742, 0, 703, 0, 0, 377, 0, 682,
1099 701, 707, 681, 702, 741, 0, 689, 435, 0, 615,
1100 797, 791, 792, 790, 0, 814, 405, 0, 501, 502,
1101 496, 102, 562, 528, 532, 104, 562, 412, 412, 549,
1102 430, 267, 617, 0, 536, 542, 543, 399, 399, 430,
1103 430, 0, 430, 539, 527, 0, 813, 813, 562, 562,
1104 0, 0, 0, 0, 439, 0, 0, 218, 219, 658,
1105 330, 273, 676, 813, 0, 124, 126, 128, 753, 747,
1106 751, 0, 690, 685, 192, 760, 762, 763, 0, 0,
1107 699, 0, 0, 0, 726, 728, 729, 730, 0, 0,
1108 0, 0, 0, 0, 0, 761, 0, 348, 768, 0,
1109 704, 346, 399, 0, 347, 0, 399, 0, 0, 0,
1110 190, 684, 683, 705, 739, 738, 294, 818, 402, 813,
1111 813, 548, 545, 547, 0, 0, 412, 412, 412, 544,
1112 546, 531, 452, 0, 451, 446, 85, 91, 813, 813,
1113 308, 309, 310, 311, 441, 0, 220, 672, 422, 0,
1114 752, 429, 181, 0, 696, 709, 698, 0, 0, 0,
1115 0, 0, 722, 0, 731, 0, 737, 39, 134, 34,
1116 134, 0, 35, 749, 0, 344, 345, 0, 0, 0,
1117 343, 191, 699, 101, 103, 412, 412, 554, 430, 430,
1118 0, 0, 464, 88, 94, 561, 0, 754, 188, 0,
1119 377, 0, 699, 0, 712, 700, 686, 765, 715, 0,
1120 0, 0, 0, 727, 736, 40, 36, 0, 0, 706,
1121 553, 551, 550, 552, 449, 448, 442, 76, 79, 0,
1122 0, 0, 182, 399, 697, 193, 710, 195, 0, 766,
1123 0, 764, 720, 724, 723, 750, 772, 0, 0, 447,
1124 758, 759, 755, 412, 686, 179, 0, 0, 185, 0,
1125 184, 699, 0, 0, 0, 773, 774, 732, 445, 0,
1126 444, 0, 194, 0, 713, 716, 721, 725, 0, 772,
1127 0, 0, 443, 186, 180, 0, 0, 0, 733, 775,
1128 0, 0, 776, 0, 0, 187, 717, 777, 0, 734,
1129 0, 0, 0, 718, 778, 735, 0, 0, 0
1130 };
1131
1132 static const short yydefgoto[] = { 1577,
1133 411, 2, 412, 161, 675, 316, 166, 3, 4, 37,
1134 638, 358, 1261, 639, 743, 1262, 1263, 378, 1364, 643,
1135 41, 744, 387, 650, 908, 651, 652, 653, 43, 44,
1136 423, 169, 165, 45, 745, 759, 1027, 765, 1029, 47,
1137 746, 747, 170, 171, 424, 678, 940, 941, 618, 942,
1138 219, 48, 930, 929, 666, 663, 1093, 1092, 888, 885,
1139 136, 928, 49, 50, 531, 317, 318, 319, 320, 1264,
1140 1528, 1425, 1530, 1470, 1561, 1134, 1507, 1525, 352, 877,
1141 321, 1202, 832, 570, 839, 322, 323, 353, 325, 343,
1142 52, 240, 644, 400, 53, 54, 326, 526, 327, 328,
1143 329, 330, 425, 331, 1265, 464, 592, 332, 1266, 56,
1144 202, 656, 333, 203, 504, 204, 182, 195, 60, 447,
1145 465, 1288, 712, 1152, 183, 196, 61, 475, 713, 62,
1146 63, 634, 635, 636, 1238, 430, 802, 803, 1498, 1499,
1147 1463, 1405, 1316, 64, 622, 346, 1179, 1406, 1048, 891,
1148 65, 66, 67, 68, 226, 69, 70, 71, 228, 730,
1149 731, 732, 733, 230, 472, 473, 751, 752, 753, 1000,
1150 1010, 1001, 1305, 1002, 1003, 1306, 1307, 619, 620, 571,
1151 867, 335, 433, 434, 176, 184, 73, 74, 75, 185,
1152 186, 153, 77, 132, 336, 337, 338, 79, 339, 81,
1153 735, 123, 124, 125, 480, 105, 82, 340, 844, 845,
1154 862, 595, 1269, 1270, 1135, 1136, 1137, 682, 1271, 947,
1155 1272, 1349, 1473, 1428, 1429, 1273, 1274, 1453, 1350, 1474,
1156 1351, 1509, 1352, 1511, 1556, 1571, 1353, 1532, 1483, 1533,
1157 1434, 426, 679, 1236, 1275, 1367, 1488, 1340, 1341, 1420,
1158 1502, 1472, 1468, 1276, 1479, 1370, 809, 1535, 1536, 1537,
1159 1569, 698, 699, 967, 1148, 1284, 700, 701, 702, 963,
1160 703, 146, 965, 705, 1150, 1151, 498, 84, 85
1161 };
1162
1163 static const short yypact[] = { 141,
1164 174,-32768,-32768, 10190,-32768, 58, 105, 283, 289, 114,
1165 181,-32768,-32768, 837,-32768, 169, 184, 197,-32768,-32768,
1166 -32768, 738, 1585, 400, 337,-32768, 351, 310,-32768, 2004,
1167 2004,-32768, 3383,-32768, 10190, 206,-32768,-32768, 399,-32768,
1168 344, 10268,-32768,-32768, 291, 969, 466, 434, 460,-32768,
1169 -32768,-32768,-32768, 149, 1941,-32768, 3753,-32768, 1846, 622,
1170 -32768, 496,-32768,-32768, 1747, 308,-32768, 485,-32768,-32768,
1171 492, 4641,-32768,-32768,-32768, 952,-32768,-32768,-32768, 1032,
1172 -32768,-32768, 168, 7629, 489,-32768,-32768, 9084,-32768, 9084,
1173 -32768, 9084,-32768,-32768,-32768, 283, 289, 351, 524, 473,
1174 531, 460,-32768, 1192,-32768, 168, 9170, 9170, 520,-32768,
1175 -32768,-32768,-32768,-32768, 79, 579, 379, 406, 413, 585,
1176 591,-32768,-32768, 1060,-32768, 919, 283, 289,-32768, 351,
1177 524,-32768, 871, 617, 578, 10509, 9084,-32768, 9084, 2101,
1178 -32768, 1901, 657, 2101,-32768, 1090, 2145, 2145, 3383, 556,
1179 564, 581, 584, 601,-32768,-32768, 705,-32768, 623,-32768,
1180 1788, 58,-32768,-32768,-32768, 672, 496, 785, 125, 295,
1181 739,-32768,-32768, 690, 171,-32768,-32768, 2573, 2573, 3481,
1182 952, 663,-32768,-32768, 352,-32768,-32768, 2297,-32768,-32768,
1183 -32768,-32768,-32768, 1846, 722,-32768, 496, 952,-32768,-32768,
1184 -32768, 1880, 1846,-32768, 496,-32768, 3662,-32768,-32768,-32768,
1185 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 460,
1186 496, 1649, 1481,-32768,-32768, 485,-32768,-32768,-32768,-32768,
1187 -32768, 1379, 168,-32768, 652, 1375,-32768, 251,-32768,-32768,
1188 -32768,-32768,-32768, 2796,-32768,-32768, 645,-32768, 718, 744,
1189 -32768,-32768,-32768,-32768, 788,-32768,-32768,-32768,-32768,-32768,
1190 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1191 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 736,-32768,-32768,
1192 1379, 4641, 990,-32768,-32768, 761,-32768,-32768, 9778, 9864,
1193 9950, 9950,-32768,-32768,-32768,-32768,-32768, 765, 790, 811,
1194 813, 815, 659, 524, 9256, 1090, 9950,-32768,-32768, 9950,
1195 -32768,-32768, 9950, 7107,-32768, 9950, 292, 839,-32768, 9950,
1196 -32768, 9342,-32768, 3876, 328, 843, 4001, 9428,-32768, 890,
1197 3924,-32768, 2740, 3456, 2396,-32768, 338,-32768, 1238, 2719,
1198 292, 292, 9084, 10509,-32768, 1090, 796, 1090,-32768,-32768,
1199 803, 856, 10695, 830, 832, 846, 1398, 623,-32768,-32768,
1200 -32768,-32768,-32768,-32768,-32768,-32768, 579, 379, 406, 1090,
1201 413, 585, 892, 591,-32768, 910,-32768, 571, 283, 289,
1202 -32768,-32768,-32768,-32768,-32768,-32768, 4469,-32768,-32768, 3662,
1203 4873, 1513,-32768, 292, 464,-32768, 951,-32768,-32768,-32768,
1204 2101,-32768,-32768, 2101,-32768, 880,-32768,-32768, 2796, 78,
1205 883, 888,-32768,-32768,-32768, 705,-32768, 496,-32768,-32768,
1206 -32768,-32768, 165,-32768,-32768,-32768,-32768, 7198, 9256,-32768,
1207 -32768,-32768, 9256, 895,-32768, 6555, 121, 2907,-32768, 2907,
1208 -32768, 2918, 2918, 3481, 916,-32768, 496, 3662,-32768, 898,
1209 -32768,-32768, 3026, 1880, 1846, 3662,-32768, 496,-32768,-32768,
1210 496, 1880,-32768, 991,-32768,-32768, 460,-32768, 1649,-32768,
1211 551, 4035, 88, 1379, 496,-32768,-32768, 960, 966, 994,
1212 984,-32768,-32768,-32768,-32768, 724,-32768, 422, 956, 964,
1213 -32768,-32768, 1379,-32768,-32768, 1109,-32768,-32768, 9084, 9256,
1214 761, 7107,-32768, 428, 7107,-32768,-32768,-32768, 9170, 5665,
1215 5665, 5665, 5665, 10740,-32768,-32768,-32768,-32768, 961, 10036,
1216 10036, 7107, 968, 34, 975, 1013, 977,-32768,-32768,-32768,
1217 -32768, 9084,-32768, 6737, 7107,-32768, 9256, 9256, 7289, 9256,
1218 9256, 9256, 9256, 9256, 9256, 9256, 9256, 9256, 9256, 9256,
1219 9256, 9256, 9256, 9256, 9256, 9256, 9256, 9256,-32768, 9256,
1220 -32768,-32768,-32768,-32768,-32768, 9256, 9256,-32768,-32768, 4328,
1221 333, 409, 7989,-32768,-32768,-32768, 1020, 1375, 1088, 437,
1222 455, 498, 2567, 657,-32768, 2128, 2128,-32768, 5231, 989,
1223 1006, 1055,-32768,-32768, 517, 8539, 1241,-32768, 1179, 168,
1224 -32768,-32768, 9256,-32768,-32768,-32768,-32768,-32768, 202, 489,
1225 -32768,-32768, 292,-32768, 3662, 2018,-32768, 1045, 1059,-32768,
1226 -32768, 1090, 892,-32768, 7721, 7812,-32768,-32768,-32768,-32768,
1227 -32768,-32768,-32768, 91,-32768, 1028, 1014, 623, 571, 1068,
1228 9084,-32768, 1065,-32768,-32768, 617, 1711, 337, 1094, 253,
1229 1062, 1071,-32768,-32768, 674, 10564, 674, 5049, 1747, 4582,
1230 -32768, 1079,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1231 1031,-32768, 1091,-32768,-32768, 291, 90, 148, 1093, 1013,
1232 -32768,-32768,-32768,-32768, 5950, 10740,-32768, 856, 1050, 10695,
1233 -32768,-32768, 1053,-32768, 1054, 225, 5635, 1056,-32768, 260,
1234 10327, 1089, 1103, 543,-32768,-32768,-32768, 2907, 2907,-32768,
1235 3026,-32768, 1114,-32768,-32768, 1080, 121,-32768, 1880,-32768,
1236 -32768, 496,-32768, 379, 406,-32768, 1097,-32768, 591, 1141,
1237 -32768,-32768, 232,-32768,-32768, 1593,-32768, 726, 539,-32768,
1238 9256, 3650,-32768, 3650, 298, 298, 201, 553, 1769, 10382,
1239 4220,-32768, 94, 298, 1131, 496,-32768, 121, 4988, 9084,
1240 9084,-32768, 9084, 121, 4988,-32768,-32768,-32768,-32768,-32768,
1241 -32768, 963, 963, 963, 292, 1095, 1118, 9520, 1055, 1126,
1242 1137, 1139, 1127, 4298, 1130, 1156, 1182,-32768, 1143,-32768,
1243 -32768, 1159,-32768,-32768, 1209, 366, 532, 423, 193, 9256,
1244 1213,-32768, 1142, 1169, 10740, 10740,-32768,-32768, 1218, 2626,
1245 3261, 3557, 4485, 2315, 4356, 4384, 2045, 2045, 2045, 1546,
1246 1546, 1138, 1138, 737, 737, 737,-32768,-32768, 1175, 1183,
1247 1181, 9256, 9170,-32768, 333,-32768, 7198, 9256,-32768,-32768,
1248 -32768, 9256,-32768,-32768, 1199, 9950, 1185, 1210, 1225, 1254,
1249 -32768, 9256,-32768, 9256,-32768, 9256, 2456,-32768, 2456,-32768,
1250 103, 1201, 1205,-32768, 1203, 5665, 121,-32768, 121, 2998,
1251 -32768, 4988, 1204, 8723, 8723, 5753, 1212, 9342, 1216, 2729,
1252 2719, 1343, 1217,-32768,-32768,-32768,-32768,-32768, 9256, 1090,
1253 1208, 1059,-32768, 10740,-32768, 10740, 1398, 1220, 9606,-32768,
1254 1221, 1261,-32768, 292,-32768,-32768,-32768,-32768,-32768, 1168,
1255 4469,-32768, 5665, 9084, 1176, 1176, 3180,-32768,-32768,-32768,
1256 -32768, 2297,-32768,-32768,-32768, 751, 9256,-32768,-32768,-32768,
1257 -32768,-32768,-32768,-32768, 579,-32768, 413, 585, 9256, 1272,
1258 -32768, 555, 583, 610, 1013,-32768, 81,-32768, 118,-32768,
1259 -32768,-32768,-32768,-32768,-32768, 8631,-32768,-32768,-32768,-32768,
1260 -32768,-32768,-32768, 1103, 1268,-32768,-32768,-32768, 5665,-32768,
1261 -32768,-32768, 1273,-32768, 9170,-32768,-32768,-32768,-32768, 1469,
1262 -32768, 4988, 10740,-32768, 1512,-32768, 496, 496,-32768,-32768,
1263 -32768,-32768,-32768, 4988, 675, 852, 9256, 991,-32768, 1282,
1264 -32768,-32768,-32768, 188, 324, 1032, 657, 416, 298, 1285,
1265 -32768, 424,-32768,-32768,-32768, 496, 5473,-32768,-32768, 1243,
1266 292, 292, 292,-32768, 1245, 121, 4988, 121, 4988,-32768,
1267 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1264, 1265,
1268 1269, 1270, 1031,-32768, 6025, 7198, 6831, 1255,-32768, 9256,
1269 -32768,-32768,-32768, 1258, 1260, 1262, 5665,-32768,-32768, 1277,
1270 76, 1628, 1628, 1278, 1628,-32768,-32768, 9950, 1364, 9084,
1271 -32768, 1284, 1287, 1289,-32768,-32768,-32768,-32768,-32768,-32768,
1272 -32768,-32768, 121, 1300,-32768, 1279,-32768,-32768, 2747,-32768,
1273 -32768,-32768,-32768,-32768, 10740,-32768,-32768, 1301,-32768,-32768,
1274 122, 1303,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2279,
1275 2279, 2468, 2468, 3180,-32768, 2297,-32768, 2584, 3876,-32768,
1276 -32768, 1306,-32768, 148,-32768, 9256,-32768, 9256,-32768, 9256,
1277 -32768, 1090,-32768,-32768, 6368, 1340,-32768, 6922,-32768, 8815,
1278 8815, 6461, 172, 1309, 227,-32768, 7198, 7013,-32768,-32768,
1279 189, 7198,-32768, 1311, 1313, 551,-32768,-32768,-32768, 121,
1280 1314,-32768, 1345, 1345, 121, 1321, 9256, 9256, 5828, 496,
1281 2251, 496, 496, 1356, 496, 3235, 1345, 8057,-32768,-32768,
1282 -32768, 1380,-32768,-32768,-32768, 1327,-32768, 1337, 9256, 9256,
1283 9256, 9256, 7198,-32768, 1386,-32768,-32768, 10740,-32768,-32768,
1284 -32768, 383, 1262,-32768,-32768,-32768,-32768,-32768,-32768, 1338,
1285 -32768, 1403, 292,-32768,-32768,-32768, 121,-32768,-32768,-32768,
1286 -32768,-32768,-32768, 9256,-32768,-32768, 2279, 2279,-32768, 2584,
1287 -32768,-32768, 1348, 1352, 1353, 1355,-32768, 800, 243, 1402,
1288 879, 988,-32768,-32768,-32768,-32768,-32768, 9256, 1409, 1405,
1289 1415, 8907, 229, 1090, 526, 729,-32768,-32768, 8998, 1471,
1290 -32768,-32768,-32768, 1418,-32768, 3314, 10450, 10619, 6235,-32768,
1291 -32768, 1465,-32768,-32768,-32768, 8150,-32768,-32768, 1374, 824,
1292 -32768,-32768,-32768,-32768, 5665,-32768,-32768, 7198,-32768,-32768,
1293 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 5828, 5828,-32768,
1294 1345, 775, 1075, 9256,-32768,-32768,-32768, 991, 991, 1345,
1295 1345, 724, 1345,-32768,-32768, 6120, 121, 121,-32768,-32768,
1296 1383, 1385, 1389, 1392,-32768, 7198, 9256,-32768, 383,-32768,
1297 -32768,-32768,-32768, 121, 1393,-32768,-32768,-32768,-32768, 1355,
1298 -32768, 1090,-32768,-32768,-32768,-32768,-32768,-32768, 619, 619,
1299 1013, 1395, 1413, 4701,-32768,-32768,-32768,-32768, 1449, 9256,
1300 1450, 1455, 1459, 1706, 1742,-32768, 1013,-32768,-32768, 1421,
1301 -32768,-32768, 991, 819,-32768, 901, 991, 9692, 992, 272,
1302 -32768,-32768,-32768,-32768,-32768,-32768, 330,-32768,-32768, 121,
1303 121,-32768,-32768,-32768, 9256, 9256, 5828, 496, 496,-32768,
1304 -32768,-32768,-32768, 7903,-32768,-32768,-32768,-32768, 121, 121,
1305 -32768,-32768,-32768,-32768,-32768, 1417,-32768,-32768,-32768, 1431,
1306 -32768,-32768,-32768, 9170,-32768,-32768,-32768, 1514, 8446, 6646,
1307 9170, 9256,-32768, 8258,-32768, 1472,-32768,-32768, 1479,-32768,
1308 1459, 1706,-32768,-32768, 705,-32768,-32768, 10122, 10122, 7380,
1309 -32768,-32768, 1013,-32768,-32768, 5828, 5828,-32768, 1345, 1345,
1310 1429, 10650, 1443,-32768,-32768,-32768, 5563,-32768,-32768, 1442,
1311 799, 3662, 1013, 8352,-32768,-32768, 81,-32768,-32768, 1495,
1312 1452, 10718, 8258,-32768,-32768,-32768,-32768, 1355, 86,-32768,
1313 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 466, 291, 1454,
1314 1456, 1013,-32768, 991,-32768,-32768,-32768,-32768, 624,-32768,
1315 7471,-32768,-32768,-32768,-32768, 1355, 1554, 1511, 154,-32768,
1316 -32768,-32768,-32768, 496, 81,-32768, 9256, 1515,-32768, 1517,
1317 -32768, 1013, 8258, 1488, 642, 1524,-32768,-32768,-32768, 165,
1318 -32768, 1522,-32768, 1483,-32768,-32768,-32768,-32768, 9256, 1554,
1319 1534, 1554,-32768,-32768,-32768, 7562, 1487, 715,-32768,-32768,
1320 7198, 1493,-32768, 1591, 1544,-32768,-32768,-32768, 271,-32768,
1321 8352, 1595, 1548,-32768,-32768,-32768, 1610, 1611,-32768
1322 };
1323
1324 static const short yypgoto[] = {-32768,
1325 1612,-32768, -323,-32768, 1198, 60, 13, 1615,-32768, 420,
1326 -32768,-32768, 448,-32768, 810,-32768, 828,-32768, 249, 979,
1327 -32768, 5,-32768,-32768, -603,-32768,-32768, 708,-32768, 1460,
1328 -676, 138, -672, 1477, 56,-32768,-32768,-32768,-32768,-32768,
1329 893,-32768,-32768,-32768,-32768,-32768,-32768, 516, 214,-32768,
1330 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1331 1550, -520, 5303, 80, -141, -72, 1519, -518,-32768, 185,
1332 -32768, 301,-32768, -1326,-32768, -1366, 115,-32768, 1307, 1134,
1333 -240, 459, -523,-32768, -807, 4515, -220, 1123, 3464, 1411,
1334 -313, -58, -27, -9, -57, 198,-32768,-32768,-32768, -321,
1335 -32768, -155,-32768,-32768, -1186, -54, -326, 4302, 32, 958,
1336 -137, 9, 74, -187, -4, -160, -570, 426,-32768, -35,
1337 109,-32768, -339,-32768,-32768,-32768,-32768,-32768, -91, 1725,
1338 55,-32768, 802,-32768,-32768, -1043, -190, 1016,-32768,-32768,
1339 -32768,-32768,-32768, 335,-32768,-32768,-32768,-32768,-32768, 821,
1340 -358,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1476,-32768,
1341 547, 727,-32768,-32768,-32768,-32768, 701, -690,-32768,-32768,
1342 -32768,-32768,-32768,-32768, 970,-32768, 545, 1102, 835, 1157,
1343 1988, 28, -24, -434, 1543, 3843, -456,-32768, 108,-32768,
1344 4903, -126, 242, -97, 3744, 1399,-32768, 4268, 1908, 270,
1345 -18, -101,-32768, 1605, -62,-32768, 4092, 2707, -61,-32768,
1346 2287,-32768,-32768, 462,-32768,-32768, 596, 195, -346,-32768,
1347 -32768,-32768,-32768, -1324,-32768, -1177, -1350,-32768,-32768,-32768,
1348 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1349 -32768, 219,-32768,-32768,-32768,-32768,-32768, 245, -1271,-32768,
1350 -32768, -45,-32768,-32768,-32768,-32768, -1347, 190,-32768, 187,
1351 -32768, -621, -563, 778,-32768,-32768,-32768,-32768, -377,-32768,
1352 -375, -193,-32768, 370, 468,-32768, 208,-32768, -230
1353 };
1354
1355
1356 #define YYLAST 10824
1357
1358
1359 static const short yytable[] = { 59,
1360 181, 410, 945, 933, 122, 481, 455, 597, 42, 661,
1361 167, 662, 57, 794, 734, 716, 36, 341, 607, 342,
1362 402, 405, 241, 151, 377, 863, 606, 1058, 659, 175,
1363 59, 72, 863, 471, 637, 55, 385, 59, 283, 42,
1364 234, 460, 463, 57, 474, 833, 42, 36, 503, 506,
1365 57, 984, 194, 986, 36, 925, 454, 140, 144, 46,
1366 1013, 376, 72, 35, 394, 462, 55, 232, 1421, 72,
1367 507, 508, 1368, 55, 382, 417, 683, 58, 1476, 281,
1368 559, 536, 1480, 334, 241, 334, 516, 334, 575, 517,
1369 46, 1383, 518, 493, 35, 528, 575, 46, 1386, 533,
1370 575, 35, 334, 334, 1481, 383, 384, 574, 58, 610,
1371 1510, 282, 193, 1132, 953, 58, 209, 86, 721, 1294,
1372 1295, 103, 585, 1508, 755, 420, 560, 175, 1490, 484,
1373 241, 392, 334, 1315, 334, 757, 359, 1020, 403, 406,
1374 -1, -279, 360, 1025, 391, 931, 493, 1517, 1505, 897,
1375 935, 724, 725, 1014, 1539, 865, 59, 280, 1543, 238,
1376 175, 954, 458, 72, 955, 680, 87, 390, 778, 57,
1377 151, 8, 9, -2, 401, 404, 1138, 779, 88, 792,
1378 1224, 704, -340, 1205, 1531, 673, 421, 93, 72, 1133,
1379 245, 389, 55, 1518, 936, -566, 756, 934, 898, 611,
1380 612, 26, 1015, 937, 938, 438, 440, 1547, 1562, 58,
1381 793, -340, -349, 349, 15, 421, 46, 435, -286, 422,
1382 1508, 943, 681, 130, 131, 989, 1139, 101, 94, 1225,
1383 152, 95, 110, 111, 58, 115, 953, 687, 978, 293,
1384 939, -566, 174, 1478, 1421, -349, 138, 1285, 422, -349,
1385 1084, 209, 667, 668, -134, 26, 1484, 1394, 990, 209,
1386 677, 107, 991, 436, -286, -286, 1400, 1401, 979, 1402,
1387 613, 958, 580, -606, 154, 209, 108, 232, 218, -279,
1388 645, 572, -349, 954, 112, 113, 955, 607, -809, 109,
1389 910, 351, 355, 460, 463, 992, 1286, 482, 157, 516,
1390 517, 460, 1344, 581, 525, 1515, 1106, 640, 1360, 334,
1391 1057, 911, 863, 463, 901, 402, 405, 719, 959, -606,
1392 -606, 960, 281, 661, 15, 964, 488, 912, -399, 1572,
1393 232, 1344, 463, 946, -606, 664, 89, 373, 334, 616,
1394 245, 427, 91, 483, 152, 152, 152, 481, -350, 243,
1395 15, 1345, 391, 863, 282, 1548, 90, -399, 428, 399,
1396 1161, -399, 92, 138, 1091, 224, 529, 1094, 530, 225,
1397 597, 72, 1166, 243, 559, 615, -288, 152, 1573, 836,
1398 1452, -350, 658, 139, 602, -350, 194, 429, 154, 154,
1399 154, 649, 863, 206, 1328, 1109, 837, 164, -566, 614,
1400 280, 159, 243, 127, 128, 1186, -399, 1188, 1120, 1121,
1401 135, 243, 127, 128, 660, 1493, 1494, 58, -350, 89,
1402 560, 154, -288, -288, 137, 838, 775, -131, 722, 836,
1403 603, 697, 362, 403, 406, 466, 468, -282, 1086, 90,
1404 -110, 160, 15, 129, -566, 450, 837, 245, -108, 479,
1405 15, 38, 90, 26, 156, 130, 131, 243, 158, 363,
1406 657, 163, 26, 660, 130, 131, 364, 59, 768, 708,
1407 709, 884, 209, -110, 585, 838, 1327, -110, 840, 92,
1408 750, -108, 38, 851, -133, -108, 137, 1013, 841, 38,
1409 168, 243, 525, 172, 334, 525, 137, 334, 523, 72,
1410 334, 853, 842, 749, 334, 784, 784, 784, 784, 657,
1411 -110, 403, 789, 173, 769, 209, 243, 334, -108, 515,
1412 778, 1417, 532, 734, 572, 525, 18, 334, 206, 852,
1413 334, 742, 974, 661, 976, 662, 206, 206, 529, 980,
1414 530, 645, 127, 128, 855, 58, 227, 854, 907, 229,
1415 863, 748, 659, 116, 724, 725, 714, 726, 460, 607,
1416 886, 623, 284, 871, 720, 281, 206, 606, 904, 129,
1417 633, 1221, 1222, 285, 379, 380, 10, 138, 863, 26,
1418 727, 345, 1363, 623, 658, 91, 879, 728, 347, 968,
1419 856, 697, 26, -132, 130, 131, 493, 282, 1131, 993,
1420 918, 1125, 923, 924, 26, 92, 119, 120, 243, 872,
1421 873, 21, 357, 857, 859, 206, 660, 691, 906, 285,
1422 379, 380, 10, 660, 26, 1067, 27, 304, 122, 1127,
1423 973, 1210, 361, 1033, 377, 969, 334, 536, 365, 152,
1424 152, 152, 924, 280, 366, 994, 1059, 1126, 8, 486,
1425 610, 194, 386, 516, 517, 232, 1129, 21, 32, 944,
1426 127, 128, 657, -279, 1018, 1423, 243, 943, 206, 657,
1427 1526, 407, 27, 304, 174, 1128, 7, 8, 9, 10,
1428 207, 208, 723, 154, 154, 154, 523, 1021, 1022, 523,
1429 1023, 408, 348, 781, 999, 1374, 658, 1379, 476, 734,
1430 130, 131, 1130, 1550, 32, 91, 523, 245, -601, 987,
1431 988, 1424, 130, 131, 21, 288, 1527, -170, 1016, 523,
1432 585, 448, 449, 808, 487, 92, 206, 26, 660, 27,
1433 28, -7, 137, -170, 779, -170, 1167, 59, 243, 59,
1434 95, 110, 111, 915, 477, 194, 59, 801, 88, 1551,
1435 750, 831, 750, 916, 658, 334, 334, 847, 334, 750,
1436 658, 32, 1105, 588, 416, 243, 917, 590, 879, 72,
1437 766, 72, 981, 749, 657, 985, 1564, 91, 72, 91,
1438 456, 457, 749, 1156, 1157, 1158, 660, 419, 206, 206,
1439 1366, 849, 660, 112, 113, 114, 206, 92, 431, 92,
1440 432, 742, 137, 742, 998, 1008, 200, 201, 206, -52,
1441 742, 489, 14, 39, -52, 58, 767, 58, 982, 557,
1442 558, 748, 1565, 748, 58, -52, 1520, 206, 334, 748,
1443 748, 40, 657, 1061, 20, -288, 1395, 490, 657, 95,
1444 96, 97, 1540, 23, 39, 585, 492, 1211, 88, 491,
1445 -288, 39, 243, 500, -288, 1194, 1196, 509, 1342, 1343,
1446 909, 784, 40, 510, 241, 403, 789, 658, 243, 40,
1447 -288, 697, 926, 285, 379, 380, 10, 448, 1446, 1181,
1448 1182, 1183, -288, -288, 511, -288, 512, -288, 513, 561,
1449 26, 778, 98, 99, 100, 1163, 1164, 532, 801, 660,
1450 575, 857, 859, 660, 621, 89, 658, 151, 784, 334,
1451 624, 21, 658, 1168, 625, 649, -288, -288, 236, 516,
1452 517, 116, 117, 118, 1177, 90, 27, 304, 562, 563,
1453 999, -288, 89, 564, 565, 566, 567, 627, 660, 628,
1454 1347, 779, 1110, 1111, 660, 657, 1144, 1196, 241, 657,
1455 206, 697, 90, 629, 127, 128, 1281, 1283, 32, 456,
1456 1447, 1287, 1170, 642, 784, 641, 127, 128, 1172, 1173,
1457 334, 484, 1170, 1175, 119, 120, 1173, 658, 15, 1030,
1458 1031, 1032, -399, 660, 657, 402, 405, 671, 245, 658,
1459 657, -6, 206, 127, 128, 15, 674, 1213, 348, -399,
1460 1206, 1207, 1325, 1209, 1427, 692, 130, 131, 715, 660,
1461 -399, -399, 59, 402, 405, -399, 26, 15, 130, 131,
1462 1444, 660, 658, 710, 658, 750, 1064, -399, -399, 657,
1463 487, 206, 494, 760, 7, 8, 235, 10, 528, 761,
1464 998, 91, 495, 26, 72, 130, 131, 762, 749, 1348,
1465 448, 1451, 784, 206, 660, 657, 660, 763, 241, 494,
1466 523, 92, 367, 368, 369, 334, 770, 657, 788, 495,
1467 681, 1332, 21, 848, 771, 790, 742, 1300, 1301, 236,
1468 1310, 1311, 791, 1313, 793, 238, 972, 27, 28, 661,
1469 58, 1501, 95, 110, 111, 850, 748, 1389, 866, 864,
1470 657, 868, 657, 403, 406, 944, 1427, 370, 889, 658,
1471 633, 237, 127, 128, 152, 371, 372, 890, 206, 32,
1472 899, 903, 900, 909, 905, 913, 1427, 1019, 89, 20,
1473 1268, 403, 1279, 1024, 914, 1415, 1396, 697, -282, 1227,
1474 1228, 660, 927, 1267, 779, 112, 113, 1260, 90, 243,
1475 932, 243, -808, 152, 421, 1523, 348, 950, 154, 1154,
1476 951, 952, 72, 957, 130, 131, 966, 1227, 1228, 660,
1477 95, 110, 111, 59, 210, 211, 212, 970, 7, 8,
1478 9, 10, 8, 9, 13, 1427, 750, 657, 237, 975,
1479 971, 243, 1017, 683, 1259, 8, 9, 154, 18, 977,
1480 1047, 1039, 1034, 213, 1040, 72, 1392, 1393, 58, 749,
1481 324, 1373, 324, 1373, 324, 657, 21, 554, 555, 556,
1482 557, 558, 585, 112, 113, 1035, 348, 516, 517, 26,
1483 1041, 27, 28, 1036, 130, 131, 1080, 742, 1081, 348,
1484 285, 8, 9, 10, 1037, 915, 1038, 130, 131, -562,
1485 1043, 58, -562, 488, 1268, 916, 1042, 748, 237, 324,
1486 1195, 324, 194, 32, 1268, 588, 1044, 1267, 917, 590,
1487 -130, 1268, 1398, 1399, 1046, 243, 1049, 1267, 21, 1050,
1488 784, 1260, 1051, 493, 1267, 236, 72, 868, 1260, 1489,
1489 1052, 1053, 1066, 27, 304, 1068, 72, 1069, 1070, -562,
1490 1071, -562, -562, 72, -562, 1458, 1459, 1460, 1077, 152,
1491 152, 152, 1078, 1079, 1085, -562, 1097, -562, 1259, 1087,
1492 1104, 402, 405, 1088, 1090, 32, 523, 1100, 1259, 1103,
1493 1124, 1147, 58, -562, -562, 1259, 1153, 152, 152, 152,
1494 1171, 458, 58, 1176, 655, 1237, 8, 9, -562, 58,
1495 1180, 1195, 1184, 154, 154, 154, 1189, 1190, 243, 127,
1496 1312, 1191, 1192, 1197, 1491, 1492, 1199, 1200, 1144, 1201,
1497 1566, 1212, 1132, 1321, 1322, 1323, 1324, 95, 110, 111,
1498 478, 154, 154, 154, 1204, 243, 200, 201, 1208, 1220,
1499 348, 1214, 14, 655, 1215, 1185, 1216, 1187, 130, 131,
1500 95, 110, 111, 348, 630, 631, 632, 1219, 428, 1223,
1501 1226, 130, 131, 1231, 20, 21, 1280, 1504, 1289, 1471,
1502 1290, 1293, 487, 23, 1268, 1268, 1471, 514, 1297, 1268,
1503 112, 113, 1542, -643, 1319, 487, 1359, 1267, 1267, 403,
1504 1279, 1260, 1267, 243, 1320, 334, 1260, 1326, 1330, 1331,
1505 1339, 282, 1218, 112, 113, 1336, 72, 72, 282, 1337,
1506 1338, 72, 658, 1346, 1356, 324, 1361, 1362, 1524, 1268,
1507 1355, 116, 724, 725, 1357, 708, 709, 1371, 1268, 1369,
1508 1384, 1387, 1267, 95, 96, 97, 1260, 1430, 1259, 1259,
1509 1411, 1267, 1412, 1259, 660, 1260, 1413, 280, 727, 1414,
1510 1419, 72, 58, 58, 280, 1431, 1471, 58, 1435, 1437,
1511 72, 1416, 1438, 1445, 995, 996, 9, 10, 360, 199,
1512 200, 201, 26, 1467, 119, 120, 14, 1466, 1268, 1292,
1513 1475, 1485, 1486, 1259, 1296, 1495, 98, 99, 282, 1497,
1514 657, 1267, 1259, 18, 1436, 1260, 655, 58, 20, 1503,
1515 686, 690, 21, 655, 1512, 1422, 58, 23, 690, 1513,
1516 72, 1521, 689, 1522, 1534, 26, 1268, 27, 28, 695,
1517 1538, 1162, 665, 997, 1545, 152, 1546, 1440, 1443, 1267,
1518 1549, 178, 1552, 1260, 280, 1554, 1333, 116, 117, 118,
1519 1555, 179, 1259, 1559, 1563, 116, 724, 725, 72, 32,
1520 1567, 1568, 206, 1570, 180, 1575, 58, 1576, 1469, 1578,
1521 1579, 1, 676, 1442, 808, 1469, 5, 902, 1107, 154,
1522 414, 324, 690, 552, 553, 554, 555, 556, 557, 558,
1523 1259, 127, 128, 776, 523, 1519, 484, 415, 26, 1232,
1524 119, 120, 1009, 344, 58, 152, 152, 152, 119, 120,
1525 1426, 95, 96, 97, 324, 1487, 686, 395, 655, 805,
1526 806, 1329, 810, 811, 812, 813, 814, 815, 816, 817,
1527 818, 819, 820, 821, 822, 823, 824, 825, 826, 827,
1528 828, 26, 690, 130, 131, 1574, 1407, 1408, 690, 154,
1529 154, 154, 1376, 829, 499, 1469, 348, 840, 1099, 830,
1530 949, 470, 1291, 1418, 98, 99, 1159, 841, 95, 110,
1531 111, 1544, 1098, 367, 368, 369, 655, 1178, 690, 1011,
1532 1314, 842, 655, 892, 1096, 690, 835, 451, 375, 582,
1533 1382, 1277, 1516, 1557, 1553, 688, 883, 1541, 1560, 1558,
1534 808, 1146, 688, 0, 95, 110, 111, 894, 896, 95,
1535 96, 97, 1388, 210, 211, 212, 0, 0, 0, 1454,
1536 1455, 112, 1439, 324, 26, 0, 371, 372, 0, 0,
1537 0, 995, 996, 9, 10, 0, 0, 18, 1464, 1465,
1538 0, 197, 213, 205, 0, 0, 0, 0, 6, 221,
1539 7, 8, 9, 10, 11, 12, 13, 112, 1441, 0,
1540 26, 14, 98, 99, 214, 206, 688, 686, 0, 21,
1541 0, 0, 0, 0, 0, 16, 0, 17, 18, 0,
1542 0, 0, 26, 20, 27, 28, 0, 0, 21, 655,
1543 997, 0, 23, 655, 0, 413, 0, 0, 178, 0,
1544 0, 26, 0, 27, 28, 0, 0, 29, 179, 215,
1545 216, 217, 199, 200, 201, 0, 32, 30, 0, 14,
1546 0, 180, 0, 983, 0, 0, 688, 31, 655, 0,
1547 0, 0, 688, 0, 655, 32, 18, 0, 0, 0,
1548 33, 20, 324, 324, 0, 324, 459, 200, 201, 0,
1549 23, 418, 0, 14, 0, 0, 0, 0, 0, 0,
1550 690, 0, 688, 7, 127, 128, 10, 0, 0, 688,
1551 18, 80, 0, 655, 0, 20, 0, 0, 205, 0,
1552 0, 104, 1045, 0, 23, 0, 461, 205, 0, 0,
1553 0, 133, 0, 0, 0, 0, 0, 142, 142, 655,
1554 142, 21, 80, 7, 8, 9, 10, 0, 236, 80,
1555 0, 655, 0, 0, 690, 690, 27, 28, 0, 686,
1556 690, 0, 188, 0, 80, 1054, 1055, 0, 0, 0,
1557 0, 1060, 222, 0, 690, 0, 690, 0, 690, 104,
1558 237, 21, 0, 0, 655, 1072, 655, 1073, 32, 1074,
1559 247, 104, 0, 0, 26, 0, 27, 28, 0, 0,
1560 177, 0, 0, 0, 0, 0, 7, 127, 128, 10,
1561 178, 1095, 13, 104, 0, 0, 0, 0, 0, 0,
1562 179, 690, 0, 0, 199, 200, 201, 0, 32, 0,
1563 0, 14, 1102, 180, 0, 0, 324, 0, 0, 0,
1564 0, 133, 0, 80, 21, 0, 0, 142, 18, 1119,
1565 397, 142, 0, 20, 142, 142, 142, 26, 0, 27,
1566 28, 690, 23, 0, 0, 0, 0, 0, 80, 244,
1567 0, 655, 1122, 30, 0, 0, 0, 887, 690, 0,
1568 0, 0, 0, 31, 688, 188, 188, 188, 0, 0,
1569 0, 32, 0, 0, 0, 0, 33, 0, 0, 655,
1570 0, 0, 0, 7, 127, 128, 10, 0, 0, 231,
1571 0, 0, 0, 0, 188, 197, 205, 0, 0, 1169,
1572 550, 551, 552, 553, 554, 555, 556, 557, 558, 0,
1573 469, 127, 128, 0, 0, 0, 13, 0, 688, 688,
1574 104, 21, 409, 0, 688, 0, 0, 7, 127, 128,
1575 10, 142, 0, 13, 26, 0, 27, 28, 688, 0,
1576 688, 0, 688, 437, 0, 0, 0, 0, 686, 686,
1577 30, 418, 1198, 0, 585, 0, 453, 0, 461, 205,
1578 31, 26, 418, 130, 131, 21, 461, 0, 32, 104,
1579 496, 0, 324, 33, 0, 0, 0, 586, 26, 418,
1580 27, 28, 0, 0, 0, 688, 0, 587, 0, 0,
1581 0, 0, 0, 0, 147, 0, 0, 588, 0, 0,
1582 589, 590, 0, 0, 148, 0, 0, 0, 0, 0,
1583 0, 0, 32, 0, 104, 0, 0, 149, 583, 0,
1584 496, 496, 599, 0, 0, 688, 0, 0, 690, 0,
1585 690, 80, 690, 1302, 1303, 9, 10, 0, 0, 1233,
1586 686, 1234, 688, 1235, 0, 0, 0, 0, 0, 686,
1587 686, 0, 0, 0, 686, 0, 0, 0, 0, 0,
1588 0, 7, 8, 9, 10, 133, 0, 231, 0, 1298,
1589 1299, 21, 0, 0, 104, 0, 0, 188, 104, 7,
1590 8, 9, 10, 0, 26, 0, 27, 28, 142, 0,
1591 0, 142, 1304, 0, 0, 686, 142, 0, 0, 21,
1592 178, 0, 0, 0, 0, 585, 0, 0, 0, 0,
1593 179, 0, 26, 0, 27, 28, 0, 21, 32, 0,
1594 205, 0, 0, 180, 236, 188, 690, 188, 915, 188,
1595 188, 188, 27, 28, 0, 188, 0, 1335, 916, 0,
1596 188, 0, 0, 188, 0, 0, 32, 0, 588, 0,
1597 1354, 917, 590, 0, 0, 0, 237, 0, 0, 80,
1598 197, 0, 205, 221, 32, 545, 546, 547, 548, 549,
1599 550, 551, 552, 553, 554, 555, 556, 557, 558, 8,
1600 9, 0, 0, 12, 231, 0, 0, 0, 0, 14,
1601 686, 0, 0, 0, 0, 0, 0, 104, 104, 104,
1602 104, 205, 0, 16, 655, 17, 1397, 0, 0, 0,
1603 0, 20, 688, 711, 688, 0, 688, 0, 717, 0,
1604 23, 0, 585, 461, 0, 0, 418, 0, 686, 26,
1605 0, 130, 131, 0, 0, 0, 0, 0, 0, 127,
1606 128, 0, 0, 758, 231, 586, 0, 0, 0, 764,
1607 7, 8, 9, 10, 197, 587, 13, 104, 0, 496,
1608 418, 772, 773, 0, 774, 588, 0, 0, 589, 590,
1609 0, 583, 0, 496, 496, 0, 599, 0, 0, 0,
1610 690, 0, 585, 880, 0, 0, 0, 882, 21, 26,
1611 0, 130, 131, 0, 585, 0, 0, 1456, 1457, 0,
1612 0, 26, 188, 27, 28, 586, 1462, 0, 0, 0,
1613 688, 0, 0, 0, 0, 587, 0, 1112, 0, 0,
1614 0, 0, 0, 0, 0, 588, 133, 1113, 589, 590,
1615 0, 0, 0, 133, 1482, 32, 0, 588, 0, 0,
1616 1114, 590, 188, 922, 188, 188, 222, 599, 0, 285,
1617 127, 128, 10, 0, 0, 7, 8, 9, 10, 869,
1618 870, 13, 0, 0, 869, 0, 7, 8, 9, 10,
1619 0, 0, 484, 0, 0, 0, 0, 0, 0, 0,
1620 0, 0, 0, 0, 188, 0, 0, 21, 922, 0,
1621 0, 0, 0, 21, 236, 188, 188, 0, 188, 594,
1622 598, 601, 27, 304, 21, 0, 26, 0, 27, 28,
1623 585, 0, 0, 0, 221, 0, 0, 26, 0, 27,
1624 28, 0, 178, 0, 0, 0, 133, 0, 0, 80,
1625 0, 80, 179, 915, 32, 0, 1006, 80, 80, 0,
1626 32, 0, 0, 916, 0, 180, 104, 0, 0, 0,
1627 0, 32, 104, 588, 0, 0, 917, 590, 0, 496,
1628 496, 496, 0, 686, 688, 0, 0, 0, 0, 0,
1629 0, 496, 541, 542, 543, 544, 545, 546, 547, 548,
1630 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
1631 83, 418, 418, 0, 0, 0, 0, 0, 0, 0,
1632 106, 604, 8, 9, 10, 0, 0, 0, 0, 126,
1633 134, 285, 8, 9, 10, 0, 143, 143, 0, 143,
1634 418, 83, 0, 127, 128, 0, 0, 0, 83, 285,
1635 8, 9, 10, 1026, 0, 1028, 293, 605, 0, 21,
1636 0, 143, 0, 83, 496, 0, 496, 0, 0, 21,
1637 0, 223, 26, 104, 130, 131, 236, 496, 233, 104,
1638 0, 880, 880, 880, 27, 304, 585, 21, 1089, 0,
1639 233, 0, 0, 26, 236, 130, 131, 0, 7, 127,
1640 128, 10, 27, 304, 484, 0, 0, 0, 237, 586,
1641 0, 0, 0, 0, 0, 0, 32, 0, 104, 587,
1642 104, 0, 188, 188, 1116, 0, 487, 1062, 1063, 588,
1643 1065, 0, 589, 590, 32, 0, 21, 0, 0, 0,
1644 0, 0, 83, 0, 0, 0, 143, 0, 0, 26,
1645 143, 27, 28, 143, 143, 143, 0, 0, 1083, 0,
1646 0, 0, 0, 1116, 0, 30, 0, 83, 0, 0,
1647 0, 0, 858, 860, 0, 31, 104, 0, 0, 0,
1648 0, 0, 0, 32, 143, 143, 143, 0, 33, 104,
1649 0, 0, 1006, 418, 418, 0, 418, 418, 0, 418,
1650 0, 104, 0, 0, 0, 0, 1118, 0, 0, 7,
1651 8, 9, 10, 143, 1174, 231, 0, 0, 0, 0,
1652 7, 8, 9, 10, 80, 0, 13, 0, 0, 0,
1653 0, 0, 0, 0, 104, 0, 104, 0, 0, 0,
1654 0, 920, 0, 594, 598, 0, 601, 21, 0, 0,
1655 143, 0, 0, 0, 0, 0, 0, 0, 21, 0,
1656 26, 0, 27, 28, 104, 0, 0, 0, 1160, 496,
1657 496, 26, 496, 27, 28, 0, 178, 0, 0, 0,
1658 1165, 0, 0, 598, 0, 0, 179, 442, 233, 143,
1659 0, 197, 205, 0, 32, 0, 0, 443, 0, 180,
1660 0, 127, 128, 0, 0, 32, 484, 0, 0, 0,
1661 444, 0, 0, 0, 0, 0, 0, 188, 188, 188,
1662 188, 1116, 418, 418, 0, 188, 0, 0, 7, 8,
1663 9, 10, 0, 233, 484, 0, 0, 584, 0, 143,
1664 143, 600, 0, 0, 585, 0, 609, 1116, 1116, 1116,
1665 83, 26, 0, 130, 131, 0, 0, 0, 0, 0,
1666 0, 0, 0, 0, 0, 1217, 21, 586, 0, 0,
1667 598, 0, 0, 0, 0, 0, 0, 587, 188, 26,
1668 0, 27, 28, 142, 646, 80, 0, 588, 0, 0,
1669 589, 590, 0, 233, 0, 178, 143, 233, 0, 0,
1670 0, 0, 0, 0, 1230, 179, 0, 143, 0, 0,
1671 143, 0, 0, 32, 0, 143, 0, 0, 180, 0,
1672 0, 418, 418, 418, 0, 0, 0, 0, 0, 0,
1673 0, 0, 0, 0, 188, 188, 0, 188, 0, 0,
1674 0, 0, 0, 1075, 143, 1076, 143, 0, 143, 143,
1675 143, 0, 0, 0, 143, 0, 1082, 0, 0, 143,
1676 858, 860, 143, 0, 0, 0, 0, 1317, 0, 0,
1677 0, 1318, 0, 188, 922, 188, 0, 736, 83, 0,
1678 418, 418, 7, 8, 9, 10, 388, 12, 13, 0,
1679 0, 694, 104, 14, 0, 0, 0, 0, 0, 0,
1680 0, 858, 860, 0, 0, 0, 1334, 16, 0, 17,
1681 18, 0, 0, 0, 0, 20, 233, 233, 233, 233,
1682 21, 0, 0, 0, 23, 0, 585, 0, 0, 0,
1683 0, 0, 0, 26, 0, 27, 28, 1302, 127, 128,
1684 10, 0, 0, 0, 0, 0, 0, 0, 418, 1112,
1685 0, 0, 0, 0, 0, 0, 0, 0, 0, 1113,
1686 0, 0, 0, 0, 0, 0, 0, 32, 0, 588,
1687 0, 0, 1114, 590, 0, 21, 233, 0, 143, 0,
1688 1390, 0, 0, 0, 1391, 1116, 0, 0, 26, 0,
1689 27, 28, 143, 143, 0, 600, 1304, 0, 0, 0,
1690 0, 0, 881, 0, 30, 0, 1409, 1410, 0, 0,
1691 0, 0, 0, 0, 31, 609, 7, 8, 9, 10,
1692 0, 143, 32, 0, 0, 0, 0, 33, 542, 543,
1693 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1694 554, 555, 556, 557, 558, 646, 0, 0, 0, 0,
1695 0, 0, 0, 126, 21, 1116, 1116, 1116, 0, 0,
1696 0, 143, 600, 143, 143, 223, 600, 26, 0, 27,
1697 28, 0, 0, 1372, 104, 0, 0, 0, 0, 188,
1698 0, 0, 0, 178, 736, 7, 127, 128, 10, 0,
1699 0, 0, 0, 179, 0, 0, 1075, 1076, 858, 860,
1700 0, 32, 0, 143, 1082, 0, 180, 600, 0, 0,
1701 0, 0, 0, 0, 143, 143, 0, 143, 0, 0,
1702 0, 0, 0, 21, 0, 0, 858, 860, 0, 0,
1703 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1704 0, 0, 0, 0, 0, 134, 0, 0, 83, 0,
1705 83, 0, 147, 0, 0, 1007, 83, 83, 0, 127,
1706 128, 0, 148, 200, 201, 233, 0, 51, 0, 14,
1707 32, 233, 0, 0, 0, 149, 0, 0, 143, 143,
1708 143, 0, 0, 7, 8, 9, 10, 0, 0, 0,
1709 143, 20, 0, 51, 51, 0, 150, 0, 51, 0,
1710 23, 0, 585, 0, 0, 51, 0, 0, 0, 26,
1711 0, 130, 131, 1075, 1076, 0, 1082, 0, 51, 0,
1712 51, 21, 0, 0, 0, 586, 0, 0, 0, 0,
1713 0, 0, 0, 0, 26, 587, 27, 28, 0, 0,
1714 0, 0, 0, 239, 0, 588, 0, 0, 596, 590,
1715 442, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1716 443, 0, 0, 143, 0, 143, 0, 0, 32, 0,
1717 0, 0, 233, 444, 0, 0, 143, 0, 233, 0,
1718 881, 881, 881, 0, 0, 0, 0, 609, 0, 0,
1719 0, 0, 0, 0, 0, 0, 381, 381, 0, 51,
1720 0, 0, 0, 51, 0, 239, 0, 51, 0, 0,
1721 150, 150, 150, 0, 0, 0, 0, 233, 0, 233,
1722 0, 143, 143, 600, 51, 543, 544, 545, 546, 547,
1723 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
1724 558, 51, 51, 150, 0, 0, 0, 0, 0, 0,
1725 737, 239, 7, 8, 738, 10, 388, 12, 13, 0,
1726 0, 0, 881, 14, 7, 8, 9, 10, 0, 0,
1727 51, 0, 0, 0, 0, 233, 0, 16, 0, 17,
1728 18, 19, 0, 0, 0, 20, 736, 0, 233, 0,
1729 21, 1007, 0, 0, 23, 739, 0, 648, 0, 0,
1730 233, 0, 21, 26, 0, 27, 28, 51, 0, 740,
1731 0, 741, 0, 0, 0, 26, 0, 27, 28, 30,
1732 0, 0, 0, 83, 0, 0, 0, 0, 0, 31,
1733 0, 178, 0, 233, 0, 233, 0, 32, 0, 0,
1734 0, 179, 33, 0, 0, 0, 0, 78, 0, 32,
1735 0, 0, 0, 0, 180, 7, 8, 9, 10, 190,
1736 12, 191, 0, 233, 0, 0, 14, 0, 143, 143,
1737 0, 143, 0, 78, 78, 0, 78, 524, 78, 0,
1738 16, 0, 17, 18, 0, 78, 0, 0, 20, 0,
1739 0, 0, 0, 21, 381, 0, 0, 23, 78, 0,
1740 78, 0, 239, 0, 0, 0, 26, 51, 27, 28,
1741 0, 0, 192, 0, 0, 0, 143, 143, 143, 143,
1742 600, 0, 30, 0, 143, 0, 0, 0, 0, 0,
1743 736, 0, 31, 0, 0, 0, 0, 0, 0, 0,
1744 32, 381, 0, 0, 0, 33, 881, 881, 881, 0,
1745 0, 0, 0, 51, 0, 0, 0, 0, 0, 0,
1746 0, 0, 736, 0, 51, 0, 0, 51, 0, 0,
1747 0, 0, 51, 0, 0, 0, 0, 143, 0, 78,
1748 0, 0, 143, 78, 83, 0, 0, 78, 0, 0,
1749 78, 78, 78, 0, 0, 0, 0, 0, 0, 0,
1750 0, 51, 0, 51, 78, 150, 150, 150, 0, 0,
1751 0, 51, 0, 0, 0, 0, 51, 0, 0, 51,
1752 0, 78, 78, 78, 576, 0, 285, 379, 380, 10,
1753 0, 577, 0, 143, 143, 51, 143, 0, 537, 538,
1754 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
1755 78, 550, 551, 552, 553, 554, 555, 556, 557, 558,
1756 0, 1365, 0, 0, 21, 524, 0, 0, 524, 0,
1757 0, 578, 143, 600, 143, 0, 0, 26, 0, 27,
1758 304, 0, 0, 524, 524, 524, 0, 78, 0, 0,
1759 0, 233, 0, 0, 0, 0, 0, 0, 524, 0,
1760 0, 0, 0, 0, 8, 9, 0, 0, 12, 13,
1761 0, 579, 0, 0, 14, 0, 0, 0, 0, 0,
1762 439, 441, 445, 0, 0, 0, 0, 0, 16, 0,
1763 17, 0, 0, 0, 0, 737, 20, 7, 8, 738,
1764 10, 388, 12, 13, 0, 23, 239, 0, 14, 0,
1765 0, 0, 0, 0, 26, 0, 130, 131, 568, 524,
1766 0, 0, 16, 0, 17, 18, 19, 0, 0, 0,
1767 20, -509, 0, 0, 0, 21, 0, 0, 51, 23,
1768 739, 0, 648, 608, 881, 0, 0, 78, 26, 0,
1769 27, 28, 0, 569, 740, 0, 741, 0, 0, 0,
1770 0, 0, 381, 0, 30, 0, 0, 0, 0, 381,
1771 0, 0, 0, 0, 31, 0, 0, 0, 51, 51,
1772 51, 51, 32, 0, 155, 0, 0, 33, 0, 0,
1773 0, 0, 0, 78, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, -509, 78, 0, 189, 78, 0, 0,
1775 0, 0, 78, 0, 881, 881, 881, 0, 0, 0,
1776 51, 0, 0, 0, 51, 0, 0, 0, 0, 0,
1777 0, 51, 51, 233, 51, 0, 0, 0, 143, 0,
1778 0, 78, 0, 78, 0, 78, 78, 78, 0, 0,
1779 0, 78, 0, 0, 0, 0, 78, 0, 0, 78,
1780 0, 0, 0, 0, 0, 51, 0, 51, 0, 0,
1781 0, 0, 51, 51, 51, 78, 0, 0, 0, 0,
1782 737, 0, 7, 8, 738, 10, 388, 12, 13, 0,
1783 0, 0, 0, 14, 0, 0, 0, 0, 155, 155,
1784 155, 524, 0, 0, 0, 0, 0, 16, 0, 17,
1785 18, 19, 0, 0, 0, 20, -510, 0, 0, 0,
1786 21, 0, 0, 0, 23, 739, 0, 648, 0, 189,
1787 189, 446, 0, 26, 0, 27, 28, 0, 0, 740,
1788 706, 741, 707, 0, 439, 441, 445, 0, 0, 30,
1789 0, 0, 0, 0, 0, 718, 0, 0, 189, 31,
1790 0, 127, 128, 0, 0, 200, 201, 32, 0, 0,
1791 0, 14, 33, 0, 0, 0, 0, 0, 0, 0,
1792 0, 0, 187, 0, 0, 0, 0, 608, -510, 0,
1793 0, 8, 9, 20, 0, 12, 13, 524, 524, 524,
1794 0, 14, 23, 239, 585, 0, 0, 242, 0, 0,
1795 246, 26, 0, 130, 131, 16, 0, 17, 78, 0,
1796 0, 0, 0, 20, 0, 0, 0, 586, 0, 0,
1797 0, 242, 23, 350, 497, 0, 0, 587, 51, 51,
1798 150, 26, 0, 130, 131, 239, 0, 588, 0, 0,
1799 589, 590, 0, 0, 0, 0, 0, 0, 78, 78,
1800 78, 78, 0, 0, 0, 0, 0, 0, 354, 356,
1801 0, 0, 0, 0, 0, 0, 0, 0, 0, 1143,
1802 834, 0, 0, 0, 593, 593, 593, 546, 547, 548,
1803 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
1804 78, 0, 0, 0, 78, 187, 187, 187, 51, 0,
1805 0, 78, 78, 0, 78, 452, 547, 548, 549, 550,
1806 551, 552, 553, 554, 555, 556, 557, 558, 0, 239,
1807 0, 0, 8, 9, 187, 388, 12, 13, 0, 0,
1808 51, 189, 14, 0, 0, 78, 0, 78, 0, 0,
1809 0, 0, 78, 78, 78, 0, 16, 0, 17, 18,
1810 246, 0, 0, 0, 20, 0, 0, 0, 0, 0,
1811 0, 0, 0, 647, 242, 0, 648, 0, 0, 0,
1812 0, 0, 26, 0, 130, 131, 0, 0, 0, 189,
1813 0, 189, 0, 446, 446, 446, 0, 0, 0, 189,
1814 0, 0, 0, 0, 189, 0, 0, 189, 0, 0,
1815 706, 707, 239, 718, 544, 545, 546, 547, 548, 549,
1816 550, 551, 552, 553, 554, 555, 556, 557, 558, 0,
1817 0, 0, 0, 51, 51, 150, 150, 150, 0, 239,
1818 0, 51, 0, 0, -371, 8, 9, -371, -371, 12,
1819 231, 1004, 0, 0, 0, 14, 0, 0, 0, 0,
1820 0, 0, 0, 1143, 1143, 1143, 242, 246, 0, 16,
1821 0, 17, -371, 0, 0, 527, 0, 20, 0, 0,
1822 0, 0, -371, 0, 608, 0, 23, 0, 585, 0,
1823 0, 0, 0, 0, 51, 26, 0, 130, 131, 51,
1824 0, 51, 0, 0, 8, 9, 0, 0, 12, 231,
1825 0, 586, 0, 0, 14, 0, 0, 187, 78, 78,
1826 78, 587, 0, 843, 0, 0, 0, 0, 16, -371,
1827 17, 588, 0, 0, 589, 590, 20, 593, 593, 0,
1828 593, 0, 0, 0, 0, 23, 0, 593, 654, 0,
1829 51, 51, 0, 51, 26, 0, 130, 131, 0, 1145,
1830 0, 0, 0, 0, 0, 187, 189, 187, 0, 187,
1831 187, 187, 1432, 0, 0, 187, 0, 0, 0, 0,
1832 187, 0, 0, 187, 0, 0, 0, 0, 78, 51,
1833 51, 51, 0, 0, 0, 0, 0, 696, 0, 0,
1834 0, 0, 0, 0, 0, 0, 919, 0, 919, 919,
1835 0, 593, 0, 0, 0, 0, 0, 439, 441, 445,
1836 78, 0, 1433, 537, 538, 539, 540, 541, 542, 543,
1837 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1838 554, 555, 556, 557, 558, 0, 0, 0, 919, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0, 445, 189,
1840 189, 0, 189, 777, 0, 0, 780, 0, 0, 0,
1841 782, 783, 785, 786, 787, 0, 0, 0, 0, 0,
1842 0, 0, 0, 527, 0, 0, 0, 1004, 0, 0,
1843 0, 0, 0, 0, 0, 0, 804, 0, 0, 0,
1844 189, 1143, 0, 0, 0, 0, 0, 591, 591, 591,
1845 0, 0, 0, 78, 78, 78, 78, 78, 0, 0,
1846 0, 78, 0, 497, 497, 497, 242, 246, 0, 0,
1847 0, 0, 0, 0, 0, 593, 8, 9, 0, 190,
1848 12, 191, 187, 1145, 1145, 1145, 14, 0, 0, 0,
1849 861, 0, 0, 0, 0, 0, 0, 861, 0, 0,
1850 16, 0, 17, 18, 0, 0, 76, 0, 20, 0,
1851 0, 1143, 1143, 1143, 78, 0, 0, 23, 0, 78,
1852 0, 78, 187, 0, 187, 187, 26, 0, 130, 131,
1853 0, 0, 141, 145, 0, 51, 0, 76, 0, 0,
1854 0, 0, 0, 0, 76, 0, 0, 0, 593, 0,
1855 593, 0, 706, 707, 439, 441, 445, 0, 0, 198,
1856 718, 593, 0, 0, 187, 593, 593, 593, 0, 0,
1857 78, 78, 0, 78, 0, 187, 187, 0, 187, 0,
1858 0, 0, 439, 441, 445, 0, 0, 0, 0, 0,
1859 0, 8, 9, 0, 388, 12, 13, 0, 0, 694,
1860 0, 14, 654, 246, 0, 0, 919, 919, 1117, 78,
1861 78, 78, 0, 1308, 0, 16, 187, 17, 18, 0,
1862 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
1863 0, 0, 23, 0, 0, 0, 0, 0, 393, 0,
1864 0, 26, 396, 130, 131, 0, 398, 1117, 0, 0,
1865 0, 7, 8, 9, 10, 199, 200, 201, 0, 0,
1866 696, 0, 14, 76, 0, 0, 696, 0, 0, 706,
1867 707, 0, 718, 0, 0, 0, 189, 0, 0, 18,
1868 141, 145, 0, 0, 20, 0, 0, 0, 0, 21,
1869 0, 0, 0, 23, 0, 585, 0, 0, 0, 0,
1870 591, 591, 26, 591, 27, 28, 0, 0, 0, 0,
1871 878, 0, 0, 0, 0, 0, 0, 0, 915, 0,
1872 0, 1145, 0, 0, 0, 0, 0, 0, 916, 0,
1873 0, 0, 0, 0, 1056, 0, 32, 0, 588, 0,
1874 0, 917, 590, 0, 0, 0, 485, 242, 246, 242,
1875 0, 0, 0, 843, 843, 0, 843, 0, 0, 0,
1876 0, 0, 0, 0, 0, 0, 0, 804, 0, 591,
1877 0, 591, 591, 696, 591, 0, 0, 861, 0, 0,
1878 0, 0, 187, 187, 1115, 0, 0, 0, 0, 242,
1879 0, 1145, 1145, 1145, 0, 0, 0, 0, 0, 0,
1880 0, 919, 919, 1117, 1117, 1117, 0, 0, 0, 919,
1881 0, 591, 654, 0, 1108, 78, 0, 0, 861, 0,
1882 445, 0, 0, 1115, 0, 0, 0, 0, 0, 0,
1883 0, 1117, 1117, 1117, 8, 9, 0, 388, 12, 13,
1884 0, 0, 694, 0, 14, 0, 617, 0, 0, 0,
1885 0, 0, 187, 0, 0, 0, 0, 861, 16, 0,
1886 17, 18, 189, 0, 0, 0, 20, 0, 0, 0,
1887 1149, 0, 0, 452, 0, 23, 1155, 585, 0, 0,
1888 0, 0, 0, 696, 26, 0, 130, 131, 0, 0,
1889 439, 441, 445, 0, 0, 696, 0, 0, 591, 0,
1890 586, 0, 0, 669, 0, 0, 670, 0, 0, 0,
1891 587, 672, 0, 0, 0, 0, 102, 0, 919, 919,
1892 588, 919, 0, 589, 590, 121, 102, 0, 696, 0,
1893 696, 0, 102, 102, 0, 102, 0, 0, 0, 0,
1894 396, 0, 398, 0, 0, 0, 0, 0, 0, 0,
1895 0, 0, 0, 0, 0, 485, 242, 189, 1203, 189,
1896 0, 0, 0, 0, 0, 0, 0, 220, 0, 0,
1897 0, 591, 0, 591, 754, 0, 0, 187, 187, 187,
1898 187, 1115, 0, 1229, 591, 187, 0, 0, 878, 878,
1899 878, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 0, 1115, 1115, 1115,
1901 0, 0, 0, 0, 0, 861, 0, 0, 0, 0,
1902 0, 0, 0, 0, 0, 0, 374, 0, 121, 591,
1903 591, 591, 0, 0, 0, 102, 102, 0, 187, 0,
1904 0, 0, 102, 861, 102, 102, 102, 0, 0, 102,
1905 102, 102, 0, 0, 0, 0, 0, 0, 0, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 446,
1907 878, 0, 0, 737, 0, 7, 8, 738, 10, 388,
1908 12, 13, 0, 0, 0, 0, 14, 0, 0, 0,
1909 0, 0, 0, 0, 187, 187, 0, 187, 0, 0,
1910 16, 0, 17, 18, 19, 0, 0, 0, 20, -512,
1911 0, 0, 0, 21, 0, 0, 0, 23, 739, 0,
1912 648, 0, 0, 0, 467, 102, 26, 0, 27, 28,
1913 0, 0, 740, 187, 741, 187, 0, 0, 0, 446,
1914 446, 446, 30, 0, 0, 0, 102, 0, 0, 0,
1915 0, 0, 31, 0, 0, 0, 0, 0, 921, 0,
1916 32, 0, 0, 189, 0, 33, 8, 9, 0, 388,
1917 12, 13, 0, 0, 1500, 0, 14, 0, 0, 0,
1918 0, -512, 0, 0, 0, 102, 1149, 0, 0, 0,
1919 16, 0, 17, 18, 0, 0, 0, 0, 20, 0,
1920 0, 0, 0, 962, 0, 0, 0, 23, 0, 0,
1921 669, 670, 0, 672, 0, 0, 26, 0, 130, 131,
1922 0, 0, 0, 0, 591, 591, 591, 591, 591, 0,
1923 0, 0, 591, 102, 0, 102, 102, 7, 8, 9,
1924 10, 199, 200, 201, 754, 1115, 754, 0, 14, 0,
1925 0, 1005, 1012, 754, 878, 878, 878, 0, 0, 0,
1926 0, 0, 0, 0, 0, 18, 0, 0, 8, 9,
1927 20, 0, 12, 13, 0, 21, 0, 0, 14, 23,
1928 102, 585, 0, 0, 0, 0, 0, 0, 26, 0,
1929 27, 28, 16, 0, 17, 0, 0, 0, 0, 102,
1930 20, 0, 0, 102, 915, 0, 102, 0, 0, 23,
1931 0, 102, 0, 0, 916, 1115, 1115, 1115, 26, 0,
1932 130, 131, 32, 0, 588, 0, 0, 956, 590, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 187,
1934 0, 591, 591, 0, 591, 0, 0, 0, 0, 0,
1935 0, 527, 0, 519, 0, 285, 8, 9, 10, 388,
1936 12, 286, 287, 288, 694, 289, 14, 0, 654, 0,
1937 0, 102, 0, 729, 0, 0, 0, 0, 0, 0,
1938 16, 290, 17, 18, 19, 0, 291, 292, 20, 0,
1939 293, 294, 295, 21, 296, 297, 0, 23, 102, 585,
1940 0, 298, 299, 300, 301, 302, 26, 0, 27, 304,
1941 -296, 0, 0, 305, 0, 0, 0, 141, 145, 306,
1942 0, 0, 874, 0, 0, 0, 0, 0, 0, 0,
1943 308, 309, 875, 0, 0, 0, 0, 0, 311, 312,
1944 313, 0, 588, 0, 0, 876, 590, 0, 0, 0,
1945 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
1946 0, 0, 315, 0, 0, 0, 0, 0, 0, 0,
1947 0, 0, 0, 0, 102, 0, 0, 0, 0, 0,
1948 0, 0, 0, 0, 0, 102, 102, 1005, 102, 102,
1949 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
1950 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
1951 557, 558, 0, 0, 0, 0, 0, 0, 0, 754,
1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954 0, 102, 0, 0, 0, 0, 0, 0, 102, 121,
1955 684, 0, 795, 796, 797, 10, 0, 12, 501, 287,
1956 288, 220, 289, 14, 0, 0, 0, 0, 0, 0,
1957 0, 0, 0, 0, 0, 0, 0, 16, 290, 17,
1958 729, 19, 0, 291, 292, 20, 0, 293, 294, 295,
1959 21, 296, 297, 0, 23, 0, 0, 0, 298, 299,
1960 300, 301, 302, 26, 0, 798, 799, 685, 0, 0,
1961 305, 0, 396, 398, 0, 0, 306, 0, 0, 307,
1962 485, 0, 0, 0, 0, 0, 0, 308, 309, 310,
1963 0, 0, 0, 0, 0, 311, 312, 313, 729, 0,
1964 0, 102, 314, 800, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 948, 315,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967 0, 0, 0, 1309, 102, 102, 102, 0, 1309, 0,
1968 754, 0, 0, 0, 0, 0, 102, 537, 538, 539,
1969 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
1970 550, 551, 552, 553, 554, 555, 556, 557, 558, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972 1403, 0, -463, -463, -463, -463, -463, -463, -463, 669,
1973 670, -463, 672, -463, 0, 1193, 0, 0, 0, 0,
1974 0, 0, 0, 0, -463, 0, -463, 0, 0, 0,
1975 -463, 0, 0, 0, 0, -463, 0, 0, 0, 102,
1976 -463, 102, 0, 0, -463, 0, -463, 0, 0, 1377,
1977 0, 0, 102, -463, 0, -463, -463, -463, -463, -463,
1978 0, -463, -463, -463, -463, -463, -463, -463, -463, -463,
1979 -463, -463, -463, -463, -463, -463, -463, -463, -463, -463,
1980 -463, -463, -463, -463, 0, -463, -463, -463, 0, -463,
1981 -463, -463, -463, -463, -463, 0, -463, 0, 0, 0,
1982 0, 1404, 0, 0, 0, 0, -463, -463, -463, 0,
1983 -463, 0, 0, 0, 0, 1380, 0, 1240, 1241, 1242,
1984 10, 388, 12, 286, 287, 288, 0, 289, 14, 1243,
1985 0, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252,
1986 1253, 15, 16, 290, 17, 18, 19, 0, 291, 292,
1987 20, 0, 293, 294, 295, 21, 296, 297, 1254, 23,
1988 1255, 0, 729, 298, 299, 300, 301, 302, 26, 0,
1989 1256, 304, 681, 0, 1257, 305, 0, 0, 0, 0,
1990 0, 306, 0, 0, 307, 0, 0, 0, 0, 102,
1991 0, 0, 308, 309, 310, 0, 0, 0, 0, 0,
1992 311, 312, 313, 0, 0, 0, 0, 314, 0, 1258,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 1381, 315, 0, 0, 0, 0, 0,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 0, 0, 102, 102, 0, 102, 1239, 0,
1997 1240, 1241, 1242, 10, 388, 12, 286, 287, 288, 0,
1998 289, 14, 1243, 0, 1244, 1245, 1246, 1247, 1248, 1249,
1999 1250, 1251, 1252, 1253, 15, 16, 290, 17, 18, 19,
2000 0, 291, 292, 20, 0, 293, 294, 295, 21, 296,
2001 297, 1254, 23, 1255, 0, 0, 298, 299, 300, 301,
2002 302, 26, 0, 1256, 304, 681, 729, 1257, 305, 0,
2003 0, 0, 0, 0, 306, 0, 0, 307, 0, 0,
2004 0, 0, 0, 0, 0, 308, 309, 310, 0, 0,
2005 0, 0, 0, 311, 312, 313, 0, 0, 729, 0,
2006 314, 519, 1258, 7, 8, 9, 10, 388, 12, 286,
2007 287, 288, 694, 289, 14, 0, 102, 315, 102, 0,
2008 0, 0, 0, 0, 0, 0, 0, 0, 16, 290,
2009 17, 18, 19, 0, 291, 292, 20, 0, 293, 294,
2010 295, 21, 296, 297, 0, 23, 0, 585, 0, 298,
2011 299, 300, 301, 302, 26, 0, 27, 28, -296, 0,
2012 0, 305, 0, 0, 0, 0, 0, 306, 0, 0,
2013 1140, 0, 0, 0, 0, 0, 0, 0, 308, 309,
2014 1141, 0, 0, 0, 0, 0, 311, 312, 313, 0,
2015 588, 0, 0, 1142, 590, 693, 0, 285, 8, 9,
2016 10, 388, 12, 286, 287, 288, 694, 289, 14, 0,
2017 315, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2018 0, 0, 16, 290, 17, 18, 19, 0, 291, 292,
2019 20, 0, 293, 294, 295, 21, 296, 297, 0, 23,
2020 0, 0, 0, 298, 299, 300, 301, 302, 26, 0,
2021 27, 304, 0, 0, 0, 305, 0, 0, 0, 0,
2022 0, 306, 0, 0, 307, 0, 0, 0, 0, 0,
2023 0, 0, 308, 309, 310, 0, 0, 0, 0, 0,
2024 311, 312, 313, 0, 0, 0, 807, 314, 285, 8,
2025 9, 10, 388, 12, 286, 287, 288, 0, 289, 14,
2026 0, 0, -779, 0, 315, 0, 0, 0, 0, 0,
2027 0, 0, 0, 16, 290, 17, 18, 19, 0, 291,
2028 292, 20, 0, 293, 294, 295, 21, 296, 297, 0,
2029 23, 0, 0, 0, 298, 299, 300, 301, 302, 26,
2030 0, 27, 304, 1477, 0, -769, 305, 0, 0, 0,
2031 0, 0, 306, 0, 0, 307, 0, 0, 0, 0,
2032 0, 0, 0, 308, 309, 310, 0, 0, 0, 0,
2033 0, 311, 312, 313, 0, 0, 0, 684, 314, 795,
2034 796, 797, 10, 0, 12, 501, 287, 288, 0, 289,
2035 14, 0, 0, 0, 0, 315, 0, 0, 0, 0,
2036 0, 0, 0, 0, 16, 290, 17, 0, 19, 0,
2037 291, 292, 20, 0, 293, 294, 295, 21, 296, 297,
2038 0, 23, 0, 0, 0, 298, 299, 300, 301, 302,
2039 26, 0, 798, 799, 685, 0, 0, 305, 0, 0,
2040 0, 0, 0, 306, 0, 0, 307, 0, 0, 0,
2041 0, 0, 0, 0, 308, 309, 310, 0, 0, 0,
2042 0, 0, 311, 312, 313, 0, 0, 0, 0, 314,
2043 800, 684, 0, 795, 796, 797, 10, 0, 12, 501,
2044 287, 288, 0, 289, 14, 0, 315, 0, 0, 0,
2045 0, 0, 0, 0, 0, 0, 0, 0, 16, 290,
2046 17, 0, 19, 0, 291, 292, 20, 0, 293, 294,
2047 295, 21, 296, 297, 0, 23, 0, 0, 0, 298,
2048 299, 300, 301, 302, 26, 0, 798, 799, 685, 0,
2049 0, 305, 0, 0, 0, 0, 0, 306, 0, 0,
2050 307, 0, 0, 0, 0, 0, 0, 0, 308, 309,
2051 310, 0, 0, 0, 0, 0, 311, 312, 313, 0,
2052 0, 0, 684, 314, 795, 796, 797, 10, 0, 12,
2053 501, 287, 288, 0, 289, 14, 0, 0, 0, -467,
2054 315, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2055 290, 17, 0, 19, 0, 291, 292, 20, 0, 293,
2056 294, 295, 21, 296, 297, 0, 23, 0, 0, 0,
2057 298, 299, 300, 301, 302, 26, 0, 798, 799, 685,
2058 0, 0, 305, 0, 0, 0, 0, 0, 306, 0,
2059 0, 307, 0, 0, 0, 0, 0, 0, 0, 308,
2060 309, 310, 0, 0, 0, 0, 0, 311, 312, 313,
2061 0, 0, 0, 684, 314, 285, 8, 9, 10, 0,
2062 12, 501, 287, 288, 0, 289, 14, 0, 0, 0,
2063 1278, 315, 0, 0, 0, 0, 0, 0, 0, 0,
2064 16, 290, 17, 0, 19, 0, 291, 292, 20, 0,
2065 293, 294, 295, 21, 296, 297, 0, 23, 0, 0,
2066 0, 298, 299, 300, 301, 302, 26, 0, 27, 304,
2067 685, 0, 0, 305, 0, 0, 0, 0, 0, 306,
2068 0, 0, 307, 0, 0, 0, 0, 0, 0, 0,
2069 308, 309, 310, 0, 0, 0, 0, 0, 311, 312,
2070 313, 0, 0, 0, 0, 314, 0, 519, 0, 285,
2071 8, 9, 10, 1282, 12, 286, 287, 288, 0, 289,
2072 14, 0, 315, 0, 0, 0, 0, 0, 0, 0,
2073 0, 0, 0, 0, 16, 290, 17, 0, 19, 0,
2074 291, 292, 20, 0, 293, 294, 295, 21, 296, 297,
2075 0, 23, 0, 0, 0, 298, 299, 300, 301, 302,
2076 26, 0, 27, 304, -296, 0, 0, 305, 0, 0,
2077 0, 0, 0, 306, 0, 0, 520, 0, 0, 0,
2078 0, 0, 0, 0, 308, 309, 521, 0, 0, 0,
2079 0, 0, 311, 312, 313, 0, 0, 0, 684, 522,
2080 285, 8, 9, 10, 0, 12, 501, 287, 288, 0,
2081 289, 14, 0, 0, 0, 0, 315, 0, 0, 0,
2082 0, 0, 0, 0, 0, 16, 290, 17, 0, 19,
2083 0, 291, 292, 20, 0, 293, 294, 295, 21, 296,
2084 297, 0, 23, 0, 0, 0, 298, 299, 300, 301,
2085 302, 26, 0, 27, 304, 685, 0, 0, 305, 0,
2086 0, 0, 0, 0, 306, 0, 0, 307, 0, 0,
2087 0, 0, 0, 0, 0, 308, 309, 310, 0, 0,
2088 0, 0, 0, 311, 312, 313, 0, 0, 0, 807,
2089 314, 285, 8, 9, 10, 0, 12, 501, 287, 288,
2090 0, 289, 14, 0, 0, 0, 0, 315, 0, 0,
2091 0, 0, 0, 0, 0, 0, 16, 290, 17, 0,
2092 19, 0, 291, 292, 20, 0, 293, 294, 295, 21,
2093 296, 297, 0, 23, 0, 0, 0, 298, 299, 300,
2094 301, 302, 26, 0, 27, 304, 0, 0, 0, 305,
2095 -769, 0, 0, 0, 0, 306, 0, 0, 307, 0,
2096 0, 0, 0, 0, 0, 0, 308, 309, 310, 0,
2097 0, 0, 0, 0, 311, 312, 313, 0, 0, 0,
2098 519, 314, 7, 8, 9, 10, 0, 12, 286, 287,
2099 288, 0, 289, 14, 0, 0, 0, 0, 315, 0,
2100 0, 0, 0, 0, 0, 0, 0, 16, 290, 17,
2101 0, 19, 0, 291, 292, 20, 0, 293, 294, 295,
2102 21, 296, 297, 0, 23, 0, 0, 0, 298, 299,
2103 300, 301, 302, 26, 0, 27, 28, -296, 0, 0,
2104 305, 0, 0, 0, 0, 0, 306, 0, 0, 1448,
2105 0, 0, 0, 0, 0, 0, 0, 308, 309, 1449,
2106 0, 0, 0, 0, 0, 311, 312, 313, 0, 0,
2107 0, 1529, 1450, 285, 8, 9, 10, 0, 12, 286,
2108 287, 288, 0, 289, 14, 0, 0, 0, 0, 315,
2109 0, 0, 0, 0, 0, 0, 0, 0, 16, 290,
2110 17, 0, 19, 0, 291, 292, 20, 0, 293, 294,
2111 295, 21, 296, 297, 0, 23, 0, 0, 0, 298,
2112 299, 300, 301, 302, 26, 0, 27, 304, 0, 0,
2113 -183, 305, 0, 0, 0, 0, 0, 306, 0, 0,
2114 307, 0, 0, 0, 0, 0, 0, 0, 308, 309,
2115 310, 0, 0, 0, 0, 0, 311, 312, 313, 0,
2116 0, 0, 807, 314, 285, 8, 9, 10, 0, 12,
2117 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2118 315, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2119 290, 17, 0, 19, 0, 291, 292, 20, 0, 293,
2120 294, 295, 21, 296, 297, 0, 23, 0, 0, 0,
2121 298, 299, 300, 301, 302, 26, 0, 27, 304, 0,
2122 0, 0, 305, 0, 0, 0, 0, 0, 306, 248,
2123 0, 307, 8, 9, 0, 0, 12, 13, 0, 308,
2124 309, 310, 14, 0, 0, 0, 0, 311, 312, 313,
2125 0, 0, 0, 0, 314, 0, 16, 0, 17, 0,
2126 0, 0, 0, 0, 20, 0, 249, 250, 0, -769,
2127 0, 315, 0, 23, 0, 251, 0, 0, 0, 0,
2128 0, 0, 26, 0, 130, 131, 0, 252, 0, 0,
2129 0, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2130 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
2131 272, 273, 0, 0, 274, 275, 276, 0, 0, 277,
2132 0, 893, 278, 285, 8, 9, 10, 0, 12, 501,
2133 287, 288, 0, 289, 14, 0, 0, 0, 279, 0,
2134 0, 0, 0, 0, 0, 0, 0, 0, 16, 290,
2135 17, 0, 19, 0, 291, 292, 20, 0, 293, 294,
2136 295, 21, 296, 297, 0, 23, 0, 0, 0, 298,
2137 299, 300, 301, 302, 26, 0, 27, 304, 0, 0,
2138 0, 305, 0, 0, 0, 0, 0, 306, 0, 0,
2139 307, 0, 0, 0, 0, 0, 0, 0, 308, 309,
2140 310, 0, 0, 0, 0, 0, 311, 312, 313, 0,
2141 0, 0, 895, 314, 285, 8, 9, 10, 0, 12,
2142 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2143 315, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2144 290, 17, 0, 19, 0, 291, 292, 20, 0, 293,
2145 294, 295, 21, 296, 297, 0, 23, 0, 0, 0,
2146 298, 299, 300, 301, 302, 26, 0, 27, 304, 0,
2147 0, 0, 305, 0, 0, 0, 0, 0, 306, 0,
2148 0, 307, 0, 0, 0, 0, 0, 0, 0, 308,
2149 309, 310, 0, 0, 0, 0, 0, 311, 312, 313,
2150 0, 0, 0, 1461, 314, 285, 8, 9, 10, 0,
2151 12, 501, 287, 288, 0, 289, 14, 0, 0, 0,
2152 0, 315, 0, 0, 0, 0, 0, 0, 0, 0,
2153 16, 290, 17, 0, 19, 0, 291, 292, 20, 0,
2154 293, 294, 295, 21, 296, 297, 0, 23, 0, 0,
2155 0, 298, 299, 300, 301, 302, 26, 0, 27, 304,
2156 0, 0, 0, 305, 0, 0, 0, 0, 0, 306,
2157 0, 0, 307, 0, 0, 0, 0, 0, 0, 0,
2158 308, 309, 310, 0, 0, 0, 0, 0, 311, 312,
2159 313, 285, 8, 9, 10, 314, 12, 501, 287, 288,
2160 0, 289, 14, 0, 0, 0, 0, 0, 0, 0,
2161 0, 0, 315, 0, 0, 0, 16, 290, 17, 0,
2162 19, 0, 291, 292, 20, 0, 293, 294, 295, 21,
2163 296, 297, 0, 23, 0, 0, 0, 298, 299, 300,
2164 301, 302, 26, 0, 27, 304, 0, 0, 0, 305,
2165 0, 0, 0, 0, 0, 306, 0, 737, 307, 7,
2166 8, 738, 10, 388, 12, 13, 308, 309, 310, 0,
2167 14, 0, 0, 0, 311, 312, 313, 0, 0, 0,
2168 0, 314, 0, 0, 16, 0, 17, 18, 19, 0,
2169 0, 0, 20, -511, 0, 0, 0, 21, 315, 846,
2170 0, 23, 739, 0, 648, 0, 0, 0, 0, 0,
2171 26, 0, 27, 28, 0, 0, 740, 0, 741, 0,
2172 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
2173 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2174 0, 0, 0, 0, 32, 0, 0, 0, 0, 33,
2175 0, 0, 1240, 1241, 1242, 10, 388, 12, 286, 287,
2176 288, 0, 289, 14, 1243, -511, 1244, 1245, 1246, 1247,
2177 1248, 1249, 1250, 1251, 1252, 1253, 15, 16, 290, 17,
2178 18, 19, 0, 291, 292, 20, 0, 293, 294, 295,
2179 21, 296, 297, 1254, 23, 1255, 0, 0, 298, 299,
2180 300, 301, 302, 26, 0, 1256, 304, 681, 0, 1257,
2181 305, 0, 0, 0, 0, 0, 306, 0, 0, 307,
2182 0, 0, 0, 0, 0, 0, 0, 308, 309, 310,
2183 0, 0, 0, 0, 0, 311, 312, 313, 0, 0,
2184 0, 0, 314, 0, 1258, 0, 0, 0, 0, 0,
2185 0, 0, 0, 0, 0, 0, 0, 0, 1385, 315,
2186 1240, 1241, 1242, 10, 388, 12, 286, 287, 288, 0,
2187 289, 14, 1243, 0, 1244, 1245, 1246, 1247, 1248, 1249,
2188 1250, 1251, 1252, 1253, 15, 16, 290, 17, 18, 19,
2189 0, 291, 292, 20, 0, 293, 294, 295, 21, 296,
2190 297, 1254, 23, 1255, 0, 0, 298, 299, 300, 301,
2191 302, 26, 0, 1256, 304, 681, 0, 1257, 305, 0,
2192 0, 0, 0, 0, 306, 0, 0, 307, 0, 0,
2193 0, 0, 0, 0, 0, 308, 309, 310, 0, 0,
2194 0, 0, 0, 311, 312, 313, 0, 0, 0, 0,
2195 314, 0, 1258, 0, 1240, 1241, 1242, 10, 388, 12,
2196 286, 287, 288, 0, 289, 14, 1243, 315, 1244, 1245,
2197 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 15, 16,
2198 290, 17, 18, 19, 0, 291, 292, 20, 0, 293,
2199 294, 295, 21, 296, 297, 1254, 23, 1255, 0, 0,
2200 298, 299, 300, 301, 302, 26, 0, 1256, 304, 1506,
2201 0, 1257, 305, 0, 0, 0, 0, 0, 306, 0,
2202 0, 307, 0, 0, 0, 0, 0, 0, 0, 308,
2203 309, 310, 0, 0, 0, 0, 0, 311, 312, 313,
2204 0, 0, 0, 0, 314, 0, 1258, 0, 1240, 1241,
2205 1242, 10, 388, 12, 286, 287, 288, 0, 289, 14,
2206 1243, 315, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251,
2207 1252, 1253, 15, 16, 290, 17, 18, 19, 0, 291,
2208 292, 20, 0, 293, 294, 295, 21, 296, 297, 1254,
2209 23, 1255, 0, 0, 298, 299, 300, 301, 302, 26,
2210 0, 1256, 304, 0, 0, 1257, 305, 0, 0, 0,
2211 0, 0, 306, 0, 0, 307, 0, 0, 0, 0,
2212 0, 0, 0, 308, 309, 310, 0, 0, 0, 0,
2213 0, 311, 312, 313, 0, 0, 0, 0, 314, 0,
2214 1258, 285, 8, 9, 10, 388, 12, 286, 287, 288,
2215 694, 289, 14, 0, 0, 315, 0, 0, 0, 0,
2216 0, 0, 0, 0, 0, 0, 16, 290, 17, 18,
2217 19, 0, 291, 292, 20, 0, 293, 294, 295, 21,
2218 296, 297, 0, 23, 0, 585, 0, 298, 299, 300,
2219 301, 302, 26, 0, 27, 304, 0, 0, 0, 305,
2220 0, 0, 0, 0, 0, 306, 0, 0, 874, 0,
2221 0, 0, 0, 0, 0, 0, 308, 309, 875, 0,
2222 0, 0, 0, 0, 311, 312, 313, 0, 588, 0,
2223 0, 876, 590, 7, 8, 9, 10, 388, 12, 286,
2224 287, 288, 694, 289, 14, 0, 0, 0, 315, 0,
2225 0, 0, 0, 0, 0, 0, 0, 0, 16, 290,
2226 17, 18, 19, 0, 291, 292, 20, 0, 293, 294,
2227 295, 21, 296, 297, 0, 23, 0, 585, 0, 298,
2228 299, 300, 301, 302, 26, 0, 27, 28, 0, 0,
2229 0, 305, 0, 0, 0, 0, 0, 306, 0, 0,
2230 1140, 0, 0, 0, 0, 0, 0, 0, 308, 309,
2231 1141, 0, 0, 0, 0, 0, 311, 312, 313, 0,
2232 588, 0, 0, 1142, 590, 285, 8, 9, 10, 0,
2233 12, 286, 287, 288, 0, 289, 14, 0, 0, 0,
2234 315, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2235 16, 290, 17, 0, 19, 0, 291, 292, 20, 0,
2236 293, 294, 295, 21, 296, 297, 0, 23, 0, 585,
2237 0, 298, 299, 300, 301, 302, 26, 0, 27, 304,
2238 0, 0, 0, 0, 0, 0, 0, 0, 0, 306,
2239 0, 0, 874, 0, 0, 0, 0, 0, 0, 0,
2240 308, 309, 875, 0, 0, 0, 0, 0, 311, 312,
2241 313, 0, 588, 0, 0, 876, 590, 7, 8, 9,
2242 10, 0, 12, 286, 287, 288, 0, 289, 14, 0,
2243 0, 0, 315, 0, 0, 0, 0, 0, 0, 0,
2244 0, 0, 16, 290, 17, 0, 19, 0, 291, 292,
2245 20, 0, 293, 294, 295, 21, 296, 297, 0, 23,
2246 0, 585, 0, 298, 299, 300, 301, 302, 26, 0,
2247 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2248 0, 306, 0, 0, 1140, 0, 0, 0, 0, 0,
2249 0, 0, 308, 309, 1141, 0, 0, 0, 0, 0,
2250 311, 312, 313, 0, 588, 0, 0, 1142, 590, 285,
2251 8, 9, 10, 0, 12, 501, 287, 288, 0, 289,
2252 14, 0, 0, 0, 315, 0, 0, 0, 0, 0,
2253 0, 0, 0, 0, 16, 290, 17, 0, 19, 0,
2254 291, 292, 20, 0, 293, 294, 295, 21, 296, 297,
2255 0, 23, 0, 0, 0, 298, 299, 300, 301, 302,
2256 26, 0, 27, 304, 0, 0, 1358, 305, 0, 0,
2257 0, 0, 0, 306, 0, 0, 307, 0, 0, 0,
2258 0, 0, 0, 0, 308, 309, 310, 0, 0, 0,
2259 0, 0, 311, 312, 313, 0, 0, 0, 0, 314,
2260 285, 8, 9, 10, 388, 12, 286, 287, 288, 0,
2261 289, 14, 0, 0, 0, 0, 315, 0, 0, 0,
2262 0, 0, 0, 0, 0, 16, 290, 17, 18, 19,
2263 0, 291, 292, 20, 0, 293, 294, 295, 21, 296,
2264 297, 0, 23, 0, 0, 0, 298, 299, 300, 301,
2265 302, 26, 0, 27, 304, 0, 0, 0, 0, 0,
2266 0, 0, 0, 0, 306, 0, 0, 307, 0, 0,
2267 0, 0, 0, 0, 0, 308, 309, 310, 0, 0,
2268 0, 0, 0, 311, 312, 313, 285, 8, 9, 10,
2269 314, 12, 286, 287, 288, 0, 289, 14, 0, 0,
2270 0, 0, 0, 0, 0, 0, 0, 315, 0, 0,
2271 0, 16, 290, 17, 0, 19, 0, 291, 292, 20,
2272 0, 293, 294, 295, 21, 296, 297, 0, 23, 0,
2273 0, 0, 298, 299, 300, 301, 302, 26, 0, 303,
2274 304, 0, 0, 0, 305, 0, 0, 0, 0, 0,
2275 306, 0, 0, 307, 0, 0, 0, 0, 0, 0,
2276 0, 308, 309, 310, 0, 0, 0, 0, 0, 311,
2277 312, 313, 285, 8, 9, 10, 314, 12, 286, 287,
2278 288, 0, 289, 14, 0, 0, 0, 0, 0, 0,
2279 0, 0, 0, 315, 0, 0, 0, 16, 290, 17,
2280 0, 19, 0, 291, 292, 20, 0, 293, 294, 295,
2281 21, 296, 297, 0, 23, 0, 0, 0, 298, 299,
2282 300, 301, 302, 26, 0, 27, 304, 0, 0, 0,
2283 305, 0, 0, 0, 0, 0, 306, 0, 0, 307,
2284 0, 0, 0, 0, 0, 0, 0, 308, 309, 310,
2285 0, 0, 0, 0, 0, 311, 312, 313, 285, 8,
2286 9, 10, 314, 12, 501, 287, 288, 0, 289, 14,
2287 0, 0, 0, 0, 0, 0, 0, 0, 0, 315,
2288 0, 0, 0, 16, 290, 17, 0, 19, 0, 291,
2289 292, 20, 0, 293, 294, 295, 21, 296, 297, 0,
2290 23, 0, 0, 0, 298, 299, 300, 301, 302, 26,
2291 0, 27, 304, 0, 0, 0, 305, 0, 0, 0,
2292 0, 0, 306, 0, 0, 307, 0, 0, 0, 0,
2293 0, 0, 0, 308, 309, 310, 0, 0, 0, 0,
2294 0, 311, 312, 313, 285, 8, 9, 10, 314, 12,
2295 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2296 0, 0, 0, 0, 0, 315, 0, 0, 0, 16,
2297 290, 17, 0, 19, 0, 291, 292, 20, 0, 293,
2298 294, 295, 21, 296, 297, 0, 23, 0, 0, 0,
2299 298, 299, 300, 301, 302, 26, 0, 27, 304, 534,
2300 0, 0, 0, 0, 0, 0, 0, 0, 306, 0,
2301 0, 307, 0, 0, 0, 0, 0, 0, 0, 308,
2302 309, 310, 0, 0, 0, 0, 0, 311, 312, 313,
2303 285, 8, 9, 10, 535, 12, 501, 287, 288, 0,
2304 289, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2305 0, 315, 0, 0, 0, 16, 290, 17, 0, 19,
2306 0, 291, 292, 20, 0, 293, 294, 295, 21, 296,
2307 297, 0, 23, 0, 0, 0, 298, 299, 300, 301,
2308 302, 26, 0, 27, 304, 0, 0, 0, 0, 0,
2309 0, 0, 0, 0, 306, 0, 0, 307, 0, 0,
2310 0, 0, 0, 0, 0, 308, 309, 310, 0, 0,
2311 0, 0, 0, 311, 312, 313, 0, 0, 0, 0,
2312 314, 573, 285, 8, 9, 10, 0, 12, 501, 287,
2313 288, 0, 289, 14, 0, 0, 0, 315, 0, 0,
2314 0, 0, 0, 0, 0, 0, 0, 16, 290, 17,
2315 0, 19, 0, 291, 292, 20, 0, 293, 294, 295,
2316 21, 296, 297, 0, 23, 0, 0, 0, 298, 299,
2317 300, 301, 302, 26, 0, 27, 304, 0, 0, 0,
2318 305, 0, 0, 0, 0, 0, 306, 0, 0, 520,
2319 0, 0, 0, 0, 0, 0, 0, 308, 309, 521,
2320 0, 0, 0, 0, 0, 311, 312, 313, 1101, 8,
2321 9, 10, 522, 12, 501, 287, 288, 0, 289, 14,
2322 0, 0, 0, 0, 0, 0, 0, 0, 0, 315,
2323 0, 0, 0, 16, 290, 17, 0, 19, 0, 291,
2324 292, 20, 0, 293, 294, 295, 21, 296, 297, 0,
2325 23, 0, 0, 0, 298, 299, 300, 301, 302, 26,
2326 0, 27, 304, 0, 0, 0, 305, 0, 0, 0,
2327 0, 0, 306, 0, 0, 307, 0, 0, 0, 0,
2328 0, 0, 0, 308, 309, 310, 0, 0, 0, 0,
2329 0, 311, 312, 313, 7, 8, 9, 10, 314, 12,
2330 501, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2331 0, 0, 0, 0, 0, 315, 0, 0, 0, 16,
2332 290, 17, 0, 19, 0, 291, 292, 20, 0, 293,
2333 294, 295, 21, 296, 297, 0, 23, 0, 0, 0,
2334 298, 299, 300, 301, 302, 26, 0, 27, 28, 0,
2335 0, 0, 305, 0, 0, 0, 0, 0, 306, 0,
2336 0, 1448, 0, 0, 0, 0, 0, 0, 0, 308,
2337 309, 1449, 0, 0, 0, 0, 0, 311, 312, 313,
2338 285, 8, 9, 10, 1450, 12, 501, 287, 288, 0,
2339 289, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2340 0, 315, 0, 0, 0, 16, 290, 17, 0, 19,
2341 0, 291, 292, 20, 0, 293, 294, 295, 21, 296,
2342 297, 0, 23, 0, 0, 0, 298, 299, 300, 301,
2343 302, 26, 0, 27, 304, 0, 0, 0, 0, 0,
2344 0, 0, 0, 0, 306, 0, 0, 307, 0, 0,
2345 0, 0, 0, 0, 0, 308, 309, 310, 0, 0,
2346 0, 0, 0, 311, 312, 313, 285, 8, 9, 10,
2347 502, 12, 501, 287, 288, 0, 289, 14, 0, 0,
2348 0, 0, 0, 0, 0, 0, 0, 315, 0, 0,
2349 0, 16, 290, 17, 0, 19, 0, 291, 292, 20,
2350 0, 293, 294, 295, 21, 296, 297, 0, 23, 0,
2351 0, 0, 298, 299, 300, 301, 302, 26, 0, 27,
2352 304, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2353 306, 0, 0, 307, 0, 0, 0, 0, 0, 0,
2354 0, 308, 309, 310, 0, 0, 0, 0, 0, 311,
2355 312, 313, 285, 8, 9, 10, 505, 12, 501, 287,
2356 288, 0, 289, 14, 0, 0, 0, 0, 0, 0,
2357 0, 0, 0, 315, 0, 0, 0, 16, 290, 17,
2358 0, 19, 0, 291, 292, 20, 0, 293, 294, 295,
2359 21, 296, 297, 0, 23, 0, 0, 0, 298, 299,
2360 300, 301, 302, 26, 0, 27, 304, 0, 0, 0,
2361 0, 0, 0, 0, 0, 0, 306, 0, 0, 307,
2362 0, 0, 0, 0, 0, 0, 0, 308, 309, 310,
2363 0, 0, 0, 0, 0, 311, 312, 313, 285, 8,
2364 9, 10, 314, 12, 501, 287, 288, 0, 289, 14,
2365 0, 0, 0, 0, 0, 0, 0, 0, 0, 315,
2366 0, 0, 0, 16, 290, 17, 0, 19, 0, 291,
2367 292, 20, 0, 293, 294, 295, 21, 296, 297, 0,
2368 23, 0, 0, 0, 298, 299, 300, 301, 302, 26,
2369 0, 27, 304, 0, 0, 0, 0, 0, 0, 0,
2370 0, 0, 306, 0, 0, 520, 0, 0, 0, 0,
2371 0, 0, 0, 308, 309, 521, 0, 0, 0, 0,
2372 0, 311, 312, 313, 7, 8, 9, 10, 522, 12,
2373 286, 287, 288, 0, 289, 14, 0, 0, 0, 0,
2374 0, 0, 0, 0, 0, 315, 0, 0, 0, 16,
2375 290, 17, 0, 19, 0, 291, 292, 20, 0, 293,
2376 294, 295, 21, 296, 297, 0, 23, 0, 0, 0,
2377 298, 299, 300, 301, 302, 26, 0, 27, 28, 0,
2378 0, 0, 0, 0, 0, 0, 0, 0, 306, 0,
2379 6, 1448, 7, 8, 9, 10, 11, 12, 13, 308,
2380 309, 1449, 0, 14, 0, 0, 0, 311, 312, 313,
2381 0, 0, 0, 0, 1450, 0, 15, 16, 0, 17,
2382 18, 19, 0, 0, 0, 20, 0, 0, 0, 0,
2383 21, 315, 0, 22, 23, 24, 0, 25, 0, 0,
2384 0, 0, 0, 26, 0, 27, 28, 0, 0, 29,
2385 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
2386 0, 0, 0, 0, 0, 0, 0, 0, 162, 31,
2387 7, 8, 9, 10, 11, 12, 13, 32, 0, 0,
2388 0, 14, 33, 0, 0, 0, 0, 34, 0, 0,
2389 0, 0, 0, 0, 15, 16, 0, 17, 18, 19,
2390 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
2391 0, 22, 23, 24, 0, 25, 0, 0, 0, 0,
2392 0, 26, 0, 27, 28, 0, 0, 29, 0, 7,
2393 8, 9, 10, 388, 12, 13, 0, 30, 961, 0,
2394 14, 0, 0, 0, 0, 0, 0, 31, 0, 0,
2395 0, 0, 0, 0, 16, 32, 17, 18, 0, 0,
2396 33, 0, 20, 0, 0, 34, 0, 21, 0, 0,
2397 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
2398 26, 0, 27, 28, 995, 8, 738, 10, 190, 12,
2399 191, 0, 0, 0, 0, 14, 30, 0, 0, 0,
2400 0, 0, 0, 0, 0, 0, 31, 0, 0, 16,
2401 0, 17, 18, 0, 32, 0, 0, 20, 0, 33,
2402 0, 0, 21, 0, 0, 0, 23, 0, 0, 0,
2403 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2404 0, 0, 0, 997, 0, 0, 0, 0, 0, 0,
2405 0, 30, 7, 8, 9, 10, 190, 12, 191, 0,
2406 0, 31, 0, 14, 0, 0, 0, 0, 0, 32,
2407 0, 0, 0, 0, 33, 0, 0, 16, 0, 17,
2408 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2409 21, 0, 0, 0, 23, 0, 0, 0, 0, 0,
2410 0, 0, 0, 26, 0, 27, 28, 0, 0, 1375,
2411 0, 7, 8, 9, 10, 388, 12, 13, 0, 30,
2412 0, 0, 14, 0, 0, 0, 0, 0, 0, 31,
2413 0, 0, 0, 0, 0, 0, 16, 32, 17, 18,
2414 0, 0, 33, 0, 20, 0, 0, 0, 0, 21,
2415 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
2416 0, 0, 26, 0, 27, 28, 7, 8, 9, 10,
2417 190, 12, 191, 0, 0, 0, 0, 14, 30, 0,
2418 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
2419 0, 16, 0, 17, 18, 0, 32, 0, 0, 20,
2420 0, 33, 0, 0, 21, 0, 0, 0, 23, 0,
2421 0, 0, 0, 0, 0, 0, 0, 26, 0, 27,
2422 28, 7, 8, 9, 10, 199, 200, 201, 0, 0,
2423 0, 0, 14, 30, 0, 0, 0, 0, 0, 0,
2424 0, 0, 0, 31, 0, 0, 0, 0, 0, 18,
2425 0, 32, 0, 0, 20, 0, 33, 0, 0, 21,
2426 0, 0, 0, 23, 0, 585, 0, 0, 0, 0,
2427 0, 0, 26, 0, 27, 28, 0, 0, 0, 0,
2428 0, 0, 0, 0, 0, 0, 0, 0, 178, 0,
2429 0, 0, 0, 0, 0, 0, 0, 0, 179, 0,
2430 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
2431 0, 1378, 537, 538, 539, 540, 541, 542, 543, 544,
2432 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2433 555, 556, 557, 558, 0, 0, 0, 0, 0, 0,
2434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2435 0, 0, 0, 626, 0, 0, 1496, 537, 538, 539,
2436 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
2437 550, 551, 552, 553, 554, 555, 556, 557, 558, 1514,
2438 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
2439 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
2440 557, 558, 537, 538, 539, 540, 541, 542, 543, 544,
2441 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2442 555, 556, 557, 558
2443 };
2444
2445 static const short yycheck[] = { 4,
2446 55, 157, 679, 676, 23, 236, 194, 334, 4, 387,
2447 46, 387, 4, 532, 471, 450, 4, 90, 340, 92,
2448 147, 148, 80, 33, 126, 589, 340, 835, 387, 54,
2449 35, 4, 596, 227, 358, 4, 134, 42, 84, 35,
2450 76, 202, 203, 35, 232, 569, 42, 35, 289, 290,
2451 42, 742, 57, 744, 42, 659, 194, 30, 31, 4,
2452 751, 124, 35, 4, 137, 203, 35, 72, 1340, 42,
2453 291, 292, 1259, 42, 133, 167, 423, 4, 1429, 84,
2454 47, 322, 1430, 88, 142, 90, 307, 92, 11, 310,
2455 35, 1269, 313, 281, 35, 316, 11, 42, 1276, 320,
2456 11, 42, 107, 108, 1431, 133, 134, 328, 35, 340,
2457 1477, 84, 57, 33, 12, 42, 62, 60, 458, 1163,
2458 1164, 14, 47, 1474, 37, 1, 93, 152, 1453, 9,
2459 188, 136, 137, 1177, 139, 475, 58, 759, 148, 149,
2460 0, 108, 64, 765, 136, 666, 334, 62, 1473, 59,
2461 3, 4, 5, 60, 1, 590, 161, 84, 1525, 80,
2462 185, 59, 198, 136, 62, 1, 109, 136, 93, 161,
2463 180, 4, 5, 0, 147, 148, 59, 504, 74, 526,
2464 59, 61, 58, 108, 1511, 108, 62, 74, 161, 109,
2465 83, 136, 161, 108, 47, 47, 109, 108, 108, 341,
2466 342, 54, 109, 56, 57, 178, 179, 1532, 1556, 136,
2467 108, 58, 25, 106, 27, 62, 161, 47, 47, 95,
2468 1571, 678, 58, 56, 57, 25, 109, 14, 48, 108,
2469 33, 3, 4, 5, 161, 22, 12, 428, 7, 38,
2470 93, 93, 94, 1430, 1516, 58, 54, 59, 95, 62,
2471 872, 197, 394, 395, 62, 54, 1434, 1301, 58, 205,
2472 416, 93, 62, 93, 93, 94, 1310, 1311, 37, 1313,
2473 343, 12, 331, 47, 33, 221, 93, 282, 65, 108,
2474 378, 327, 95, 59, 56, 57, 62, 609, 64, 93,
2475 649, 107, 108, 454, 455, 95, 108, 47, 93, 520,
2476 521, 462, 60, 331, 314, 1483, 910, 370, 80, 314,
2477 834, 59, 876, 474, 638, 442, 443, 455, 59, 93,
2478 94, 62, 327, 701, 27, 701, 247, 75, 31, 59,
2479 335, 60, 493, 680, 108, 390, 54, 124, 343, 344,
2480 233, 47, 54, 93, 147, 148, 149, 578, 25, 80,
2481 27, 109, 344, 917, 327, 1533, 74, 60, 64, 146,
2482 982, 64, 74, 54, 885, 58, 75, 888, 77, 62,
2483 697, 344, 994, 104, 47, 344, 47, 180, 108, 47,
2484 109, 58, 387, 74, 47, 62, 391, 93, 147, 148,
2485 149, 387, 956, 59, 1202, 914, 64, 107, 47, 344,
2486 327, 58, 133, 4, 5, 1027, 109, 1029, 929, 930,
2487 74, 142, 4, 5, 387, 1459, 1460, 344, 95, 54,
2488 93, 180, 93, 94, 74, 93, 499, 62, 464, 47,
2489 93, 436, 54, 443, 444, 222, 223, 108, 873, 74,
2490 25, 98, 27, 44, 93, 94, 64, 340, 25, 236,
2491 27, 4, 74, 54, 35, 56, 57, 188, 60, 54,
2492 387, 42, 54, 436, 56, 57, 54, 472, 47, 442,
2493 443, 613, 418, 58, 47, 93, 94, 62, 70, 74,
2494 472, 58, 35, 47, 62, 62, 74, 1178, 80, 42,
2495 25, 222, 502, 60, 499, 505, 74, 502, 314, 472,
2496 505, 47, 94, 472, 509, 510, 511, 512, 513, 436,
2497 95, 521, 522, 54, 93, 461, 247, 522, 95, 306,
2498 93, 1329, 59, 980, 570, 535, 31, 532, 194, 93,
2499 535, 472, 726, 911, 728, 911, 202, 203, 75, 733,
2500 77, 639, 4, 5, 47, 472, 62, 93, 646, 58,
2501 1114, 472, 911, 3, 4, 5, 448, 7, 719, 881,
2502 615, 348, 74, 47, 456, 570, 232, 881, 641, 44,
2503 357, 1092, 1093, 3, 4, 5, 6, 54, 1142, 54,
2504 30, 109, 57, 370, 589, 54, 596, 37, 58, 47,
2505 93, 596, 54, 62, 56, 57, 784, 570, 945, 47,
2506 655, 47, 657, 658, 54, 74, 56, 57, 339, 93,
2507 94, 41, 93, 586, 587, 281, 589, 433, 646, 3,
2508 4, 5, 6, 596, 54, 846, 56, 57, 647, 47,
2509 722, 1066, 54, 775, 736, 93, 641, 878, 54, 442,
2510 443, 444, 697, 570, 54, 93, 837, 93, 4, 5,
2511 881, 656, 75, 874, 875, 660, 47, 41, 88, 678,
2512 4, 5, 589, 108, 756, 47, 397, 1124, 334, 596,
2513 47, 108, 56, 57, 94, 93, 3, 4, 5, 6,
2514 59, 60, 469, 442, 443, 444, 502, 760, 761, 505,
2515 763, 108, 48, 509, 749, 1266, 701, 1268, 47, 1156,
2516 56, 57, 93, 62, 88, 54, 522, 600, 108, 745,
2517 746, 93, 56, 57, 41, 11, 93, 59, 754, 535,
2518 47, 59, 60, 539, 80, 74, 392, 54, 701, 56,
2519 57, 109, 74, 75, 1061, 77, 62, 742, 469, 744,
2520 3, 4, 5, 70, 93, 750, 751, 534, 74, 108,
2521 742, 567, 744, 80, 759, 760, 761, 573, 763, 751,
2522 765, 88, 904, 90, 93, 496, 93, 94, 778, 742,
2523 47, 744, 47, 742, 701, 744, 62, 54, 751, 54,
2524 59, 60, 751, 977, 978, 979, 759, 3, 454, 455,
2525 62, 578, 765, 56, 57, 58, 462, 74, 60, 74,
2526 111, 742, 74, 744, 749, 750, 8, 9, 474, 59,
2527 751, 94, 14, 4, 64, 742, 93, 744, 93, 83,
2528 84, 742, 108, 744, 751, 75, 1499, 493, 833, 750,
2529 751, 4, 759, 838, 36, 12, 62, 94, 765, 3,
2530 4, 5, 1519, 45, 35, 47, 111, 1068, 74, 62,
2531 27, 42, 583, 93, 31, 1046, 1047, 93, 59, 60,
2532 647, 866, 35, 74, 922, 875, 876, 872, 599, 42,
2533 47, 876, 659, 3, 4, 5, 6, 59, 60, 1021,
2534 1022, 1023, 59, 60, 74, 62, 74, 64, 74, 47,
2535 54, 93, 56, 57, 58, 987, 988, 59, 685, 872,
2536 11, 874, 875, 876, 109, 54, 911, 917, 913, 914,
2537 108, 41, 917, 62, 59, 911, 93, 94, 48, 1140,
2538 1141, 3, 4, 5, 1016, 74, 56, 57, 86, 87,
2539 985, 108, 54, 91, 92, 93, 94, 108, 911, 108,
2540 62, 1268, 915, 916, 917, 872, 956, 1138, 1006, 876,
2541 616, 956, 74, 108, 4, 5, 1147, 1148, 88, 59,
2542 60, 1152, 998, 54, 969, 74, 4, 5, 1004, 1005,
2543 975, 9, 1008, 1009, 56, 57, 1012, 982, 27, 772,
2544 773, 774, 31, 956, 911, 1112, 1113, 108, 881, 994,
2545 917, 109, 658, 4, 5, 27, 109, 1070, 48, 31,
2546 1062, 1063, 1193, 1065, 1351, 111, 56, 57, 111, 982,
2547 59, 60, 1017, 1140, 1141, 64, 54, 27, 56, 57,
2548 1367, 994, 1027, 108, 1029, 1017, 842, 59, 60, 956,
2549 80, 697, 70, 74, 3, 4, 5, 6, 1259, 74,
2550 985, 54, 80, 54, 1017, 56, 57, 54, 1017, 62,
2551 59, 60, 1057, 719, 1027, 982, 1029, 74, 1116, 70,
2552 876, 74, 3, 4, 5, 1070, 111, 994, 108, 80,
2553 58, 1213, 41, 54, 111, 108, 1017, 1169, 1170, 48,
2554 1172, 1173, 108, 1175, 108, 1006, 717, 56, 57, 1467,
2555 1017, 1467, 3, 4, 5, 8, 1017, 1288, 93, 111,
2556 1027, 47, 1029, 1113, 1114, 1124, 1453, 48, 64, 1114,
2557 897, 80, 4, 5, 917, 56, 57, 59, 784, 88,
2558 93, 54, 109, 910, 60, 64, 1473, 758, 54, 36,
2559 1135, 1141, 1142, 764, 64, 1326, 62, 1142, 108, 1112,
2560 1113, 1114, 64, 1135, 1471, 56, 57, 1135, 74, 880,
2561 60, 882, 64, 956, 62, 1502, 48, 108, 917, 975,
2562 108, 108, 1135, 108, 56, 57, 64, 1140, 1141, 1142,
2563 3, 4, 5, 1178, 7, 8, 9, 64, 3, 4,
2564 5, 6, 4, 5, 9, 1532, 1178, 1114, 80, 93,
2565 111, 922, 62, 1540, 1135, 4, 5, 956, 31, 59,
2566 59, 75, 108, 36, 75, 1178, 1298, 1299, 1135, 1178,
2567 88, 1266, 90, 1268, 92, 1142, 41, 80, 81, 82,
2568 83, 84, 47, 56, 57, 108, 48, 1448, 1449, 54,
2569 75, 56, 57, 108, 56, 57, 867, 1178, 869, 48,
2570 3, 4, 5, 6, 108, 70, 108, 56, 57, 9,
2571 108, 1178, 12, 1174, 1259, 80, 75, 1178, 80, 137,
2572 1047, 139, 1267, 88, 1269, 90, 108, 1259, 93, 94,
2573 62, 1276, 1308, 1309, 62, 1006, 108, 1269, 41, 62,
2574 1285, 1269, 108, 1471, 1276, 48, 1259, 47, 1276, 1445,
2575 108, 111, 94, 56, 57, 111, 1269, 88, 74, 59,
2576 47, 61, 62, 1276, 64, 1397, 1398, 1399, 108, 1112,
2577 1113, 1114, 108, 111, 111, 75, 109, 77, 1259, 108,
2578 60, 1448, 1449, 108, 108, 88, 1142, 108, 1269, 109,
2579 59, 64, 1259, 93, 94, 1276, 64, 1140, 1141, 1142,
2580 59, 1377, 1269, 59, 387, 1132, 4, 5, 108, 1276,
2581 108, 1138, 108, 1112, 1113, 1114, 93, 93, 1089, 4,
2582 5, 93, 93, 109, 1456, 1457, 109, 108, 1378, 108,
2583 1561, 8, 33, 1189, 1190, 1191, 1192, 3, 4, 5,
2584 6, 1140, 1141, 1142, 108, 1116, 8, 9, 111, 111,
2585 48, 108, 14, 436, 108, 1026, 108, 1028, 56, 57,
2586 3, 4, 5, 48, 7, 8, 9, 108, 64, 109,
2587 108, 56, 57, 108, 36, 41, 108, 1472, 108, 1424,
2588 108, 108, 80, 45, 1429, 1430, 1431, 305, 108, 1434,
2589 56, 57, 1524, 54, 108, 80, 1252, 1429, 1430, 1449,
2590 1450, 1429, 1434, 1174, 108, 1450, 1434, 62, 111, 47,
2591 96, 1424, 1083, 56, 57, 108, 1429, 1430, 1431, 108,
2592 108, 1434, 1467, 62, 60, 343, 1253, 1254, 1504, 1474,
2593 62, 3, 4, 5, 60, 1448, 1449, 60, 1483, 9,
2594 16, 108, 1474, 3, 4, 5, 1474, 93, 1429, 1430,
2595 108, 1483, 108, 1434, 1467, 1483, 108, 1424, 30, 108,
2596 108, 1474, 1429, 1430, 1431, 93, 1511, 1434, 60, 60,
2597 1483, 1327, 54, 93, 3, 4, 5, 6, 64, 7,
2598 8, 9, 54, 93, 56, 57, 14, 111, 1533, 1160,
2599 17, 60, 54, 1474, 1165, 107, 56, 57, 1511, 97,
2600 1467, 1533, 1483, 31, 1360, 1533, 589, 1474, 36, 108,
2601 428, 429, 41, 596, 60, 1342, 1483, 45, 436, 108,
2602 1533, 108, 429, 108, 11, 54, 1571, 56, 57, 436,
2603 60, 60, 60, 62, 60, 1378, 60, 1364, 1365, 1571,
2604 93, 70, 59, 1571, 1511, 64, 1217, 3, 4, 5,
2605 108, 80, 1533, 60, 108, 3, 4, 5, 1571, 88,
2606 108, 11, 1268, 60, 93, 11, 1533, 60, 1424, 0,
2607 0, 0, 415, 1365, 1430, 1431, 2, 639, 911, 1378,
2608 161, 499, 500, 78, 79, 80, 81, 82, 83, 84,
2609 1571, 4, 5, 500, 1450, 1498, 9, 161, 54, 1124,
2610 56, 57, 750, 94, 1571, 1448, 1449, 1450, 56, 57,
2611 1350, 3, 4, 5, 532, 1442, 534, 139, 701, 537,
2612 538, 1203, 540, 541, 542, 543, 544, 545, 546, 547,
2613 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
2614 558, 54, 560, 56, 57, 1571, 1317, 1318, 566, 1448,
2615 1449, 1450, 1267, 560, 284, 1511, 48, 70, 897, 566,
2616 685, 226, 1156, 1334, 56, 57, 980, 80, 3, 4,
2617 5, 1527, 892, 3, 4, 5, 759, 1017, 596, 750,
2618 1176, 94, 765, 622, 890, 603, 570, 185, 124, 331,
2619 1269, 1136, 1488, 1549, 1540, 429, 603, 1519, 1552, 1550,
2620 1556, 964, 436, -1, 3, 4, 5, 625, 626, 3,
2621 4, 5, 1285, 7, 8, 9, -1, -1, -1, 1390,
2622 1391, 56, 57, 641, 54, -1, 56, 57, -1, -1,
2623 -1, 3, 4, 5, 6, -1, -1, 31, 1409, 1410,
2624 -1, 57, 36, 59, -1, -1, -1, -1, 1, 65,
2625 3, 4, 5, 6, 7, 8, 9, 56, 57, -1,
2626 54, 14, 56, 57, 58, 1471, 500, 685, -1, 41,
2627 -1, -1, -1, -1, -1, 28, -1, 30, 31, -1,
2628 -1, -1, 54, 36, 56, 57, -1, -1, 41, 872,
2629 62, -1, 45, 876, -1, 48, -1, -1, 70, -1,
2630 -1, 54, -1, 56, 57, -1, -1, 60, 80, 103,
2631 104, 105, 7, 8, 9, -1, 88, 70, -1, 14,
2632 -1, 93, -1, 741, -1, -1, 560, 80, 911, -1,
2633 -1, -1, 566, -1, 917, 88, 31, -1, -1, -1,
2634 93, 36, 760, 761, -1, 763, 7, 8, 9, -1,
2635 45, 167, -1, 14, -1, -1, -1, -1, -1, -1,
2636 778, -1, 596, 3, 4, 5, 6, -1, -1, 603,
2637 31, 4, -1, 956, -1, 36, -1, -1, 194, -1,
2638 -1, 14, 800, -1, 45, -1, 202, 203, -1, -1,
2639 -1, 24, -1, -1, -1, -1, -1, 30, 31, 982,
2640 33, 41, 35, 3, 4, 5, 6, -1, 48, 42,
2641 -1, 994, -1, -1, 832, 833, 56, 57, -1, 837,
2642 838, -1, 55, -1, 57, 832, 833, -1, -1, -1,
2643 -1, 838, 65, -1, 852, -1, 854, -1, 856, 72,
2644 80, 41, -1, -1, 1027, 852, 1029, 854, 88, 856,
2645 83, 84, -1, -1, 54, -1, 56, 57, -1, -1,
2646 60, -1, -1, -1, -1, -1, 3, 4, 5, 6,
2647 70, 889, 9, 106, -1, -1, -1, -1, -1, -1,
2648 80, 899, -1, -1, 7, 8, 9, -1, 88, -1,
2649 -1, 14, 899, 93, -1, -1, 914, -1, -1, -1,
2650 -1, 134, -1, 136, 41, -1, -1, 140, 31, 927,
2651 143, 144, -1, 36, 147, 148, 149, 54, -1, 56,
2652 57, 939, 45, -1, -1, -1, -1, -1, 161, 82,
2653 -1, 1114, 939, 70, -1, -1, -1, 60, 956, -1,
2654 -1, -1, -1, 80, 778, 178, 179, 180, -1, -1,
2655 -1, 88, -1, -1, -1, -1, 93, -1, -1, 1142,
2656 -1, -1, -1, 3, 4, 5, 6, -1, -1, 9,
2657 -1, -1, -1, -1, 207, 391, 392, -1, -1, 997,
2658 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2659 223, 4, 5, -1, -1, -1, 9, -1, 832, 833,
2660 233, 41, 155, -1, 838, -1, -1, 3, 4, 5,
2661 6, 244, -1, 9, 54, -1, 56, 57, 852, -1,
2662 854, -1, 856, 176, -1, -1, -1, -1, 1046, 1047,
2663 70, 447, 1050, -1, 47, -1, 189, -1, 454, 455,
2664 80, 54, 458, 56, 57, 41, 462, -1, 88, 282,
2665 283, -1, 1070, 93, -1, -1, -1, 70, 54, 475,
2666 56, 57, -1, -1, -1, 899, -1, 80, -1, -1,
2667 -1, -1, -1, -1, 70, -1, -1, 90, -1, -1,
2668 93, 94, -1, -1, 80, -1, -1, -1, -1, -1,
2669 -1, -1, 88, -1, 327, -1, -1, 93, 331, -1,
2670 333, 334, 335, -1, -1, 939, -1, -1, 1126, -1,
2671 1128, 344, 1130, 3, 4, 5, 6, -1, -1, 1126,
2672 1138, 1128, 956, 1130, -1, -1, -1, -1, -1, 1147,
2673 1148, -1, -1, -1, 1152, -1, -1, -1, -1, -1,
2674 -1, 3, 4, 5, 6, 378, -1, 9, -1, 1167,
2675 1168, 41, -1, -1, 387, -1, -1, 390, 391, 3,
2676 4, 5, 6, -1, 54, -1, 56, 57, 401, -1,
2677 -1, 404, 62, -1, -1, 1193, 409, -1, -1, 41,
2678 70, -1, -1, -1, -1, 47, -1, -1, -1, -1,
2679 80, -1, 54, -1, 56, 57, -1, 41, 88, -1,
2680 616, -1, -1, 93, 48, 438, 1224, 440, 70, 442,
2681 443, 444, 56, 57, -1, 448, -1, 1224, 80, -1,
2682 453, -1, -1, 456, -1, -1, 88, -1, 90, -1,
2683 1248, 93, 94, -1, -1, -1, 80, -1, -1, 472,
2684 656, -1, 658, 659, 88, 71, 72, 73, 74, 75,
2685 76, 77, 78, 79, 80, 81, 82, 83, 84, 4,
2686 5, -1, -1, 8, 9, -1, -1, -1, -1, 14,
2687 1288, -1, -1, -1, -1, -1, -1, 510, 511, 512,
2688 513, 697, -1, 28, 1467, 30, 1304, -1, -1, -1,
2689 -1, 36, 1126, 446, 1128, -1, 1130, -1, 451, -1,
2690 45, -1, 47, 719, -1, -1, 722, -1, 1326, 54,
2691 -1, 56, 57, -1, -1, -1, -1, -1, -1, 4,
2692 5, -1, -1, 476, 9, 70, -1, -1, -1, 482,
2693 3, 4, 5, 6, 750, 80, 9, 570, -1, 572,
2694 756, 494, 495, -1, 497, 90, -1, -1, 93, 94,
2695 -1, 584, -1, 586, 587, -1, 589, -1, -1, -1,
2696 1378, -1, 47, 596, -1, -1, -1, 600, 41, 54,
2697 -1, 56, 57, -1, 47, -1, -1, 1395, 1396, -1,
2698 -1, 54, 615, 56, 57, 70, 1404, -1, -1, -1,
2699 1224, -1, -1, -1, -1, 80, -1, 70, -1, -1,
2700 -1, -1, -1, -1, -1, 90, 639, 80, 93, 94,
2701 -1, -1, -1, 646, 1432, 88, -1, 90, -1, -1,
2702 93, 94, 655, 656, 657, 658, 659, 660, -1, 3,
2703 4, 5, 6, -1, -1, 3, 4, 5, 6, 592,
2704 593, 9, -1, -1, 597, -1, 3, 4, 5, 6,
2705 -1, -1, 9, -1, -1, -1, -1, -1, -1, -1,
2706 -1, -1, -1, -1, 697, -1, -1, 41, 701, -1,
2707 -1, -1, -1, 41, 48, 708, 709, -1, 711, 333,
2708 334, 335, 56, 57, 41, -1, 54, -1, 56, 57,
2709 47, -1, -1, -1, 910, -1, -1, 54, -1, 56,
2710 57, -1, 70, -1, -1, -1, 739, -1, -1, 742,
2711 -1, 744, 80, 70, 88, -1, 749, 750, 751, -1,
2712 88, -1, -1, 80, -1, 93, 759, -1, -1, -1,
2713 -1, 88, 765, 90, -1, -1, 93, 94, -1, 772,
2714 773, 774, -1, 1561, 1378, -1, -1, -1, -1, -1,
2715 -1, 784, 67, 68, 69, 70, 71, 72, 73, 74,
2716 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2717 4, 987, 988, -1, -1, -1, -1, -1, -1, -1,
2718 14, 3, 4, 5, 6, -1, -1, -1, -1, 23,
2719 24, 3, 4, 5, 6, -1, 30, 31, -1, 33,
2720 1016, 35, -1, 4, 5, -1, -1, -1, 42, 3,
2721 4, 5, 6, 766, -1, 768, 38, 39, -1, 41,
2722 -1, 55, -1, 57, 857, -1, 859, -1, -1, 41,
2723 -1, 65, 54, 866, 56, 57, 48, 870, 72, 872,
2724 -1, 874, 875, 876, 56, 57, 47, 41, 881, -1,
2725 84, -1, -1, 54, 48, 56, 57, -1, 3, 4,
2726 5, 6, 56, 57, 9, -1, -1, -1, 80, 70,
2727 -1, -1, -1, -1, -1, -1, 88, -1, 911, 80,
2728 913, -1, 915, 916, 917, -1, 80, 840, 841, 90,
2729 843, -1, 93, 94, 88, -1, 41, -1, -1, -1,
2730 -1, -1, 136, -1, -1, -1, 140, -1, -1, 54,
2731 144, 56, 57, 147, 148, 149, -1, -1, 871, -1,
2732 -1, -1, -1, 956, -1, 70, -1, 161, -1, -1,
2733 -1, -1, 586, 587, -1, 80, 969, -1, -1, -1,
2734 -1, -1, -1, 88, 178, 179, 180, -1, 93, 982,
2735 -1, -1, 985, 1169, 1170, -1, 1172, 1173, -1, 1175,
2736 -1, 994, -1, -1, -1, -1, 919, -1, -1, 3,
2737 4, 5, 6, 207, 1007, 9, -1, -1, -1, -1,
2738 3, 4, 5, 6, 1017, -1, 9, -1, -1, -1,
2739 -1, -1, -1, -1, 1027, -1, 1029, -1, -1, -1,
2740 -1, 655, -1, 657, 658, -1, 660, 41, -1, -1,
2741 244, -1, -1, -1, -1, -1, -1, -1, 41, -1,
2742 54, -1, 56, 57, 1057, -1, -1, -1, 981, 1062,
2743 1063, 54, 1065, 56, 57, -1, 70, -1, -1, -1,
2744 993, -1, -1, 697, -1, -1, 80, 70, 282, 283,
2745 -1, 1267, 1268, -1, 88, -1, -1, 80, -1, 93,
2746 -1, 4, 5, -1, -1, 88, 9, -1, -1, -1,
2747 93, -1, -1, -1, -1, -1, -1, 1110, 1111, 1112,
2748 1113, 1114, 1298, 1299, -1, 1118, -1, -1, 3, 4,
2749 5, 6, -1, 327, 9, -1, -1, 331, -1, 333,
2750 334, 335, -1, -1, 47, -1, 340, 1140, 1141, 1142,
2751 344, 54, -1, 56, 57, -1, -1, -1, -1, -1,
2752 -1, -1, -1, -1, -1, 1078, 41, 70, -1, -1,
2753 784, -1, -1, -1, -1, -1, -1, 80, 1171, 54,
2754 -1, 56, 57, 1176, 378, 1178, -1, 90, -1, -1,
2755 93, 94, -1, 387, -1, 70, 390, 391, -1, -1,
2756 -1, -1, -1, -1, 1117, 80, -1, 401, -1, -1,
2757 404, -1, -1, 88, -1, 409, -1, -1, 93, -1,
2758 -1, 1397, 1398, 1399, -1, -1, -1, -1, -1, -1,
2759 -1, -1, -1, -1, 1227, 1228, -1, 1230, -1, -1,
2760 -1, -1, -1, 857, 438, 859, 440, -1, 442, 443,
2761 444, -1, -1, -1, 448, -1, 870, -1, -1, 453,
2762 874, 875, 456, -1, -1, -1, -1, 1180, -1, -1,
2763 -1, 1184, -1, 1266, 1267, 1268, -1, 471, 472, -1,
2764 1456, 1457, 3, 4, 5, 6, 7, 8, 9, -1,
2765 -1, 12, 1285, 14, -1, -1, -1, -1, -1, -1,
2766 -1, 915, 916, -1, -1, -1, 1219, 28, -1, 30,
2767 31, -1, -1, -1, -1, 36, 510, 511, 512, 513,
2768 41, -1, -1, -1, 45, -1, 47, -1, -1, -1,
2769 -1, -1, -1, 54, -1, 56, 57, 3, 4, 5,
2770 6, -1, -1, -1, -1, -1, -1, -1, 1524, 70,
2771 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
2772 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2773 -1, -1, 93, 94, -1, 41, 570, -1, 572, -1,
2774 1293, -1, -1, -1, 1297, 1378, -1, -1, 54, -1,
2775 56, 57, 586, 587, -1, 589, 62, -1, -1, -1,
2776 -1, -1, 596, -1, 70, -1, 1319, 1320, -1, -1,
2777 -1, -1, -1, -1, 80, 609, 3, 4, 5, 6,
2778 -1, 615, 88, -1, -1, -1, -1, 93, 68, 69,
2779 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2780 80, 81, 82, 83, 84, 639, -1, -1, -1, -1,
2781 -1, -1, -1, 647, 41, 1448, 1449, 1450, -1, -1,
2782 -1, 655, 656, 657, 658, 659, 660, 54, -1, 56,
2783 57, -1, -1, 60, 1467, -1, -1, -1, -1, 1472,
2784 -1, -1, -1, 70, 678, 3, 4, 5, 6, -1,
2785 -1, -1, -1, 80, -1, -1, 1110, 1111, 1112, 1113,
2786 -1, 88, -1, 697, 1118, -1, 93, 701, -1, -1,
2787 -1, -1, -1, -1, 708, 709, -1, 711, -1, -1,
2788 -1, -1, -1, 41, -1, -1, 1140, 1141, -1, -1,
2789 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2790 -1, -1, -1, -1, -1, 739, -1, -1, 742, -1,
2791 744, -1, 70, -1, -1, 749, 750, 751, -1, 4,
2792 5, -1, 80, 8, 9, 759, -1, 4, -1, 14,
2793 88, 765, -1, -1, -1, 93, -1, -1, 772, 773,
2794 774, -1, -1, 3, 4, 5, 6, -1, -1, -1,
2795 784, 36, -1, 30, 31, -1, 33, -1, 35, -1,
2796 45, -1, 47, -1, -1, 42, -1, -1, -1, 54,
2797 -1, 56, 57, 1227, 1228, -1, 1230, -1, 55, -1,
2798 57, 41, -1, -1, -1, 70, -1, -1, -1, -1,
2799 -1, -1, -1, -1, 54, 80, 56, 57, -1, -1,
2800 -1, -1, -1, 80, -1, 90, -1, -1, 93, 94,
2801 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2802 80, -1, -1, 857, -1, 859, -1, -1, 88, -1,
2803 -1, -1, 866, 93, -1, -1, 870, -1, 872, -1,
2804 874, 875, 876, -1, -1, -1, -1, 881, -1, -1,
2805 -1, -1, -1, -1, -1, -1, 133, 134, -1, 136,
2806 -1, -1, -1, 140, -1, 142, -1, 144, -1, -1,
2807 147, 148, 149, -1, -1, -1, -1, 911, -1, 913,
2808 -1, 915, 916, 917, 161, 69, 70, 71, 72, 73,
2809 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2810 84, 178, 179, 180, -1, -1, -1, -1, -1, -1,
2811 1, 188, 3, 4, 5, 6, 7, 8, 9, -1,
2812 -1, -1, 956, 14, 3, 4, 5, 6, -1, -1,
2813 207, -1, -1, -1, -1, 969, -1, 28, -1, 30,
2814 31, 32, -1, -1, -1, 36, 980, -1, 982, -1,
2815 41, 985, -1, -1, 45, 46, -1, 48, -1, -1,
2816 994, -1, 41, 54, -1, 56, 57, 244, -1, 60,
2817 -1, 62, -1, -1, -1, 54, -1, 56, 57, 70,
2818 -1, -1, -1, 1017, -1, -1, -1, -1, -1, 80,
2819 -1, 70, -1, 1027, -1, 1029, -1, 88, -1, -1,
2820 -1, 80, 93, -1, -1, -1, -1, 4, -1, 88,
2821 -1, -1, -1, -1, 93, 3, 4, 5, 6, 7,
2822 8, 9, -1, 1057, -1, -1, 14, -1, 1062, 1063,
2823 -1, 1065, -1, 30, 31, -1, 33, 314, 35, -1,
2824 28, -1, 30, 31, -1, 42, -1, -1, 36, -1,
2825 -1, -1, -1, 41, 331, -1, -1, 45, 55, -1,
2826 57, -1, 339, -1, -1, -1, 54, 344, 56, 57,
2827 -1, -1, 60, -1, -1, -1, 1110, 1111, 1112, 1113,
2828 1114, -1, 70, -1, 1118, -1, -1, -1, -1, -1,
2829 1124, -1, 80, -1, -1, -1, -1, -1, -1, -1,
2830 88, 378, -1, -1, -1, 93, 1140, 1141, 1142, -1,
2831 -1, -1, -1, 390, -1, -1, -1, -1, -1, -1,
2832 -1, -1, 1156, -1, 401, -1, -1, 404, -1, -1,
2833 -1, -1, 409, -1, -1, -1, -1, 1171, -1, 136,
2834 -1, -1, 1176, 140, 1178, -1, -1, 144, -1, -1,
2835 147, 148, 149, -1, -1, -1, -1, -1, -1, -1,
2836 -1, 438, -1, 440, 161, 442, 443, 444, -1, -1,
2837 -1, 448, -1, -1, -1, -1, 453, -1, -1, 456,
2838 -1, 178, 179, 180, 1, -1, 3, 4, 5, 6,
2839 -1, 8, -1, 1227, 1228, 472, 1230, -1, 63, 64,
2840 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2841 207, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2842 -1, 1255, -1, -1, 41, 502, -1, -1, 505, -1,
2843 -1, 48, 1266, 1267, 1268, -1, -1, 54, -1, 56,
2844 57, -1, -1, 520, 521, 522, -1, 244, -1, -1,
2845 -1, 1285, -1, -1, -1, -1, -1, -1, 535, -1,
2846 -1, -1, -1, -1, 4, 5, -1, -1, 8, 9,
2847 -1, 88, -1, -1, 14, -1, -1, -1, -1, -1,
2848 178, 179, 180, -1, -1, -1, -1, -1, 28, -1,
2849 30, -1, -1, -1, -1, 1, 36, 3, 4, 5,
2850 6, 7, 8, 9, -1, 45, 583, -1, 14, -1,
2851 -1, -1, -1, -1, 54, -1, 56, 57, 58, 596,
2852 -1, -1, 28, -1, 30, 31, 32, -1, -1, -1,
2853 36, 37, -1, -1, -1, 41, -1, -1, 615, 45,
2854 46, -1, 48, 340, 1378, -1, -1, 344, 54, -1,
2855 56, 57, -1, 93, 60, -1, 62, -1, -1, -1,
2856 -1, -1, 639, -1, 70, -1, -1, -1, -1, 646,
2857 -1, -1, -1, -1, 80, -1, -1, -1, 655, 656,
2858 657, 658, 88, -1, 33, -1, -1, 93, -1, -1,
2859 -1, -1, -1, 390, -1, -1, -1, -1, -1, -1,
2860 -1, -1, -1, 109, 401, -1, 55, 404, -1, -1,
2861 -1, -1, 409, -1, 1448, 1449, 1450, -1, -1, -1,
2862 697, -1, -1, -1, 701, -1, -1, -1, -1, -1,
2863 -1, 708, 709, 1467, 711, -1, -1, -1, 1472, -1,
2864 -1, 438, -1, 440, -1, 442, 443, 444, -1, -1,
2865 -1, 448, -1, -1, -1, -1, 453, -1, -1, 456,
2866 -1, -1, -1, -1, -1, 742, -1, 744, -1, -1,
2867 -1, -1, 749, 750, 751, 472, -1, -1, -1, -1,
2868 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2869 -1, -1, -1, 14, -1, -1, -1, -1, 147, 148,
2870 149, 778, -1, -1, -1, -1, -1, 28, -1, 30,
2871 31, 32, -1, -1, -1, 36, 37, -1, -1, -1,
2872 41, -1, -1, -1, 45, 46, -1, 48, -1, 178,
2873 179, 180, -1, 54, -1, 56, 57, -1, -1, 60,
2874 438, 62, 440, -1, 442, 443, 444, -1, -1, 70,
2875 -1, -1, -1, -1, -1, 453, -1, -1, 207, 80,
2876 -1, 4, 5, -1, -1, 8, 9, 88, -1, -1,
2877 -1, 14, 93, -1, -1, -1, -1, -1, -1, -1,
2878 -1, -1, 55, -1, -1, -1, -1, 584, 109, -1,
2879 -1, 4, 5, 36, -1, 8, 9, 874, 875, 876,
2880 -1, 14, 45, 880, 47, -1, -1, 80, -1, -1,
2881 83, 54, -1, 56, 57, 28, -1, 30, 615, -1,
2882 -1, -1, -1, 36, -1, -1, -1, 70, -1, -1,
2883 -1, 104, 45, 106, 283, -1, -1, 80, 915, 916,
2884 917, 54, -1, 56, 57, 922, -1, 90, -1, -1,
2885 93, 94, -1, -1, -1, -1, -1, -1, 655, 656,
2886 657, 658, -1, -1, -1, -1, -1, -1, 107, 108,
2887 -1, -1, -1, -1, -1, -1, -1, -1, -1, 956,
2888 93, -1, -1, -1, 333, 334, 335, 72, 73, 74,
2889 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2890 697, -1, -1, -1, 701, 178, 179, 180, 985, -1,
2891 -1, 708, 709, -1, 711, 188, 73, 74, 75, 76,
2892 77, 78, 79, 80, 81, 82, 83, 84, -1, 1006,
2893 -1, -1, 4, 5, 207, 7, 8, 9, -1, -1,
2894 1017, 390, 14, -1, -1, 742, -1, 744, -1, -1,
2895 -1, -1, 749, 750, 751, -1, 28, -1, 30, 31,
2896 233, -1, -1, -1, 36, -1, -1, -1, -1, -1,
2897 -1, -1, -1, 45, 247, -1, 48, -1, -1, -1,
2898 -1, -1, 54, -1, 56, 57, -1, -1, -1, 438,
2899 -1, 440, -1, 442, 443, 444, -1, -1, -1, 448,
2900 -1, -1, -1, -1, 453, -1, -1, 456, -1, -1,
2901 708, 709, 1089, 711, 70, 71, 72, 73, 74, 75,
2902 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2903 -1, -1, -1, 1110, 1111, 1112, 1113, 1114, -1, 1116,
2904 -1, 1118, -1, -1, 3, 4, 5, 6, 7, 8,
2905 9, 749, -1, -1, -1, 14, -1, -1, -1, -1,
2906 -1, -1, -1, 1140, 1141, 1142, 339, 340, -1, 28,
2907 -1, 30, 31, -1, -1, 314, -1, 36, -1, -1,
2908 -1, -1, 41, -1, 881, -1, 45, -1, 47, -1,
2909 -1, -1, -1, -1, 1171, 54, -1, 56, 57, 1176,
2910 -1, 1178, -1, -1, 4, 5, -1, -1, 8, 9,
2911 -1, 70, -1, -1, 14, -1, -1, 390, 915, 916,
2912 917, 80, -1, 572, -1, -1, -1, -1, 28, 88,
2913 30, 90, -1, -1, 93, 94, 36, 586, 587, -1,
2914 589, -1, -1, -1, -1, 45, -1, 596, 387, -1,
2915 1227, 1228, -1, 1230, 54, -1, 56, 57, -1, 956,
2916 -1, -1, -1, -1, -1, 438, 615, 440, -1, 442,
2917 443, 444, 12, -1, -1, 448, -1, -1, -1, -1,
2918 453, -1, -1, 456, -1, -1, -1, -1, 985, 1266,
2919 1267, 1268, -1, -1, -1, -1, -1, 436, -1, -1,
2920 -1, -1, -1, -1, -1, -1, 655, -1, 657, 658,
2921 -1, 660, -1, -1, -1, -1, -1, 915, 916, 917,
2922 1017, -1, 62, 63, 64, 65, 66, 67, 68, 69,
2923 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2924 80, 81, 82, 83, 84, -1, -1, -1, 697, -1,
2925 -1, -1, -1, -1, -1, -1, -1, -1, 956, 708,
2926 709, -1, 711, 502, -1, -1, 505, -1, -1, -1,
2927 509, 510, 511, 512, 513, -1, -1, -1, -1, -1,
2928 -1, -1, -1, 522, -1, -1, -1, 985, -1, -1,
2929 -1, -1, -1, -1, -1, -1, 535, -1, -1, -1,
2930 749, 1378, -1, -1, -1, -1, -1, 333, 334, 335,
2931 -1, -1, -1, 1110, 1111, 1112, 1113, 1114, -1, -1,
2932 -1, 1118, -1, 772, 773, 774, 599, 600, -1, -1,
2933 -1, -1, -1, -1, -1, 784, 4, 5, -1, 7,
2934 8, 9, 615, 1140, 1141, 1142, 14, -1, -1, -1,
2935 589, -1, -1, -1, -1, -1, -1, 596, -1, -1,
2936 28, -1, 30, 31, -1, -1, 4, -1, 36, -1,
2937 -1, 1448, 1449, 1450, 1171, -1, -1, 45, -1, 1176,
2938 -1, 1178, 655, -1, 657, 658, 54, -1, 56, 57,
2939 -1, -1, 30, 31, -1, 1472, -1, 35, -1, -1,
2940 -1, -1, -1, -1, 42, -1, -1, -1, 857, -1,
2941 859, -1, 1110, 1111, 1112, 1113, 1114, -1, -1, 57,
2942 1118, 870, -1, -1, 697, 874, 875, 876, -1, -1,
2943 1227, 1228, -1, 1230, -1, 708, 709, -1, 711, -1,
2944 -1, -1, 1140, 1141, 1142, -1, -1, -1, -1, -1,
2945 -1, 4, 5, -1, 7, 8, 9, -1, -1, 12,
2946 -1, 14, 701, 736, -1, -1, 915, 916, 917, 1266,
2947 1267, 1268, -1, 1171, -1, 28, 749, 30, 31, -1,
2948 -1, -1, -1, 36, -1, -1, -1, -1, -1, -1,
2949 -1, -1, 45, -1, -1, -1, -1, -1, 136, -1,
2950 -1, 54, 140, 56, 57, -1, 144, 956, -1, -1,
2951 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2952 759, -1, 14, 161, -1, -1, 765, -1, -1, 1227,
2953 1228, -1, 1230, -1, -1, -1, 985, -1, -1, 31,
2954 178, 179, -1, -1, 36, -1, -1, -1, -1, 41,
2955 -1, -1, -1, 45, -1, 47, -1, -1, -1, -1,
2956 586, 587, 54, 589, 56, 57, -1, -1, -1, -1,
2957 596, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2958 -1, 1378, -1, -1, -1, -1, -1, -1, 80, -1,
2959 -1, -1, -1, -1, 833, -1, 88, -1, 90, -1,
2960 -1, 93, 94, -1, -1, -1, 244, 880, 881, 882,
2961 -1, -1, -1, 1062, 1063, -1, 1065, -1, -1, -1,
2962 -1, -1, -1, -1, -1, -1, -1, 866, -1, 655,
2963 -1, 657, 658, 872, 660, -1, -1, 876, -1, -1,
2964 -1, -1, 915, 916, 917, -1, -1, -1, -1, 922,
2965 -1, 1448, 1449, 1450, -1, -1, -1, -1, -1, -1,
2966 -1, 1110, 1111, 1112, 1113, 1114, -1, -1, -1, 1118,
2967 -1, 697, 911, -1, 913, 1472, -1, -1, 917, -1,
2968 1378, -1, -1, 956, -1, -1, -1, -1, -1, -1,
2969 -1, 1140, 1141, 1142, 4, 5, -1, 7, 8, 9,
2970 -1, -1, 12, -1, 14, -1, 344, -1, -1, -1,
2971 -1, -1, 985, -1, -1, -1, -1, 956, 28, -1,
2972 30, 31, 1171, -1, -1, -1, 36, -1, -1, -1,
2973 969, -1, -1, 1006, -1, 45, 975, 47, -1, -1,
2974 -1, -1, -1, 982, 54, -1, 56, 57, -1, -1,
2975 1448, 1449, 1450, -1, -1, 994, -1, -1, 784, -1,
2976 70, -1, -1, 401, -1, -1, 404, -1, -1, -1,
2977 80, 409, -1, -1, -1, -1, 14, -1, 1227, 1228,
2978 90, 1230, -1, 93, 94, 23, 24, -1, 1027, -1,
2979 1029, -1, 30, 31, -1, 33, -1, -1, -1, -1,
2980 438, -1, 440, -1, -1, -1, -1, -1, -1, -1,
2981 -1, -1, -1, -1, -1, 453, 1089, 1266, 1057, 1268,
2982 -1, -1, -1, -1, -1, -1, -1, 65, -1, -1,
2983 -1, 857, -1, 859, 472, -1, -1, 1110, 1111, 1112,
2984 1113, 1114, -1, 1116, 870, 1118, -1, -1, 874, 875,
2985 876, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2986 -1, -1, -1, -1, -1, -1, -1, 1140, 1141, 1142,
2987 -1, -1, -1, -1, -1, 1114, -1, -1, -1, -1,
2988 -1, -1, -1, -1, -1, -1, 124, -1, 126, 915,
2989 916, 917, -1, -1, -1, 133, 134, -1, 1171, -1,
2990 -1, -1, 140, 1142, 142, 143, 144, -1, -1, 147,
2991 148, 149, -1, -1, -1, -1, -1, -1, -1, -1,
2992 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1378,
2993 956, -1, -1, 1, -1, 3, 4, 5, 6, 7,
2994 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
2995 -1, -1, -1, -1, 1227, 1228, -1, 1230, -1, -1,
2996 28, -1, 30, 31, 32, -1, -1, -1, 36, 37,
2997 -1, -1, -1, 41, -1, -1, -1, 45, 46, -1,
2998 48, -1, -1, -1, 222, 223, 54, -1, 56, 57,
2999 -1, -1, 60, 1266, 62, 1268, -1, -1, -1, 1448,
3000 1449, 1450, 70, -1, -1, -1, 244, -1, -1, -1,
3001 -1, -1, 80, -1, -1, -1, -1, -1, 656, -1,
3002 88, -1, -1, 1472, -1, 93, 4, 5, -1, 7,
3003 8, 9, -1, -1, 12, -1, 14, -1, -1, -1,
3004 -1, 109, -1, -1, -1, 283, 1285, -1, -1, -1,
3005 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
3006 -1, -1, -1, 701, -1, -1, -1, 45, -1, -1,
3007 708, 709, -1, 711, -1, -1, 54, -1, 56, 57,
3008 -1, -1, -1, -1, 1110, 1111, 1112, 1113, 1114, -1,
3009 -1, -1, 1118, 331, -1, 333, 334, 3, 4, 5,
3010 6, 7, 8, 9, 742, 1378, 744, -1, 14, -1,
3011 -1, 749, 750, 751, 1140, 1141, 1142, -1, -1, -1,
3012 -1, -1, -1, -1, -1, 31, -1, -1, 4, 5,
3013 36, -1, 8, 9, -1, 41, -1, -1, 14, 45,
3014 378, 47, -1, -1, -1, -1, -1, -1, 54, -1,
3015 56, 57, 28, -1, 30, -1, -1, -1, -1, 397,
3016 36, -1, -1, 401, 70, -1, 404, -1, -1, 45,
3017 -1, 409, -1, -1, 80, 1448, 1449, 1450, 54, -1,
3018 56, 57, 88, -1, 90, -1, -1, 93, 94, -1,
3019 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1472,
3020 -1, 1227, 1228, -1, 1230, -1, -1, -1, -1, -1,
3021 -1, 1450, -1, 1, -1, 3, 4, 5, 6, 7,
3022 8, 9, 10, 11, 12, 13, 14, -1, 1467, -1,
3023 -1, 469, -1, 471, -1, -1, -1, -1, -1, -1,
3024 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3025 38, 39, 40, 41, 42, 43, -1, 45, 496, 47,
3026 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3027 58, -1, -1, 61, -1, -1, -1, 915, 916, 67,
3028 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3029 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3030 88, -1, 90, -1, -1, 93, 94, -1, -1, -1,
3031 -1, -1, -1, -1, -1, -1, -1, -1, 31, -1,
3032 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3033 -1, -1, -1, -1, 572, -1, -1, -1, -1, -1,
3034 -1, -1, -1, -1, -1, 583, 584, 985, 586, 587,
3035 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3036 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3037 83, 84, -1, -1, -1, -1, -1, -1, -1, 1017,
3038 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3039 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3040 -1, 639, -1, -1, -1, -1, -1, -1, 646, 647,
3041 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3042 11, 659, 13, 14, -1, -1, -1, -1, -1, -1,
3043 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3044 678, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3045 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3046 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3047 61, -1, 1110, 1111, -1, -1, 67, -1, -1, 70,
3048 1118, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3049 -1, -1, -1, -1, -1, 86, 87, 88, 736, -1,
3050 -1, 739, 93, 94, -1, -1, -1, -1, -1, -1,
3051 -1, -1, -1, -1, -1, -1, -1, -1, 109, 110,
3052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3053 -1, -1, -1, 1171, 772, 773, 774, -1, 1176, -1,
3054 1178, -1, -1, -1, -1, -1, 784, 63, 64, 65,
3055 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3056 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
3057 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3058 1, -1, 3, 4, 5, 6, 7, 8, 9, 1227,
3059 1228, 12, 1230, 14, -1, 111, -1, -1, -1, -1,
3060 -1, -1, -1, -1, 25, -1, 27, -1, -1, -1,
3061 31, -1, -1, -1, -1, 36, -1, -1, -1, 857,
3062 41, 859, -1, -1, 45, -1, 47, -1, -1, 1267,
3063 -1, -1, 870, 54, -1, 56, 57, 58, 59, 60,
3064 -1, 62, 63, 64, 65, 66, 67, 68, 69, 70,
3065 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3066 81, 82, 83, 84, -1, 86, 87, 88, -1, 90,
3067 91, 92, 93, 94, 95, -1, 97, -1, -1, -1,
3068 -1, 102, -1, -1, -1, -1, 107, 108, 109, -1,
3069 111, -1, -1, -1, -1, 1, -1, 3, 4, 5,
3070 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3071 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3072 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3073 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3074 46, -1, 980, 49, 50, 51, 52, 53, 54, -1,
3075 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3076 -1, 67, -1, -1, 70, -1, -1, -1, -1, 1007,
3077 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3078 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3079 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3080 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3082 -1, -1, -1, -1, 1062, 1063, -1, 1065, 1, -1,
3083 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3084 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
3085 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3086 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3087 43, 44, 45, 46, -1, -1, 49, 50, 51, 52,
3088 53, 54, -1, 56, 57, 58, 1124, 60, 61, -1,
3089 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3090 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3091 -1, -1, -1, 86, 87, 88, -1, -1, 1156, -1,
3092 93, 1, 95, 3, 4, 5, 6, 7, 8, 9,
3093 10, 11, 12, 13, 14, -1, 1174, 110, 1176, -1,
3094 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3095 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3096 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3097 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3098 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3099 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3100 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3101 90, -1, -1, 93, 94, 1, -1, 3, 4, 5,
3102 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3103 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3104 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3105 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3106 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3107 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3108 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3109 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3110 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3111 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3112 -1, -1, 108, -1, 110, -1, -1, -1, -1, -1,
3113 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3114 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3115 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3116 -1, 56, 57, 58, -1, 60, 61, -1, -1, -1,
3117 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3118 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3119 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3120 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3121 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3122 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3123 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3124 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3125 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3126 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3127 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3128 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3129 94, 1, -1, 3, 4, 5, 6, -1, 8, 9,
3130 10, 11, -1, 13, 14, -1, 110, -1, -1, -1,
3131 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3132 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3133 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3134 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3135 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3136 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3137 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3138 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3139 9, 10, 11, -1, 13, 14, -1, -1, -1, 109,
3140 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3141 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3142 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3143 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3144 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3145 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3146 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3147 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3148 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3149 109, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3150 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3151 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3152 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3153 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3154 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3155 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3156 88, -1, -1, -1, -1, 93, -1, 1, -1, 3,
3157 4, 5, 6, 101, 8, 9, 10, 11, -1, 13,
3158 14, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3159 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3160 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3161 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3162 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3163 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3164 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3165 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3166 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3167 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3168 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3169 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3170 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3171 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3172 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3173 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3174 -1, -1, -1, 86, 87, 88, -1, -1, -1, 1,
3175 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3176 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3177 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3178 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3179 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3180 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3181 62, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3182 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3183 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3184 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3185 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3186 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3187 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3188 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3189 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3190 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3191 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3192 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3193 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3194 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3195 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3196 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3197 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3198 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3199 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3200 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3201 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3202 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3203 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3204 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3205 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3206 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3207 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3208 -1, -1, 61, -1, -1, -1, -1, -1, 67, 1,
3209 -1, 70, 4, 5, -1, -1, 8, 9, -1, 78,
3210 79, 80, 14, -1, -1, -1, -1, 86, 87, 88,
3211 -1, -1, -1, -1, 93, -1, 28, -1, 30, -1,
3212 -1, -1, -1, -1, 36, -1, 38, 39, -1, 108,
3213 -1, 110, -1, 45, -1, 47, -1, -1, -1, -1,
3214 -1, -1, 54, -1, 56, 57, -1, 59, -1, -1,
3215 -1, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3216 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3217 82, 83, -1, -1, 86, 87, 88, -1, -1, 91,
3218 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3219 10, 11, -1, 13, 14, -1, -1, -1, 110, -1,
3220 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3221 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3222 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3223 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3224 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3225 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3226 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3227 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3228 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3229 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3230 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3231 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3232 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3233 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3234 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3235 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3236 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3237 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3238 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3239 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3240 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3241 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3242 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3243 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3244 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3245 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3246 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3247 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3248 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3249 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3250 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3251 -1, -1, -1, -1, -1, 67, -1, 1, 70, 3,
3252 4, 5, 6, 7, 8, 9, 78, 79, 80, -1,
3253 14, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3254 -1, 93, -1, -1, 28, -1, 30, 31, 32, -1,
3255 -1, -1, 36, 37, -1, -1, -1, 41, 110, 111,
3256 -1, 45, 46, -1, 48, -1, -1, -1, -1, -1,
3257 54, -1, 56, 57, -1, -1, 60, -1, 62, -1,
3258 -1, -1, -1, -1, -1, -1, 70, -1, -1, -1,
3259 -1, -1, -1, -1, -1, -1, 80, -1, -1, -1,
3260 -1, -1, -1, -1, 88, -1, -1, -1, -1, 93,
3261 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3262 11, -1, 13, 14, 15, 109, 17, 18, 19, 20,
3263 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3264 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3265 41, 42, 43, 44, 45, 46, -1, -1, 49, 50,
3266 51, 52, 53, 54, -1, 56, 57, 58, -1, 60,
3267 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3268 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3269 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3270 -1, -1, 93, -1, 95, -1, -1, -1, -1, -1,
3271 -1, -1, -1, -1, -1, -1, -1, -1, 109, 110,
3272 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3273 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
3274 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3275 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3276 43, 44, 45, 46, -1, -1, 49, 50, 51, 52,
3277 53, 54, -1, 56, 57, 58, -1, 60, 61, -1,
3278 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3279 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3280 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3281 93, -1, 95, -1, 3, 4, 5, 6, 7, 8,
3282 9, 10, 11, -1, 13, 14, 15, 110, 17, 18,
3283 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3284 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3285 39, 40, 41, 42, 43, 44, 45, 46, -1, -1,
3286 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3287 -1, 60, 61, -1, -1, -1, -1, -1, 67, -1,
3288 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3289 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3290 -1, -1, -1, -1, 93, -1, 95, -1, 3, 4,
3291 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3292 15, 110, 17, 18, 19, 20, 21, 22, 23, 24,
3293 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3294 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
3295 45, 46, -1, -1, 49, 50, 51, 52, 53, 54,
3296 -1, 56, 57, -1, -1, 60, 61, -1, -1, -1,
3297 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3298 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3299 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3300 95, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3301 12, 13, 14, -1, -1, 110, -1, -1, -1, -1,
3302 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3303 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3304 42, 43, -1, 45, -1, 47, -1, 49, 50, 51,
3305 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3306 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3307 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3308 -1, -1, -1, -1, 86, 87, 88, -1, 90, -1,
3309 -1, 93, 94, 3, 4, 5, 6, 7, 8, 9,
3310 10, 11, 12, 13, 14, -1, -1, -1, 110, -1,
3311 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3312 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3313 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3314 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3315 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3316 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3317 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3318 90, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3319 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3320 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3321 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3322 38, 39, 40, 41, 42, 43, -1, 45, -1, 47,
3323 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3324 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3325 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3326 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3327 88, -1, 90, -1, -1, 93, 94, 3, 4, 5,
3328 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3329 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3330 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3331 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3332 -1, 47, -1, 49, 50, 51, 52, 53, 54, -1,
3333 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3334 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3335 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3336 86, 87, 88, -1, 90, -1, -1, 93, 94, 3,
3337 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3338 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3339 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3340 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3341 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3342 54, -1, 56, 57, -1, -1, 60, 61, -1, -1,
3343 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3344 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3345 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3346 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3347 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3348 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3349 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3350 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3351 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3352 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3353 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3354 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3355 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3356 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3357 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3358 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3359 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3360 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3361 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3362 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3363 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3364 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3365 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3366 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3367 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3368 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3369 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3370 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3371 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3372 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3373 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3374 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3375 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3376 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3377 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3378 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3379 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3380 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3381 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3382 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3383 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3384 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3385 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3386 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
3387 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3388 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3389 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3390 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3391 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3392 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3393 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3394 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3395 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3396 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3397 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3398 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3399 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3400 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3401 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3402 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3403 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3404 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3405 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3406 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3407 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3408 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3409 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3410 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3411 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3412 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3413 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3414 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3415 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3416 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3417 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3418 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3419 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3420 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3421 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3422 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3423 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3424 3, 4, 5, 6, 93, 8, 9, 10, 11, -1,
3425 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3426 -1, 110, -1, -1, -1, 28, 29, 30, -1, 32,
3427 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3428 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3429 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3430 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3431 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3432 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3433 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3434 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3435 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3436 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3437 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3438 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3439 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3440 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3441 87, 88, 3, 4, 5, 6, 93, 8, 9, 10,
3442 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3443 -1, -1, -1, 110, -1, -1, -1, 28, 29, 30,
3444 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3445 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3446 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3447 -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3448 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3449 -1, -1, -1, -1, -1, 86, 87, 88, 3, 4,
3450 5, 6, 93, 8, 9, 10, 11, -1, 13, 14,
3451 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3452 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3453 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3454 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3455 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3456 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3457 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3458 -1, 86, 87, 88, 3, 4, 5, 6, 93, 8,
3459 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3460 -1, -1, -1, -1, -1, 110, -1, -1, -1, 28,
3461 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3462 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3463 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3464 -1, -1, -1, -1, -1, -1, -1, -1, 67, -1,
3465 1, 70, 3, 4, 5, 6, 7, 8, 9, 78,
3466 79, 80, -1, 14, -1, -1, -1, 86, 87, 88,
3467 -1, -1, -1, -1, 93, -1, 27, 28, -1, 30,
3468 31, 32, -1, -1, -1, 36, -1, -1, -1, -1,
3469 41, 110, -1, 44, 45, 46, -1, 48, -1, -1,
3470 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
3471 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
3472 -1, -1, -1, -1, -1, -1, -1, -1, 1, 80,
3473 3, 4, 5, 6, 7, 8, 9, 88, -1, -1,
3474 -1, 14, 93, -1, -1, -1, -1, 98, -1, -1,
3475 -1, -1, -1, -1, 27, 28, -1, 30, 31, 32,
3476 -1, -1, -1, 36, -1, -1, -1, -1, 41, -1,
3477 -1, 44, 45, 46, -1, 48, -1, -1, -1, -1,
3478 -1, 54, -1, 56, 57, -1, -1, 60, -1, 3,
3479 4, 5, 6, 7, 8, 9, -1, 70, 12, -1,
3480 14, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3481 -1, -1, -1, -1, 28, 88, 30, 31, -1, -1,
3482 93, -1, 36, -1, -1, 98, -1, 41, -1, -1,
3483 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
3484 54, -1, 56, 57, 3, 4, 5, 6, 7, 8,
3485 9, -1, -1, -1, -1, 14, 70, -1, -1, -1,
3486 -1, -1, -1, -1, -1, -1, 80, -1, -1, 28,
3487 -1, 30, 31, -1, 88, -1, -1, 36, -1, 93,
3488 -1, -1, 41, -1, -1, -1, 45, -1, -1, -1,
3489 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3490 -1, -1, -1, 62, -1, -1, -1, -1, -1, -1,
3491 -1, 70, 3, 4, 5, 6, 7, 8, 9, -1,
3492 -1, 80, -1, 14, -1, -1, -1, -1, -1, 88,
3493 -1, -1, -1, -1, 93, -1, -1, 28, -1, 30,
3494 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3495 41, -1, -1, -1, 45, -1, -1, -1, -1, -1,
3496 -1, -1, -1, 54, -1, 56, 57, -1, -1, 60,
3497 -1, 3, 4, 5, 6, 7, 8, 9, -1, 70,
3498 -1, -1, 14, -1, -1, -1, -1, -1, -1, 80,
3499 -1, -1, -1, -1, -1, -1, 28, 88, 30, 31,
3500 -1, -1, 93, -1, 36, -1, -1, -1, -1, 41,
3501 -1, -1, -1, 45, -1, -1, -1, -1, -1, -1,
3502 -1, -1, 54, -1, 56, 57, 3, 4, 5, 6,
3503 7, 8, 9, -1, -1, -1, -1, 14, 70, -1,
3504 -1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
3505 -1, 28, -1, 30, 31, -1, 88, -1, -1, 36,
3506 -1, 93, -1, -1, 41, -1, -1, -1, 45, -1,
3507 -1, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3508 57, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3509 -1, -1, 14, 70, -1, -1, -1, -1, -1, -1,
3510 -1, -1, -1, 80, -1, -1, -1, -1, -1, 31,
3511 -1, 88, -1, -1, 36, -1, 93, -1, -1, 41,
3512 -1, -1, -1, 45, -1, 47, -1, -1, -1, -1,
3513 -1, -1, 54, -1, 56, 57, -1, -1, -1, -1,
3514 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
3515 -1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
3516 -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
3517 -1, 93, 63, 64, 65, 66, 67, 68, 69, 70,
3518 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3519 81, 82, 83, 84, -1, -1, -1, -1, -1, -1,
3520 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3521 -1, -1, -1, 59, -1, -1, 107, 63, 64, 65,
3522 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3523 76, 77, 78, 79, 80, 81, 82, 83, 84, 62,
3524 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3525 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3526 83, 84, 63, 64, 65, 66, 67, 68, 69, 70,
3527 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3528 81, 82, 83, 84
3529 };
3530 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3531 #line 3 "/usr/cygnus/gnupro-98r1/share/bison.simple"
3532
3533 /* Skeleton output parser for bison,
3534 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3535
3536 This program is free software; you can redistribute it and/or modify
3537 it under the terms of the GNU General Public License as published by
3538 the Free Software Foundation; either version 2, or (at your option)
3539 any later version.
3540
3541 This program is distributed in the hope that it will be useful,
3542 but WITHOUT ANY WARRANTY; without even the implied warranty of
3543 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3544 GNU General Public License for more details.
3545
3546 You should have received a copy of the GNU General Public License
3547 along with this program; if not, write to the Free Software
3548 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3549
3550 /* As a special exception, when this file is copied by Bison into a
3551 Bison output file, you may use that output file without restriction.
3552 This special exception was added by the Free Software Foundation
3553 in version 1.24 of Bison. */
3554
3555 #ifndef alloca
3556 #ifdef __GNUC__
3557 #define alloca __builtin_alloca
3558 #else /* not GNU C. */
3559 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3560 #include <alloca.h>
3561 #else /* not sparc */
3562 #if defined (MSDOS) && !defined (__TURBOC__)
3563 #include <malloc.h>
3564 #else /* not MSDOS, or __TURBOC__ */
3565 #if defined(_AIX)
3566 #include <malloc.h>
3567 #pragma alloca
3568 #else /* not MSDOS, __TURBOC__, or _AIX */
3569 #ifdef __hpux
3570 #ifdef __cplusplus
3571 extern "C" {
3572 void *alloca (unsigned int);
3573 };
3574 #else /* not __cplusplus */
3575 void *alloca ();
3576 #endif /* not __cplusplus */
3577 #endif /* __hpux */
3578 #endif /* not _AIX */
3579 #endif /* not MSDOS, or __TURBOC__ */
3580 #endif /* not sparc. */
3581 #endif /* not GNU C. */
3582 #endif /* alloca not defined. */
3583
3584 /* This is the parser code that is written into each bison parser
3585 when the %semantic_parser declaration is not specified in the grammar.
3586 It was written by Richard Stallman by simplifying the hairy parser
3587 used when %semantic_parser is specified. */
3588
3589 /* Note: there must be only one dollar sign in this file.
3590 It is replaced by the list of actions, each action
3591 as one case of the switch. */
3592
3593 #define yyerrok (yyerrstatus = 0)
3594 #define yyclearin (yychar = YYEMPTY)
3595 #define YYEMPTY -2
3596 #define YYEOF 0
3597 #define YYACCEPT return(0)
3598 #define YYABORT return(1)
3599 #define YYERROR goto yyerrlab1
3600 /* Like YYERROR except do call yyerror.
3601 This remains here temporarily to ease the
3602 transition to the new meaning of YYERROR, for GCC.
3603 Once GCC version 2 has supplanted version 1, this can go. */
3604 #define YYFAIL goto yyerrlab
3605 #define YYRECOVERING() (!!yyerrstatus)
3606 #define YYBACKUP(token, value) \
3607 do \
3608 if (yychar == YYEMPTY && yylen == 1) \
3609 { yychar = (token), yylval = (value); \
3610 yychar1 = YYTRANSLATE (yychar); \
3611 YYPOPSTACK; \
3612 goto yybackup; \
3613 } \
3614 else \
3615 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3616 while (0)
3617
3618 #define YYTERROR 1
3619 #define YYERRCODE 256
3620
3621 #ifndef YYPURE
3622 #define YYLEX yylex()
3623 #endif
3624
3625 #ifdef YYPURE
3626 #ifdef YYLSP_NEEDED
3627 #ifdef YYLEX_PARAM
3628 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3629 #else
3630 #define YYLEX yylex(&yylval, &yylloc)
3631 #endif
3632 #else /* not YYLSP_NEEDED */
3633 #ifdef YYLEX_PARAM
3634 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3635 #else
3636 #define YYLEX yylex(&yylval)
3637 #endif
3638 #endif /* not YYLSP_NEEDED */
3639 #endif
3640
3641 /* If nonreentrant, generate the variables here */
3642
3643 #ifndef YYPURE
3644
3645 int yychar; /* the lookahead symbol */
3646 YYSTYPE yylval; /* the semantic value of the */
3647 /* lookahead symbol */
3648
3649 #ifdef YYLSP_NEEDED
3650 YYLTYPE yylloc; /* location data for the lookahead */
3651 /* symbol */
3652 #endif
3653
3654 int yynerrs; /* number of parse errors so far */
3655 #endif /* not YYPURE */
3656
3657 #if YYDEBUG != 0
3658 int yydebug; /* nonzero means print parse trace */
3659 /* Since this is uninitialized, it does not stop multiple parsers
3660 from coexisting. */
3661 #endif
3662
3663 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3664
3665 #ifndef YYINITDEPTH
3666 #define YYINITDEPTH 200
3667 #endif
3668
3669 /* YYMAXDEPTH is the maximum size the stacks can grow to
3670 (effective only if the built-in stack extension method is used). */
3671
3672 #if YYMAXDEPTH == 0
3673 #undef YYMAXDEPTH
3674 #endif
3675
3676 #ifndef YYMAXDEPTH
3677 #define YYMAXDEPTH 10000
3678 #endif
3679
3680 /* Prevent warning if -Wstrict-prototypes. */
3681 #ifdef __GNUC__
3682 int yyparse (void);
3683 #endif
3684 \f
3685 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3686 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3687 #else /* not GNU C or C++ */
3688 #ifndef __cplusplus
3689
3690 /* This is the most reliable way to avoid incompatibilities
3691 in available built-in functions on various systems. */
3692 static void
3693 __yy_memcpy (to, from, count)
3694 char *to;
3695 char *from;
3696 int count;
3697 {
3698 register char *f = from;
3699 register char *t = to;
3700 register int i = count;
3701
3702 while (i-- > 0)
3703 *t++ = *f++;
3704 }
3705
3706 #else /* __cplusplus */
3707
3708 /* This is the most reliable way to avoid incompatibilities
3709 in available built-in functions on various systems. */
3710 static void
3711 __yy_memcpy (char *to, char *from, int count)
3712 {
3713 register char *f = from;
3714 register char *t = to;
3715 register int i = count;
3716
3717 while (i-- > 0)
3718 *t++ = *f++;
3719 }
3720
3721 #endif
3722 #endif
3723 \f
3724 #line 196 "/usr/cygnus/gnupro-98r1/share/bison.simple"
3725
3726 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3727 into yyparse. The argument should have type void *.
3728 It should actually point to an object.
3729 Grammar actions can access the variable by casting it
3730 to the proper pointer type. */
3731
3732 #ifdef YYPARSE_PARAM
3733 #ifdef __cplusplus
3734 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3735 #define YYPARSE_PARAM_DECL
3736 #else /* not __cplusplus */
3737 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3738 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3739 #endif /* not __cplusplus */
3740 #else /* not YYPARSE_PARAM */
3741 #define YYPARSE_PARAM_ARG
3742 #define YYPARSE_PARAM_DECL
3743 #endif /* not YYPARSE_PARAM */
3744
3745 int
3746 yyparse(YYPARSE_PARAM_ARG)
3747 YYPARSE_PARAM_DECL
3748 {
3749 register int yystate;
3750 register int yyn;
3751 register short *yyssp;
3752 register YYSTYPE *yyvsp;
3753 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3754 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3755
3756 short yyssa[YYINITDEPTH]; /* the state stack */
3757 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3758
3759 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3760 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3761
3762 #ifdef YYLSP_NEEDED
3763 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3764 YYLTYPE *yyls = yylsa;
3765 YYLTYPE *yylsp;
3766
3767 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3768 #else
3769 #define YYPOPSTACK (yyvsp--, yyssp--)
3770 #endif
3771
3772 int yystacksize = YYINITDEPTH;
3773
3774 #ifdef YYPURE
3775 int yychar;
3776 YYSTYPE yylval;
3777 int yynerrs;
3778 #ifdef YYLSP_NEEDED
3779 YYLTYPE yylloc;
3780 #endif
3781 #endif
3782
3783 YYSTYPE yyval; /* the variable used to return */
3784 /* semantic values from the action */
3785 /* routines */
3786
3787 int yylen;
3788
3789 #if YYDEBUG != 0
3790 if (yydebug)
3791 fprintf(stderr, "Starting parse\n");
3792 #endif
3793
3794 yystate = 0;
3795 yyerrstatus = 0;
3796 yynerrs = 0;
3797 yychar = YYEMPTY; /* Cause a token to be read. */
3798
3799 /* Initialize stack pointers.
3800 Waste one element of value and location stack
3801 so that they stay on the same level as the state stack.
3802 The wasted elements are never initialized. */
3803
3804 yyssp = yyss - 1;
3805 yyvsp = yyvs;
3806 #ifdef YYLSP_NEEDED
3807 yylsp = yyls;
3808 #endif
3809
3810 /* Push a new state, which is found in yystate . */
3811 /* In all cases, when you get here, the value and location stacks
3812 have just been pushed. so pushing a state here evens the stacks. */
3813 yynewstate:
3814
3815 *++yyssp = yystate;
3816
3817 if (yyssp >= yyss + yystacksize - 1)
3818 {
3819 /* Give user a chance to reallocate the stack */
3820 /* Use copies of these so that the &'s don't force the real ones into memory. */
3821 YYSTYPE *yyvs1 = yyvs;
3822 short *yyss1 = yyss;
3823 #ifdef YYLSP_NEEDED
3824 YYLTYPE *yyls1 = yyls;
3825 #endif
3826
3827 /* Get the current used size of the three stacks, in elements. */
3828 int size = yyssp - yyss + 1;
3829
3830 #ifdef yyoverflow
3831 /* Each stack pointer address is followed by the size of
3832 the data in use in that stack, in bytes. */
3833 #ifdef YYLSP_NEEDED
3834 /* This used to be a conditional around just the two extra args,
3835 but that might be undefined if yyoverflow is a macro. */
3836 yyoverflow("parser stack overflow",
3837 &yyss1, size * sizeof (*yyssp),
3838 &yyvs1, size * sizeof (*yyvsp),
3839 &yyls1, size * sizeof (*yylsp),
3840 &yystacksize);
3841 #else
3842 yyoverflow("parser stack overflow",
3843 &yyss1, size * sizeof (*yyssp),
3844 &yyvs1, size * sizeof (*yyvsp),
3845 &yystacksize);
3846 #endif
3847
3848 yyss = yyss1; yyvs = yyvs1;
3849 #ifdef YYLSP_NEEDED
3850 yyls = yyls1;
3851 #endif
3852 #else /* no yyoverflow */
3853 /* Extend the stack our own way. */
3854 if (yystacksize >= YYMAXDEPTH)
3855 {
3856 yyerror("parser stack overflow");
3857 return 2;
3858 }
3859 yystacksize *= 2;
3860 if (yystacksize > YYMAXDEPTH)
3861 yystacksize = YYMAXDEPTH;
3862 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3863 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3864 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3865 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3866 #ifdef YYLSP_NEEDED
3867 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3868 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3869 #endif
3870 #endif /* no yyoverflow */
3871
3872 yyssp = yyss + size - 1;
3873 yyvsp = yyvs + size - 1;
3874 #ifdef YYLSP_NEEDED
3875 yylsp = yyls + size - 1;
3876 #endif
3877
3878 #if YYDEBUG != 0
3879 if (yydebug)
3880 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3881 #endif
3882
3883 if (yyssp >= yyss + yystacksize - 1)
3884 YYABORT;
3885 }
3886
3887 #if YYDEBUG != 0
3888 if (yydebug)
3889 fprintf(stderr, "Entering state %d\n", yystate);
3890 #endif
3891
3892 goto yybackup;
3893 yybackup:
3894
3895 /* Do appropriate processing given the current state. */
3896 /* Read a lookahead token if we need one and don't already have one. */
3897 /* yyresume: */
3898
3899 /* First try to decide what to do without reference to lookahead token. */
3900
3901 yyn = yypact[yystate];
3902 if (yyn == YYFLAG)
3903 goto yydefault;
3904
3905 /* Not known => get a lookahead token if don't already have one. */
3906
3907 /* yychar is either YYEMPTY or YYEOF
3908 or a valid token in external form. */
3909
3910 if (yychar == YYEMPTY)
3911 {
3912 #if YYDEBUG != 0
3913 if (yydebug)
3914 fprintf(stderr, "Reading a token: ");
3915 #endif
3916 yychar = YYLEX;
3917 }
3918
3919 /* Convert token to internal form (in yychar1) for indexing tables with */
3920
3921 if (yychar <= 0) /* This means end of input. */
3922 {
3923 yychar1 = 0;
3924 yychar = YYEOF; /* Don't call YYLEX any more */
3925
3926 #if YYDEBUG != 0
3927 if (yydebug)
3928 fprintf(stderr, "Now at end of input.\n");
3929 #endif
3930 }
3931 else
3932 {
3933 yychar1 = YYTRANSLATE(yychar);
3934
3935 #if YYDEBUG != 0
3936 if (yydebug)
3937 {
3938 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3939 /* Give the individual parser a way to print the precise meaning
3940 of a token, for further debugging info. */
3941 #ifdef YYPRINT
3942 YYPRINT (stderr, yychar, yylval);
3943 #endif
3944 fprintf (stderr, ")\n");
3945 }
3946 #endif
3947 }
3948
3949 yyn += yychar1;
3950 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3951 goto yydefault;
3952
3953 yyn = yytable[yyn];
3954
3955 /* yyn is what to do for this token type in this state.
3956 Negative => reduce, -yyn is rule number.
3957 Positive => shift, yyn is new state.
3958 New state is final state => don't bother to shift,
3959 just return success.
3960 0, or most negative number => error. */
3961
3962 if (yyn < 0)
3963 {
3964 if (yyn == YYFLAG)
3965 goto yyerrlab;
3966 yyn = -yyn;
3967 goto yyreduce;
3968 }
3969 else if (yyn == 0)
3970 goto yyerrlab;
3971
3972 if (yyn == YYFINAL)
3973 YYACCEPT;
3974
3975 /* Shift the lookahead token. */
3976
3977 #if YYDEBUG != 0
3978 if (yydebug)
3979 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3980 #endif
3981
3982 /* Discard the token being shifted unless it is eof. */
3983 if (yychar != YYEOF)
3984 yychar = YYEMPTY;
3985
3986 *++yyvsp = yylval;
3987 #ifdef YYLSP_NEEDED
3988 *++yylsp = yylloc;
3989 #endif
3990
3991 /* count tokens shifted since error; after three, turn off error status. */
3992 if (yyerrstatus) yyerrstatus--;
3993
3994 yystate = yyn;
3995 goto yynewstate;
3996
3997 /* Do the default action for the current state. */
3998 yydefault:
3999
4000 yyn = yydefact[yystate];
4001 if (yyn == 0)
4002 goto yyerrlab;
4003
4004 /* Do a reduction. yyn is the number of a rule to reduce with. */
4005 yyreduce:
4006 yylen = yyr2[yyn];
4007 if (yylen > 0)
4008 yyval = yyvsp[1-yylen]; /* implement default value of the action */
4009
4010 #if YYDEBUG != 0
4011 if (yydebug)
4012 {
4013 int i;
4014
4015 fprintf (stderr, "Reducing via rule %d (line %d), ",
4016 yyn, yyrline[yyn]);
4017
4018 /* Print the symbols being reduced, and their result. */
4019 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
4020 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
4021 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
4022 }
4023 #endif
4024
4025
4026 switch (yyn) {
4027
4028 case 2:
4029 #line 334 "parse.y"
4030 { finish_translation_unit (); ;
4031 break;}
4032 case 3:
4033 #line 342 "parse.y"
4034 { yyval.ttype = NULL_TREE; ;
4035 break;}
4036 case 4:
4037 #line 344 "parse.y"
4038 { yyval.ttype = NULL_TREE; ;
4039 break;}
4040 case 5:
4041 #line 346 "parse.y"
4042 { yyval.ttype = NULL_TREE; ;
4043 break;}
4044 case 8:
4045 #line 355 "parse.y"
4046 { have_extern_spec = 1;
4047 used_extern_spec = 0;
4048 yyval.ttype = NULL_TREE; ;
4049 break;}
4050 case 9:
4051 #line 360 "parse.y"
4052 { have_extern_spec = 0; ;
4053 break;}
4054 case 10:
4055 #line 365 "parse.y"
4056 { yyval.itype = pedantic;
4057 pedantic = 0; ;
4058 break;}
4059 case 12:
4060 #line 374 "parse.y"
4061 { if (pending_lang_change) do_pending_lang_change(); ;
4062 break;}
4063 case 13:
4064 #line 376 "parse.y"
4065 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4066 pop_everything (); ;
4067 break;}
4068 case 14:
4069 #line 382 "parse.y"
4070 { if (pending_inlines) do_pending_inlines (); ;
4071 break;}
4072 case 15:
4073 #line 384 "parse.y"
4074 { if (pending_inlines) do_pending_inlines (); ;
4075 break;}
4076 case 16:
4077 #line 386 "parse.y"
4078 { if (pending_inlines) do_pending_inlines (); ;
4079 break;}
4080 case 17:
4081 #line 388 "parse.y"
4082 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4083 assemble_asm (yyvsp[-2].ttype); ;
4084 break;}
4085 case 18:
4086 #line 391 "parse.y"
4087 { pop_lang_context (); ;
4088 break;}
4089 case 19:
4090 #line 393 "parse.y"
4091 { if (pending_inlines) do_pending_inlines ();
4092 pop_lang_context (); ;
4093 break;}
4094 case 20:
4095 #line 396 "parse.y"
4096 { if (pending_inlines) do_pending_inlines ();
4097 pop_lang_context (); ;
4098 break;}
4099 case 21:
4100 #line 399 "parse.y"
4101 { push_namespace (yyvsp[-1].ttype); ;
4102 break;}
4103 case 22:
4104 #line 401 "parse.y"
4105 { pop_namespace (); ;
4106 break;}
4107 case 23:
4108 #line 403 "parse.y"
4109 { push_namespace (NULL_TREE); ;
4110 break;}
4111 case 24:
4112 #line 405 "parse.y"
4113 { pop_namespace (); ;
4114 break;}
4115 case 26:
4116 #line 408 "parse.y"
4117 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4118 break;}
4119 case 28:
4120 #line 411 "parse.y"
4121 { pedantic = yyvsp[-1].itype; ;
4122 break;}
4123 case 29:
4124 #line 416 "parse.y"
4125 { begin_only_namespace_names (); ;
4126 break;}
4127 case 30:
4128 #line 418 "parse.y"
4129 {
4130 end_only_namespace_names ();
4131 if (lastiddecl)
4132 yyvsp[-1].ttype = lastiddecl;
4133 do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
4134 ;
4135 break;}
4136 case 31:
4137 #line 428 "parse.y"
4138 { yyval.ttype = yyvsp[0].ttype; ;
4139 break;}
4140 case 32:
4141 #line 430 "parse.y"
4142 { yyval.ttype = yyvsp[0].ttype; ;
4143 break;}
4144 case 33:
4145 #line 432 "parse.y"
4146 { yyval.ttype = yyvsp[0].ttype; ;
4147 break;}
4148 case 34:
4149 #line 437 "parse.y"
4150 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4151 break;}
4152 case 35:
4153 #line 439 "parse.y"
4154 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
4155 break;}
4156 case 36:
4157 #line 441 "parse.y"
4158 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4159 break;}
4160 case 37:
4161 #line 446 "parse.y"
4162 { begin_only_namespace_names (); ;
4163 break;}
4164 case 38:
4165 #line 448 "parse.y"
4166 {
4167 end_only_namespace_names ();
4168 /* If no declaration was found, the using-directive is
4169 invalid. Since that was not reported, we need the
4170 identifier for the error message. */
4171 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4172 yyvsp[-1].ttype = lastiddecl;
4173 do_using_directive (yyvsp[-1].ttype);
4174 ;
4175 break;}
4176 case 39:
4177 #line 461 "parse.y"
4178 {
4179 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4180 yyval.ttype = lastiddecl;
4181 got_scope = yyval.ttype;
4182 ;
4183 break;}
4184 case 40:
4185 #line 467 "parse.y"
4186 {
4187 yyval.ttype = yyvsp[-1].ttype;
4188 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4189 yyval.ttype = lastiddecl;
4190 got_scope = yyval.ttype;
4191 ;
4192 break;}
4193 case 43:
4194 #line 478 "parse.y"
4195 { yyval.ttype = yyvsp[0].ttype; ;
4196 break;}
4197 case 44:
4198 #line 480 "parse.y"
4199 { yyval.ttype = yyvsp[0].ttype; ;
4200 break;}
4201 case 45:
4202 #line 485 "parse.y"
4203 { push_lang_context (yyvsp[0].ttype); ;
4204 break;}
4205 case 46:
4206 #line 487 "parse.y"
4207 { if (current_lang_name != yyvsp[0].ttype)
4208 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4209 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4210 break;}
4211 case 47:
4212 #line 494 "parse.y"
4213 { begin_template_parm_list (); ;
4214 break;}
4215 case 48:
4216 #line 496 "parse.y"
4217 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4218 break;}
4219 case 49:
4220 #line 498 "parse.y"
4221 { begin_specialization();
4222 yyval.ttype = NULL_TREE; ;
4223 break;}
4224 case 50:
4225 #line 504 "parse.y"
4226 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4227 break;}
4228 case 51:
4229 #line 506 "parse.y"
4230 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4231 break;}
4232 case 52:
4233 #line 511 "parse.y"
4234 { yyval.ttype = yyvsp[0].ttype; ;
4235 break;}
4236 case 53:
4237 #line 513 "parse.y"
4238 { yyval.ttype = NULL_TREE; ;
4239 break;}
4240 case 54:
4241 #line 517 "parse.y"
4242 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4243 break;}
4244 case 55:
4245 #line 519 "parse.y"
4246 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4247 break;}
4248 case 56:
4249 #line 524 "parse.y"
4250 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4251 break;}
4252 case 57:
4253 #line 536 "parse.y"
4254 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4255 break;}
4256 case 58:
4257 #line 538 "parse.y"
4258 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4259 break;}
4260 case 59:
4261 #line 540 "parse.y"
4262 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4263 break;}
4264 case 60:
4265 #line 542 "parse.y"
4266 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4267 break;}
4268 case 61:
4269 #line 544 "parse.y"
4270 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4271 break;}
4272 case 62:
4273 #line 546 "parse.y"
4274 {
4275 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4276 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4277 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4278 {
4279 error ("invalid default template argument");
4280 yyvsp[0].ttype = error_mark_node;
4281 }
4282 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4283 ;
4284 break;}
4285 case 63:
4286 #line 561 "parse.y"
4287 {
4288 if (yyvsp[-1].ttype)
4289 end_template_decl ();
4290 else
4291 end_specialization ();
4292 ;
4293 break;}
4294 case 64:
4295 #line 569 "parse.y"
4296 {
4297 if (yyvsp[-1].ttype)
4298 end_template_decl ();
4299 else
4300 end_specialization ();
4301 ;
4302 break;}
4303 case 66:
4304 #line 580 "parse.y"
4305 {;
4306 break;}
4307 case 67:
4308 #line 582 "parse.y"
4309 {
4310 note_list_got_semicolon (yyvsp[-2].ftype.t);
4311 ;
4312 break;}
4313 case 68:
4314 #line 586 "parse.y"
4315 { pedwarn ("empty declaration"); ;
4316 break;}
4317 case 70:
4318 #line 589 "parse.y"
4319 {
4320 tree t, attrs;
4321 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4322 shadow_tag (t);
4323 note_list_got_semicolon (yyvsp[-1].ftype.t);
4324 ;
4325 break;}
4326 case 74:
4327 #line 602 "parse.y"
4328 { yyval.itype = 0; ;
4329 break;}
4330 case 75:
4331 #line 604 "parse.y"
4332 { yyval.itype = 1; ;
4333 break;}
4334 case 81:
4335 #line 620 "parse.y"
4336 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4337 break;}
4338 case 82:
4339 #line 622 "parse.y"
4340 { ;
4341 break;}
4342 case 83:
4343 #line 624 "parse.y"
4344 { ;
4345 break;}
4346 case 84:
4347 #line 629 "parse.y"
4348 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4349 break;}
4350 case 85:
4351 #line 631 "parse.y"
4352 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4353 break;}
4354 case 86:
4355 #line 633 "parse.y"
4356 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4357 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4358 ;
4359 break;}
4360 case 87:
4361 #line 637 "parse.y"
4362 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4363 break;}
4364 case 88:
4365 #line 639 "parse.y"
4366 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4367 break;}
4368 case 89:
4369 #line 641 "parse.y"
4370 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4371 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4372 ;
4373 break;}
4374 case 90:
4375 #line 645 "parse.y"
4376 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4377 break;}
4378 case 91:
4379 #line 647 "parse.y"
4380 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4381 break;}
4382 case 92:
4383 #line 649 "parse.y"
4384 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4385 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4386 ;
4387 break;}
4388 case 93:
4389 #line 653 "parse.y"
4390 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4391 break;}
4392 case 94:
4393 #line 655 "parse.y"
4394 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4395 break;}
4396 case 95:
4397 #line 657 "parse.y"
4398 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4399 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4400 ;
4401 break;}
4402 case 96:
4403 #line 664 "parse.y"
4404 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4405 YYERROR1; ;
4406 break;}
4407 case 97:
4408 #line 667 "parse.y"
4409 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4410 YYERROR1; ;
4411 break;}
4412 case 98:
4413 #line 670 "parse.y"
4414 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4415 YYERROR1; ;
4416 break;}
4417 case 99:
4418 #line 673 "parse.y"
4419 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4420 YYERROR1; ;
4421 break;}
4422 case 100:
4423 #line 676 "parse.y"
4424 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4425 YYERROR1; ;
4426 break;}
4427 case 101:
4428 #line 682 "parse.y"
4429 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4430 break;}
4431 case 102:
4432 #line 684 "parse.y"
4433 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4434 break;}
4435 case 103:
4436 #line 686 "parse.y"
4437 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4438 break;}
4439 case 104:
4440 #line 688 "parse.y"
4441 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4442 break;}
4443 case 105:
4444 #line 695 "parse.y"
4445 { tree specs = strip_attrs (yyvsp[-1].ttype);
4446 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4447 rest_of_mdef:
4448 if (! yyval.ttype)
4449 YYERROR1;
4450 if (yychar == YYEMPTY)
4451 yychar = YYLEX;
4452 reinit_parse_for_method (yychar, yyval.ttype); ;
4453 break;}
4454 case 106:
4455 #line 704 "parse.y"
4456 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4457 break;}
4458 case 107:
4459 #line 706 "parse.y"
4460 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4461 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4462 break;}
4463 case 108:
4464 #line 709 "parse.y"
4465 { tree specs = strip_attrs (yyvsp[-1].ttype);
4466 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4467 break;}
4468 case 109:
4469 #line 712 "parse.y"
4470 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4471 break;}
4472 case 110:
4473 #line 714 "parse.y"
4474 { tree specs = strip_attrs (yyvsp[-1].ttype);
4475 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4476 break;}
4477 case 111:
4478 #line 717 "parse.y"
4479 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4480 break;}
4481 case 112:
4482 #line 722 "parse.y"
4483 {
4484 if (! current_function_parms_stored)
4485 store_parm_decls ();
4486 yyval.ttype = yyvsp[0].ttype;
4487 ;
4488 break;}
4489 case 113:
4490 #line 731 "parse.y"
4491 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4492 break;}
4493 case 114:
4494 #line 733 "parse.y"
4495 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4496 break;}
4497 case 115:
4498 #line 735 "parse.y"
4499 { store_return_init (yyval.ttype, NULL_TREE); ;
4500 break;}
4501 case 116:
4502 #line 740 "parse.y"
4503 {
4504 if (yyvsp[0].itype == 0)
4505 error ("no base initializers given following ':'");
4506 setup_vtbl_ptr ();
4507 /* Always keep the BLOCK node associated with the outermost
4508 pair of curley braces of a function. These are needed
4509 for correct operation of dwarfout.c. */
4510 keep_next_level ();
4511 ;
4512 break;}
4513 case 117:
4514 #line 753 "parse.y"
4515 {
4516 if (! current_function_parms_stored)
4517 store_parm_decls ();
4518
4519 if (DECL_CONSTRUCTOR_P (current_function_decl))
4520 {
4521 /* Make a contour for the initializer list. */
4522 pushlevel (0);
4523 clear_last_expr ();
4524 expand_start_bindings (0);
4525 }
4526 else if (current_class_type == NULL_TREE)
4527 error ("base initializers not allowed for non-member functions");
4528 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4529 error ("only constructors take base initializers");
4530 ;
4531 break;}
4532 case 118:
4533 #line 773 "parse.y"
4534 { yyval.itype = 0; ;
4535 break;}
4536 case 119:
4537 #line 775 "parse.y"
4538 { yyval.itype = 1; ;
4539 break;}
4540 case 122:
4541 #line 782 "parse.y"
4542 {
4543 if (current_class_name)
4544 pedwarn ("anachronistic old style base class initializer");
4545 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4546 ;
4547 break;}
4548 case 123:
4549 #line 788 "parse.y"
4550 {
4551 if (current_class_name)
4552 pedwarn ("anachronistic old style base class initializer");
4553 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4554 ;
4555 break;}
4556 case 124:
4557 #line 794 "parse.y"
4558 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4559 break;}
4560 case 125:
4561 #line 796 "parse.y"
4562 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4563 break;}
4564 case 126:
4565 #line 798 "parse.y"
4566 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4567 break;}
4568 case 127:
4569 #line 800 "parse.y"
4570 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4571 break;}
4572 case 128:
4573 #line 802 "parse.y"
4574 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4575 yyvsp[-1].ttype); ;
4576 break;}
4577 case 129:
4578 #line 805 "parse.y"
4579 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4580 void_type_node); ;
4581 break;}
4582 case 141:
4583 #line 831 "parse.y"
4584 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4585 yyungetc (';', 1); ;
4586 break;}
4587 case 143:
4588 #line 835 "parse.y"
4589 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4590 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4591 break;}
4592 case 145:
4593 #line 839 "parse.y"
4594 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4595 break;}
4596 case 147:
4597 #line 842 "parse.y"
4598 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4599 break;}
4600 case 149:
4601 #line 845 "parse.y"
4602 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4603 yyungetc (';', 1); ;
4604 break;}
4605 case 151:
4606 #line 850 "parse.y"
4607 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4608 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4609 break;}
4610 case 153:
4611 #line 854 "parse.y"
4612 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4613 break;}
4614 case 155:
4615 #line 857 "parse.y"
4616 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4617 break;}
4618 case 157:
4619 #line 862 "parse.y"
4620 { begin_explicit_instantiation(); ;
4621 break;}
4622 case 158:
4623 #line 865 "parse.y"
4624 { end_explicit_instantiation(); ;
4625 break;}
4626 case 159:
4627 #line 873 "parse.y"
4628 {
4629 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4630 if (yyval.ttype != error_mark_node)
4631 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4632 ;
4633 break;}
4634 case 160:
4635 #line 879 "parse.y"
4636 {
4637 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4638 if (yyval.ttype != error_mark_node)
4639 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4640 ;
4641 break;}
4642 case 162:
4643 #line 889 "parse.y"
4644 {
4645 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4646 if (yyval.ttype != error_mark_node)
4647 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4648 ;
4649 break;}
4650 case 164:
4651 #line 899 "parse.y"
4652 {
4653 /* Handle `Class<Class<Type>>' without space in the `>>' */
4654 pedwarn ("`>>' should be `> >' in template class name");
4655 yyungetc ('>', 1);
4656 ;
4657 break;}
4658 case 165:
4659 #line 908 "parse.y"
4660 { yyval.ttype = NULL_TREE; ;
4661 break;}
4662 case 167:
4663 #line 914 "parse.y"
4664 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4665 break;}
4666 case 168:
4667 #line 916 "parse.y"
4668 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4669 break;}
4670 case 169:
4671 #line 921 "parse.y"
4672 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4673 break;}
4674 case 170:
4675 #line 923 "parse.y"
4676 { yyval.ttype = lastiddecl; ;
4677 break;}
4678 case 172:
4679 #line 929 "parse.y"
4680 { yyval.code = NEGATE_EXPR; ;
4681 break;}
4682 case 173:
4683 #line 931 "parse.y"
4684 { yyval.code = CONVERT_EXPR; ;
4685 break;}
4686 case 174:
4687 #line 933 "parse.y"
4688 { yyval.code = PREINCREMENT_EXPR; ;
4689 break;}
4690 case 175:
4691 #line 935 "parse.y"
4692 { yyval.code = PREDECREMENT_EXPR; ;
4693 break;}
4694 case 176:
4695 #line 937 "parse.y"
4696 { yyval.code = TRUTH_NOT_EXPR; ;
4697 break;}
4698 case 177:
4699 #line 942 "parse.y"
4700 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4701 break;}
4702 case 179:
4703 #line 948 "parse.y"
4704 { error ("ANSI C++ forbids an empty condition for `%s'",
4705 cond_stmt_keyword);
4706 yyval.ttype = integer_zero_node; ;
4707 break;}
4708 case 180:
4709 #line 952 "parse.y"
4710 { yyval.ttype = yyvsp[-1].ttype; ;
4711 break;}
4712 case 181:
4713 #line 957 "parse.y"
4714 { error ("ANSI C++ forbids an empty condition for `%s'",
4715 cond_stmt_keyword);
4716 yyval.ttype = integer_zero_node; ;
4717 break;}
4718 case 182:
4719 #line 961 "parse.y"
4720 { yyval.ttype = yyvsp[-1].ttype; ;
4721 break;}
4722 case 183:
4723 #line 966 "parse.y"
4724 { yyval.ttype = NULL_TREE; ;
4725 break;}
4726 case 185:
4727 #line 969 "parse.y"
4728 { yyval.ttype = NULL_TREE; ;
4729 break;}
4730 case 186:
4731 #line 974 "parse.y"
4732 { {
4733 tree d;
4734 for (d = getdecls (); d; d = TREE_CHAIN (d))
4735 if (TREE_CODE (d) == TYPE_DECL) {
4736 tree s = TREE_TYPE (d);
4737 if (TREE_CODE (s) == RECORD_TYPE)
4738 cp_error ("definition of class `%T' in condition", s);
4739 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4740 cp_error ("definition of enum `%T' in condition", s);
4741 }
4742 }
4743 current_declspecs = yyvsp[-4].ftype.t;
4744 yyvsp[0].itype = suspend_momentary ();
4745 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4746 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4747 ;
4748 break;}
4749 case 187:
4750 #line 991 "parse.y"
4751 {
4752 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4753 resume_momentary (yyvsp[-2].itype);
4754 yyval.ttype = yyvsp[-1].ttype;
4755 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4756 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4757 ;
4758 break;}
4759 case 193:
4760 #line 1010 "parse.y"
4761 { yyval.ttype = begin_compound_stmt (1); ;
4762 break;}
4763 case 194:
4764 #line 1012 "parse.y"
4765 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4766 break;}
4767 case 196:
4768 #line 1019 "parse.y"
4769 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4770 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4771 break;}
4772 case 197:
4773 #line 1022 "parse.y"
4774 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4775 build_expr_list (NULL_TREE, error_mark_node)); ;
4776 break;}
4777 case 198:
4778 #line 1025 "parse.y"
4779 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4780 break;}
4781 case 199:
4782 #line 1027 "parse.y"
4783 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4784 break;}
4785 case 200:
4786 #line 1032 "parse.y"
4787 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4788 break;}
4789 case 202:
4790 #line 1038 "parse.y"
4791 { yyval.ttype = yyvsp[0].ttype; ;
4792 break;}
4793 case 203:
4794 #line 1041 "parse.y"
4795 { yyval.ttype = yyvsp[0].ttype;
4796 pedantic = yyvsp[-1].itype; ;
4797 break;}
4798 case 204:
4799 #line 1044 "parse.y"
4800 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4801 break;}
4802 case 205:
4803 #line 1046 "parse.y"
4804 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4805 break;}
4806 case 206:
4807 #line 1048 "parse.y"
4808 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4809 break;}
4810 case 207:
4811 #line 1050 "parse.y"
4812 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
4813 break;}
4814 case 208:
4815 #line 1053 "parse.y"
4816 { if (pedantic)
4817 pedwarn ("ANSI C++ forbids `&&'");
4818 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4819 break;}
4820 case 209:
4821 #line 1057 "parse.y"
4822 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4823 break;}
4824 case 210:
4825 #line 1059 "parse.y"
4826 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4827 break;}
4828 case 211:
4829 #line 1061 "parse.y"
4830 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4831 break;}
4832 case 212:
4833 #line 1063 "parse.y"
4834 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4835 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4836 break;}
4837 case 213:
4838 #line 1069 "parse.y"
4839 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4840 check_for_new_type ("new", yyvsp[0].ftype); ;
4841 break;}
4842 case 214:
4843 #line 1072 "parse.y"
4844 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4845 check_for_new_type ("new", yyvsp[-1].ftype); ;
4846 break;}
4847 case 215:
4848 #line 1075 "parse.y"
4849 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4850 check_for_new_type ("new", yyvsp[0].ftype); ;
4851 break;}
4852 case 216:
4853 #line 1078 "parse.y"
4854 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4855 check_for_new_type ("new", yyvsp[-1].ftype); ;
4856 break;}
4857 case 217:
4858 #line 1091 "parse.y"
4859 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4860 NULL_TREE, yyvsp[-4].itype);
4861 check_for_new_type ("new", yyvsp[-1].ftype); ;
4862 break;}
4863 case 218:
4864 #line 1096 "parse.y"
4865 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4866 check_for_new_type ("new", yyvsp[-2].ftype); ;
4867 break;}
4868 case 219:
4869 #line 1100 "parse.y"
4870 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype);
4871 check_for_new_type ("new", yyvsp[-1].ftype); ;
4872 break;}
4873 case 220:
4874 #line 1104 "parse.y"
4875 { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype);
4876 check_for_new_type ("new", yyvsp[-2].ftype); ;
4877 break;}
4878 case 221:
4879 #line 1108 "parse.y"
4880 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4881 break;}
4882 case 222:
4883 #line 1110 "parse.y"
4884 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4885 if (yychar == YYEMPTY)
4886 yychar = YYLEX; ;
4887 break;}
4888 case 223:
4889 #line 1114 "parse.y"
4890 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4891 if (yychar == YYEMPTY)
4892 yychar = YYLEX; ;
4893 break;}
4894 case 224:
4895 #line 1118 "parse.y"
4896 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4897 break;}
4898 case 225:
4899 #line 1120 "parse.y"
4900 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4901 break;}
4902 case 226:
4903 #line 1130 "parse.y"
4904 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
4905 break;}
4906 case 227:
4907 #line 1133 "parse.y"
4908 { yyval.itype = begin_new_placement (); ;
4909 break;}
4910 case 228:
4911 #line 1137 "parse.y"
4912 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
4913 break;}
4914 case 229:
4915 #line 1139 "parse.y"
4916 { cp_pedwarn ("old style placement syntax, use () instead");
4917 yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
4918 break;}
4919 case 230:
4920 #line 1145 "parse.y"
4921 { yyval.ttype = yyvsp[-1].ttype; ;
4922 break;}
4923 case 231:
4924 #line 1147 "parse.y"
4925 { yyval.ttype = NULL_TREE; ;
4926 break;}
4927 case 232:
4928 #line 1149 "parse.y"
4929 {
4930 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4931 yyval.ttype = error_mark_node;
4932 ;
4933 break;}
4934 case 233:
4935 #line 1157 "parse.y"
4936 {
4937 if (pedantic)
4938 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4939 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
4940 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
4941 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
4942 else
4943 yyval.ttype = yyvsp[0].ttype;
4944 ;
4945 break;}
4946 case 234:
4947 #line 1171 "parse.y"
4948 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
4949 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4950 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4951 break;}
4952 case 235:
4953 #line 1175 "parse.y"
4954 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
4955 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4956 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4957 break;}
4958 case 237:
4959 #line 1183 "parse.y"
4960 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4961 break;}
4962 case 238:
4963 #line 1185 "parse.y"
4964 {
4965 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
4966 nreverse (yyvsp[-2].ttype));
4967 if (pedantic)
4968 pedwarn ("ANSI C++ forbids constructor-expressions");
4969 /* Indicate that this was a GNU C constructor expression. */
4970 TREE_HAS_CONSTRUCTOR (init) = 1;
4971
4972 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
4973 ;
4974 break;}
4975 case 240:
4976 #line 1201 "parse.y"
4977 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4978 break;}
4979 case 241:
4980 #line 1203 "parse.y"
4981 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
4982 break;}
4983 case 242:
4984 #line 1205 "parse.y"
4985 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4986 break;}
4987 case 243:
4988 #line 1207 "parse.y"
4989 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4990 break;}
4991 case 244:
4992 #line 1209 "parse.y"
4993 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4994 break;}
4995 case 245:
4996 #line 1211 "parse.y"
4997 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4998 break;}
4999 case 246:
5000 #line 1213 "parse.y"
5001 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5002 break;}
5003 case 247:
5004 #line 1215 "parse.y"
5005 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5006 break;}
5007 case 248:
5008 #line 1217 "parse.y"
5009 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5010 break;}
5011 case 249:
5012 #line 1219 "parse.y"
5013 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5014 break;}
5015 case 250:
5016 #line 1221 "parse.y"
5017 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5018 break;}
5019 case 251:
5020 #line 1223 "parse.y"
5021 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5022 break;}
5023 case 252:
5024 #line 1225 "parse.y"
5025 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5026 break;}
5027 case 253:
5028 #line 1227 "parse.y"
5029 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5030 break;}
5031 case 254:
5032 #line 1229 "parse.y"
5033 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5034 break;}
5035 case 255:
5036 #line 1231 "parse.y"
5037 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5038 break;}
5039 case 256:
5040 #line 1233 "parse.y"
5041 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5042 break;}
5043 case 257:
5044 #line 1235 "parse.y"
5045 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5046 break;}
5047 case 258:
5048 #line 1237 "parse.y"
5049 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5050 break;}
5051 case 259:
5052 #line 1239 "parse.y"
5053 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5054 break;}
5055 case 260:
5056 #line 1241 "parse.y"
5057 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5058 if (yyval.ttype != error_mark_node)
5059 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5060 break;}
5061 case 261:
5062 #line 1245 "parse.y"
5063 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5064 break;}
5065 case 262:
5066 #line 1247 "parse.y"
5067 { yyval.ttype = build_throw (NULL_TREE); ;
5068 break;}
5069 case 263:
5070 #line 1249 "parse.y"
5071 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5072 break;}
5073 case 264:
5074 #line 1267 "parse.y"
5075 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5076 break;}
5077 case 270:
5078 #line 1276 "parse.y"
5079 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE); ;
5080 break;}
5081 case 271:
5082 #line 1280 "parse.y"
5083 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5084 break;}
5085 case 272:
5086 #line 1282 "parse.y"
5087 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5088 break;}
5089 case 273:
5090 #line 1287 "parse.y"
5091 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5092 break;}
5093 case 274:
5094 #line 1289 "parse.y"
5095 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5096 break;}
5097 case 275:
5098 #line 1292 "parse.y"
5099 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5100 break;}
5101 case 280:
5102 #line 1304 "parse.y"
5103 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5104 break;}
5105 case 281:
5106 #line 1306 "parse.y"
5107 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5108 break;}
5109 case 282:
5110 #line 1308 "parse.y"
5111 { yyval.ttype = yyvsp[-1].ttype; ;
5112 break;}
5113 case 283:
5114 #line 1313 "parse.y"
5115 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5116 break;}
5117 case 284:
5118 #line 1315 "parse.y"
5119 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5120 break;}
5121 case 288:
5122 #line 1323 "parse.y"
5123 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5124 break;}
5125 case 289:
5126 #line 1328 "parse.y"
5127 {
5128 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5129 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5130 else
5131 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5132 ;
5133 break;}
5134 case 292:
5135 #line 1337 "parse.y"
5136 {
5137 if (processing_template_decl)
5138 push_obstacks (&permanent_obstack, &permanent_obstack);
5139 yyval.ttype = combine_strings (yyval.ttype);
5140 if (processing_template_decl)
5141 pop_obstacks ();
5142 ;
5143 break;}
5144 case 293:
5145 #line 1345 "parse.y"
5146 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5147 break;}
5148 case 294:
5149 #line 1347 "parse.y"
5150 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5151 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5152 break;}
5153 case 295:
5154 #line 1350 "parse.y"
5155 { yyval.ttype = error_mark_node; ;
5156 break;}
5157 case 296:
5158 #line 1352 "parse.y"
5159 { if (current_function_decl == 0)
5160 {
5161 error ("braced-group within expression allowed only inside a function");
5162 YYERROR;
5163 }
5164 if (pedantic)
5165 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5166 yyval.ttype = begin_stmt_expr ();
5167 ;
5168 break;}
5169 case 297:
5170 #line 1362 "parse.y"
5171 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5172 break;}
5173 case 298:
5174 #line 1367 "parse.y"
5175 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
5176 break;}
5177 case 299:
5178 #line 1369 "parse.y"
5179 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
5180 break;}
5181 case 300:
5182 #line 1371 "parse.y"
5183 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
5184 break;}
5185 case 301:
5186 #line 1373 "parse.y"
5187 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
5188 break;}
5189 case 302:
5190 #line 1375 "parse.y"
5191 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5192 break;}
5193 case 303:
5194 #line 1377 "parse.y"
5195 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5196 break;}
5197 case 304:
5198 #line 1379 "parse.y"
5199 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5200 break;}
5201 case 305:
5202 #line 1382 "parse.y"
5203 { yyval.ttype = finish_this_expr (); ;
5204 break;}
5205 case 306:
5206 #line 1384 "parse.y"
5207 {
5208 tree type = NULL_TREE;
5209 tree id = yyval.ttype;
5210
5211 /* This is a C cast in C++'s `functional' notation. */
5212 if (yyvsp[-1].ttype == error_mark_node)
5213 {
5214 yyval.ttype = error_mark_node;
5215 break;
5216 }
5217 #if 0
5218 if (yyvsp[-1].ttype == NULL_TREE)
5219 {
5220 error ("cannot cast null list to type `%s'",
5221 IDENTIFIER_POINTER (TYPE_NAME (id)));
5222 yyval.ttype = error_mark_node;
5223 break;
5224 }
5225 #endif
5226 #if 0
5227 /* type is not set! (mrs) */
5228 if (type == error_mark_node)
5229 yyval.ttype = error_mark_node;
5230 else
5231 #endif
5232 {
5233 if (id == ridpointers[(int) RID_CONST])
5234 type = build_type_variant (integer_type_node, 1, 0);
5235 else if (id == ridpointers[(int) RID_VOLATILE])
5236 type = build_type_variant (integer_type_node, 0, 1);
5237 #if 0
5238 /* should not be able to get here (mrs) */
5239 else if (id == ridpointers[(int) RID_FRIEND])
5240 {
5241 error ("cannot cast expression to `friend' type");
5242 yyval.ttype = error_mark_node;
5243 break;
5244 }
5245 #endif
5246 else my_friendly_abort (79);
5247 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5248 }
5249 ;
5250 break;}
5251 case 308:
5252 #line 1429 "parse.y"
5253 { tree type = groktypename (yyvsp[-4].ftype.t);
5254 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5255 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5256 break;}
5257 case 309:
5258 #line 1433 "parse.y"
5259 { tree type = groktypename (yyvsp[-4].ftype.t);
5260 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5261 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5262 break;}
5263 case 310:
5264 #line 1437 "parse.y"
5265 { tree type = groktypename (yyvsp[-4].ftype.t);
5266 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5267 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5268 break;}
5269 case 311:
5270 #line 1441 "parse.y"
5271 { tree type = groktypename (yyvsp[-4].ftype.t);
5272 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5273 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5274 break;}
5275 case 312:
5276 #line 1445 "parse.y"
5277 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5278 break;}
5279 case 313:
5280 #line 1447 "parse.y"
5281 { tree type = groktypename (yyvsp[-1].ftype.t);
5282 check_for_new_type ("typeid", yyvsp[-1].ftype);
5283 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5284 break;}
5285 case 314:
5286 #line 1451 "parse.y"
5287 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5288 break;}
5289 case 315:
5290 #line 1453 "parse.y"
5291 { yyval.ttype = yyvsp[0].ttype; ;
5292 break;}
5293 case 316:
5294 #line 1455 "parse.y"
5295 {
5296 got_scope = NULL_TREE;
5297 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5298 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5299 else
5300 yyval.ttype = yyvsp[0].ttype;
5301 ;
5302 break;}
5303 case 317:
5304 #line 1463 "parse.y"
5305 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5306 break;}
5307 case 318:
5308 #line 1465 "parse.y"
5309 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5310 break;}
5311 case 319:
5312 #line 1467 "parse.y"
5313 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5314 break;}
5315 case 320:
5316 #line 1469 "parse.y"
5317 {
5318 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5319 ;
5320 break;}
5321 case 321:
5322 #line 1473 "parse.y"
5323 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5324 break;}
5325 case 322:
5326 #line 1475 "parse.y"
5327 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5328 break;}
5329 case 323:
5330 #line 1477 "parse.y"
5331 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5332 break;}
5333 case 324:
5334 #line 1479 "parse.y"
5335 { if (processing_template_decl)
5336 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5337 else
5338 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5339 break;}
5340 case 325:
5341 #line 1484 "parse.y"
5342 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5343 break;}
5344 case 326:
5345 #line 1486 "parse.y"
5346 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5347 break;}
5348 case 327:
5349 #line 1488 "parse.y"
5350 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5351 break;}
5352 case 328:
5353 #line 1490 "parse.y"
5354 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5355 break;}
5356 case 329:
5357 #line 1493 "parse.y"
5358 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5359 break;}
5360 case 330:
5361 #line 1495 "parse.y"
5362 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5363 break;}
5364 case 331:
5365 #line 1497 "parse.y"
5366 {
5367 yyval.ttype = error_mark_node;
5368 ;
5369 break;}
5370 case 332:
5371 #line 1542 "parse.y"
5372 { yyval.itype = 0; ;
5373 break;}
5374 case 333:
5375 #line 1544 "parse.y"
5376 { got_scope = NULL_TREE; yyval.itype = 1; ;
5377 break;}
5378 case 334:
5379 #line 1549 "parse.y"
5380 { yyval.itype = 0; ;
5381 break;}
5382 case 335:
5383 #line 1551 "parse.y"
5384 { got_scope = NULL_TREE; yyval.itype = 1; ;
5385 break;}
5386 case 336:
5387 #line 1556 "parse.y"
5388 { yyval.ttype = boolean_true_node; ;
5389 break;}
5390 case 337:
5391 #line 1558 "parse.y"
5392 { yyval.ttype = boolean_false_node; ;
5393 break;}
5394 case 339:
5395 #line 1565 "parse.y"
5396 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5397 break;}
5398 case 340:
5399 #line 1570 "parse.y"
5400 {
5401 if (! current_function_parms_stored)
5402 store_parm_decls ();
5403 setup_vtbl_ptr ();
5404 /* Always keep the BLOCK node associated with the outermost
5405 pair of curley braces of a function. These are needed
5406 for correct operation of dwarfout.c. */
5407 keep_next_level ();
5408 ;
5409 break;}
5410 case 341:
5411 #line 1583 "parse.y"
5412 { got_object = TREE_TYPE (yyval.ttype); ;
5413 break;}
5414 case 342:
5415 #line 1585 "parse.y"
5416 {
5417 yyval.ttype = build_x_arrow (yyval.ttype);
5418 got_object = TREE_TYPE (yyval.ttype);
5419 ;
5420 break;}
5421 case 343:
5422 #line 1593 "parse.y"
5423 {
5424 resume_momentary (yyvsp[-1].itype);
5425 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5426 note_got_semicolon (yyvsp[-2].ftype.t);
5427 ;
5428 break;}
5429 case 344:
5430 #line 1599 "parse.y"
5431 {
5432 resume_momentary (yyvsp[-1].itype);
5433 note_list_got_semicolon (yyvsp[-2].ftype.t);
5434 ;
5435 break;}
5436 case 345:
5437 #line 1604 "parse.y"
5438 { resume_momentary (yyvsp[-1].itype); ;
5439 break;}
5440 case 346:
5441 #line 1606 "parse.y"
5442 {
5443 shadow_tag (yyvsp[-1].ftype.t);
5444 note_list_got_semicolon (yyvsp[-1].ftype.t);
5445 ;
5446 break;}
5447 case 347:
5448 #line 1611 "parse.y"
5449 { warning ("empty declaration"); ;
5450 break;}
5451 case 348:
5452 #line 1613 "parse.y"
5453 { pedantic = yyvsp[-1].itype; ;
5454 break;}
5455 case 351:
5456 #line 1627 "parse.y"
5457 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5458 NULL_TREE, NULL_TREE); ;
5459 break;}
5460 case 352:
5461 #line 1630 "parse.y"
5462 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5463 NULL_TREE); ;
5464 break;}
5465 case 353:
5466 #line 1637 "parse.y"
5467 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5468 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5469 break;}
5470 case 354:
5471 #line 1640 "parse.y"
5472 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5473 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5474 break;}
5475 case 355:
5476 #line 1643 "parse.y"
5477 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5478 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5479 break;}
5480 case 356:
5481 #line 1646 "parse.y"
5482 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5483 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5484 break;}
5485 case 357:
5486 #line 1649 "parse.y"
5487 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5488 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5489 break;}
5490 case 360:
5491 #line 1665 "parse.y"
5492 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5493 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5494 break;}
5495 case 361:
5496 #line 1668 "parse.y"
5497 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5498 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5499 break;}
5500 case 362:
5501 #line 1671 "parse.y"
5502 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5503 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5504 break;}
5505 case 363:
5506 #line 1674 "parse.y"
5507 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5508 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5509 break;}
5510 case 364:
5511 #line 1677 "parse.y"
5512 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5513 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5514 break;}
5515 case 365:
5516 #line 1680 "parse.y"
5517 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5518 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5519 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5520 break;}
5521 case 366:
5522 #line 1687 "parse.y"
5523 { if (extra_warnings)
5524 warning ("`%s' is not at beginning of declaration",
5525 IDENTIFIER_POINTER (yyval.ttype));
5526 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5527 break;}
5528 case 367:
5529 #line 1692 "parse.y"
5530 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5531 break;}
5532 case 368:
5533 #line 1694 "parse.y"
5534 { if (extra_warnings)
5535 warning ("`%s' is not at beginning of declaration",
5536 IDENTIFIER_POINTER (yyvsp[0].ttype));
5537 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5538 break;}
5539 case 369:
5540 #line 1699 "parse.y"
5541 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5542 break;}
5543 case 370:
5544 #line 1701 "parse.y"
5545 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5546 break;}
5547 case 371:
5548 #line 1711 "parse.y"
5549 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5550 break;}
5551 case 372:
5552 #line 1713 "parse.y"
5553 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5554 break;}
5555 case 373:
5556 #line 1715 "parse.y"
5557 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5558 TREE_STATIC (yyval.ttype) = 1; ;
5559 break;}
5560 case 374:
5561 #line 1718 "parse.y"
5562 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5563 warning ("`%s' is not at beginning of declaration",
5564 IDENTIFIER_POINTER (yyvsp[0].ttype));
5565 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5566 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5567 break;}
5568 case 375:
5569 #line 1724 "parse.y"
5570 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5571 break;}
5572 case 376:
5573 #line 1726 "parse.y"
5574 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5575 break;}
5576 case 377:
5577 #line 1737 "parse.y"
5578 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5579 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5580 break;}
5581 case 378:
5582 #line 1740 "parse.y"
5583 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5584 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5585 break;}
5586 case 379:
5587 #line 1743 "parse.y"
5588 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5589 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5590 break;}
5591 case 380:
5592 #line 1746 "parse.y"
5593 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5594 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5595 break;}
5596 case 381:
5597 #line 1752 "parse.y"
5598 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5599 break;}
5600 case 382:
5601 #line 1754 "parse.y"
5602 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5603 break;}
5604 case 384:
5605 #line 1764 "parse.y"
5606 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5607 break;}
5608 case 385:
5609 #line 1766 "parse.y"
5610 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5611 break;}
5612 case 386:
5613 #line 1768 "parse.y"
5614 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5615 yyval.ftype.new_type_flag = 0; ;
5616 break;}
5617 case 387:
5618 #line 1771 "parse.y"
5619 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5620 yyval.ftype.new_type_flag = 0; ;
5621 break;}
5622 case 388:
5623 #line 1774 "parse.y"
5624 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5625
5626 yyval.ftype.new_type_flag = 0;
5627 if (IS_AGGR_TYPE (type))
5628 {
5629 sorry ("sigof type specifier");
5630 yyval.ftype.t = type;
5631 }
5632 else
5633 {
5634 error ("`sigof' applied to non-aggregate expression");
5635 yyval.ftype.t = error_mark_node;
5636 }
5637 ;
5638 break;}
5639 case 389:
5640 #line 1789 "parse.y"
5641 { tree type = groktypename (yyvsp[-1].ftype.t);
5642
5643 yyval.ftype.new_type_flag = 0;
5644 if (IS_AGGR_TYPE (type))
5645 {
5646 sorry ("sigof type specifier");
5647 yyval.ftype.t = type;
5648 }
5649 else
5650 {
5651 error("`sigof' applied to non-aggregate type");
5652 yyval.ftype.t = error_mark_node;
5653 }
5654 ;
5655 break;}
5656 case 390:
5657 #line 1809 "parse.y"
5658 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5659 break;}
5660 case 391:
5661 #line 1811 "parse.y"
5662 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5663 break;}
5664 case 399:
5665 #line 1832 "parse.y"
5666 { yyval.ttype = NULL_TREE; ;
5667 break;}
5668 case 400:
5669 #line 1834 "parse.y"
5670 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5671 break;}
5672 case 401:
5673 #line 1839 "parse.y"
5674 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5675 yyvsp[-1].ttype, prefix_attributes); ;
5676 break;}
5677 case 402:
5678 #line 1843 "parse.y"
5679 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5680 break;}
5681 case 403:
5682 #line 1845 "parse.y"
5683 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5684 yyvsp[0].ttype, prefix_attributes);
5685 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5686 break;}
5687 case 404:
5688 #line 1858 "parse.y"
5689 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5690 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5691 break;}
5692 case 405:
5693 #line 1863 "parse.y"
5694 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5695 LOOKUP_ONLYCONVERTING);
5696 yyval.itype = yyvsp[-2].itype; ;
5697 break;}
5698 case 406:
5699 #line 1867 "parse.y"
5700 { tree d;
5701 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5702 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5703 break;}
5704 case 407:
5705 #line 1874 "parse.y"
5706 { yyval.itype = yyvsp[0].itype; ;
5707 break;}
5708 case 408:
5709 #line 1878 "parse.y"
5710 { yyval.itype = yyvsp[0].itype; ;
5711 break;}
5712 case 409:
5713 #line 1883 "parse.y"
5714 { /* Set things up as initdcl0_innards expects. */
5715 yyval.ttype = yyvsp[-1].ttype;
5716 yyvsp[-1].ttype = NULL_TREE; ;
5717 break;}
5718 case 410:
5719 #line 1887 "parse.y"
5720 {;
5721 break;}
5722 case 411:
5723 #line 1889 "parse.y"
5724 { tree d;
5725 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5726 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5727 break;}
5728 case 412:
5729 #line 1898 "parse.y"
5730 { yyval.ttype = NULL_TREE; ;
5731 break;}
5732 case 413:
5733 #line 1900 "parse.y"
5734 { yyval.ttype = yyvsp[0].ttype; ;
5735 break;}
5736 case 414:
5737 #line 1905 "parse.y"
5738 { yyval.ttype = yyvsp[0].ttype; ;
5739 break;}
5740 case 415:
5741 #line 1907 "parse.y"
5742 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5743 break;}
5744 case 416:
5745 #line 1912 "parse.y"
5746 { yyval.ttype = yyvsp[-2].ttype; ;
5747 break;}
5748 case 417:
5749 #line 1917 "parse.y"
5750 { yyval.ttype = yyvsp[0].ttype; ;
5751 break;}
5752 case 418:
5753 #line 1919 "parse.y"
5754 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5755 break;}
5756 case 419:
5757 #line 1924 "parse.y"
5758 { yyval.ttype = NULL_TREE; ;
5759 break;}
5760 case 420:
5761 #line 1926 "parse.y"
5762 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5763 break;}
5764 case 421:
5765 #line 1928 "parse.y"
5766 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5767 break;}
5768 case 422:
5769 #line 1930 "parse.y"
5770 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5771 break;}
5772 case 423:
5773 #line 1932 "parse.y"
5774 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5775 break;}
5776 case 428:
5777 #line 1948 "parse.y"
5778 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5779 break;}
5780 case 429:
5781 #line 1950 "parse.y"
5782 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5783 break;}
5784 case 430:
5785 #line 1955 "parse.y"
5786 { yyval.ttype = NULL_TREE; ;
5787 break;}
5788 case 431:
5789 #line 1957 "parse.y"
5790 { yyval.ttype = yyvsp[0].ttype; ;
5791 break;}
5792 case 433:
5793 #line 1965 "parse.y"
5794 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5795 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5796 break;}
5797 case 434:
5798 #line 1968 "parse.y"
5799 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5800 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5801 break;}
5802 case 435:
5803 #line 1971 "parse.y"
5804 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5805 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5806 break;}
5807 case 436:
5808 #line 1974 "parse.y"
5809 { yyval.ttype = NULL_TREE; ;
5810 break;}
5811 case 437:
5812 #line 1981 "parse.y"
5813 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5814 break;}
5815 case 438:
5816 #line 1983 "parse.y"
5817 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5818 break;}
5819 case 439:
5820 #line 1986 "parse.y"
5821 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5822 break;}
5823 case 440:
5824 #line 1988 "parse.y"
5825 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5826 break;}
5827 case 441:
5828 #line 1990 "parse.y"
5829 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5830 break;}
5831 case 442:
5832 #line 1995 "parse.y"
5833 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5834 NULL_TREE, 1);
5835 reinit_parse_for_function (); ;
5836 break;}
5837 case 443:
5838 #line 2001 "parse.y"
5839 {
5840 int nested = (hack_decl_function_context
5841 (current_function_decl) != NULL_TREE);
5842 finish_function (lineno, (int)yyvsp[-1].itype, nested);
5843 process_next_inline (yyvsp[-3].ttype);
5844 ;
5845 break;}
5846 case 444:
5847 #line 2008 "parse.y"
5848 { process_next_inline (yyvsp[-2].ttype); ;
5849 break;}
5850 case 445:
5851 #line 2010 "parse.y"
5852 { process_next_inline (yyvsp[-2].ttype); ;
5853 break;}
5854 case 448:
5855 #line 2022 "parse.y"
5856 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5857 break;}
5858 case 449:
5859 #line 2024 "parse.y"
5860 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5861 break;}
5862 case 451:
5863 #line 2029 "parse.y"
5864 { do_pending_defargs (); ;
5865 break;}
5866 case 452:
5867 #line 2031 "parse.y"
5868 { do_pending_defargs (); ;
5869 break;}
5870 case 453:
5871 #line 2036 "parse.y"
5872 { yyvsp[0].itype = suspend_momentary ();
5873 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5874 break;}
5875 case 454:
5876 #line 2039 "parse.y"
5877 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5878 yyval.ftype.new_type_flag = 1;
5879 resume_momentary ((int) yyvsp[-4].itype);
5880 check_for_missing_semicolon (yyvsp[-3].ttype); ;
5881 break;}
5882 case 455:
5883 #line 2044 "parse.y"
5884 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
5885 yyval.ftype.new_type_flag = 1;
5886 check_for_missing_semicolon (yyval.ftype.t); ;
5887 break;}
5888 case 456:
5889 #line 2048 "parse.y"
5890 { yyvsp[0].itype = suspend_momentary ();
5891 yyval.ttype = start_enum (make_anon_name ()); ;
5892 break;}
5893 case 457:
5894 #line 2051 "parse.y"
5895 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5896 resume_momentary ((int) yyvsp[-5].itype);
5897 check_for_missing_semicolon (yyvsp[-3].ttype);
5898 yyval.ftype.new_type_flag = 1; ;
5899 break;}
5900 case 458:
5901 #line 2056 "parse.y"
5902 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
5903 yyval.ftype.new_type_flag = 1;
5904 check_for_missing_semicolon (yyval.ftype.t); ;
5905 break;}
5906 case 459:
5907 #line 2060 "parse.y"
5908 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5909 yyval.ftype.new_type_flag = 0; ;
5910 break;}
5911 case 460:
5912 #line 2063 "parse.y"
5913 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5914 yyval.ftype.new_type_flag = 0; ;
5915 break;}
5916 case 461:
5917 #line 2066 "parse.y"
5918 { yyval.ftype.t = yyvsp[0].ttype;
5919 yyval.ftype.new_type_flag = 0; ;
5920 break;}
5921 case 462:
5922 #line 2071 "parse.y"
5923 {
5924 int semi;
5925
5926 if (yychar == YYEMPTY)
5927 yychar = YYLEX;
5928 semi = yychar == ';';
5929
5930 yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
5931 ;
5932 break;}
5933 case 463:
5934 #line 2081 "parse.y"
5935 { finish_default_args (); ;
5936 break;}
5937 case 464:
5938 #line 2083 "parse.y"
5939 { yyval.ftype.t = yyvsp[-3].ttype;
5940 yyval.ftype.new_type_flag = 1;
5941 begin_inline_definitions (); ;
5942 break;}
5943 case 465:
5944 #line 2087 "parse.y"
5945 {
5946 yyval.ftype.new_type_flag = 0;
5947 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
5948 {
5949 cp_error ("%T is not a class type", yyvsp[0].ttype);
5950 yyval.ftype.t = error_mark_node;
5951 }
5952 else
5953 {
5954 yyval.ftype.t = yyvsp[0].ttype;
5955 /* struct B: public A; is not accepted by the WP grammar. */
5956 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
5957 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
5958 cp_error ("base clause without member specification for `%#T'",
5959 yyval.ftype.t);
5960 }
5961 ;
5962 break;}
5963 case 469:
5964 #line 2114 "parse.y"
5965 { if (pedantic && !in_system_header)
5966 pedwarn ("comma at end of enumerator list"); ;
5967 break;}
5968 case 471:
5969 #line 2121 "parse.y"
5970 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5971 break;}
5972 case 472:
5973 #line 2123 "parse.y"
5974 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5975 break;}
5976 case 473:
5977 #line 2125 "parse.y"
5978 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5979 break;}
5980 case 474:
5981 #line 2127 "parse.y"
5982 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5983 break;}
5984 case 475:
5985 #line 2129 "parse.y"
5986 { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
5987 break;}
5988 case 476:
5989 #line 2134 "parse.y"
5990 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5991 break;}
5992 case 477:
5993 #line 2139 "parse.y"
5994 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5995 break;}
5996 case 478:
5997 #line 2141 "parse.y"
5998 { yyungetc ('{', 1); ;
5999 break;}
6000 case 479:
6001 #line 2143 "parse.y"
6002 { yyungetc (':', 1); ;
6003 break;}
6004 case 480:
6005 #line 2148 "parse.y"
6006 {
6007 current_aggr = yyvsp[-2].ttype;
6008 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6009 ;
6010 break;}
6011 case 481:
6012 #line 2153 "parse.y"
6013 {
6014 current_aggr = yyvsp[-3].ttype;
6015 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6016 ;
6017 break;}
6018 case 482:
6019 #line 2158 "parse.y"
6020 {
6021 current_aggr = yyvsp[-2].ttype;
6022 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6023 ;
6024 break;}
6025 case 483:
6026 #line 2163 "parse.y"
6027 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6028 break;}
6029 case 484:
6030 #line 2165 "parse.y"
6031 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6032 break;}
6033 case 485:
6034 #line 2170 "parse.y"
6035 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
6036 break;}
6037 case 486:
6038 #line 2175 "parse.y"
6039 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
6040 break;}
6041 case 487:
6042 #line 2178 "parse.y"
6043 {
6044 yyval.ttype = yyvsp[-1].ttype;
6045 if (yyvsp[0].ttype)
6046 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6047 ;
6048 break;}
6049 case 488:
6050 #line 2184 "parse.y"
6051 {
6052 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6053 if (TREE_INT_CST_LOW (current_aggr) == union_type
6054 && TREE_CODE (yyval.ttype) != UNION_TYPE)
6055 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
6056 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
6057 && TREE_INT_CST_LOW (current_aggr) != union_type)
6058 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
6059 if (yyvsp[0].ttype)
6060 {
6061 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
6062 {
6063 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
6064 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
6065 {
6066 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
6067 if (processing_template_decl)
6068 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
6069 }
6070 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
6071 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
6072 }
6073 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
6074 }
6075 ;
6076 break;}
6077 case 489:
6078 #line 2213 "parse.y"
6079 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
6080 yyungetc ('{', 1); ;
6081 break;}
6082 case 492:
6083 #line 2224 "parse.y"
6084 { yyval.ttype = NULL_TREE; ;
6085 break;}
6086 case 493:
6087 #line 2226 "parse.y"
6088 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6089 break;}
6090 case 494:
6091 #line 2228 "parse.y"
6092 { yyval.ttype = yyvsp[0].ttype; ;
6093 break;}
6094 case 496:
6095 #line 2234 "parse.y"
6096 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6097 break;}
6098 case 497:
6099 #line 2239 "parse.y"
6100 {
6101 tree type;
6102 if (yyvsp[0].ttype == NULL_TREE)
6103 {
6104 error ("invalid base class");
6105 type = error_mark_node;
6106 }
6107 else
6108 type = TREE_TYPE (yyvsp[0].ttype);
6109 if (! is_aggr_type (type, 1))
6110 yyval.ttype = NULL_TREE;
6111 else if (current_aggr == signature_type_node
6112 && (! type) && (! IS_SIGNATURE (type)))
6113 {
6114 error ("class name not allowed as base signature");
6115 yyval.ttype = NULL_TREE;
6116 }
6117 else if (current_aggr == signature_type_node)
6118 {
6119 sorry ("signature inheritance, base type `%s' ignored",
6120 IDENTIFIER_POINTER (yyval.ttype));
6121 yyval.ttype = build_tree_list (access_public_node, type);
6122 }
6123 else if (type && IS_SIGNATURE (type))
6124 {
6125 error ("signature name not allowed as base class");
6126 yyval.ttype = NULL_TREE;
6127 }
6128 else
6129 yyval.ttype = build_tree_list (access_default_node, type);
6130 ;
6131 break;}
6132 case 498:
6133 #line 2271 "parse.y"
6134 {
6135 tree type;
6136 if (yyvsp[0].ttype == NULL_TREE)
6137 {
6138 error ("invalid base class");
6139 type = error_mark_node;
6140 }
6141 else
6142 type = TREE_TYPE (yyvsp[0].ttype);
6143 if (current_aggr == signature_type_node)
6144 error ("access and source specifiers not allowed in signature");
6145 if (! is_aggr_type (type, 1))
6146 yyval.ttype = NULL_TREE;
6147 else if (current_aggr == signature_type_node
6148 && (! type) && (! IS_SIGNATURE (type)))
6149 {
6150 error ("class name not allowed as base signature");
6151 yyval.ttype = NULL_TREE;
6152 }
6153 else if (current_aggr == signature_type_node)
6154 {
6155 sorry ("signature inheritance, base type `%s' ignored",
6156 IDENTIFIER_POINTER (yyval.ttype));
6157 yyval.ttype = build_tree_list (access_public_node, type);
6158 }
6159 else if (type && IS_SIGNATURE (type))
6160 {
6161 error ("signature name not allowed as base class");
6162 yyval.ttype = NULL_TREE;
6163 }
6164 else
6165 yyval.ttype = build_tree_list (yyval.ttype, type);
6166 ;
6167 break;}
6168 case 499:
6169 #line 2308 "parse.y"
6170 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6171 break;}
6172 case 501:
6173 #line 2311 "parse.y"
6174 {
6175 if (current_aggr == signature_type_node)
6176 {
6177 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6178 {
6179 sorry ("`sigof' as base signature specifier");
6180 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6181 }
6182 else
6183 {
6184 error ("`sigof' applied to non-aggregate expression");
6185 yyval.ttype = error_mark_node;
6186 }
6187 }
6188 else
6189 {
6190 error ("`sigof' in struct or class declaration");
6191 yyval.ttype = error_mark_node;
6192 }
6193 ;
6194 break;}
6195 case 502:
6196 #line 2332 "parse.y"
6197 {
6198 if (current_aggr == signature_type_node)
6199 {
6200 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6201 {
6202 sorry ("`sigof' as base signature specifier");
6203 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6204 }
6205 else
6206 {
6207 error ("`sigof' applied to non-aggregate expression");
6208 yyval.ttype = error_mark_node;
6209 }
6210 }
6211 else
6212 {
6213 error ("`sigof' in struct or class declaration");
6214 yyval.ttype = error_mark_node;
6215 }
6216 ;
6217 break;}
6218 case 504:
6219 #line 2357 "parse.y"
6220 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6221 cp_error ("`%D' access", yyvsp[-1].ttype);
6222 yyval.ttype = access_default_virtual_node; ;
6223 break;}
6224 case 505:
6225 #line 2361 "parse.y"
6226 {
6227 if (yyvsp[-2].ttype != access_default_virtual_node)
6228 error ("multiple access specifiers");
6229 else if (yyvsp[-1].ttype == access_public_node)
6230 yyval.ttype = access_public_virtual_node;
6231 else if (yyvsp[-1].ttype == access_protected_node)
6232 yyval.ttype = access_protected_virtual_node;
6233 else /* $2 == access_private_node */
6234 yyval.ttype = access_private_virtual_node;
6235 ;
6236 break;}
6237 case 506:
6238 #line 2372 "parse.y"
6239 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6240 cp_error ("`%D' access", yyvsp[-1].ttype);
6241 else if (yyval.ttype == access_public_node)
6242 yyval.ttype = access_public_virtual_node;
6243 else if (yyval.ttype == access_protected_node)
6244 yyval.ttype = access_protected_virtual_node;
6245 else if (yyval.ttype == access_private_node)
6246 yyval.ttype = access_private_virtual_node;
6247 else
6248 error ("multiple `virtual' specifiers");
6249 ;
6250 break;}
6251 case 507:
6252 #line 2387 "parse.y"
6253 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6254 break;}
6255 case 508:
6256 #line 2392 "parse.y"
6257 {
6258 yyval.ttype = build_self_reference ();
6259 ;
6260 break;}
6261 case 509:
6262 #line 2399 "parse.y"
6263 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6264 break;}
6265 case 510:
6266 #line 2401 "parse.y"
6267 {
6268 if (current_aggr == signature_type_node)
6269 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6270 else
6271 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6272 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6273 ;
6274 break;}
6275 case 511:
6276 #line 2409 "parse.y"
6277 {
6278 tree visspec = yyvsp[-2].ttype;
6279
6280 if (current_aggr == signature_type_node)
6281 {
6282 error ("access specifier not allowed in signature");
6283 visspec = access_public_node;
6284 }
6285 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6286 ;
6287 break;}
6288 case 512:
6289 #line 2420 "parse.y"
6290 {
6291 if (current_aggr == signature_type_node)
6292 error ("access specifier not allowed in signature");
6293 ;
6294 break;}
6295 case 513:
6296 #line 2430 "parse.y"
6297 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6298 ;
6299 break;}
6300 case 514:
6301 #line 2433 "parse.y"
6302 { /* In pushdecl, we created a reverse list of names
6303 in this binding level. Make sure that the chain
6304 of what we're trying to add isn't the item itself
6305 (which can happen with what pushdecl's doing). */
6306 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6307 {
6308 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6309 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6310 else
6311 yyval.ttype = yyvsp[0].ttype;
6312 }
6313 ;
6314 break;}
6315 case 515:
6316 #line 2449 "parse.y"
6317 { ;
6318 break;}
6319 case 516:
6320 #line 2451 "parse.y"
6321 { error ("missing ';' before right brace");
6322 yyungetc ('}', 0); ;
6323 break;}
6324 case 517:
6325 #line 2456 "parse.y"
6326 { yyval.ttype = finish_method (yyval.ttype); ;
6327 break;}
6328 case 518:
6329 #line 2458 "parse.y"
6330 { yyval.ttype = finish_method (yyval.ttype); ;
6331 break;}
6332 case 519:
6333 #line 2460 "parse.y"
6334 { yyval.ttype = finish_method (yyval.ttype); ;
6335 break;}
6336 case 520:
6337 #line 2462 "parse.y"
6338 { yyval.ttype = finish_method (yyval.ttype); ;
6339 break;}
6340 case 521:
6341 #line 2464 "parse.y"
6342 { yyval.ttype = NULL_TREE; ;
6343 break;}
6344 case 522:
6345 #line 2466 "parse.y"
6346 { yyval.ttype = yyvsp[0].ttype;
6347 pedantic = yyvsp[-1].itype; ;
6348 break;}
6349 case 523:
6350 #line 2469 "parse.y"
6351 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6352 break;}
6353 case 524:
6354 #line 2471 "parse.y"
6355 { yyval.ttype = finish_member_class_template (yyvsp[-2].ttype, yyvsp[-1].ftype.t); ;
6356 break;}
6357 case 525:
6358 #line 2479 "parse.y"
6359 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6360 break;}
6361 case 526:
6362 #line 2481 "parse.y"
6363 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6364 break;}
6365 case 527:
6366 #line 2483 "parse.y"
6367 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6368 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6369 break;}
6370 case 528:
6371 #line 2486 "parse.y"
6372 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6373 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6374 break;}
6375 case 529:
6376 #line 2489 "parse.y"
6377 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6378 break;}
6379 case 530:
6380 #line 2491 "parse.y"
6381 { yyval.ttype = NULL_TREE; ;
6382 break;}
6383 case 531:
6384 #line 2502 "parse.y"
6385 { tree specs, attrs;
6386 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6387 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6388 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6389 break;}
6390 case 532:
6391 #line 2507 "parse.y"
6392 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6393 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6394 break;}
6395 case 533:
6396 #line 2510 "parse.y"
6397 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6398 break;}
6399 case 534:
6400 #line 2516 "parse.y"
6401 { yyval.ttype = NULL_TREE; ;
6402 break;}
6403 case 536:
6404 #line 2519 "parse.y"
6405 {
6406 /* In this context, void_type_node encodes
6407 friends. They have been recorded elsewhere. */
6408 if (yyval.ttype == void_type_node)
6409 yyval.ttype = yyvsp[0].ttype;
6410 else
6411 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6412 ;
6413 break;}
6414 case 537:
6415 #line 2531 "parse.y"
6416 { yyval.ttype = NULL_TREE; ;
6417 break;}
6418 case 539:
6419 #line 2534 "parse.y"
6420 {
6421 /* In this context, void_type_node encodes
6422 friends. They have been recorded elsewhere. */
6423 if (yyval.ttype == void_type_node)
6424 yyval.ttype = yyvsp[0].ttype;
6425 else
6426 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6427 ;
6428 break;}
6429 case 544:
6430 #line 2556 "parse.y"
6431 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6432 &prefix_attributes);
6433 yyvsp[-4].ttype = current_declspecs;
6434 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6435 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6436 break;}
6437 case 545:
6438 #line 2562 "parse.y"
6439 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6440 &prefix_attributes);
6441 yyvsp[-4].ttype = current_declspecs;
6442 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6443 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6444 break;}
6445 case 546:
6446 #line 2571 "parse.y"
6447 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6448 &prefix_attributes);
6449 yyvsp[-4].ttype = current_declspecs;
6450 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6451 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6452 break;}
6453 case 547:
6454 #line 2577 "parse.y"
6455 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6456 &prefix_attributes);
6457 yyvsp[-4].ttype = current_declspecs;
6458 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6459 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6460 break;}
6461 case 548:
6462 #line 2583 "parse.y"
6463 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6464 &prefix_attributes);
6465 yyvsp[-4].ttype = current_declspecs;
6466 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6467 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6468 break;}
6469 case 549:
6470 #line 2589 "parse.y"
6471 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6472 &prefix_attributes);
6473 yyvsp[-3].ttype = current_declspecs;
6474 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6475 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6476 break;}
6477 case 550:
6478 #line 2598 "parse.y"
6479 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6480 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6481 break;}
6482 case 551:
6483 #line 2601 "parse.y"
6484 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6485 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6486 break;}
6487 case 552:
6488 #line 2607 "parse.y"
6489 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6490 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6491 break;}
6492 case 553:
6493 #line 2610 "parse.y"
6494 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6495 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6496 break;}
6497 case 554:
6498 #line 2613 "parse.y"
6499 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6500 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6501 break;}
6502 case 556:
6503 #line 2624 "parse.y"
6504 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6505 break;}
6506 case 557:
6507 #line 2629 "parse.y"
6508 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6509 break;}
6510 case 558:
6511 #line 2631 "parse.y"
6512 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6513 break;}
6514 case 559:
6515 #line 2637 "parse.y"
6516 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6517 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6518 break;}
6519 case 560:
6520 #line 2640 "parse.y"
6521 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6522 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6523 break;}
6524 case 561:
6525 #line 2647 "parse.y"
6526 {
6527 if (pedantic)
6528 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6529 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6530 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6531 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6532 ;
6533 break;}
6534 case 562:
6535 #line 2658 "parse.y"
6536 { yyval.ttype = NULL_TREE; ;
6537 break;}
6538 case 563:
6539 #line 2660 "parse.y"
6540 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6541 break;}
6542 case 564:
6543 #line 2665 "parse.y"
6544 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6545 yyval.ftype.new_type_flag = 0; ;
6546 break;}
6547 case 565:
6548 #line 2668 "parse.y"
6549 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6550 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6551 break;}
6552 case 566:
6553 #line 2677 "parse.y"
6554 { yyval.itype = suspend_momentary (); ;
6555 break;}
6556 case 567:
6557 #line 2682 "parse.y"
6558 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6559 break;}
6560 case 568:
6561 #line 2688 "parse.y"
6562 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6563 break;}
6564 case 569:
6565 #line 2690 "parse.y"
6566 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6567 break;}
6568 case 570:
6569 #line 2692 "parse.y"
6570 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6571 break;}
6572 case 571:
6573 #line 2694 "parse.y"
6574 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6575 break;}
6576 case 572:
6577 #line 2701 "parse.y"
6578 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6579 break;}
6580 case 573:
6581 #line 2703 "parse.y"
6582 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6583 break;}
6584 case 574:
6585 #line 2705 "parse.y"
6586 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6587 break;}
6588 case 575:
6589 #line 2707 "parse.y"
6590 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6591 break;}
6592 case 576:
6593 #line 2709 "parse.y"
6594 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6595 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6596 ;
6597 break;}
6598 case 578:
6599 #line 2717 "parse.y"
6600 {
6601 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6602 {
6603 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6604 if (current_class_type
6605 && TYPE_BEING_DEFINED (current_class_type)
6606 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6607 {
6608 /* Remember that this name has been used in the class
6609 definition, as per [class.scope0] */
6610 pushdecl_class_level (yyval.ttype);
6611 }
6612 }
6613 else
6614 yyval.ttype = yyvsp[0].ttype;
6615 ;
6616 break;}
6617 case 579:
6618 #line 2734 "parse.y"
6619 {
6620 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6621 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6622 else
6623 yyval.ttype = yyvsp[0].ttype;
6624 got_scope = NULL_TREE;
6625 ;
6626 break;}
6627 case 582:
6628 #line 2747 "parse.y"
6629 { yyval.ttype = yyvsp[0].ttype; ;
6630 break;}
6631 case 583:
6632 #line 2752 "parse.y"
6633 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6634 break;}
6635 case 584:
6636 #line 2757 "parse.y"
6637 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6638 break;}
6639 case 585:
6640 #line 2759 "parse.y"
6641 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6642 break;}
6643 case 586:
6644 #line 2761 "parse.y"
6645 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6646 break;}
6647 case 587:
6648 #line 2763 "parse.y"
6649 { yyval.ttype = yyvsp[-1].ttype; ;
6650 break;}
6651 case 588:
6652 #line 2765 "parse.y"
6653 { push_nested_class (yyvsp[-1].ttype, 3);
6654 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6655 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6656 break;}
6657 case 590:
6658 #line 2776 "parse.y"
6659 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6660 break;}
6661 case 591:
6662 #line 2778 "parse.y"
6663 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6664 break;}
6665 case 592:
6666 #line 2780 "parse.y"
6667 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6668 break;}
6669 case 593:
6670 #line 2782 "parse.y"
6671 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6672 break;}
6673 case 594:
6674 #line 2784 "parse.y"
6675 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6676 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6677 ;
6678 break;}
6679 case 596:
6680 #line 2792 "parse.y"
6681 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6682 break;}
6683 case 597:
6684 #line 2794 "parse.y"
6685 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6686 break;}
6687 case 598:
6688 #line 2796 "parse.y"
6689 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6690 break;}
6691 case 599:
6692 #line 2798 "parse.y"
6693 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6694 break;}
6695 case 600:
6696 #line 2800 "parse.y"
6697 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6698 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6699 ;
6700 break;}
6701 case 602:
6702 #line 2808 "parse.y"
6703 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6704 break;}
6705 case 603:
6706 #line 2810 "parse.y"
6707 { yyval.ttype = yyvsp[-1].ttype; ;
6708 break;}
6709 case 604:
6710 #line 2812 "parse.y"
6711 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6712 break;}
6713 case 605:
6714 #line 2814 "parse.y"
6715 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6716 break;}
6717 case 606:
6718 #line 2816 "parse.y"
6719 { if (TREE_CODE (OP0 (yyvsp[0].ttype)) == NAMESPACE_DECL)
6720 {
6721 push_decl_namespace (OP0 (yyvsp[0].ttype));
6722 TREE_COMPLEXITY (yyvsp[0].ttype) = -1;
6723 }
6724 else if (OP0 (yyvsp[0].ttype) != current_class_type)
6725 {
6726 push_nested_class (OP0 (yyvsp[0].ttype), 3);
6727 TREE_COMPLEXITY (yyvsp[0].ttype) = current_class_depth;
6728 }
6729 ;
6730 break;}
6731 case 607:
6732 #line 2828 "parse.y"
6733 { got_scope = NULL_TREE;
6734 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6735 if (yyvsp[-1].ttype != current_class_type)
6736 {
6737 push_nested_class (yyvsp[-1].ttype, 3);
6738 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6739 }
6740 ;
6741 break;}
6742 case 608:
6743 #line 2840 "parse.y"
6744 { got_scope = NULL_TREE;
6745 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6746 break;}
6747 case 609:
6748 #line 2843 "parse.y"
6749 { got_scope = NULL_TREE;
6750 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6751 break;}
6752 case 610:
6753 #line 2849 "parse.y"
6754 { got_scope = NULL_TREE;
6755 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6756 break;}
6757 case 611:
6758 #line 2852 "parse.y"
6759 { got_scope = NULL_TREE;
6760 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6761 break;}
6762 case 613:
6763 #line 2859 "parse.y"
6764 { yyval.ttype = yyvsp[0].ttype; ;
6765 break;}
6766 case 614:
6767 #line 2864 "parse.y"
6768 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6769 break;}
6770 case 615:
6771 #line 2866 "parse.y"
6772 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6773 break;}
6774 case 616:
6775 #line 2868 "parse.y"
6776 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6777 break;}
6778 case 621:
6779 #line 2880 "parse.y"
6780 { yyval.ttype = yyvsp[0].ttype; ;
6781 break;}
6782 case 622:
6783 #line 2882 "parse.y"
6784 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6785 break;}
6786 case 623:
6787 #line 2889 "parse.y"
6788 {
6789 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6790 {
6791 yyval.ttype = lastiddecl;
6792 /* Remember that this name has been used in the class
6793 definition, as per [class.scope0] */
6794 if (current_class_type
6795 && TYPE_BEING_DEFINED (current_class_type)
6796 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6797 pushdecl_class_level (yyval.ttype);
6798 }
6799 got_scope = yyval.ttype = TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype));
6800 ;
6801 break;}
6802 case 624:
6803 #line 2903 "parse.y"
6804 {
6805 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6806 yyval.ttype = lastiddecl;
6807 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6808 ;
6809 break;}
6810 case 625:
6811 #line 2909 "parse.y"
6812 {
6813 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6814 yyval.ttype = lastiddecl;
6815 got_scope = yyval.ttype;
6816 ;
6817 break;}
6818 case 626:
6819 #line 2915 "parse.y"
6820 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6821 break;}
6822 case 628:
6823 #line 2931 "parse.y"
6824 { yyval.ttype = yyvsp[0].ttype; ;
6825 break;}
6826 case 629:
6827 #line 2936 "parse.y"
6828 {
6829 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6830 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6831 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6832 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6833 else
6834 {
6835 yyval.ttype = yyvsp[0].ttype;
6836 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6837 yyval.ttype = TREE_TYPE (yyval.ttype);
6838 }
6839 ;
6840 break;}
6841 case 630:
6842 #line 2949 "parse.y"
6843 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6844 break;}
6845 case 631:
6846 #line 2951 "parse.y"
6847 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6848 break;}
6849 case 632:
6850 #line 2953 "parse.y"
6851 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6852 break;}
6853 case 633:
6854 #line 2958 "parse.y"
6855 {
6856 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6857 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6858 ;
6859 break;}
6860 case 634:
6861 #line 2963 "parse.y"
6862 {
6863 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6864 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6865 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6866 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6867 else
6868 {
6869 yyval.ttype = yyvsp[0].ttype;
6870 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6871 yyval.ttype = TREE_TYPE (yyval.ttype);
6872 }
6873 ;
6874 break;}
6875 case 635:
6876 #line 2976 "parse.y"
6877 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6878 break;}
6879 case 636:
6880 #line 2978 "parse.y"
6881 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6882 break;}
6883 case 637:
6884 #line 2983 "parse.y"
6885 {
6886 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6887 yyvsp[-1].ttype = lastiddecl;
6888
6889 /* Retrieve the type for the identifier, which might involve
6890 some computation. */
6891 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
6892
6893 if (yyval.ttype == error_mark_node)
6894 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6895 ;
6896 break;}
6897 case 638:
6898 #line 2995 "parse.y"
6899 {
6900 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6901 yyval.ttype = lastiddecl;
6902 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6903 ;
6904 break;}
6905 case 639:
6906 #line 3001 "parse.y"
6907 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6908 break;}
6909 case 642:
6910 #line 3005 "parse.y"
6911 {
6912 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6913 yyval.ttype = lastiddecl;
6914 got_scope = yyval.ttype;
6915 ;
6916 break;}
6917 case 643:
6918 #line 3014 "parse.y"
6919 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6920 break;}
6921 case 644:
6922 #line 3019 "parse.y"
6923 {
6924 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6925 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6926 else
6927 yyval.ttype = yyvsp[0].ttype;
6928 got_scope = NULL_TREE;
6929 ;
6930 break;}
6931 case 646:
6932 #line 3028 "parse.y"
6933 { yyval.ttype = yyvsp[0].ttype; ;
6934 break;}
6935 case 647:
6936 #line 3033 "parse.y"
6937 { got_scope = NULL_TREE; ;
6938 break;}
6939 case 648:
6940 #line 3035 "parse.y"
6941 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6942 break;}
6943 case 649:
6944 #line 3042 "parse.y"
6945 { got_scope = void_type_node; ;
6946 break;}
6947 case 650:
6948 #line 3048 "parse.y"
6949 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6950 break;}
6951 case 651:
6952 #line 3050 "parse.y"
6953 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6954 break;}
6955 case 652:
6956 #line 3052 "parse.y"
6957 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6958 break;}
6959 case 653:
6960 #line 3054 "parse.y"
6961 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6962 break;}
6963 case 654:
6964 #line 3056 "parse.y"
6965 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6966 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6967 ;
6968 break;}
6969 case 655:
6970 #line 3060 "parse.y"
6971 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6972 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6973 ;
6974 break;}
6975 case 657:
6976 #line 3069 "parse.y"
6977 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6978 break;}
6979 case 658:
6980 #line 3071 "parse.y"
6981 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6982 break;}
6983 case 659:
6984 #line 3077 "parse.y"
6985 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6986 break;}
6987 case 660:
6988 #line 3079 "parse.y"
6989 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6990 break;}
6991 case 661:
6992 #line 3081 "parse.y"
6993 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6994 break;}
6995 case 662:
6996 #line 3083 "parse.y"
6997 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
6998 break;}
6999 case 663:
7000 #line 3085 "parse.y"
7001 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7002 break;}
7003 case 664:
7004 #line 3087 "parse.y"
7005 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7006 break;}
7007 case 665:
7008 #line 3089 "parse.y"
7009 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7010 break;}
7011 case 666:
7012 #line 3091 "parse.y"
7013 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7014 break;}
7015 case 667:
7016 #line 3093 "parse.y"
7017 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7018 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7019 ;
7020 break;}
7021 case 668:
7022 #line 3097 "parse.y"
7023 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7024 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7025 ;
7026 break;}
7027 case 670:
7028 #line 3106 "parse.y"
7029 { yyval.ttype = yyvsp[-1].ttype; ;
7030 break;}
7031 case 672:
7032 #line 3110 "parse.y"
7033 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7034 break;}
7035 case 673:
7036 #line 3112 "parse.y"
7037 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7038 break;}
7039 case 674:
7040 #line 3114 "parse.y"
7041 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7042 break;}
7043 case 675:
7044 #line 3116 "parse.y"
7045 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7046 break;}
7047 case 676:
7048 #line 3118 "parse.y"
7049 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7050 break;}
7051 case 677:
7052 #line 3120 "parse.y"
7053 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7054 break;}
7055 case 678:
7056 #line 3122 "parse.y"
7057 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7058 break;}
7059 case 679:
7060 #line 3124 "parse.y"
7061 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7062 break;}
7063 case 680:
7064 #line 3126 "parse.y"
7065 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7066 break;}
7067 case 687:
7068 #line 3149 "parse.y"
7069 { if (pedantic)
7070 pedwarn ("ANSI C++ forbids label declarations"); ;
7071 break;}
7072 case 690:
7073 #line 3160 "parse.y"
7074 { tree link;
7075 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7076 {
7077 tree label = shadow_label (TREE_VALUE (link));
7078 C_DECLARED_LABEL_FLAG (label) = 1;
7079 declare_nonlocal_label (label);
7080 }
7081 ;
7082 break;}
7083 case 691:
7084 #line 3174 "parse.y"
7085 {;
7086 break;}
7087 case 693:
7088 #line 3180 "parse.y"
7089 { yyval.ttype = begin_compound_stmt (0); ;
7090 break;}
7091 case 694:
7092 #line 3182 "parse.y"
7093 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7094 break;}
7095 case 695:
7096 #line 3187 "parse.y"
7097 {
7098 yyval.ttype = begin_if_stmt ();
7099 cond_stmt_keyword = "if";
7100 ;
7101 break;}
7102 case 696:
7103 #line 3192 "parse.y"
7104 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7105 break;}
7106 case 697:
7107 #line 3194 "parse.y"
7108 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7109 break;}
7110 case 699:
7111 #line 3199 "parse.y"
7112 { yyval.ttype = begin_compound_stmt (0); ;
7113 break;}
7114 case 700:
7115 #line 3201 "parse.y"
7116 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7117 break;}
7118 case 701:
7119 #line 3206 "parse.y"
7120 {;
7121 break;}
7122 case 703:
7123 #line 3212 "parse.y"
7124 { finish_stmt (); ;
7125 break;}
7126 case 704:
7127 #line 3214 "parse.y"
7128 { finish_expr_stmt (yyvsp[-1].ttype); ;
7129 break;}
7130 case 705:
7131 #line 3216 "parse.y"
7132 { begin_else_clause (); ;
7133 break;}
7134 case 706:
7135 #line 3218 "parse.y"
7136 {
7137 finish_else_clause (yyvsp[-3].ttype);
7138 finish_if_stmt ();
7139 ;
7140 break;}
7141 case 707:
7142 #line 3223 "parse.y"
7143 { finish_if_stmt (); ;
7144 break;}
7145 case 708:
7146 #line 3225 "parse.y"
7147 {
7148 yyval.ttype = begin_while_stmt ();
7149 cond_stmt_keyword = "while";
7150 ;
7151 break;}
7152 case 709:
7153 #line 3230 "parse.y"
7154 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7155 break;}
7156 case 710:
7157 #line 3232 "parse.y"
7158 { finish_while_stmt (yyvsp[-3].ttype); ;
7159 break;}
7160 case 711:
7161 #line 3234 "parse.y"
7162 { yyval.ttype = begin_do_stmt (); ;
7163 break;}
7164 case 712:
7165 #line 3236 "parse.y"
7166 {
7167 finish_do_body (yyvsp[-2].ttype);
7168 cond_stmt_keyword = "do";
7169 ;
7170 break;}
7171 case 713:
7172 #line 3241 "parse.y"
7173 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7174 break;}
7175 case 714:
7176 #line 3243 "parse.y"
7177 { yyval.ttype = begin_for_stmt (); ;
7178 break;}
7179 case 715:
7180 #line 3245 "parse.y"
7181 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7182 break;}
7183 case 716:
7184 #line 3247 "parse.y"
7185 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7186 break;}
7187 case 717:
7188 #line 3249 "parse.y"
7189 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7190 break;}
7191 case 718:
7192 #line 3251 "parse.y"
7193 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7194 break;}
7195 case 719:
7196 #line 3253 "parse.y"
7197 { begin_switch_stmt (); ;
7198 break;}
7199 case 720:
7200 #line 3255 "parse.y"
7201 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7202 break;}
7203 case 721:
7204 #line 3257 "parse.y"
7205 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7206 break;}
7207 case 722:
7208 #line 3259 "parse.y"
7209 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7210 break;}
7211 case 724:
7212 #line 3262 "parse.y"
7213 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7214 break;}
7215 case 726:
7216 #line 3265 "parse.y"
7217 { finish_case_label (NULL_TREE, NULL_TREE); ;
7218 break;}
7219 case 728:
7220 #line 3268 "parse.y"
7221 { finish_break_stmt (); ;
7222 break;}
7223 case 729:
7224 #line 3270 "parse.y"
7225 { finish_continue_stmt (); ;
7226 break;}
7227 case 730:
7228 #line 3272 "parse.y"
7229 { finish_return_stmt (NULL_TREE); ;
7230 break;}
7231 case 731:
7232 #line 3274 "parse.y"
7233 { finish_return_stmt (yyvsp[-1].ttype); ;
7234 break;}
7235 case 732:
7236 #line 3276 "parse.y"
7237 {
7238 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7239 NULL_TREE);
7240 ;
7241 break;}
7242 case 733:
7243 #line 3282 "parse.y"
7244 {
7245 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7246 NULL_TREE);
7247 ;
7248 break;}
7249 case 734:
7250 #line 3288 "parse.y"
7251 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7252 break;}
7253 case 735:
7254 #line 3292 "parse.y"
7255 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7256 break;}
7257 case 736:
7258 #line 3294 "parse.y"
7259 {
7260 if (pedantic)
7261 pedwarn ("ANSI C++ forbids computed gotos");
7262 finish_goto_stmt (yyvsp[-1].ttype);
7263 ;
7264 break;}
7265 case 737:
7266 #line 3300 "parse.y"
7267 { finish_goto_stmt (yyvsp[-1].ttype); ;
7268 break;}
7269 case 738:
7270 #line 3302 "parse.y"
7271 { finish_stmt (); ;
7272 break;}
7273 case 739:
7274 #line 3304 "parse.y"
7275 { error ("label must be followed by statement");
7276 yyungetc ('}', 0);
7277 finish_stmt (); ;
7278 break;}
7279 case 740:
7280 #line 3308 "parse.y"
7281 { finish_stmt (); ;
7282 break;}
7283 case 743:
7284 #line 3312 "parse.y"
7285 { do_local_using_decl (yyvsp[0].ttype); ;
7286 break;}
7287 case 745:
7288 #line 3318 "parse.y"
7289 {
7290 if (! current_function_parms_stored)
7291 store_parm_decls ();
7292 expand_start_early_try_stmts ();
7293 ;
7294 break;}
7295 case 746:
7296 #line 3324 "parse.y"
7297 {
7298 expand_start_all_catch ();
7299 ;
7300 break;}
7301 case 747:
7302 #line 3328 "parse.y"
7303 {
7304 int nested = (hack_decl_function_context
7305 (current_function_decl) != NULL_TREE);
7306 expand_end_all_catch ();
7307 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7308 ;
7309 break;}
7310 case 748:
7311 #line 3338 "parse.y"
7312 { yyval.ttype = begin_try_block (); ;
7313 break;}
7314 case 749:
7315 #line 3340 "parse.y"
7316 { finish_try_block (yyvsp[-1].ttype); ;
7317 break;}
7318 case 750:
7319 #line 3342 "parse.y"
7320 { finish_handler_sequence (yyvsp[-3].ttype); ;
7321 break;}
7322 case 753:
7323 #line 3352 "parse.y"
7324 { yyval.ttype = begin_handler(); ;
7325 break;}
7326 case 754:
7327 #line 3354 "parse.y"
7328 { finish_handler_parms (yyvsp[-1].ttype); ;
7329 break;}
7330 case 755:
7331 #line 3356 "parse.y"
7332 { finish_handler (yyvsp[-3].ttype); ;
7333 break;}
7334 case 758:
7335 #line 3366 "parse.y"
7336 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7337 break;}
7338 case 759:
7339 #line 3382 "parse.y"
7340 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7341 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7342 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7343 break;}
7344 case 760:
7345 #line 3389 "parse.y"
7346 { tree label;
7347 do_label:
7348 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7349 if (label && ! minimal_parse_mode)
7350 expand_label (label);
7351 ;
7352 break;}
7353 case 761:
7354 #line 3396 "parse.y"
7355 { goto do_label; ;
7356 break;}
7357 case 762:
7358 #line 3398 "parse.y"
7359 { goto do_label; ;
7360 break;}
7361 case 763:
7362 #line 3400 "parse.y"
7363 { goto do_label; ;
7364 break;}
7365 case 764:
7366 #line 3405 "parse.y"
7367 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7368 break;}
7369 case 766:
7370 #line 3408 "parse.y"
7371 { if (pedantic)
7372 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7373 ;
7374 break;}
7375 case 767:
7376 #line 3417 "parse.y"
7377 { emit_line_note (input_filename, lineno);
7378 yyval.ttype = NULL_TREE; ;
7379 break;}
7380 case 768:
7381 #line 3420 "parse.y"
7382 { emit_line_note (input_filename, lineno); ;
7383 break;}
7384 case 769:
7385 #line 3425 "parse.y"
7386 { yyval.ttype = NULL_TREE; ;
7387 break;}
7388 case 771:
7389 #line 3428 "parse.y"
7390 { yyval.ttype = NULL_TREE; ;
7391 break;}
7392 case 772:
7393 #line 3435 "parse.y"
7394 { yyval.ttype = NULL_TREE; ;
7395 break;}
7396 case 775:
7397 #line 3442 "parse.y"
7398 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7399 break;}
7400 case 776:
7401 #line 3447 "parse.y"
7402 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7403 break;}
7404 case 777:
7405 #line 3452 "parse.y"
7406 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7407 break;}
7408 case 778:
7409 #line 3454 "parse.y"
7410 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7411 break;}
7412 case 779:
7413 #line 3465 "parse.y"
7414 {
7415 yyval.ttype = empty_parms();
7416 ;
7417 break;}
7418 case 781:
7419 #line 3470 "parse.y"
7420 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7421 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7422 break;}
7423 case 782:
7424 #line 3478 "parse.y"
7425 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7426 break;}
7427 case 783:
7428 #line 3480 "parse.y"
7429 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7430 break;}
7431 case 784:
7432 #line 3483 "parse.y"
7433 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7434 break;}
7435 case 785:
7436 #line 3485 "parse.y"
7437 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7438 yyvsp[-1].ftype.t), 1); ;
7439 break;}
7440 case 786:
7441 #line 3488 "parse.y"
7442 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7443 break;}
7444 case 787:
7445 #line 3490 "parse.y"
7446 {
7447 /* This helps us recover from really nasty
7448 parse errors, for example, a missing right
7449 parenthesis. */
7450 yyerror ("possibly missing ')'");
7451 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7452 yyungetc (':', 0);
7453 yychar = ')';
7454 ;
7455 break;}
7456 case 788:
7457 #line 3500 "parse.y"
7458 {
7459 /* This helps us recover from really nasty
7460 parse errors, for example, a missing right
7461 parenthesis. */
7462 yyerror ("possibly missing ')'");
7463 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7464 yyvsp[-1].ftype.t), 0);
7465 yyungetc (':', 0);
7466 yychar = ')';
7467 ;
7468 break;}
7469 case 789:
7470 #line 3515 "parse.y"
7471 { maybe_snarf_defarg (); ;
7472 break;}
7473 case 790:
7474 #line 3517 "parse.y"
7475 { yyval.ttype = yyvsp[0].ttype; ;
7476 break;}
7477 case 793:
7478 #line 3528 "parse.y"
7479 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7480 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7481 break;}
7482 case 794:
7483 #line 3531 "parse.y"
7484 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7485 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7486 break;}
7487 case 795:
7488 #line 3534 "parse.y"
7489 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7490 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7491 break;}
7492 case 796:
7493 #line 3537 "parse.y"
7494 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7495 break;}
7496 case 797:
7497 #line 3539 "parse.y"
7498 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7499 break;}
7500 case 799:
7501 #line 3545 "parse.y"
7502 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7503 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7504 break;}
7505 case 800:
7506 #line 3555 "parse.y"
7507 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7508 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7509 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7510 break;}
7511 case 801:
7512 #line 3559 "parse.y"
7513 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7514 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7515 break;}
7516 case 802:
7517 #line 3562 "parse.y"
7518 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7519 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7520 break;}
7521 case 803:
7522 #line 3565 "parse.y"
7523 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7524 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7525 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7526 break;}
7527 case 804:
7528 #line 3569 "parse.y"
7529 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7530 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7531 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7532 break;}
7533 case 805:
7534 #line 3573 "parse.y"
7535 { tree specs = strip_attrs (yyvsp[-1].ttype);
7536 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7537 yyval.ftype.new_type_flag = 0; ;
7538 break;}
7539 case 806:
7540 #line 3580 "parse.y"
7541 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7542 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7543 break;}
7544 case 807:
7545 #line 3583 "parse.y"
7546 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7547 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7548 break;}
7549 case 810:
7550 #line 3594 "parse.y"
7551 { see_typename (); ;
7552 break;}
7553 case 811:
7554 #line 3599 "parse.y"
7555 {
7556 error ("type specifier omitted for parameter");
7557 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7558 ;
7559 break;}
7560 case 812:
7561 #line 3604 "parse.y"
7562 {
7563 error ("type specifier omitted for parameter");
7564 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7565 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7566 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7567 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7568 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7569 ;
7570 break;}
7571 case 813:
7572 #line 3616 "parse.y"
7573 { yyval.ttype = NULL_TREE; ;
7574 break;}
7575 case 814:
7576 #line 3618 "parse.y"
7577 { yyval.ttype = yyvsp[-1].ttype; ;
7578 break;}
7579 case 815:
7580 #line 3620 "parse.y"
7581 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7582 break;}
7583 case 816:
7584 #line 3625 "parse.y"
7585 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7586 break;}
7587 case 818:
7588 #line 3631 "parse.y"
7589 {
7590 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7591 yyval.ttype = yyvsp[0].ttype;
7592 ;
7593 break;}
7594 case 819:
7595 #line 3639 "parse.y"
7596 { yyval.ttype = NULL_TREE; ;
7597 break;}
7598 case 820:
7599 #line 3641 "parse.y"
7600 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7601 break;}
7602 case 821:
7603 #line 3643 "parse.y"
7604 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7605 break;}
7606 case 822:
7607 #line 3645 "parse.y"
7608 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7609 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7610 ;
7611 break;}
7612 case 823:
7613 #line 3652 "parse.y"
7614 { got_scope = NULL_TREE; ;
7615 break;}
7616 case 824:
7617 #line 3657 "parse.y"
7618 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7619 break;}
7620 case 825:
7621 #line 3659 "parse.y"
7622 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7623 break;}
7624 case 826:
7625 #line 3661 "parse.y"
7626 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7627 break;}
7628 case 827:
7629 #line 3663 "parse.y"
7630 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7631 break;}
7632 case 828:
7633 #line 3665 "parse.y"
7634 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7635 break;}
7636 case 829:
7637 #line 3667 "parse.y"
7638 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7639 break;}
7640 case 830:
7641 #line 3669 "parse.y"
7642 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7643 break;}
7644 case 831:
7645 #line 3671 "parse.y"
7646 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7647 break;}
7648 case 832:
7649 #line 3673 "parse.y"
7650 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7651 break;}
7652 case 833:
7653 #line 3675 "parse.y"
7654 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7655 break;}
7656 case 834:
7657 #line 3677 "parse.y"
7658 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7659 break;}
7660 case 835:
7661 #line 3679 "parse.y"
7662 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7663 break;}
7664 case 836:
7665 #line 3681 "parse.y"
7666 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7667 break;}
7668 case 837:
7669 #line 3683 "parse.y"
7670 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7671 break;}
7672 case 838:
7673 #line 3685 "parse.y"
7674 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7675 break;}
7676 case 839:
7677 #line 3687 "parse.y"
7678 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7679 break;}
7680 case 840:
7681 #line 3689 "parse.y"
7682 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7683 break;}
7684 case 841:
7685 #line 3691 "parse.y"
7686 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7687 break;}
7688 case 842:
7689 #line 3693 "parse.y"
7690 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7691 break;}
7692 case 843:
7693 #line 3695 "parse.y"
7694 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7695 break;}
7696 case 844:
7697 #line 3697 "parse.y"
7698 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7699 break;}
7700 case 845:
7701 #line 3699 "parse.y"
7702 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7703 break;}
7704 case 846:
7705 #line 3701 "parse.y"
7706 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7707 break;}
7708 case 847:
7709 #line 3703 "parse.y"
7710 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7711 break;}
7712 case 848:
7713 #line 3705 "parse.y"
7714 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7715 break;}
7716 case 849:
7717 #line 3707 "parse.y"
7718 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7719 break;}
7720 case 850:
7721 #line 3709 "parse.y"
7722 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7723 break;}
7724 case 851:
7725 #line 3711 "parse.y"
7726 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7727 break;}
7728 case 852:
7729 #line 3713 "parse.y"
7730 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7731 break;}
7732 case 853:
7733 #line 3715 "parse.y"
7734 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7735 break;}
7736 case 854:
7737 #line 3717 "parse.y"
7738 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7739 break;}
7740 case 855:
7741 #line 3719 "parse.y"
7742 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7743 break;}
7744 case 856:
7745 #line 3721 "parse.y"
7746 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7747 break;}
7748 case 857:
7749 #line 3724 "parse.y"
7750 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7751 break;}
7752 case 858:
7753 #line 3726 "parse.y"
7754 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7755 break;}
7756 }
7757 /* the action file gets copied in in place of this dollarsign */
7758 #line 498 "/usr/cygnus/gnupro-98r1/share/bison.simple"
7759 \f
7760 yyvsp -= yylen;
7761 yyssp -= yylen;
7762 #ifdef YYLSP_NEEDED
7763 yylsp -= yylen;
7764 #endif
7765
7766 #if YYDEBUG != 0
7767 if (yydebug)
7768 {
7769 short *ssp1 = yyss - 1;
7770 fprintf (stderr, "state stack now");
7771 while (ssp1 != yyssp)
7772 fprintf (stderr, " %d", *++ssp1);
7773 fprintf (stderr, "\n");
7774 }
7775 #endif
7776
7777 *++yyvsp = yyval;
7778
7779 #ifdef YYLSP_NEEDED
7780 yylsp++;
7781 if (yylen == 0)
7782 {
7783 yylsp->first_line = yylloc.first_line;
7784 yylsp->first_column = yylloc.first_column;
7785 yylsp->last_line = (yylsp-1)->last_line;
7786 yylsp->last_column = (yylsp-1)->last_column;
7787 yylsp->text = 0;
7788 }
7789 else
7790 {
7791 yylsp->last_line = (yylsp+yylen-1)->last_line;
7792 yylsp->last_column = (yylsp+yylen-1)->last_column;
7793 }
7794 #endif
7795
7796 /* Now "shift" the result of the reduction.
7797 Determine what state that goes to,
7798 based on the state we popped back to
7799 and the rule number reduced by. */
7800
7801 yyn = yyr1[yyn];
7802
7803 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7804 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7805 yystate = yytable[yystate];
7806 else
7807 yystate = yydefgoto[yyn - YYNTBASE];
7808
7809 goto yynewstate;
7810
7811 yyerrlab: /* here on detecting error */
7812
7813 if (! yyerrstatus)
7814 /* If not already recovering from an error, report this error. */
7815 {
7816 ++yynerrs;
7817
7818 #ifdef YYERROR_VERBOSE
7819 yyn = yypact[yystate];
7820
7821 if (yyn > YYFLAG && yyn < YYLAST)
7822 {
7823 int size = 0;
7824 char *msg;
7825 int x, count;
7826
7827 count = 0;
7828 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7829 for (x = (yyn < 0 ? -yyn : 0);
7830 x < (sizeof(yytname) / sizeof(char *)); x++)
7831 if (yycheck[x + yyn] == x)
7832 size += strlen(yytname[x]) + 15, count++;
7833 msg = (char *) malloc(size + 15);
7834 if (msg != 0)
7835 {
7836 strcpy(msg, "parse error");
7837
7838 if (count < 5)
7839 {
7840 count = 0;
7841 for (x = (yyn < 0 ? -yyn : 0);
7842 x < (sizeof(yytname) / sizeof(char *)); x++)
7843 if (yycheck[x + yyn] == x)
7844 {
7845 strcat(msg, count == 0 ? ", expecting `" : " or `");
7846 strcat(msg, yytname[x]);
7847 strcat(msg, "'");
7848 count++;
7849 }
7850 }
7851 yyerror(msg);
7852 free(msg);
7853 }
7854 else
7855 yyerror ("parse error; also virtual memory exceeded");
7856 }
7857 else
7858 #endif /* YYERROR_VERBOSE */
7859 yyerror("parse error");
7860 }
7861
7862 goto yyerrlab1;
7863 yyerrlab1: /* here on error raised explicitly by an action */
7864
7865 if (yyerrstatus == 3)
7866 {
7867 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7868
7869 /* return failure if at end of input */
7870 if (yychar == YYEOF)
7871 YYABORT;
7872
7873 #if YYDEBUG != 0
7874 if (yydebug)
7875 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7876 #endif
7877
7878 yychar = YYEMPTY;
7879 }
7880
7881 /* Else will try to reuse lookahead token
7882 after shifting the error token. */
7883
7884 yyerrstatus = 3; /* Each real token shifted decrements this */
7885
7886 goto yyerrhandle;
7887
7888 yyerrdefault: /* current state does not do anything special for the error token. */
7889
7890 #if 0
7891 /* This is wrong; only states that explicitly want error tokens
7892 should shift them. */
7893 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7894 if (yyn) goto yydefault;
7895 #endif
7896
7897 yyerrpop: /* pop the current state because it cannot handle the error token */
7898
7899 if (yyssp == yyss) YYABORT;
7900 yyvsp--;
7901 yystate = *--yyssp;
7902 #ifdef YYLSP_NEEDED
7903 yylsp--;
7904 #endif
7905
7906 #if YYDEBUG != 0
7907 if (yydebug)
7908 {
7909 short *ssp1 = yyss - 1;
7910 fprintf (stderr, "Error: state stack now");
7911 while (ssp1 != yyssp)
7912 fprintf (stderr, " %d", *++ssp1);
7913 fprintf (stderr, "\n");
7914 }
7915 #endif
7916
7917 yyerrhandle:
7918
7919 yyn = yypact[yystate];
7920 if (yyn == YYFLAG)
7921 goto yyerrdefault;
7922
7923 yyn += YYTERROR;
7924 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7925 goto yyerrdefault;
7926
7927 yyn = yytable[yyn];
7928 if (yyn < 0)
7929 {
7930 if (yyn == YYFLAG)
7931 goto yyerrpop;
7932 yyn = -yyn;
7933 goto yyreduce;
7934 }
7935 else if (yyn == 0)
7936 goto yyerrpop;
7937
7938 if (yyn == YYFINAL)
7939 YYACCEPT;
7940
7941 #if YYDEBUG != 0
7942 if (yydebug)
7943 fprintf(stderr, "Shifting error token, ");
7944 #endif
7945
7946 *++yyvsp = yylval;
7947 #ifdef YYLSP_NEEDED
7948 *++yylsp = yylloc;
7949 #endif
7950
7951 yystate = yyn;
7952 goto yynewstate;
7953 }
7954 #line 3729 "parse.y"
7955
7956
7957 #ifdef SPEW_DEBUG
7958 const char *
7959 debug_yytranslate (value)
7960 int value;
7961 {
7962 return yytname[YYTRANSLATE (value)];
7963 }
7964
7965 #endif