cp-tree.h (CP_DECL_CONTEXT): New macro.
[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 281 "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 1553
215 #define YYFLAG -32768
216 #define YYNTBASE 112
217
218 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 388)
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, 68, 75, 78, 79, 85,
263 88, 91, 95, 99, 101, 103, 106, 109, 111, 114,
264 115, 121, 125, 127, 131, 133, 134, 137, 140, 144,
265 146, 150, 152, 156, 158, 162, 165, 168, 171, 175,
266 179, 182, 185, 188, 191, 194, 196, 198, 200, 201,
267 203, 206, 207, 209, 214, 218, 222, 223, 232, 238,
268 239, 249, 256, 257, 266, 272, 273, 283, 290, 293,
269 296, 298, 301, 303, 310, 315, 322, 327, 330, 332,
270 335, 338, 340, 343, 345, 348, 351, 356, 359, 363,
271 364, 365, 367, 371, 374, 378, 380, 385, 388, 393,
272 396, 401, 404, 406, 408, 410, 412, 414, 416, 418,
273 420, 422, 424, 426, 427, 434, 435, 442, 443, 449,
274 450, 456, 457, 465, 466, 474, 475, 482, 483, 490,
275 491, 492, 497, 502, 504, 509, 511, 513, 514, 516,
276 518, 522, 524, 526, 528, 530, 532, 534, 536, 538,
277 540, 542, 544, 548, 550, 554, 555, 557, 559, 560,
278 568, 570, 572, 576, 581, 585, 586, 590, 592, 596,
279 600, 604, 608, 610, 612, 614, 617, 620, 623, 626,
280 629, 632, 635, 640, 643, 648, 651, 655, 659, 664,
281 670, 677, 684, 692, 695, 700, 706, 709, 712, 714,
282 715, 720, 725, 729, 731, 735, 738, 742, 747, 749,
283 752, 758, 760, 764, 768, 772, 776, 780, 784, 788,
284 792, 796, 800, 804, 808, 812, 816, 820, 824, 828,
285 832, 836, 842, 846, 850, 852, 855, 859, 861, 863,
286 865, 867, 869, 870, 876, 882, 888, 894, 900, 902,
287 904, 906, 908, 911, 914, 918, 923, 928, 930, 932,
288 934, 938, 940, 942, 944, 946, 950, 954, 958, 959,
289 964, 969, 972, 977, 980, 983, 985, 990, 992, 1000,
290 1008, 1016, 1024, 1029, 1034, 1037, 1040, 1043, 1045, 1050,
291 1053, 1056, 1062, 1066, 1069, 1072, 1078, 1082, 1088, 1092,
292 1097, 1104, 1107, 1109, 1112, 1114, 1117, 1119, 1121, 1123,
293 1126, 1127, 1130, 1133, 1137, 1141, 1145, 1148, 1151, 1154,
294 1156, 1158, 1160, 1163, 1166, 1169, 1172, 1174, 1176, 1178,
295 1180, 1183, 1186, 1190, 1194, 1198, 1203, 1205, 1208, 1211,
296 1214, 1216, 1218, 1220, 1223, 1226, 1229, 1231, 1233, 1236,
297 1239, 1243, 1245, 1248, 1250, 1252, 1254, 1259, 1264, 1269,
298 1274, 1276, 1278, 1280, 1282, 1286, 1288, 1292, 1294, 1298,
299 1299, 1304, 1305, 1312, 1316, 1317, 1322, 1324, 1328, 1332,
300 1333, 1338, 1342, 1343, 1345, 1347, 1350, 1357, 1359, 1363,
301 1364, 1366, 1371, 1378, 1383, 1385, 1387, 1389, 1391, 1393,
302 1397, 1398, 1401, 1403, 1406, 1410, 1415, 1417, 1419, 1423,
303 1428, 1432, 1438, 1440, 1445, 1449, 1453, 1454, 1458, 1462,
304 1466, 1467, 1470, 1473, 1474, 1482, 1487, 1488, 1495, 1499,
305 1502, 1505, 1508, 1509, 1510, 1520, 1522, 1523, 1525, 1526,
306 1528, 1530, 1533, 1536, 1539, 1542, 1545, 1548, 1552, 1557,
307 1561, 1564, 1568, 1569, 1571, 1575, 1578, 1581, 1583, 1585,
308 1586, 1589, 1593, 1595, 1600, 1602, 1606, 1608, 1610, 1615,
309 1620, 1623, 1626, 1630, 1634, 1636, 1637, 1639, 1642, 1647,
310 1651, 1653, 1656, 1659, 1662, 1665, 1668, 1671, 1674, 1676,
311 1679, 1682, 1686, 1689, 1692, 1697, 1702, 1705, 1707, 1713,
312 1718, 1720, 1721, 1723, 1727, 1728, 1730, 1734, 1736, 1738,
313 1740, 1742, 1747, 1752, 1757, 1762, 1767, 1771, 1776, 1781,
314 1786, 1791, 1795, 1797, 1801, 1803, 1807, 1810, 1812, 1820,
315 1821, 1824, 1826, 1829, 1830, 1833, 1838, 1843, 1846, 1851,
316 1855, 1859, 1862, 1865, 1869, 1871, 1873, 1876, 1878, 1880,
317 1883, 1886, 1891, 1896, 1900, 1904, 1907, 1909, 1913, 1917,
318 1920, 1923, 1927, 1929, 1933, 1937, 1940, 1943, 1947, 1949,
319 1954, 1958, 1963, 1967, 1969, 1972, 1975, 1978, 1981, 1984,
320 1986, 1989, 1994, 1999, 2002, 2004, 2006, 2008, 2010, 2013,
321 2018, 2021, 2024, 2027, 2030, 2032, 2035, 2038, 2041, 2044,
322 2048, 2050, 2053, 2057, 2062, 2065, 2068, 2071, 2074, 2077,
323 2080, 2085, 2088, 2090, 2093, 2096, 2100, 2102, 2106, 2109,
324 2113, 2116, 2119, 2123, 2125, 2129, 2134, 2138, 2141, 2144,
325 2146, 2150, 2153, 2156, 2158, 2161, 2165, 2167, 2171, 2173,
326 2180, 2185, 2190, 2194, 2200, 2204, 2208, 2212, 2215, 2217,
327 2219, 2222, 2225, 2228, 2229, 2231, 2233, 2236, 2240, 2242,
328 2245, 2246, 2250, 2251, 2252, 2258, 2260, 2261, 2264, 2266,
329 2268, 2270, 2273, 2274, 2279, 2281, 2282, 2283, 2289, 2290,
330 2291, 2299, 2300, 2301, 2302, 2303, 2316, 2317, 2318, 2326,
331 2327, 2333, 2334, 2342, 2343, 2348, 2351, 2354, 2357, 2361,
332 2368, 2377, 2388, 2401, 2406, 2410, 2413, 2416, 2418, 2420,
333 2421, 2422, 2429, 2430, 2431, 2437, 2439, 2442, 2443, 2444,
334 2450, 2452, 2454, 2458, 2462, 2465, 2468, 2471, 2474, 2477,
335 2479, 2482, 2483, 2485, 2486, 2488, 2490, 2491, 2493, 2495,
336 2499, 2504, 2506, 2510, 2511, 2513, 2515, 2517, 2520, 2523,
337 2526, 2528, 2531, 2534, 2535, 2539, 2541, 2543, 2545, 2548,
338 2551, 2554, 2559, 2562, 2565, 2568, 2571, 2574, 2577, 2579,
339 2582, 2584, 2587, 2589, 2591, 2592, 2593, 2595, 2596, 2601,
340 2604, 2606, 2608, 2612, 2613, 2617, 2621, 2625, 2627, 2630,
341 2633, 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657, 2660,
342 2663, 2666, 2669, 2672, 2675, 2678, 2681, 2684, 2687, 2690,
343 2693, 2696, 2700, 2703, 2706, 2709, 2712, 2716, 2719, 2722,
344 2727, 2732, 2736
345 };
346
347 static const short yyrhs[] = { -1,
348 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
349 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
350 122, 0, 142, 141, 0, 138, 0, 137, 0, 119,
351 93, 210, 108, 60, 0, 129, 58, 115, 109, 0,
352 129, 116, 142, 117, 141, 0, 129, 116, 138, 117,
353 0, 0, 44, 157, 58, 123, 115, 109, 0, 0,
354 44, 58, 124, 115, 109, 0, 0, 44, 157, 64,
355 125, 128, 60, 0, 127, 60, 0, 0, 46, 44,
356 126, 128, 60, 0, 118, 122, 0, 46, 302, 0,
357 46, 316, 302, 0, 46, 316, 201, 0, 201, 0,
358 302, 0, 316, 302, 0, 316, 201, 0, 98, 0,
359 129, 98, 0, 0, 48, 74, 131, 132, 75, 0,
360 48, 74, 75, 0, 136, 0, 132, 59, 136, 0,
361 157, 0, 0, 259, 133, 0, 45, 133, 0, 130,
362 259, 133, 0, 134, 0, 134, 64, 216, 0, 379,
363 0, 379, 64, 196, 0, 135, 0, 135, 64, 176,
364 0, 130, 122, 0, 130, 1, 0, 227, 60, 0,
365 220, 226, 60, 0, 217, 225, 60, 0, 220, 60,
366 0, 160, 60, 0, 217, 60, 0, 1, 60, 0,
367 1, 109, 0, 60, 0, 211, 0, 153, 0, 0,
368 152, 0, 152, 60, 0, 0, 107, 0, 148, 140,
369 139, 326, 0, 148, 140, 350, 0, 148, 140, 1,
370 0, 0, 307, 5, 93, 144, 370, 108, 289, 382,
371 0, 307, 5, 47, 289, 382, 0, 0, 316, 307,
372 5, 93, 145, 370, 108, 289, 382, 0, 316, 307,
373 5, 47, 289, 382, 0, 0, 307, 172, 93, 146,
374 370, 108, 289, 382, 0, 307, 172, 47, 289, 382,
375 0, 0, 316, 307, 172, 93, 147, 370, 108, 289,
376 382, 0, 316, 307, 172, 47, 289, 382, 0, 217,
377 214, 0, 220, 299, 0, 299, 0, 220, 143, 0,
378 143, 0, 5, 93, 370, 108, 289, 382, 0, 5,
379 47, 289, 382, 0, 172, 93, 370, 108, 289, 382,
380 0, 172, 47, 289, 382, 0, 220, 149, 0, 149,
381 0, 217, 214, 0, 220, 299, 0, 299, 0, 220,
382 143, 0, 143, 0, 25, 3, 0, 151, 244, 0,
383 151, 93, 188, 108, 0, 151, 47, 0, 62, 154,
384 155, 0, 0, 0, 156, 0, 155, 59, 156, 0,
385 155, 1, 0, 93, 188, 108, 0, 47, 0, 158,
386 93, 188, 108, 0, 158, 47, 0, 295, 93, 188,
387 108, 0, 295, 47, 0, 309, 93, 188, 108, 0,
388 309, 47, 0, 3, 0, 4, 0, 5, 0, 56,
389 0, 57, 0, 3, 0, 56, 0, 57, 0, 104,
390 0, 103, 0, 105, 0, 0, 48, 169, 223, 60,
391 161, 170, 0, 0, 48, 169, 217, 214, 162, 170,
392 0, 0, 48, 169, 299, 163, 170, 0, 0, 48,
393 169, 143, 164, 170, 0, 0, 7, 48, 169, 223,
394 60, 165, 170, 0, 0, 7, 48, 169, 217, 214,
395 166, 170, 0, 0, 7, 48, 169, 299, 167, 170,
396 0, 0, 7, 48, 169, 143, 168, 170, 0, 0,
397 0, 56, 74, 174, 173, 0, 4, 74, 174, 173,
398 0, 172, 0, 5, 74, 174, 173, 0, 75, 0,
399 77, 0, 0, 175, 0, 176, 0, 175, 59, 176,
400 0, 216, 0, 56, 0, 196, 0, 79, 0, 78,
401 0, 86, 0, 87, 0, 110, 0, 187, 0, 196,
402 0, 47, 0, 93, 178, 108, 0, 47, 0, 93,
403 182, 108, 0, 0, 182, 0, 1, 0, 0, 360,
404 214, 228, 237, 64, 183, 245, 0, 178, 0, 109,
405 0, 323, 321, 109, 0, 323, 321, 1, 109, 0,
406 323, 1, 109, 0, 0, 58, 186, 184, 0, 335,
407 0, 196, 59, 196, 0, 196, 59, 1, 0, 187,
408 59, 196, 0, 187, 59, 1, 0, 196, 0, 187,
409 0, 205, 0, 118, 195, 0, 80, 195, 0, 70,
410 195, 0, 88, 195, 0, 177, 195, 0, 67, 157,
411 0, 13, 189, 0, 13, 93, 216, 108, 0, 29,
412 189, 0, 29, 93, 216, 108, 0, 207, 288, 0,
413 207, 288, 193, 0, 207, 192, 288, 0, 207, 192,
414 288, 193, 0, 207, 93, 191, 216, 190, 0, 207,
415 93, 191, 216, 190, 193, 0, 207, 192, 93, 191,
416 216, 190, 0, 207, 192, 93, 191, 216, 190, 193,
417 0, 208, 195, 0, 208, 94, 111, 195, 0, 208,
418 94, 178, 111, 195, 0, 34, 195, 0, 35, 195,
419 0, 108, 0, 0, 93, 191, 188, 108, 0, 58,
420 191, 188, 109, 0, 93, 188, 108, 0, 47, 0,
421 93, 223, 108, 0, 64, 245, 0, 93, 216, 108,
422 0, 194, 93, 216, 108, 0, 189, 0, 194, 189,
423 0, 194, 58, 246, 257, 109, 0, 195, 0, 196,
424 83, 196, 0, 196, 84, 196, 0, 196, 78, 196,
425 0, 196, 79, 196, 0, 196, 80, 196, 0, 196,
426 81, 196, 0, 196, 82, 196, 0, 196, 76, 196,
427 0, 196, 77, 196, 0, 196, 73, 196, 0, 196,
428 74, 196, 0, 196, 75, 196, 0, 196, 72, 196,
429 0, 196, 71, 196, 0, 196, 70, 196, 0, 196,
430 68, 196, 0, 196, 69, 196, 0, 196, 67, 196,
431 0, 196, 66, 196, 0, 196, 65, 365, 62, 196,
432 0, 196, 64, 196, 0, 196, 63, 196, 0, 61,
433 0, 61, 196, 0, 88, 380, 157, 0, 199, 0,
434 387, 0, 3, 0, 56, 0, 57, 0, 0, 6,
435 74, 198, 174, 173, 0, 387, 74, 198, 174, 173,
436 0, 48, 157, 74, 174, 173, 0, 48, 6, 74,
437 174, 173, 0, 48, 387, 74, 174, 173, 0, 197,
438 0, 4, 0, 5, 0, 197, 0, 80, 202, 0,
439 70, 202, 0, 93, 202, 108, 0, 3, 74, 174,
440 173, 0, 57, 74, 175, 173, 0, 301, 0, 197,
441 0, 203, 0, 93, 202, 108, 0, 197, 0, 10,
442 0, 209, 0, 210, 0, 93, 178, 108, 0, 93,
443 202, 108, 0, 93, 1, 108, 0, 0, 93, 206,
444 327, 108, 0, 205, 93, 188, 108, 0, 205, 47,
445 0, 205, 94, 178, 111, 0, 205, 86, 0, 205,
446 87, 0, 40, 0, 9, 93, 188, 108, 0, 305,
447 0, 50, 74, 216, 75, 93, 178, 108, 0, 51,
448 74, 216, 75, 93, 178, 108, 0, 52, 74, 216,
449 75, 93, 178, 108, 0, 53, 74, 216, 75, 93,
450 178, 108, 0, 49, 93, 178, 108, 0, 49, 93,
451 216, 108, 0, 316, 3, 0, 316, 199, 0, 316,
452 387, 0, 304, 0, 304, 93, 188, 108, 0, 304,
453 47, 0, 212, 200, 0, 212, 200, 93, 188, 108,
454 0, 212, 200, 47, 0, 212, 201, 0, 212, 304,
455 0, 212, 201, 93, 188, 108, 0, 212, 201, 47,
456 0, 212, 304, 93, 188, 108, 0, 212, 304, 47,
457 0, 212, 88, 8, 47, 0, 212, 8, 54, 88,
458 8, 47, 0, 212, 1, 0, 39, 0, 316, 39,
459 0, 38, 0, 316, 208, 0, 42, 0, 43, 0,
460 11, 0, 210, 11, 0, 0, 205, 92, 0, 205,
461 91, 0, 223, 225, 60, 0, 217, 225, 60, 0,
462 220, 226, 60, 0, 217, 60, 0, 220, 60, 0,
463 118, 213, 0, 294, 0, 299, 0, 47, 0, 215,
464 47, 0, 221, 319, 0, 290, 319, 0, 223, 319,
465 0, 221, 0, 290, 0, 221, 0, 218, 0, 220,
466 223, 0, 223, 219, 0, 223, 222, 219, 0, 220,
467 223, 219, 0, 220, 223, 222, 0, 220, 223, 222,
468 219, 0, 7, 0, 219, 224, 0, 219, 7, 0,
469 219, 238, 0, 238, 0, 290, 0, 7, 0, 220,
470 9, 0, 220, 7, 0, 220, 238, 0, 238, 0,
471 223, 0, 290, 223, 0, 223, 222, 0, 290, 223,
472 222, 0, 224, 0, 222, 224, 0, 252, 0, 8,
473 0, 296, 0, 28, 93, 178, 108, 0, 28, 93,
474 216, 108, 0, 30, 93, 178, 108, 0, 30, 93,
475 216, 108, 0, 8, 0, 9, 0, 252, 0, 233,
476 0, 225, 59, 229, 0, 234, 0, 226, 59, 229,
477 0, 235, 0, 227, 59, 229, 0, 0, 119, 93,
478 210, 108, 0, 0, 214, 228, 237, 64, 230, 245,
479 0, 214, 228, 237, 0, 0, 237, 64, 232, 245,
480 0, 237, 0, 214, 228, 231, 0, 299, 228, 231,
481 0, 0, 299, 228, 236, 231, 0, 143, 228, 237,
482 0, 0, 238, 0, 239, 0, 238, 239, 0, 31,
483 93, 93, 240, 108, 108, 0, 241, 0, 240, 59,
484 241, 0, 0, 242, 0, 242, 93, 3, 108, 0,
485 242, 93, 3, 59, 188, 108, 0, 242, 93, 188,
486 108, 0, 157, 0, 7, 0, 8, 0, 9, 0,
487 157, 0, 243, 59, 157, 0, 0, 64, 245, 0,
488 196, 0, 58, 109, 0, 58, 246, 109, 0, 58,
489 246, 59, 109, 0, 1, 0, 245, 0, 246, 59,
490 245, 0, 94, 196, 111, 245, 0, 157, 62, 245,
491 0, 246, 59, 157, 62, 245, 0, 97, 0, 247,
492 140, 139, 326, 0, 247, 140, 350, 0, 247, 140,
493 1, 0, 0, 249, 248, 141, 0, 102, 196, 107,
494 0, 102, 1, 107, 0, 0, 251, 250, 0, 251,
495 1, 0, 0, 14, 157, 58, 253, 286, 258, 109,
496 0, 14, 157, 58, 109, 0, 0, 14, 58, 254,
497 286, 258, 109, 0, 14, 58, 109, 0, 14, 157,
498 0, 14, 314, 0, 45, 309, 0, 0, 0, 266,
499 272, 274, 109, 237, 255, 251, 256, 249, 0, 266,
500 0, 0, 59, 0, 0, 59, 0, 36, 0, 259,
501 7, 0, 259, 8, 0, 259, 9, 0, 259, 36,
502 0, 259, 157, 0, 259, 159, 0, 259, 307, 157,
503 0, 259, 316, 307, 157, 0, 259, 316, 157, 0,
504 259, 171, 0, 259, 307, 171, 0, 0, 260, 0,
505 261, 263, 267, 0, 262, 267, 0, 259, 58, 0,
506 265, 0, 264, 0, 0, 62, 380, 0, 62, 380,
507 268, 0, 269, 0, 268, 59, 380, 269, 0, 270,
508 0, 271, 380, 270, 0, 309, 0, 295, 0, 30,
509 93, 178, 108, 0, 30, 93, 216, 108, 0, 37,
510 380, 0, 7, 380, 0, 271, 37, 380, 0, 271,
511 7, 380, 0, 58, 0, 0, 273, 0, 273, 275,
512 0, 274, 37, 62, 275, 0, 274, 37, 62, 0,
513 276, 0, 275, 276, 0, 277, 60, 0, 277, 109,
514 0, 150, 62, 0, 150, 95, 0, 150, 25, 0,
515 150, 58, 0, 60, 0, 118, 276, 0, 130, 276,
516 0, 130, 217, 60, 0, 217, 278, 0, 220, 279,
517 0, 299, 228, 237, 244, 0, 143, 228, 237, 244,
518 0, 62, 196, 0, 1, 0, 220, 149, 228, 237,
519 244, 0, 149, 228, 237, 244, 0, 127, 0, 0,
520 280, 0, 278, 59, 281, 0, 0, 283, 0, 279,
521 59, 285, 0, 282, 0, 283, 0, 284, 0, 285,
522 0, 294, 228, 237, 244, 0, 4, 62, 196, 237,
523 0, 299, 228, 237, 244, 0, 143, 228, 237, 244,
524 0, 3, 62, 196, 237, 0, 62, 196, 237, 0,
525 294, 228, 237, 244, 0, 4, 62, 196, 237, 0,
526 299, 228, 237, 244, 0, 3, 62, 196, 237, 0,
527 62, 196, 237, 0, 287, 0, 286, 59, 287, 0,
528 157, 0, 157, 64, 196, 0, 360, 317, 0, 360,
529 0, 93, 191, 216, 190, 94, 178, 111, 0, 0,
530 289, 9, 0, 9, 0, 290, 9, 0, 0, 291,
531 178, 0, 291, 93, 188, 108, 0, 291, 93, 370,
532 108, 0, 291, 47, 0, 291, 93, 1, 108, 0,
533 80, 290, 294, 0, 70, 290, 294, 0, 80, 294,
534 0, 70, 294, 0, 315, 289, 294, 0, 298, 0,
535 306, 0, 316, 306, 0, 295, 0, 297, 0, 316,
536 297, 0, 307, 306, 0, 298, 293, 289, 382, 0,
537 298, 94, 292, 111, 0, 298, 94, 111, 0, 93,
538 294, 108, 0, 307, 306, 0, 306, 0, 80, 290,
539 299, 0, 70, 290, 299, 0, 80, 299, 0, 70,
540 299, 0, 315, 289, 299, 0, 204, 0, 80, 290,
541 299, 0, 70, 290, 299, 0, 80, 300, 0, 70,
542 300, 0, 315, 289, 299, 0, 301, 0, 204, 293,
543 289, 382, 0, 93, 300, 108, 0, 204, 94, 292,
544 111, 0, 204, 94, 111, 0, 303, 0, 307, 203,
545 0, 307, 201, 0, 307, 200, 0, 307, 197, 0,
546 307, 200, 0, 303, 0, 316, 303, 0, 223, 93,
547 188, 108, 0, 223, 93, 202, 108, 0, 223, 215,
548 0, 4, 0, 5, 0, 171, 0, 308, 0, 307,
549 308, 0, 307, 48, 313, 54, 0, 4, 54, 0,
550 5, 54, 0, 57, 54, 0, 171, 54, 0, 310,
551 0, 316, 310, 0, 311, 157, 0, 311, 171, 0,
552 311, 313, 0, 311, 48, 313, 0, 312, 0, 311,
553 312, 0, 311, 313, 54, 0, 311, 48, 313, 54,
554 0, 4, 54, 0, 5, 54, 0, 171, 54, 0,
555 56, 54, 0, 3, 54, 0, 57, 54, 0, 157,
556 74, 174, 173, 0, 316, 306, 0, 297, 0, 316,
557 297, 0, 307, 80, 0, 316, 307, 80, 0, 54,
558 0, 80, 289, 317, 0, 80, 289, 0, 70, 289,
559 317, 0, 70, 289, 0, 315, 289, 0, 315, 289,
560 317, 0, 318, 0, 94, 178, 111, 0, 318, 94,
561 292, 111, 0, 80, 290, 319, 0, 80, 319, 0,
562 80, 290, 0, 80, 0, 70, 290, 319, 0, 70,
563 319, 0, 70, 290, 0, 70, 0, 315, 289, 0,
564 315, 289, 319, 0, 320, 0, 93, 319, 108, 0,
565 90, 0, 320, 93, 370, 108, 289, 382, 0, 320,
566 47, 289, 382, 0, 320, 94, 292, 111, 0, 320,
567 94, 111, 0, 93, 371, 108, 289, 382, 0, 194,
568 289, 382, 0, 215, 289, 382, 0, 94, 292, 111,
569 0, 94, 111, 0, 334, 0, 322, 0, 321, 334,
570 0, 321, 322, 0, 1, 60, 0, 0, 324, 0,
571 325, 0, 324, 325, 0, 33, 243, 60, 0, 327,
572 0, 1, 327, 0, 0, 58, 328, 184, 0, 0,
573 0, 15, 330, 180, 331, 332, 0, 327, 0, 0,
574 333, 335, 0, 327, 0, 335, 0, 213, 0, 178,
575 60, 0, 0, 329, 16, 336, 332, 0, 329, 0,
576 0, 0, 17, 337, 180, 338, 185, 0, 0, 0,
577 18, 339, 332, 17, 340, 179, 60, 0, 0, 0,
578 0, 0, 19, 341, 93, 363, 342, 181, 60, 343,
579 365, 108, 344, 185, 0, 0, 0, 20, 345, 93,
580 182, 108, 346, 332, 0, 0, 21, 196, 62, 347,
581 334, 0, 0, 21, 196, 12, 196, 62, 348, 334,
582 0, 0, 22, 62, 349, 334, 0, 23, 60, 0,
583 24, 60, 0, 25, 60, 0, 25, 178, 60, 0,
584 119, 364, 93, 210, 108, 60, 0, 119, 364, 93,
585 210, 62, 366, 108, 60, 0, 119, 364, 93, 210,
586 62, 366, 62, 366, 108, 60, 0, 119, 364, 93,
587 210, 62, 366, 62, 366, 62, 369, 108, 60, 0,
588 26, 80, 178, 60, 0, 26, 157, 60, 0, 362,
589 334, 0, 362, 109, 0, 60, 0, 353, 0, 0,
590 0, 95, 351, 139, 327, 352, 356, 0, 0, 0,
591 95, 354, 327, 355, 356, 0, 357, 0, 356, 357,
592 0, 0, 0, 96, 358, 361, 359, 327, 0, 221,
593 0, 290, 0, 93, 12, 108, 0, 93, 379, 108,
594 0, 3, 62, 0, 56, 62, 0, 4, 62, 0,
595 5, 62, 0, 365, 60, 0, 213, 0, 58, 184,
596 0, 0, 9, 0, 0, 178, 0, 1, 0, 0,
597 367, 0, 368, 0, 367, 59, 368, 0, 11, 93,
598 178, 108, 0, 11, 0, 369, 59, 11, 0, 0,
599 371, 0, 216, 0, 375, 0, 376, 12, 0, 375,
600 12, 0, 216, 12, 0, 12, 0, 375, 62, 0,
601 216, 62, 0, 0, 64, 373, 374, 0, 101, 0,
602 245, 0, 377, 0, 379, 372, 0, 376, 378, 0,
603 376, 381, 0, 376, 381, 64, 245, 0, 375, 59,
604 0, 216, 59, 0, 218, 214, 0, 221, 214, 0,
605 223, 214, 0, 218, 319, 0, 218, 0, 220, 299,
606 0, 379, 0, 379, 372, 0, 377, 0, 216, 0,
607 0, 0, 299, 0, 0, 61, 93, 384, 108, 0,
608 61, 47, 0, 216, 0, 383, 0, 384, 59, 383,
609 0, 0, 80, 289, 385, 0, 70, 289, 385, 0,
610 315, 289, 385, 0, 41, 0, 386, 80, 0, 386,
611 81, 0, 386, 82, 0, 386, 78, 0, 386, 79,
612 0, 386, 70, 0, 386, 68, 0, 386, 69, 0,
613 386, 88, 0, 386, 59, 0, 386, 73, 0, 386,
614 74, 0, 386, 75, 0, 386, 72, 0, 386, 63,
615 0, 386, 64, 0, 386, 76, 0, 386, 77, 0,
616 386, 86, 0, 386, 87, 0, 386, 67, 0, 386,
617 66, 0, 386, 110, 0, 386, 65, 62, 0, 386,
618 71, 0, 386, 91, 0, 386, 83, 0, 386, 47,
619 0, 386, 94, 111, 0, 386, 39, 0, 386, 38,
620 0, 386, 39, 94, 111, 0, 386, 38, 94, 111,
621 0, 386, 360, 385, 0, 386, 1, 0
622 };
623
624 #endif
625
626 #if YYDEBUG != 0
627 static const short yyrline[] = { 0,
628 330, 332, 340, 343, 344, 348, 350, 353, 358, 362,
629 368, 372, 375, 379, 382, 384, 386, 389, 391, 394,
630 397, 399, 401, 403, 405, 407, 414, 416, 418, 428,
631 432, 435, 437, 441, 443, 444, 446, 450, 453, 459,
632 462, 464, 469, 472, 476, 479, 482, 485, 489, 494,
633 504, 506, 508, 510, 512, 525, 534, 544, 546, 548,
634 552, 554, 555, 562, 563, 564, 567, 570, 574, 576,
635 577, 580, 582, 585, 588, 590, 594, 597, 599, 603,
636 605, 607, 611, 613, 615, 619, 621, 623, 629, 633,
637 636, 639, 642, 647, 650, 652, 654, 660, 670, 672,
638 675, 678, 680, 683, 687, 696, 699, 701, 705, 718,
639 738, 741, 743, 744, 747, 754, 760, 762, 764, 766,
640 768, 771, 776, 778, 779, 780, 781, 784, 786, 787,
641 790, 792, 793, 796, 801, 801, 805, 805, 808, 808,
642 811, 811, 815, 815, 820, 820, 823, 823, 826, 828,
643 831, 838, 845, 851, 854, 863, 865, 873, 876, 879,
644 882, 886, 889, 891, 894, 897, 899, 901, 903, 907,
645 910, 913, 918, 922, 927, 931, 934, 935, 939, 958,
646 965, 968, 970, 971, 972, 975, 979, 980, 984, 988,
647 991, 993, 997, 1000, 1003, 1007, 1010, 1012, 1014, 1016,
648 1019, 1023, 1025, 1027, 1029, 1035, 1038, 1041, 1044, 1056,
649 1061, 1065, 1069, 1074, 1076, 1080, 1084, 1086, 1095, 1099,
650 1102, 1105, 1110, 1113, 1115, 1123, 1136, 1141, 1147, 1149,
651 1151, 1164, 1167, 1169, 1171, 1173, 1175, 1177, 1179, 1181,
652 1183, 1185, 1187, 1189, 1191, 1193, 1195, 1197, 1199, 1201,
653 1203, 1205, 1207, 1211, 1213, 1215, 1232, 1235, 1236, 1237,
654 1238, 1239, 1242, 1245, 1248, 1252, 1255, 1257, 1262, 1264,
655 1265, 1268, 1270, 1272, 1274, 1278, 1281, 1285, 1287, 1288,
656 1289, 1293, 1301, 1302, 1303, 1311, 1313, 1316, 1318, 1328,
657 1330, 1332, 1334, 1336, 1338, 1341, 1343, 1387, 1388, 1392,
658 1396, 1400, 1404, 1406, 1410, 1412, 1414, 1422, 1424, 1426,
659 1428, 1432, 1434, 1436, 1438, 1443, 1445, 1447, 1449, 1452,
660 1454, 1456, 1500, 1503, 1507, 1510, 1514, 1517, 1522, 1524,
661 1528, 1541, 1544, 1551, 1558, 1563, 1565, 1570, 1572, 1579,
662 1581, 1585, 1589, 1595, 1599, 1602, 1605, 1608, 1618, 1620,
663 1623, 1627, 1630, 1633, 1636, 1639, 1645, 1651, 1653, 1658,
664 1660, 1669, 1672, 1674, 1677, 1683, 1685, 1695, 1699, 1702,
665 1705, 1710, 1713, 1721, 1723, 1725, 1727, 1730, 1733, 1748,
666 1767, 1770, 1772, 1775, 1777, 1780, 1782, 1785, 1787, 1790,
667 1793, 1797, 1803, 1804, 1816, 1823, 1826, 1832, 1836, 1841,
668 1847, 1848, 1856, 1859, 1863, 1866, 1870, 1875, 1878, 1882,
669 1885, 1887, 1889, 1891, 1898, 1900, 1901, 1902, 1906, 1909,
670 1913, 1916, 1922, 1924, 1927, 1930, 1933, 1939, 1942, 1945,
671 1947, 1949, 1953, 1959, 1967, 1969, 1973, 1975, 1980, 1983,
672 1986, 1988, 1990, 1994, 1998, 2003, 2007, 2010, 2015, 2019,
673 2022, 2025, 2029, 2041, 2043, 2046, 2066, 2068, 2071, 2073,
674 2078, 2080, 2082, 2084, 2086, 2090, 2095, 2100, 2106, 2111,
675 2116, 2118, 2122, 2127, 2130, 2137, 2165, 2171, 2173, 2176,
676 2179, 2181, 2185, 2187, 2191, 2217, 2246, 2249, 2250, 2271,
677 2294, 2296, 2300, 2311, 2325, 2330, 2337, 2340, 2348, 2359,
678 2368, 2372, 2387, 2390, 2395, 2397, 2399, 2401, 2403, 2405,
679 2408, 2410, 2414, 2420, 2422, 2425, 2428, 2430, 2441, 2446,
680 2449, 2454, 2457, 2458, 2469, 2472, 2473, 2484, 2486, 2489,
681 2491, 2494, 2501, 2509, 2516, 2522, 2528, 2536, 2540, 2545,
682 2549, 2552, 2561, 2563, 2567, 2570, 2575, 2579, 2585, 2596,
683 2599, 2603, 2607, 2615, 2620, 2626, 2629, 2631, 2633, 2639,
684 2642, 2644, 2646, 2648, 2652, 2655, 2673, 2683, 2685, 2686,
685 2690, 2695, 2698, 2700, 2702, 2704, 2708, 2714, 2717, 2719,
686 2721, 2723, 2727, 2730, 2733, 2735, 2737, 2739, 2743, 2746,
687 2749, 2751, 2753, 2755, 2762, 2773, 2777, 2782, 2786, 2791,
688 2793, 2797, 2800, 2802, 2806, 2808, 2809, 2812, 2814, 2816,
689 2822, 2837, 2843, 2849, 2863, 2865, 2869, 2883, 2885, 2887,
690 2891, 2897, 2910, 2912, 2916, 2929, 2935, 2937, 2938, 2939,
691 2947, 2952, 2961, 2962, 2966, 2969, 2975, 2981, 2984, 2986,
692 2988, 2990, 2994, 2998, 3002, 3005, 3010, 3013, 3015, 3017,
693 3019, 3021, 3023, 3025, 3027, 3031, 3035, 3039, 3043, 3044,
694 3046, 3048, 3050, 3052, 3054, 3056, 3058, 3060, 3068, 3070,
695 3071, 3072, 3075, 3081, 3083, 3088, 3090, 3093, 3107, 3110,
696 3113, 3117, 3120, 3127, 3129, 3132, 3134, 3136, 3139, 3142,
697 3145, 3148, 3150, 3153, 3157, 3159, 3165, 3167, 3168, 3170,
698 3175, 3177, 3179, 3181, 3183, 3186, 3187, 3189, 3192, 3193,
699 3196, 3196, 3199, 3199, 3202, 3202, 3204, 3206, 3208, 3210,
700 3216, 3222, 3225, 3228, 3234, 3236, 3238, 3242, 3244, 3247,
701 3254, 3259, 3267, 3271, 3273, 3276, 3278, 3281, 3285, 3287,
702 3290, 3292, 3295, 3312, 3318, 3326, 3328, 3330, 3334, 3337,
703 3338, 3346, 3350, 3354, 3357, 3358, 3364, 3367, 3370, 3372,
704 3376, 3381, 3384, 3394, 3399, 3400, 3407, 3410, 3413, 3415,
705 3418, 3420, 3430, 3444, 3448, 3451, 3453, 3457, 3461, 3464,
706 3467, 3469, 3473, 3475, 3482, 3489, 3492, 3495, 3499, 3503,
707 3509, 3513, 3518, 3520, 3523, 3528, 3534, 3545, 3548, 3550,
708 3554, 3559, 3561, 3568, 3571, 3573, 3575, 3581, 3586, 3589,
709 3591, 3593, 3595, 3597, 3599, 3601, 3603, 3605, 3607, 3609,
710 3611, 3613, 3615, 3617, 3619, 3621, 3623, 3625, 3627, 3629,
711 3631, 3633, 3635, 3637, 3639, 3641, 3643, 3645, 3647, 3649,
712 3651, 3654, 3656
713 };
714 #endif
715
716
717 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
718
719 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
720 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
721 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
722 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
723 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
724 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
725 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
726 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
727 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
728 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
729 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
730 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
731 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
732 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
733 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
734 "asm_keyword","lang_extdef","@2","extdef","@3","@4","@5","@6","using_decl","any_id",
735 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
736 "template_type_parm","template_template_parm","template_parm","template_def",
737 "datadef","ctor_initializer_opt","maybe_return_init","eat_saved_input","fndef",
738 "constructor_declarator","@8","@9","@10","@11","fn.def1","component_constructor_declarator",
739 "fn.def2","return_id","return_init","base_init",".set_base_init","member_init_list",
740 "member_init","identifier","notype_identifier","identifier_defn","explicit_instantiation",
741 "@12","@13","@14","@15","@16","@17","@18","@19","begin_explicit_instantiation",
742 "end_explicit_instantiation","template_type","self_template_type","template_close_bracket",
743 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
744 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
745 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
746 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
747 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
748 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
749 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
750 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
751 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
752 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
753 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
754 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
755 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
756 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
757 "@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
758 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
759 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
760 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
761 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
762 "component_decl_1","components","notype_components","component_declarator0",
763 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
764 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
765 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
766 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
767 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
768 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
769 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
770 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
771 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
772 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
773 "label_decls","label_decl","compstmt_or_error","compstmt","@30","simple_if",
774 "@31","@32","implicitly_scoped_stmt","@33","stmt","simple_stmt","@34","@35",
775 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","function_try_block",
776 "@48","@49","try_block","@50","@51","handler_seq","handler","@52","@53","type_specifier_seq",
777 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
778 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
779 "complex_parmlist","defarg","@54","defarg1","parms","parms_comma","named_parm",
780 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
781 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
782 };
783 #endif
784
785 static const short yyr1[] = { 0,
786 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
787 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
788 123, 122, 124, 122, 125, 122, 122, 126, 122, 122,
789 127, 127, 127, 128, 128, 128, 128, 129, 129, 131,
790 130, 130, 132, 132, 133, 133, 134, 134, 135, 136,
791 136, 136, 136, 136, 136, 137, 137, 138, 138, 138,
792 138, 138, 138, 138, 138, 138, 139, 139, 140, 140,
793 140, 141, 141, 142, 142, 142, 144, 143, 143, 145,
794 143, 143, 146, 143, 143, 147, 143, 143, 148, 148,
795 148, 148, 148, 149, 149, 149, 149, 150, 150, 150,
796 150, 150, 150, 150, 151, 152, 152, 152, 153, 154,
797 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
798 156, 156, 157, 157, 157, 157, 157, 158, 158, 158,
799 159, 159, 159, 161, 160, 162, 160, 163, 160, 164,
800 160, 165, 160, 166, 160, 167, 160, 168, 160, 169,
801 170, 171, 171, 171, 172, 173, 173, 174, 174, 175,
802 175, 176, 176, 176, 177, 177, 177, 177, 177, 178,
803 178, 179, 179, 180, 180, 181, 181, 181, 183, 182,
804 182, 184, 184, 184, 184, 186, 185, 185, 187, 187,
805 187, 187, 188, 188, 189, 189, 189, 189, 189, 189,
806 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
807 189, 189, 189, 189, 189, 189, 189, 189, 190, 191,
808 192, 192, 193, 193, 193, 193, 194, 194, 195, 195,
809 195, 196, 196, 196, 196, 196, 196, 196, 196, 196,
810 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
811 196, 196, 196, 196, 196, 196, 197, 197, 197, 197,
812 197, 197, 198, 199, 199, 200, 200, 200, 201, 201,
813 201, 202, 202, 202, 202, 203, 203, 204, 204, 204,
814 204, 205, 205, 205, 205, 205, 205, 205, 206, 205,
815 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
816 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
817 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
818 205, 205, 207, 207, 208, 208, 209, 209, 210, 210,
819 211, 212, 212, 213, 213, 213, 213, 213, 213, 214,
820 214, 215, 215, 216, 216, 216, 216, 216, 217, 217,
821 218, 218, 218, 218, 218, 218, 219, 219, 219, 219,
822 219, 220, 220, 220, 220, 220, 220, 221, 221, 221,
823 221, 222, 222, 223, 223, 223, 223, 223, 223, 223,
824 224, 224, 224, 225, 225, 226, 226, 227, 227, 228,
825 228, 230, 229, 229, 232, 231, 231, 233, 234, 236,
826 235, 235, 237, 237, 238, 238, 239, 240, 240, 241,
827 241, 241, 241, 241, 242, 242, 242, 242, 243, 243,
828 244, 244, 245, 245, 245, 245, 245, 246, 246, 246,
829 246, 246, 247, 248, 248, 248, 249, 249, 250, 250,
830 251, 251, 251, 253, 252, 252, 254, 252, 252, 252,
831 252, 252, 255, 256, 252, 252, 257, 257, 258, 258,
832 259, 259, 259, 259, 259, 260, 261, 262, 262, 262,
833 262, 262, 263, 264, 264, 264, 265, 266, 266, 267,
834 267, 267, 268, 268, 269, 269, 270, 270, 270, 270,
835 271, 271, 271, 271, 272, 273, 274, 274, 274, 274,
836 275, 275, 276, 276, 276, 276, 276, 276, 276, 276,
837 276, 276, 277, 277, 277, 277, 277, 277, 277, 277,
838 277, 278, 278, 278, 279, 279, 279, 280, 280, 281,
839 281, 282, 282, 283, 283, 283, 283, 284, 284, 285,
840 285, 285, 286, 286, 287, 287, 288, 288, 288, 289,
841 289, 290, 290, 291, 292, 293, 293, 293, 293, 294,
842 294, 294, 294, 294, 294, 295, 295, 296, 296, 296,
843 297, 298, 298, 298, 298, 298, 298, 299, 299, 299,
844 299, 299, 299, 300, 300, 300, 300, 300, 300, 301,
845 301, 301, 301, 301, 301, 302, 302, 303, 303, 304,
846 304, 305, 305, 305, 306, 306, 306, 307, 307, 307,
847 308, 308, 308, 308, 309, 309, 310, 310, 310, 310,
848 311, 311, 311, 311, 312, 312, 312, 312, 312, 312,
849 313, 314, 314, 314, 315, 315, 316, 317, 317, 317,
850 317, 317, 317, 317, 318, 318, 319, 319, 319, 319,
851 319, 319, 319, 319, 319, 319, 319, 320, 320, 320,
852 320, 320, 320, 320, 320, 320, 320, 320, 321, 321,
853 321, 321, 322, 323, 323, 324, 324, 325, 326, 326,
854 328, 327, 330, 331, 329, 332, 333, 332, 334, 334,
855 335, 335, 336, 335, 335, 337, 338, 335, 339, 340,
856 335, 341, 342, 343, 344, 335, 345, 346, 335, 347,
857 335, 348, 335, 349, 335, 335, 335, 335, 335, 335,
858 335, 335, 335, 335, 335, 335, 335, 335, 335, 351,
859 352, 350, 354, 355, 353, 356, 356, 358, 359, 357,
860 360, 360, 361, 361, 362, 362, 362, 362, 363, 363,
861 363, 364, 364, 365, 365, 365, 366, 366, 367, 367,
862 368, 369, 369, 370, 370, 370, 371, 371, 371, 371,
863 371, 371, 371, 373, 372, 374, 374, 375, 375, 375,
864 375, 375, 376, 376, 377, 377, 377, 377, 377, 377,
865 378, 378, 379, 379, 380, 381, 381, 382, 382, 382,
866 383, 384, 384, 385, 385, 385, 385, 386, 387, 387,
867 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
868 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
869 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
870 387, 387, 387
871 };
872
873 static const short yyr2[] = { 0,
874 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
875 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
876 0, 6, 0, 5, 0, 6, 2, 0, 5, 2,
877 2, 3, 3, 1, 1, 2, 2, 1, 2, 0,
878 5, 3, 1, 3, 1, 0, 2, 2, 3, 1,
879 3, 1, 3, 1, 3, 2, 2, 2, 3, 3,
880 2, 2, 2, 2, 2, 1, 1, 1, 0, 1,
881 2, 0, 1, 4, 3, 3, 0, 8, 5, 0,
882 9, 6, 0, 8, 5, 0, 9, 6, 2, 2,
883 1, 2, 1, 6, 4, 6, 4, 2, 1, 2,
884 2, 1, 2, 1, 2, 2, 4, 2, 3, 0,
885 0, 1, 3, 2, 3, 1, 4, 2, 4, 2,
886 4, 2, 1, 1, 1, 1, 1, 1, 1, 1,
887 1, 1, 1, 0, 6, 0, 6, 0, 5, 0,
888 5, 0, 7, 0, 7, 0, 6, 0, 6, 0,
889 0, 4, 4, 1, 4, 1, 1, 0, 1, 1,
890 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
891 1, 1, 3, 1, 3, 0, 1, 1, 0, 7,
892 1, 1, 3, 4, 3, 0, 3, 1, 3, 3,
893 3, 3, 1, 1, 1, 2, 2, 2, 2, 2,
894 2, 2, 4, 2, 4, 2, 3, 3, 4, 5,
895 6, 6, 7, 2, 4, 5, 2, 2, 1, 0,
896 4, 4, 3, 1, 3, 2, 3, 4, 1, 2,
897 5, 1, 3, 3, 3, 3, 3, 3, 3, 3,
898 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
899 3, 5, 3, 3, 1, 2, 3, 1, 1, 1,
900 1, 1, 0, 5, 5, 5, 5, 5, 1, 1,
901 1, 1, 2, 2, 3, 4, 4, 1, 1, 1,
902 3, 1, 1, 1, 1, 3, 3, 3, 0, 4,
903 4, 2, 4, 2, 2, 1, 4, 1, 7, 7,
904 7, 7, 4, 4, 2, 2, 2, 1, 4, 2,
905 2, 5, 3, 2, 2, 5, 3, 5, 3, 4,
906 6, 2, 1, 2, 1, 2, 1, 1, 1, 2,
907 0, 2, 2, 3, 3, 3, 2, 2, 2, 1,
908 1, 1, 2, 2, 2, 2, 1, 1, 1, 1,
909 2, 2, 3, 3, 3, 4, 1, 2, 2, 2,
910 1, 1, 1, 2, 2, 2, 1, 1, 2, 2,
911 3, 1, 2, 1, 1, 1, 4, 4, 4, 4,
912 1, 1, 1, 1, 3, 1, 3, 1, 3, 0,
913 4, 0, 6, 3, 0, 4, 1, 3, 3, 0,
914 4, 3, 0, 1, 1, 2, 6, 1, 3, 0,
915 1, 4, 6, 4, 1, 1, 1, 1, 1, 3,
916 0, 2, 1, 2, 3, 4, 1, 1, 3, 4,
917 3, 5, 1, 4, 3, 3, 0, 3, 3, 3,
918 0, 2, 2, 0, 7, 4, 0, 6, 3, 2,
919 2, 2, 0, 0, 9, 1, 0, 1, 0, 1,
920 1, 2, 2, 2, 2, 2, 2, 3, 4, 3,
921 2, 3, 0, 1, 3, 2, 2, 1, 1, 0,
922 2, 3, 1, 4, 1, 3, 1, 1, 4, 4,
923 2, 2, 3, 3, 1, 0, 1, 2, 4, 3,
924 1, 2, 2, 2, 2, 2, 2, 2, 1, 2,
925 2, 3, 2, 2, 4, 4, 2, 1, 5, 4,
926 1, 0, 1, 3, 0, 1, 3, 1, 1, 1,
927 1, 4, 4, 4, 4, 4, 3, 4, 4, 4,
928 4, 3, 1, 3, 1, 3, 2, 1, 7, 0,
929 2, 1, 2, 0, 2, 4, 4, 2, 4, 3,
930 3, 2, 2, 3, 1, 1, 2, 1, 1, 2,
931 2, 4, 4, 3, 3, 2, 1, 3, 3, 2,
932 2, 3, 1, 3, 3, 2, 2, 3, 1, 4,
933 3, 4, 3, 1, 2, 2, 2, 2, 2, 1,
934 2, 4, 4, 2, 1, 1, 1, 1, 2, 4,
935 2, 2, 2, 2, 1, 2, 2, 2, 2, 3,
936 1, 2, 3, 4, 2, 2, 2, 2, 2, 2,
937 4, 2, 1, 2, 2, 3, 1, 3, 2, 3,
938 2, 2, 3, 1, 3, 4, 3, 2, 2, 1,
939 3, 2, 2, 1, 2, 3, 1, 3, 1, 6,
940 4, 4, 3, 5, 3, 3, 3, 2, 1, 1,
941 2, 2, 2, 0, 1, 1, 2, 3, 1, 2,
942 0, 3, 0, 0, 5, 1, 0, 2, 1, 1,
943 1, 2, 0, 4, 1, 0, 0, 5, 0, 0,
944 7, 0, 0, 0, 0, 12, 0, 0, 7, 0,
945 5, 0, 7, 0, 4, 2, 2, 2, 3, 6,
946 8, 10, 12, 4, 3, 2, 2, 1, 1, 0,
947 0, 6, 0, 0, 5, 1, 2, 0, 0, 5,
948 1, 1, 3, 3, 2, 2, 2, 2, 2, 1,
949 2, 0, 1, 0, 1, 1, 0, 1, 1, 3,
950 4, 1, 3, 0, 1, 1, 1, 2, 2, 2,
951 1, 2, 2, 0, 3, 1, 1, 1, 2, 2,
952 2, 4, 2, 2, 2, 2, 2, 2, 1, 2,
953 1, 2, 1, 1, 0, 0, 1, 0, 4, 2,
954 1, 1, 3, 0, 3, 3, 3, 1, 2, 2,
955 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
956 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
957 2, 3, 2, 2, 2, 2, 3, 2, 2, 4,
958 4, 3, 2
959 };
960
961 static const short yydefact[] = { 3,
962 12, 12, 5, 0, 4, 0, 260, 605, 606, 0,
963 363, 375, 552, 0, 11, 0, 0, 0, 10, 461,
964 808, 0, 0, 0, 150, 637, 261, 262, 66, 0,
965 0, 795, 0, 38, 0, 0, 13, 0, 8, 0,
966 16, 15, 72, 93, 69, 0, 607, 154, 279, 258,
967 280, 583, 0, 350, 0, 349, 368, 0, 388, 367,
968 405, 374, 0, 474, 473, 480, 479, 478, 456, 362,
969 568, 376, 569, 91, 278, 594, 566, 0, 608, 550,
970 0, 0, 259, 64, 65, 158, 611, 158, 612, 158,
971 263, 150, 123, 124, 125, 126, 127, 447, 450, 0,
972 633, 0, 451, 0, 0, 0, 0, 124, 125, 126,
973 127, 23, 0, 0, 0, 0, 0, 0, 0, 452,
974 615, 0, 621, 0, 0, 0, 28, 0, 0, 31,
975 0, 0, 40, 0, 158, 613, 0, 0, 581, 0,
976 0, 0, 580, 0, 0, 0, 0, 279, 0, 554,
977 0, 278, 550, 30, 0, 27, 3, 39, 0, 57,
978 56, 73, 14, 0, 403, 0, 0, 421, 70, 62,
979 614, 554, 0, 550, 63, 0, 0, 0, 89, 0,
980 384, 340, 565, 341, 577, 0, 550, 365, 364, 61,
981 92, 351, 0, 386, 366, 90, 357, 381, 382, 352,
982 370, 372, 361, 383, 0, 58, 406, 462, 463, 464,
983 465, 477, 132, 131, 133, 466, 467, 471, 0, 0,
984 480, 795, 476, 495, 496, 553, 369, 0, 400, 606,
985 0, 635, 154, 598, 599, 595, 571, 609, 0, 570,
986 567, 0, 843, 839, 838, 836, 818, 823, 824, 0,
987 830, 829, 815, 816, 814, 833, 822, 819, 820, 821,
988 825, 826, 812, 813, 809, 810, 811, 835, 827, 828,
989 817, 834, 0, 831, 741, 368, 742, 804, 263, 260,
990 552, 283, 329, 0, 0, 0, 0, 325, 323, 296,
991 327, 328, 0, 0, 0, 0, 0, 261, 262, 255,
992 0, 0, 166, 165, 0, 167, 168, 0, 0, 169,
993 0, 0, 159, 160, 0, 229, 0, 232, 164, 282,
994 195, 0, 0, 284, 285, 0, 162, 347, 368, 348,
995 600, 308, 298, 0, 0, 0, 0, 158, 0, 449,
996 0, 444, 0, 634, 632, 0, 170, 171, 0, 0,
997 0, 410, 3, 21, 25, 629, 625, 626, 628, 630,
998 627, 123, 124, 125, 0, 126, 127, 617, 618, 622,
999 619, 616, 0, 270, 271, 269, 597, 596, 33, 32,
1000 42, 0, 363, 140, 0, 0, 368, 138, 0, 0,
1001 579, 0, 578, 257, 274, 0, 587, 273, 0, 586,
1002 0, 281, 591, 0, 0, 12, 0, 150, 9, 9,
1003 0, 402, 404, 105, 76, 110, 730, 0, 68, 67,
1004 75, 108, 0, 0, 106, 71, 593, 0, 0, 558,
1005 0, 798, 0, 563, 0, 562, 0, 0, 0, 0,
1006 550, 403, 0, 60, 554, 550, 576, 0, 354, 355,
1007 0, 59, 403, 359, 358, 360, 353, 373, 390, 389,
1008 468, 472, 470, 0, 475, 481, 0, 0, 371, 403,
1009 550, 77, 0, 0, 0, 0, 550, 83, 551, 582,
1010 606, 636, 154, 0, 0, 832, 837, 370, 550, 550,
1011 0, 550, 842, 158, 0, 0, 0, 202, 0, 0,
1012 204, 217, 218, 0, 0, 0, 0, 0, 256, 201,
1013 198, 197, 199, 0, 0, 0, 0, 0, 282, 0,
1014 0, 0, 196, 156, 157, 276, 0, 200, 0, 0,
1015 230, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1017 0, 0, 0, 292, 294, 295, 333, 332, 0, 0,
1018 220, 220, 0, 206, 548, 0, 214, 330, 322, 0,
1019 0, 795, 311, 314, 315, 0, 0, 342, 654, 650,
1020 659, 0, 554, 550, 550, 550, 344, 657, 0, 604,
1021 346, 0, 0, 345, 310, 0, 305, 324, 306, 326,
1022 601, 0, 307, 153, 155, 0, 148, 0, 368, 146,
1023 545, 459, 543, 446, 0, 0, 377, 0, 0, 378,
1024 379, 380, 416, 417, 418, 415, 0, 408, 411, 0,
1025 3, 0, 620, 158, 623, 0, 34, 35, 0, 46,
1026 0, 0, 0, 50, 54, 43, 794, 789, 0, 347,
1027 368, 46, 348, 793, 52, 151, 136, 134, 151, 152,
1028 277, 585, 584, 281, 588, 0, 18, 20, 72, 0,
1029 111, 331, 0, 681, 74, 679, 427, 0, 423, 422,
1030 194, 0, 193, 555, 592, 0, 771, 0, 766, 368,
1031 0, 765, 767, 796, 778, 0, 0, 590, 561, 560,
1032 0, 0, 575, 0, 398, 397, 385, 574, 0, 798,
1033 564, 356, 387, 399, 403, 469, 605, 606, 795, 0,
1034 795, 607, 482, 483, 485, 795, 488, 487, 0, 518,
1035 606, 0, 509, 0, 0, 521, 0, 104, 99, 0,
1036 154, 522, 525, 0, 501, 0, 102, 0, 403, 401,
1037 798, 764, 158, 158, 610, 158, 798, 764, 550, 80,
1038 550, 86, 841, 840, 804, 804, 804, 0, 0, 0,
1039 0, 604, 0, 0, 0, 0, 368, 0, 0, 0,
1040 288, 0, 286, 287, 0, 227, 161, 260, 605, 606,
1041 261, 262, 0, 0, 428, 457, 0, 254, 253, 756,
1042 755, 0, 251, 250, 248, 249, 247, 246, 245, 242,
1043 243, 244, 240, 241, 235, 236, 237, 238, 239, 233,
1044 234, 0, 0, 0, 0, 220, 208, 224, 0, 0,
1045 207, 550, 550, 0, 550, 547, 644, 0, 0, 0,
1046 0, 0, 313, 0, 317, 0, 319, 0, 653, 652,
1047 649, 648, 794, 0, 0, 668, 0, 0, 798, 343,
1048 798, 655, 550, 764, 554, 654, 650, 0, 0, 550,
1049 0, 0, 0, 0, 0, 264, 151, 144, 142, 151,
1050 0, 460, 0, 459, 192, 191, 190, 189, 410, 0,
1051 0, 24, 0, 0, 624, 0, 29, 37, 36, 48,
1052 45, 46, 0, 41, 0, 0, 654, 650, 0, 785,
1053 550, 788, 790, 0, 786, 787, 47, 466, 0, 141,
1054 151, 151, 139, 17, 19, 391, 128, 116, 129, 130,
1055 0, 109, 112, 0, 0, 0, 0, 680, 674, 424,
1056 0, 107, 559, 556, 770, 784, 773, 0, 557, 769,
1057 783, 772, 768, 797, 780, 791, 781, 774, 779, 800,
1058 0, 395, 573, 572, 394, 492, 0, 491, 795, 795,
1059 795, 0, 550, 764, 517, 510, 522, 511, 403, 403,
1060 507, 508, 505, 506, 550, 764, 260, 605, 0, 390,
1061 100, 513, 523, 528, 529, 390, 390, 0, 0, 390,
1062 98, 514, 526, 390, 502, 503, 504, 403, 0, 453,
1063 79, 0, 0, 0, 0, 85, 0, 798, 764, 798,
1064 764, 806, 805, 807, 265, 297, 203, 205, 303, 304,
1065 0, 0, 0, 0, 287, 290, 0, 0, 0, 0,
1066 228, 0, 291, 293, 0, 0, 0, 0, 209, 226,
1067 0, 0, 641, 639, 0, 642, 554, 215, 0, 0,
1068 158, 320, 0, 0, 0, 651, 647, 658, 550, 667,
1069 665, 666, 656, 798, 0, 663, 0, 602, 603, 0,
1070 309, 149, 151, 151, 147, 546, 544, 448, 0, 409,
1071 407, 260, 0, 22, 26, 631, 49, 44, 51, 55,
1072 653, 649, 654, 650, 0, 566, 0, 550, 655, 53,
1073 137, 135, 0, 114, 0, 118, 0, 120, 0, 122,
1074 0, 731, 0, 182, 682, 0, 675, 676, 0, 425,
1075 654, 650, 0, 282, 0, 600, 792, 0, 0, 801,
1076 802, 0, 0, 392, 0, 0, 0, 494, 493, 486,
1077 798, 0, 512, 421, 421, 798, 0, 0, 0, 403,
1078 403, 0, 403, 403, 0, 403, 0, 421, 0, 441,
1079 550, 267, 266, 268, 550, 82, 0, 88, 0, 0,
1080 0, 0, 0, 0, 431, 0, 429, 231, 252, 222,
1081 221, 219, 210, 0, 223, 225, 640, 638, 645, 643,
1082 0, 216, 0, 0, 312, 316, 318, 798, 661, 550,
1083 662, 145, 143, 445, 0, 412, 414, 653, 649, 571,
1084 655, 115, 113, 0, 0, 0, 0, 419, 0, 0,
1085 260, 605, 606, 683, 696, 699, 702, 707, 0, 0,
1086 0, 0, 0, 0, 261, 728, 733, 0, 752, 0,
1087 691, 0, 0, 368, 0, 670, 689, 695, 669, 690,
1088 729, 0, 677, 426, 0, 603, 782, 776, 777, 775,
1089 0, 799, 396, 0, 489, 490, 484, 95, 550, 516,
1090 520, 97, 550, 403, 403, 537, 421, 260, 605, 0,
1091 524, 530, 531, 390, 390, 421, 421, 0, 421, 527,
1092 515, 0, 798, 798, 550, 550, 0, 0, 0, 0,
1093 430, 0, 0, 211, 212, 646, 321, 266, 664, 798,
1094 0, 117, 119, 121, 738, 732, 736, 0, 678, 673,
1095 185, 745, 747, 748, 0, 0, 687, 0, 0, 0,
1096 714, 716, 717, 718, 0, 0, 0, 746, 0, 339,
1097 753, 0, 692, 337, 390, 0, 338, 0, 390, 0,
1098 0, 0, 183, 672, 671, 693, 727, 726, 287, 803,
1099 393, 798, 798, 536, 533, 535, 0, 0, 403, 403,
1100 403, 532, 534, 519, 443, 0, 442, 437, 78, 84,
1101 798, 798, 299, 300, 301, 302, 432, 0, 213, 660,
1102 413, 0, 737, 420, 174, 0, 684, 697, 686, 0,
1103 0, 0, 0, 0, 710, 0, 719, 0, 725, 734,
1104 0, 335, 336, 0, 0, 0, 334, 184, 687, 94,
1105 96, 403, 403, 542, 421, 421, 0, 0, 455, 81,
1106 87, 549, 0, 739, 181, 0, 368, 0, 687, 0,
1107 700, 688, 674, 750, 703, 0, 0, 0, 0, 715,
1108 724, 0, 0, 694, 541, 539, 538, 540, 440, 439,
1109 433, 69, 72, 0, 0, 0, 175, 390, 685, 186,
1110 698, 188, 0, 751, 0, 749, 708, 712, 711, 735,
1111 757, 0, 0, 438, 743, 744, 740, 403, 674, 172,
1112 0, 0, 178, 0, 177, 687, 0, 0, 0, 758,
1113 759, 720, 436, 0, 435, 0, 187, 0, 701, 704,
1114 709, 713, 0, 757, 0, 0, 434, 179, 173, 0,
1115 0, 0, 721, 760, 0, 0, 761, 0, 0, 180,
1116 705, 762, 0, 722, 0, 0, 0, 706, 763, 723,
1117 0, 0, 0
1118 };
1119
1120 static const short yydefgoto[] = { 1551,
1121 406, 2, 407, 159, 668, 311, 164, 3, 4, 37,
1122 631, 353, 632, 373, 736, 636, 39, 737, 382, 643,
1123 900, 644, 645, 646, 41, 42, 418, 167, 163, 43,
1124 738, 752, 1019, 758, 1021, 45, 739, 740, 168, 169,
1125 419, 671, 932, 933, 611, 934, 217, 46, 922, 921,
1126 659, 656, 1084, 1083, 880, 877, 134, 920, 47, 48,
1127 526, 312, 313, 314, 315, 1250, 1502, 1407, 1504, 1446,
1128 1535, 1125, 1481, 1499, 347, 869, 316, 1193, 824, 563,
1129 831, 317, 318, 348, 320, 338, 50, 235, 637, 395,
1130 51, 52, 321, 521, 322, 323, 324, 325, 420, 326,
1131 1251, 459, 585, 327, 1252, 54, 200, 649, 328, 201,
1132 499, 202, 180, 193, 58, 442, 460, 1274, 705, 1143,
1133 181, 194, 59, 470, 706, 60, 61, 627, 628, 629,
1134 1229, 425, 795, 796, 1472, 1473, 1439, 1387, 1302, 62,
1135 615, 341, 1170, 1388, 1040, 883, 63, 64, 65, 66,
1136 221, 67, 68, 69, 223, 723, 724, 725, 726, 225,
1137 467, 468, 744, 745, 746, 992, 1002, 993, 1291, 994,
1138 995, 1292, 1293, 612, 613, 564, 859, 330, 428, 429,
1139 174, 182, 71, 72, 73, 183, 184, 151, 75, 130,
1140 331, 332, 333, 77, 334, 79, 728, 121, 122, 123,
1141 475, 103, 80, 335, 836, 837, 854, 588, 1255, 1256,
1142 1126, 1127, 1128, 675, 1257, 939, 1258, 1335, 1449, 1410,
1143 1411, 1259, 1260, 1429, 1336, 1450, 1337, 1483, 1338, 1485,
1144 1530, 1545, 1339, 1506, 1459, 1507, 1416, 421, 672, 1227,
1145 1261, 1349, 1462, 1326, 1327, 1402, 1476, 1448, 1444, 1262,
1146 1455, 1352, 802, 1509, 1510, 1511, 1543, 691, 692, 959,
1147 1139, 1270, 693, 694, 695, 955, 696, 144, 957, 698,
1148 1141, 1142, 493, 82, 83
1149 };
1150
1151 static const short yypact[] = { 114,
1152 125,-32768,-32768, 2470,-32768, 50, 74, 73, 162, 105,
1153 159,-32768,-32768, 1050,-32768, 128, 138, 152,-32768,-32768,
1154 -32768, 578, 421, 1349, 194,-32768, 225, 279,-32768, 1311,
1155 1311,-32768, 4719,-32768, 2470, 229,-32768, 289, 145, 4239,
1156 -32768,-32768, 249, 852, 327, 310, 378,-32768,-32768,-32768,
1157 -32768, 364, 2909,-32768, 4394,-32768, 1146, 337,-32768, 415,
1158 -32768,-32768, 1181,-32768,-32768, 408,-32768,-32768, 414, 3821,
1159 -32768,-32768,-32768, 877,-32768,-32768,-32768, 1978,-32768,-32768,
1160 501, 5668, 420,-32768,-32768, 9077,-32768, 9077,-32768, 9077,
1161 -32768,-32768,-32768, 73, 162, 225, 461, 411, 466, 378,
1162 -32768, 639,-32768, 501, 9163, 9163, 442,-32768,-32768,-32768,
1163 -32768,-32768, 182, 502, 406, 413, 417, 515, 523,-32768,
1164 -32768, 1287,-32768, 713, 73, 162,-32768, 225, 461,-32768,
1165 244, 132, 509, 10475, 9077,-32768, 9077, 3437,-32768, 2140,
1166 759, 3437,-32768, 820, 3753, 3753, 4719, 547, 601, 537,
1167 626, 630,-32768,-32768, 702,-32768, 620,-32768, 5570, 50,
1168 -32768,-32768,-32768, 652, 415, 755, 102, 295, 708,-32768,
1169 -32768, 655, 291,-32768,-32768, 4297, 4297, 5233, 877, 438,
1170 -32768,-32768, 439,-32768,-32768, 2354,-32768,-32768,-32768,-32768,
1171 -32768, 1146, 535,-32768, 415, 877,-32768,-32768,-32768, 1736,
1172 1146,-32768, 415,-32768, 5335,-32768,-32768,-32768,-32768,-32768,
1173 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 378, 1318, 1067,
1174 408,-32768,-32768,-32768,-32768,-32768, 1479, 501,-32768, 765,
1175 1631,-32768, 330,-32768,-32768,-32768,-32768,-32768, 4702,-32768,
1176 -32768, 561,-32768, 679, 682,-32768,-32768,-32768,-32768, 736,
1177 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1178 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1179 -32768,-32768, 689,-32768,-32768, 1479, 3821, 484,-32768,-32768,
1180 718,-32768,-32768, 9771, 9857, 9943, 9943,-32768,-32768,-32768,
1181 -32768,-32768, 734, 732, 756, 760, 763, 1068, 461, 9249,
1182 820, 9943,-32768,-32768, 9943,-32768,-32768, 9943, 7220,-32768,
1183 9943, 354, 774,-32768, 9943,-32768, 9335,-32768, 3505,-32768,
1184 1776, 1728, 9421,-32768, 832, 2181,-32768, 837, 1504, 3646,
1185 -32768, 343,-32768, 1830, 2744, 354, 354, 9077, 10475,-32768,
1186 820, 741, 820,-32768,-32768, 748, 800, 10588, 758, 764,
1187 779, 1329, 620,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1188 -32768, 502, 406, 413, 820, 417, 515, 789, 523,-32768,
1189 813,-32768, 1191, 73, 162,-32768,-32768,-32768,-32768,-32768,
1190 -32768, 3075,-32768,-32768, 5335, 4912, 1512,-32768, 354, 475,
1191 -32768, 680,-32768,-32768,-32768, 3437,-32768,-32768, 3437,-32768,
1192 795,-32768,-32768, 4702, 84, 769, 773,-32768,-32768,-32768,
1193 702,-32768, 415,-32768,-32768,-32768,-32768, 98,-32768,-32768,
1194 -32768,-32768, 7311, 9249,-32768,-32768,-32768, 9249, 807,-32768,
1195 6574, 96, 4853,-32768, 4853,-32768, 5170, 5170, 5233, 798,
1196 -32768, 415, 5335,-32768, 808,-32768,-32768, 5292, 1736, 1146,
1197 5335,-32768, 415,-32768,-32768, 415, 1736,-32768, 893,-32768,
1198 -32768, 378,-32768, 1318,-32768, 1168, 3149, 76, 1479, 415,
1199 -32768,-32768, 849, 850, 881, 872,-32768,-32768,-32768,-32768,
1200 957,-32768, 402, 841, 843,-32768,-32768, 1479,-32768,-32768,
1201 788,-32768,-32768, 9077, 9249, 718, 7220,-32768, 419, 7220,
1202 -32768,-32768,-32768, 9163, 4788, 4788, 4788, 4788, 10633,-32768,
1203 -32768,-32768,-32768, 835, 10029, 10029, 7220, 848, 547, 857,
1204 913, 866,-32768,-32768,-32768,-32768, 9077,-32768, 6850, 7220,
1205 -32768, 9249, 9249, 7402, 9249, 9249, 9249, 9249, 9249, 9249,
1206 9249, 9249, 9249, 9249, 9249, 9249, 9249, 9249, 9249, 9249,
1207 9249, 9249, 9249,-32768,-32768,-32768,-32768,-32768, 9249, 9249,
1208 -32768,-32768, 2706, 300, 306, 8034,-32768,-32768,-32768, 919,
1209 1631, 968, 437, 482, 500, 2590, 759,-32768, 2235, 2235,
1210 -32768, 5102, 873, 897, 945,-32768,-32768, 474, 8532, 611,
1211 -32768, 805, 501,-32768,-32768, 9249,-32768,-32768,-32768,-32768,
1212 -32768, 536, 420,-32768,-32768, 354,-32768, 5335, 1783,-32768,
1213 927, 947,-32768,-32768, 820, 789,-32768, 7766, 7857,-32768,
1214 -32768,-32768,-32768,-32768,-32768,-32768, 171,-32768, 925, 903,
1215 620, 1191, 971, 9077,-32768, 975,-32768,-32768, 132, 1060,
1216 194, 1000, 554, 977, 979,-32768,-32768, 3341, 10530, 3341,
1217 2926, 1181, 10183,-32768, 988,-32768,-32768,-32768,-32768,-32768,
1218 -32768,-32768,-32768, 961,-32768, 996,-32768,-32768, 249, 85,
1219 220, 1012, 913,-32768,-32768,-32768,-32768, 6756, 10633,-32768,
1220 800, 967, 10588,-32768,-32768, 980,-32768, 982, 607, 10238,
1221 983,-32768, 339, 10293, 1028, 1034, 544,-32768,-32768,-32768,
1222 4853, 4853,-32768, 5292,-32768, 1035,-32768,-32768, 1017, 96,
1223 -32768, 1736,-32768,-32768, 415,-32768, 406, 413,-32768, 1009,
1224 -32768, 523, 1071,-32768,-32768, 109,-32768,-32768, 1249,-32768,
1225 1203, 646,-32768, 9249, 5439,-32768, 5439, 118, 118, 147,
1226 567, 3161, 10348, 4027,-32768, 175, 118, 1047, 415,-32768,
1227 96, 3248, 9077, 9077,-32768, 9077, 96, 3248,-32768,-32768,
1228 -32768,-32768,-32768,-32768, 929, 929, 929, 354, 1023, 1024,
1229 9513, 945, 1029, 1033, 1042, 1077, 1958, 1082, 1083, 1089,
1230 -32768, 1061,-32768,-32768, 1062,-32768,-32768, 1106, 66, 728,
1231 514, 61, 9249, 1116,-32768, 1122, 1075, 10633, 10633,-32768,
1232 -32768, 1130, 10651, 10668, 8059, 5858, 2827, 3939, 3326, 2091,
1233 2091, 2091, 1772, 1772, 1402, 1402, 555, 555, 555,-32768,
1234 -32768, 1085, 1090, 9249, 9163,-32768, 300,-32768, 7311, 9249,
1235 -32768,-32768,-32768, 9249,-32768,-32768, 1113, 9943, 1101, 1112,
1236 1139, 1169,-32768, 9249,-32768, 9249,-32768, 9249, 2374,-32768,
1237 2374,-32768, 92, 1110, 1111,-32768, 1117, 4788, 96,-32768,
1238 96, 2651,-32768, 3248, 1119, 8716, 8716, 6386, 1115, 9335,
1239 1123, 2787, 2744, 865, 1126,-32768,-32768,-32768,-32768,-32768,
1240 9249, 820, 1127, 947,-32768, 10633,-32768, 10633, 1329, 1132,
1241 9599,-32768, 1137, 1196,-32768, 354,-32768,-32768,-32768,-32768,
1242 -32768, 1304, 3075,-32768, 4788, 9077, 1586, 1586, 6190,-32768,
1243 -32768,-32768,-32768, 2354,-32768,-32768,-32768, 180, 9249,-32768,
1244 -32768,-32768,-32768,-32768,-32768,-32768, 502,-32768, 417, 515,
1245 9249, 1182,-32768, 569, 599, 605, 913,-32768, 99,-32768,
1246 142,-32768,-32768,-32768,-32768,-32768,-32768, 8624,-32768,-32768,
1247 -32768,-32768,-32768,-32768,-32768, 1034, 1197,-32768,-32768,-32768,
1248 4788,-32768,-32768,-32768, 1200,-32768, 9163,-32768,-32768,-32768,
1249 -32768, 991,-32768, 3248, 10633,-32768, 2037,-32768, 415, 415,
1250 -32768,-32768,-32768,-32768,-32768, 3248, 550, 729, 9249, 893,
1251 -32768, 1201,-32768,-32768,-32768, 245, 356, 1978, 759, 770,
1252 118, 1212,-32768, 793,-32768,-32768,-32768, 415, 5043,-32768,
1253 -32768, 1166, 354, 354, 354,-32768, 1167, 96, 3248, 96,
1254 3248,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1255 1185, 1190, 1194, 1208, 961,-32768, 5881, 7311, 6944, 1180,
1256 -32768, 9249,-32768,-32768, 1195, 1186, 1202, 4788,-32768,-32768,
1257 1210, 261, 944, 944, 1192, 944,-32768,-32768, 9943, 1316,
1258 9077,-32768, 1233, 1237, 1238,-32768,-32768,-32768,-32768,-32768,
1259 -32768,-32768,-32768, 96, 1239,-32768, 1244,-32768,-32768, 2981,
1260 -32768,-32768,-32768,-32768,-32768, 10633,-32768,-32768, 1254,-32768,
1261 -32768, 228, 1240,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1262 1836, 1836, 2583, 2583, 6190,-32768, 2354,-32768, 3409, 3505,
1263 -32768,-32768, 1262,-32768, 220,-32768, 9249,-32768, 9249,-32768,
1264 9249,-32768, 820,-32768,-32768, 6293, 1338,-32768, 7035,-32768,
1265 8808, 8808, 6480, 144, 1264, 250,-32768, 7311, 7126,-32768,
1266 -32768, 237, 7311,-32768, 1270, 1271, 1168,-32768,-32768,-32768,
1267 96, 1272,-32768, 1319, 1319, 96, 1274, 9249, 9249, 3473,
1268 415, 4121, 415, 415, 1003, 415, 4251, 1319, 5834,-32768,
1269 -32768,-32768, 1330,-32768,-32768,-32768, 1279,-32768, 1280, 9249,
1270 9249, 9249, 9249, 7311,-32768, 1327,-32768,-32768, 10633,-32768,
1271 -32768,-32768, 168, 1202,-32768,-32768,-32768,-32768,-32768,-32768,
1272 1283,-32768, 1343, 354,-32768,-32768,-32768, 96,-32768,-32768,
1273 -32768,-32768,-32768,-32768, 9249,-32768,-32768, 1836, 1836,-32768,
1274 3409,-32768,-32768, 1288, 1289, 1293, 1299,-32768, 648, 252,
1275 1348, 885, 948,-32768,-32768,-32768,-32768,-32768, 9249, 1353,
1276 1357, 1364, 8900, 209, 617,-32768,-32768, 8991, 1416, 1367,
1277 -32768, 4539, 10416, 4522, 6097,-32768,-32768, 1417,-32768,-32768,
1278 -32768, 8143,-32768,-32768, 1336, 375,-32768,-32768,-32768,-32768,
1279 4788,-32768,-32768, 7311,-32768,-32768,-32768,-32768,-32768,-32768,
1280 -32768,-32768,-32768, 3473, 3473,-32768, 1319, 649, 1072, 9249,
1281 -32768,-32768,-32768, 893, 893, 1319, 1319, 957, 1319,-32768,
1282 -32768, 5982, 96, 96,-32768,-32768, 1337, 1340, 1345, 1346,
1283 -32768, 7311, 9249,-32768, 168,-32768,-32768,-32768,-32768, 96,
1284 1350,-32768,-32768,-32768,-32768, 1299,-32768, 820,-32768,-32768,
1285 -32768,-32768,-32768,-32768, 621, 621, 913, 1342, 1344, 10562,
1286 -32768,-32768,-32768,-32768, 1378, 9249, 1399,-32768, 913,-32768,
1287 -32768, 1368,-32768,-32768, 893, 697,-32768, 726, 893, 9685,
1288 745, 256,-32768,-32768,-32768,-32768,-32768,-32768, 348,-32768,
1289 -32768, 96, 96,-32768,-32768,-32768, 9249, 9249, 3473, 415,
1290 415,-32768,-32768,-32768,-32768, 7948,-32768,-32768,-32768,-32768,
1291 96, 96,-32768,-32768,-32768,-32768,-32768, 1351,-32768,-32768,
1292 -32768, 1370,-32768,-32768,-32768, 9163,-32768,-32768,-32768, 1447,
1293 8439, 6665, 9163, 9249,-32768, 8251,-32768, 1407,-32768,-32768,
1294 702,-32768,-32768, 10115, 10115, 7493,-32768,-32768, 913,-32768,
1295 -32768, 3473, 3473,-32768, 1319, 1319, 1365, 5717, 1374,-32768,
1296 -32768,-32768, 3945,-32768,-32768, 1371, 508, 5335, 913, 8345,
1297 -32768,-32768, 99,-32768,-32768, 1413, 1372, 10611, 8251,-32768,
1298 -32768, 1299, 82,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1299 -32768, 327, 249, 1383, 1386, 913,-32768, 893,-32768,-32768,
1300 -32768,-32768, 627,-32768, 7584,-32768,-32768,-32768,-32768, 1299,
1301 1464, 1418, 107,-32768,-32768,-32768,-32768, 415, 99,-32768,
1302 9249, 1435,-32768, 1438,-32768, 913, 8251, 1408, 546, 1457,
1303 -32768,-32768,-32768, 98,-32768, 1412,-32768, 1414,-32768,-32768,
1304 -32768,-32768, 9249, 1464, 1463, 1464,-32768,-32768,-32768, 7675,
1305 1419, 635,-32768,-32768, 7311, 1420,-32768, 1518, 1473,-32768,
1306 -32768,-32768, 266,-32768, 8345, 1523, 1482,-32768,-32768,-32768,
1307 1539, 1545,-32768
1308 };
1309
1310 static const short yypgoto[] = {-32768,
1311 1546,-32768, -301,-32768, 1140, 18, 10, 1552,-32768, 424,
1312 -32768,-32768,-32768,-32768, 706, 924,-32768, 39,-32768,-32768,
1313 -598,-32768,-32768, 656,-32768, 1403, -671, 93, -659, 1405,
1314 36,-32768,-32768,-32768,-32768,-32768, 823,-32768,-32768,-32768,
1315 -32768,-32768,-32768, 454, 1716,-32768,-32768,-32768,-32768,-32768,
1316 -32768,-32768,-32768,-32768,-32768,-32768, 1483, -602, 5237, 64,
1317 72, -29, 1434, -486,-32768, -87,-32768, 240,-32768, -1287,
1318 -32768, -764, 32,-32768, 1450, 869, -255, 384, -495,-32768,
1319 -801, 2226, 664, 1073, 3480, 1301, -310, -63, -68, 110,
1320 -18, 16,-32768,-32768,-32768, -311,-32768, -151,-32768,-32768,
1321 -1179, -48, -322, 2919, 52, 780, -111, 40, 94, -179,
1322 -4, -167, -847, 328,-32768, 33, -233,-32768, -199,-32768,
1323 -32768,-32768,-32768,-32768, -82, 1885, -28,-32768, 693,-32768,
1324 -32768, -788, -417, 905,-32768,-32768,-32768,-32768,-32768, 123,
1325 -32768,-32768,-32768,-32768,-32768, 703, -361,-32768,-32768,-32768,
1326 -32768,-32768,-32768,-32768, 1375,-32768, 441, 631,-32768,-32768,
1327 -32768,-32768, 584, -626,-32768,-32768,-32768,-32768,-32768,-32768,
1328 856,-32768, 440, 989, 746, 1066, 3207, 7, 21, -425,
1329 1448, 1718, -454,-32768, 13,-32768, 4610, -143, 226, -93,
1330 3765, 1312,-32768, 4552, 1671, 575, -15, -101,-32768, 1508,
1331 -67,-32768, 4113, 2619, -164,-32768, 4175,-32768,-32768, 386,
1332 -32768,-32768, 518, 133, -409,-32768,-32768,-32768,-32768, -1310,
1333 -32768, -1190, -1326,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1334 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 153,-32768,-32768,
1335 -32768,-32768,-32768, 187, -1256,-32768,-32768, -36,-32768,-32768,
1336 -32768,-32768, -1324, 129,-32768, 131,-32768, -571, -554, 698,
1337 -32768,-32768,-32768,-32768, -367,-32768, -366, -122,-32768, 998,
1338 387,-32768, -85,-32768, -214
1339 };
1340
1341
1342 #define YYLAST 10752
1343
1344
1345 static const short yytable[] = { 57,
1346 937, 397, 400, 405, 179, 680, 590, 120, 676, 925,
1347 70, 727, 450, 36, 654, 655, 476, 346, 350, 709,
1348 652, 35, 372, 600, 599, 1049, 101, 855, 498, 501,
1349 57, 207, 455, 458, 855, 57, 138, 142, 380, 44,
1350 787, 70, 40, 55, 36, 278, 70, 469, 150, 36,
1351 192, 630, 35, 917, 371, 53, 923, 35, 336, 236,
1352 337, 531, 378, 379, 1365, 227, 825, 377, 1350, 1403,
1353 44, 1368, 173, 40, 55, 44, 165, 276, 40, 55,
1354 449, 329, 412, 329, 1452, 329, 53, 1456, 277, 457,
1355 191, 53, 568, 240, 568, 568, 488, 56, 673, 466,
1356 329, 329, 415, 945, 479, 389, 229, 1513, 976, 84,
1357 978, 785, 748, -1, 136, 970, 344, 1005, 1464, 87,
1358 603, 236, -127, 1482, -2, 1457, 87, -124, 56, 387,
1359 329, 1123, 329, 56, 280, 374, 375, 10, 1479, 88,
1360 70, 233, 149, 1491, 15, 971, 88, 86, -390, 488,
1361 946, 396, 399, 947, 57, 674, 697, 857, 85, -331,
1362 150, 150, 150, 416, -331, 70, 207, 236, 416, 384,
1363 173, 981, 21, 386, 207, 275, 772, -390, 91, 204,
1364 1012, -390, 433, 435, 749, 385, 1017, 27, 299, 1492,
1365 -279, 666, 926, 150, 44, 1521, 417, 1505, 55, 786,
1366 1129, 417, 157, 173, 982, 1536, 92, 1124, 983, 707,
1367 53, 93, 108, 109, 828, 89, 935, 713, 1482, 32,
1368 105, 518, 927, 717, 718, 1460, -390, 56, 453, 889,
1369 106, 829, 1454, 1403, 1006, 90, -279, -279, -45, 354,
1370 240, 984, 158, -45, 107, 355, 280, 374, 375, 10,
1371 1130, -272, 56, 714, -45, 398, 401, 574, 152, 670,
1372 830, 1313, 573, 938, 110, 111, 928, 133, 1489, -340,
1373 750, 15, 227, 26, 1082, 929, 930, 1085, 890, 638,
1374 902, 455, 458, 1007, 21, 565, 1215, 149, 1346, 455,
1375 600, 231, 1075, 397, 400, 1271, -594, 633, 135, 27,
1376 299, 458, -340, 1097, 329, 483, -340, 578, 606, 125,
1377 126, 1330, 931, 855, 204, 1330, 1522, 276, 1111, 1112,
1378 458, 155, 204, 204, 1546, 227, 654, 956, 277, 893,
1379 1048, 32, 136, 329, 609, 1216, 657, 430, 712, -340,
1380 684, 422, -594, -594, 1272, 70, 828, 240, 156, 204,
1381 950, 166, 137, 771, 855, 162, 476, -594, 423, 26,
1382 1331, 128, 129, 829, 1428, 1280, 1281, 590, 1196, 170,
1383 152, 152, 152, 1547, 607, 832, 477, 651, 386, 1301,
1384 -341, 192, 15, 431, 207, 833, -281, 424, 653, 595,
1385 608, 1314, 830, 855, -281, 205, 206, 951, 204, 834,
1386 952, -281, 1152, 152, 1356, -281, 1361, 604, 605, 518,
1387 -554, 1050, 518, -341, 1157, 275, 774, -341, 520, 1100,
1388 642, -281, 478, 114, 115, 116, 690, 207, 524, 518,
1389 525, 171, 56, -281, -281, 596, -281, 653, -281, 1077,
1390 -281, -281, 518, 701, 702, 18, 801, 1177, 761, 1179,
1391 -341, 204, 150, 150, 150, -275, -554, 172, 154, 357,
1392 660, 661, 57, 161, 768, 578, 358, -281, -281, 222,
1393 359, 224, 823, 70, 26, 650, 117, 118, 839, 88,
1394 1212, 1213, -281, 843, 735, -554, 90, 125, 126, 329,
1395 135, 715, 329, 279, 762, 329, 443, 444, 1376, 329,
1396 777, 777, 777, 777, 8, 9, 743, 1382, 1383, 204,
1397 1384, 771, 329, 1399, 136, 198, 199, 727, 742, 340,
1398 863, 14, 329, 342, 650, 329, 565, 1122, 845, 844,
1399 741, -554, 445, 527, 352, 654, 655, 26, 638, 128,
1400 129, 652, 1005, 20, 455, 899, 847, 398, 401, 524,
1401 855, 525, 23, 489, 578, 356, 128, 129, 276, 878,
1402 56, 600, 599, 490, 8, 481, 864, 865, 360, 277,
1403 898, 204, 204, 288, 846, -126, 361, 651, 855, 204,
1404 93, 108, 109, 381, 690, 849, 851, 135, 653, 26,
1405 960, 204, 848, 451, 452, 653, 966, 488, 968, 910,
1406 771, 915, 916, 972, 896, 240, 520, 1524, 343, 520,
1407 204, 1158, 903, 985, 531, 1116, 128, 129, 945, -550,
1408 1185, 1187, -550, 86, 120, 398, 782, 372, 904, 329,
1409 172, 1201, 965, 110, 111, 112, 961, 552, 553, 520,
1410 482, 916, 8, 9, 192, 1118, 1467, 1468, 227, 125,
1411 126, 1120, 238, 1525, -272, 936, 275, 860, 603, 986,
1412 935, 1117, 152, 152, 152, 946, 1010, 1405, 947, -550,
1413 -794, -550, -550, 1500, -550, 650, 238, 876, 1348, 1022,
1414 1023, 1024, 650, 125, 126, -550, 343, -550, 1484, 651,
1415 135, 1119, 727, 991, 128, 129, 1538, 1121, 871, 26,
1416 653, 128, 129, -550, -550, 238, 1328, 1329, 402, 38,
1417 1377, 1187, 283, 1406, 238, 114, 115, 116, -550, 1501,
1418 1267, 1269, 86, 1013, 1014, 1273, 1015, 343, -7, 772,
1419 57, 204, 57, 403, 1517, 128, 129, -589, 192, 57,
1420 38, 70, 1539, 70, 411, 38, 1055, 651, 329, 329,
1421 70, 329, 735, 651, 735, 443, 1422, 414, 653, 482,
1422 238, 735, 125, 126, 653, 427, 1311, 426, 117, 118,
1423 979, 980, 484, 204, 743, 485, 743, 990, 1000, 1008,
1424 518, 89, 87, 743, 451, 1423, 742, 650, 977, -125,
1425 1159, 125, 126, 238, -103, 742, 15, 486, 741, 487,
1426 741, 90, 88, 443, 1427, 505, 741, 741, 8, 9,
1427 495, 471, 204, 1494, 128, 129, 238, -101, 89, 15,
1428 329, 1514, 93, 108, 109, 1052, 504, -103, 56, 506,
1429 56, -103, 527, 507, 204, 343, 508, 56, 90, 1025,
1430 125, 126, 568, 128, 129, 650, 1147, 1148, 1149, 614,
1431 -101, 650, 343, 777, -101, 617, 1371, 472, 618, 651,
1432 128, 129, 634, 690, -103, 620, 635, 232, 8, 9,
1433 653, 621, 849, 851, 653, 110, 111, -6, 15, 1145,
1434 871, 667, -390, 578, 232, 240, 622, -101, 1197, 1198,
1435 26, 1200, 128, 129, 1397, 236, 1154, 1155, 651, 204,
1436 777, 329, 664, 15, 651, 703, 579, -390, 238, 653,
1437 -390, -390, 343, 1101, 1102, 653, 580, 685, 708, 15,
1438 128, 129, 753, 754, 150, 1168, 581, 1409, 991, 582,
1439 583, 772, 125, 126, 755, -390, -390, 479, 87, 1420,
1440 -390, 642, 781, 690, 482, 756, 1333, 125, 126, 502,
1441 503, 763, 479, 764, 653, 783, 777, 650, 88, 397,
1442 400, 650, 329, 150, 784, 511, 238, 1096, 512, 651,
1443 674, 513, 840, 786, 523, 842, 398, 782, 528, 236,
1444 653, 651, 26, 856, 128, 129, 567, 397, 400, 858,
1445 881, 860, 653, 114, 717, 718, 650, 26, 489, 128,
1446 129, 89, 650, 759, 57, 882, 125, 1298, 490, 1334,
1447 89, 892, 990, 832, 651, 70, 651, 891, 149, 1409,
1448 720, 90, 1161, 833, 895, 653, 735, 653, 1163, 1164,
1449 90, 1204, 1161, 1166, 897, 20, 1164, 834, 238, 1409,
1450 905, 650, 906, 777, 26, 518, 117, 118, 743, 760,
1451 343, 919, 93, 94, 95, 924, 329, 1135, 128, 129,
1452 742, 233, 362, 363, 364, 238, 1497, 650, -275, 93,
1453 94, 95, 741, 416, 942, 654, 1475, 1286, 1287, 650,
1454 1296, 1297, 482, 1299, 1172, 1173, 1174, 943, 236, 944,
1455 949, -793, 1307, 1308, 1309, 1310, 1409, 958, 962, 936,
1456 651, 967, 56, 26, 676, 96, 97, 98, 1009, 1218,
1457 1219, 653, 650, 26, 650, 366, 367, 1540, 150, 150,
1458 150, 1254, 96, 97, 772, 87, -163, 963, 690, 969,
1459 1026, 1027, 70, 1378, 152, 1249, 1028, 1218, 1219, 653,
1460 1029, 135, -163, 1248, -163, 88, 150, 150, 150, 1030,
1461 238, 1031, 197, 198, 199, 1345, 1032, 1033, 319, 14,
1462 319, 648, 319, 1034, 57, 1253, 238, -123, 1035, 1036,
1463 114, 717, 718, 152, 719, 70, 18, 1038, 511, 512,
1464 1039, 20, 1041, 93, 94, 95, 735, 208, 209, 210,
1465 23, 1042, 1043, 280, 374, 375, 10, 720, 650, 1060,
1466 1044, 1374, 1375, 1355, 721, 1355, 1057, 319, 743, 319,
1467 648, 1059, 1061, 398, 401, 1062, 211, 1068, 1069, 56,
1468 742, 26, 1078, 117, 118, 1398, 650, 1070, 483, 1076,
1469 1079, 21, 741, 1081, 26, 1088, 96, 97, 212, 1091,
1470 1115, 398, 1265, 1254, 26, 1094, 27, 299, 192, 973,
1471 1254, 114, 717, 718, 70, 1095, 89, 1254, 1418, 1162,
1472 1138, 70, 56, 1144, 1249, 1248, 777, 488, 70, 1463,
1473 1167, 1249, 1248, 1171, 1175, 1318, 90, 1180, 32, 1248,
1474 397, 400, 1181, 213, 214, 215, 1182, 1253, 1188, 362,
1475 363, 364, 682, 1191, 1253, 974, 1434, 1435, 1436, 688,
1476 1183, 1253, 1199, 1190, 117, 118, 93, 108, 109, 1192,
1477 208, 209, 210, 7, 125, 126, 10, 1195, 1445, 13,
1478 93, 94, 95, 1203, 801, 1445, 1380, 1381, 152, 152,
1479 152, 93, 108, 109, 365, 623, 624, 625, 518, 211,
1480 1205, 56, 366, 367, 1206, 1207, 1210, 1217, 56, 1465,
1481 1466, 21, 125, 126, 1211, 56, 152, 152, 152, 110,
1482 111, 648, 1214, 769, 26, 343, 27, 28, 648, 1222,
1483 1123, 1266, 509, 96, 97, 150, 204, 1275, 1276, 1279,
1484 30, 1283, 423, -631, 110, 111, 1305, 1306, 1312, 1317,
1485 31, 453, 127, 1316, 1325, 1322, 1323, 1445, 32, 1478,
1486 1324, 1447, 26, 33, 128, 129, 1254, 1254, 1447, 1332,
1487 319, 1254, 277, 1518, 1341, 1516, 1342, 70, 70, 277,
1488 1249, 329, 70, 1343, 1351, 1249, 1353, 822, 1248, 1248,
1489 701, 702, 1366, 1248, 1412, 1531, 1413, 1417, 651, 150,
1490 150, 150, 801, 1369, 1393, 1254, 238, 1394, 238, 653,
1491 1253, 1253, 1395, 1396, 1254, 1253, 70, 1401, 1419, 1249,
1492 1421, 1442, 1443, 1451, 875, 70, 1461, 1248, 1249, 1135,
1493 1471, 1469, 1486, 648, 1508, 1528, 1248, 1512, 1477, 1487,
1494 1447, 549, 550, 551, 552, 553, 198, 199, 238, 1253,
1495 1495, 277, 14, 1496, 1519, 679, 683, 1520, 1253, 275,
1496 1523, 1058, 1254, 683, 56, 56, 275, 125, 126, 56,
1497 1498, 198, 199, 70, 20, 1526, 1249, 14, 197, 198,
1498 199, 1529, 1533, 23, 1248, 14, 1537, 1541, 1542, 511,
1499 512, 648, 1544, 1549, 398, 1265, 650, 648, 1552, 20,
1500 1254, 1550, 18, 56, 1553, 1, 1253, 20, 23, 669,
1501 578, 70, 56, 5, 1249, 894, 23, 26, 1098, 128,
1502 129, 409, 1248, 410, 1493, 1001, 319, 683, 1223, 204,
1503 390, 658, 238, 579, 339, 1408, 1548, 1315, 275, 494,
1504 1358, 1090, 941, 580, 1253, 152, 1089, 1277, 7, 8,
1505 9, 10, 1169, 581, 13, 465, 589, 583, 1003, 319,
1506 56, 679, 1150, 884, 798, 799, 1300, 803, 804, 805,
1507 806, 807, 808, 809, 810, 811, 812, 813, 814, 815,
1508 816, 817, 818, 819, 820, 821, 21, 1087, 827, 370,
1509 446, 683, 578, 93, 108, 109, 473, 575, 56, 26,
1510 1364, 27, 28, 648, 1263, 1515, 1527, 648, 1490, 152,
1511 152, 152, 1532, 1137, 238, 907, 1534, 1370, 0, 0,
1512 0, 683, 0, 0, 0, 908, 0, 0, 683, 0,
1513 0, 21, 0, 32, 78, 581, 0, 0, 909, 583,
1514 0, 238, 648, 0, 102, 0, 110, 111, 648, 0,
1515 886, 888, 1045, 1046, 131, 0, 0, 0, 1051, 0,
1516 140, 140, 0, 140, 0, 78, 319, 964, 0, 0,
1517 78, 0, 1063, 0, 1064, 0, 1065, 0, 0, 0,
1518 0, 0, 1202, 186, 0, 78, 0, 648, 0, 99,
1519 0, 8, 9, 219, 0, 12, 13, 113, 0, 238,
1520 102, 14, 454, 198, 199, 0, 0, 0, 1011, 14,
1521 679, 242, 102, 648, 1016, 16, 0, 17, 0, 1093,
1522 0, 0, 0, 20, 0, 648, 18, 0, 0, 0,
1523 0, 20, 23, 0, 102, 0, 0, 0, 216, 0,
1524 23, 26, 0, 128, 129, 561, 0, 0, 0, 197,
1525 198, 199, 0, 0, 511, 512, 14, 0, 648, 1113,
1526 648, 0, 131, 0, 78, 0, 975, 0, 140, 0,
1527 0, 392, 140, 18, 0, 140, 140, 140, 20, 0,
1528 562, 0, 554, 0, 0, 319, 319, 23, 319, 78,
1529 0, 0, 280, 8, 9, 10, 0, 368, 7, 8,
1530 9, 10, 879, 683, 226, 0, 186, 186, 186, 547,
1531 548, 549, 550, 551, 552, 553, 1071, 0, 1072, 394,
1532 0, 555, 556, 0, 0, 1037, 557, 558, 559, 560,
1533 21, 0, 0, 681, 0, 186, 21, 231, 0, 0,
1534 681, 0, 578, 0, 648, 27, 299, 0, 0, 26,
1535 464, 27, 28, 434, 436, 440, 683, 683, 102, 0,
1536 0, 679, 683, 0, 0, 907, 0, 0, 0, 140,
1537 0, 523, 648, 0, 0, 908, 683, 32, 683, 0,
1538 683, 0, 0, 32, 0, 581, 0, 0, 909, 583,
1539 0, 0, 0, 0, 461, 463, 0, 0, 0, 195,
1540 0, 203, 0, 0, 681, 0, 474, 102, 491, 0,
1541 0, 0, 0, 1086, 0, 0, 0, 0, 0, 0,
1542 0, 125, 126, 683, 0, 198, 199, 0, 0, 0,
1543 0, 14, 0, 0, 0, 0, 0, 0, 319, 0,
1544 7, 8, 230, 10, 0, 1224, 0, 1225, 0, 1226,
1545 0, 1110, 102, 20, 0, 0, 576, 0, 491, 491,
1546 592, 0, 23, 683, 578, 0, 0, 0, 681, 78,
1547 0, 26, 0, 128, 129, 1176, 510, 1178, 21, 0,
1548 683, 0, 0, 0, 0, 231, 0, 579, 0, 0,
1549 0, 0, 0, 27, 28, 0, 0, 580, 681, 987,
1550 988, 9, 10, 131, 0, 681, 0, 581, 0, 413,
1551 582, 583, 102, 0, 0, 186, 102, 232, 616, 0,
1552 0, 1160, 0, 0, 0, 32, 140, 626, 0, 140,
1553 0, 1209, 0, 0, 140, 0, 203, 21, 0, 0,
1554 616, 0, 0, 1321, 456, 203, 0, 511, 512, 0,
1555 26, 0, 27, 28, 0, 0, 1153, 0, 989, 0,
1556 0, 0, 0, 186, 0, 186, 176, 186, 186, 186,
1557 679, 679, 0, 186, 1189, 0, 177, 0, 186, 0,
1558 0, 186, 0, 0, 32, 0, 0, 0, 0, 178,
1559 0, 0, 0, 319, 0, 0, 0, 78, 0, 0,
1560 0, 0, 7, 125, 126, 10, 0, 0, 1278, 0,
1561 699, 0, 700, 1282, 434, 436, 440, 0, 0, 0,
1562 0, 0, 0, 0, 0, 711, 545, 546, 547, 548,
1563 549, 550, 551, 552, 553, 102, 102, 102, 102, 716,
1564 21, 569, 0, 280, 374, 375, 10, 231, 570, 683,
1565 0, 683, 0, 683, 0, 27, 28, 0, 0, 0,
1566 0, 679, 0, 0, 0, 1319, 0, 0, 0, 0,
1567 679, 679, 0, 0, 0, 679, 0, 0, 0, 232,
1568 681, 21, 648, 0, 0, 0, 0, 32, 571, 0,
1569 1284, 1285, 0, 102, 26, 491, 27, 299, 125, 126,
1570 0, 0, 0, 13, 794, 0, 0, 576, 0, 491,
1571 491, 0, 592, 0, 0, 0, 679, 0, 0, 872,
1572 0, 0, 0, 874, 0, 0, 0, 0, 572, 0,
1573 195, 203, 0, 681, 681, 0, 0, 0, 186, 681,
1574 0, 578, 0, 0, 0, 0, 841, 683, 26, 0,
1575 128, 129, 0, 681, 0, 681, 0, 681, 0, 0,
1576 1389, 1390, 131, 0, 579, 0, 0, 0, 0, 131,
1577 0, 1340, 0, 0, 580, 0, 0, 1400, 186, 914,
1578 186, 186, 219, 592, 581, 0, 413, 582, 583, 0,
1579 0, 0, 0, 456, 203, 0, 0, 413, 0, 0,
1580 681, 456, 0, 0, 0, 0, 679, 0, 0, 0,
1581 0, 0, 0, 0, 413, 901, 7, 8, 9, 10,
1582 186, 0, 1379, 0, 914, 0, 0, 918, 0, 1430,
1583 1431, 186, 186, 0, 186, 0, 0, 125, 126, 0,
1584 681, 0, 226, 0, 679, 0, 0, 0, 1440, 1441,
1585 0, 0, 0, 794, 21, 0, 0, 681, 0, 0,
1586 0, 231, 131, 0, 0, 78, 0, 78, 0, 27,
1587 28, 0, 998, 78, 78, 0, 0, 0, 699, 700,
1588 578, 711, 102, 0, 0, 0, 0, 26, 102, 128,
1589 129, 0, 683, 232, 0, 491, 491, 491, 0, 0,
1590 0, 32, 0, 579, 0, 0, 0, 491, 0, 1432,
1591 1433, 0, 0, 580, 0, 0, 0, 0, 1438, 996,
1592 0, 0, 0, 581, 0, 0, 582, 583, 0, 0,
1593 6, 0, 7, 8, 9, 10, 11, 12, 13, 0,
1594 0, 0, 0, 14, 0, 0, 1458, 0, 0, 0,
1595 0, 0, 0, 203, 0, 0, 15, 16, 0, 17,
1596 18, 19, 0, 0, 0, 20, 0, 0, 0, 0,
1597 21, 0, 0, 22, 23, 24, 0, 25, 0, 491,
1598 0, 491, 0, 26, 0, 27, 28, 0, 102, 29,
1599 0, 0, 491, 195, 102, 203, 872, 872, 872, 30,
1600 0, 0, 0, 1080, 0, 0, 0, 0, 0, 31,
1601 0, 0, 0, 584, 584, 584, 0, 32, 0, 0,
1602 0, 0, 33, 0, 0, 0, 681, 34, 681, 0,
1603 681, 0, 0, 102, 203, 102, 0, 186, 186, 1107,
1604 0, 0, 0, 0, 0, 7, 8, 9, 10, 0,
1605 0, 13, 280, 125, 126, 10, 456, 0, 0, 413,
1606 0, 0, 0, 0, 626, 0, 0, 679, 0, 0,
1607 0, 0, 0, 0, 0, 0, 0, 901, 1107, 0,
1608 0, 0, 81, 21, 434, 436, 440, 195, 0, 578,
1609 21, 102, 104, 413, 0, 0, 26, 231, 27, 28,
1610 0, 124, 132, 0, 102, 27, 299, 998, 141, 141,
1611 0, 141, 1103, 81, 125, 126, 102, 0, 81, 479,
1612 0, 0, 1104, 0, 681, 440, 0, 0, 0, 1165,
1613 32, 141, 581, 81, 0, 1105, 583, 32, 0, 78,
1614 0, 220, 0, 0, 0, 0, 0, 0, 228, 102,
1615 0, 102, 0, 0, 996, 0, 0, 578, 0, 0,
1616 228, 0, 0, 0, 26, 0, 128, 129, 0, 8,
1617 9, 0, 0, 12, 13, 0, 0, 0, 102, 14,
1618 579, 0, 0, 491, 491, 0, 491, 0, 0, 0,
1619 580, 0, 0, 16, 0, 17, 0, 0, 0, 0,
1620 581, 20, 0, 582, 583, 0, 597, 8, 9, 10,
1621 23, 0, 81, 0, 1186, 0, 141, 0, 0, 26,
1622 141, 128, 129, 141, 141, 141, 0, 0, 0, 0,
1623 0, 186, 186, 186, 186, 1107, 0, 81, 0, 186,
1624 0, 288, 598, 0, 21, 0, 0, 0, 0, 280,
1625 8, 9, 10, 0, 141, 141, 141, 26, 826, 128,
1626 129, 1107, 1107, 1107, 584, 584, 0, 584, 0, 681,
1627 0, 0, 0, 0, 870, 0, 0, 0, 699, 700,
1628 434, 436, 440, 141, 0, 0, 711, 21, 0, 0,
1629 0, 0, 186, 0, 231, 0, 0, 140, 1228, 78,
1630 0, 0, 27, 299, 1186, 0, 0, 0, 434, 436,
1631 440, 0, 0, 0, 0, 0, 0, 141, 0, 0,
1632 0, 0, 0, 413, 413, 0, 232, 0, 0, 0,
1633 0, 0, 0, 584, 32, 584, 584, 0, 584, 1294,
1634 0, 0, 0, 0, 0, 0, 0, 0, 186, 186,
1635 0, 186, 413, 0, 0, 228, 141, 540, 541, 542,
1636 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
1637 553, 7, 8, 9, 10, 584, 0, 0, 0, 0,
1638 0, 0, 186, 914, 186, 0, 0, 0, 7, 8,
1639 9, 10, 197, 198, 199, 699, 700, 0, 711, 14,
1640 228, 102, 0, 0, 577, 0, 141, 141, 593, 21,
1641 0, 0, 0, 602, 0, 0, 18, 81, 0, 1347,
1642 0, 20, 26, 0, 27, 28, 21, 0, 175, 0,
1643 23, 0, 578, 0, 0, 0, 0, 0, 176, 26,
1644 0, 27, 28, 280, 8, 9, 10, 0, 177, 0,
1645 0, 639, 0, 0, 0, 907, 32, 0, 0, 0,
1646 228, 178, 584, 141, 228, 908, 0, 0, 0, 0,
1647 0, 0, 0, 32, 141, 581, 0, 141, 909, 583,
1648 0, 21, 141, 349, 351, 0, 0, 0, 231, 0,
1649 1107, 0, 0, 0, 0, 0, 27, 299, 0, 0,
1650 0, 0, 0, 1404, 413, 413, 0, 413, 413, 0,
1651 413, 141, 0, 141, 0, 141, 141, 141, 0, 0,
1652 482, 141, 0, 0, 0, 0, 141, 0, 32, 141,
1653 0, 0, 0, 0, 584, 0, 584, 440, 8, 9,
1654 0, 383, 12, 13, 729, 81, 0, 584, 14, 0,
1655 0, 870, 870, 870, 1107, 1107, 1107, 0, 0, 0,
1656 0, 0, 16, 0, 17, 18, 0, 0, 0, 0,
1657 20, 0, 0, 102, 0, 0, 0, 0, 186, 640,
1658 0, 0, 641, 228, 228, 228, 228, 0, 26, 0,
1659 128, 129, 584, 584, 584, 0, 0, 195, 203, 0,
1660 0, 434, 436, 440, 0, 0, 0, 0, 0, 730,
1661 0, 7, 8, 731, 10, 383, 12, 13, 0, 0,
1662 0, 0, 14, 987, 988, 9, 10, 0, 413, 413,
1663 0, 0, 0, 870, 0, 0, 16, 0, 17, 18,
1664 19, 228, 0, 141, 20, -497, 0, 0, 0, 21,
1665 0, 0, 0, 23, 732, 0, 641, 141, 141, 0,
1666 593, 21, 26, 0, 27, 28, 0, 873, 733, 0,
1667 734, 0, 0, 0, 26, 0, 27, 28, 30, 0,
1668 602, 0, 989, 0, 0, 0, 141, 522, 31, 0,
1669 176, 0, 0, 0, 0, 0, 32, 0, 0, 0,
1670 177, 33, 0, 0, 0, 0, 0, 0, 32, 0,
1671 639, 8, 9, 178, 383, 12, 13, -497, 124, 687,
1672 0, 14, 0, 413, 413, 413, 141, 593, 141, 141,
1673 220, 593, 0, 0, 0, 16, 0, 17, 18, 0,
1674 0, 0, 0, 20, 0, 0, 239, 0, 0, 729,
1675 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
1676 647, 26, 0, 128, 129, 0, 0, 0, 141, 0,
1677 0, 0, 593, 0, 0, 0, 413, 413, 0, 141,
1678 141, 0, 141, 0, 0, 0, 584, 584, 584, 584,
1679 584, 0, 0, 0, 584, 0, 0, 0, 0, 0,
1680 0, 0, 0, 7, 8, 9, 10, 0, 0, 689,
1681 132, 0, 0, 81, 0, 81, 870, 870, 870, 404,
1682 999, 81, 81, 0, 0, 0, 0, 0, 0, 0,
1683 228, 0, 0, 0, 0, 0, 228, 0, 0, 0,
1684 432, 21, 413, 141, 141, 141, 0, 578, 0, 0,
1685 0, 0, 0, 448, 26, 141, 27, 28, 542, 543,
1686 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
1687 907, 7, 8, 9, 10, 770, 0, 479, 773, 0,
1688 908, 0, 775, 776, 778, 779, 780, 0, 32, 0,
1689 581, 0, 0, 909, 583, 522, 0, 0, 0, 7,
1690 125, 126, 10, 584, 584, 226, 584, 0, 797, 21,
1691 0, 0, 0, 0, 0, 578, 0, 0, 0, 0,
1692 0, 0, 26, 0, 27, 28, 0, 141, 0, 141,
1693 0, 0, 0, 0, 0, 0, 228, 21, 907, 0,
1694 141, 0, 228, 49, 873, 873, 873, 0, 908, 0,
1695 26, 602, 27, 28, 0, 0, 32, 0, 581, 0,
1696 853, 909, 583, 18, 0, 0, 30, 853, 0, 49,
1697 49, 0, 148, 0, 49, 0, 31, 0, 0, 49,
1698 0, 228, 0, 228, 32, 141, 141, 593, 0, 33,
1699 0, 0, 49, 0, 49, 532, 533, 534, 535, 536,
1700 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
1701 547, 548, 549, 550, 551, 552, 553, 234, 0, 0,
1702 0, 0, 0, 0, 0, 0, 873, 532, 533, 534,
1703 535, 536, 537, 538, 539, 540, 541, 542, 543, 228,
1704 545, 546, 547, 548, 549, 550, 551, 552, 553, 0,
1705 729, 0, 228, 0, 0, 999, 0, 0, 0, 0,
1706 0, 0, 0, 0, 228, 0, 0, 0, 0, 0,
1707 376, 376, 647, 49, 0, 0, 0, 49, 0, 234,
1708 0, 49, 0, 0, 148, 148, 148, 81, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 228, 49, 228,
1710 0, 0, 0, 0, 0, 0, 0, 704, 0, 8,
1711 9, 0, 710, 12, 226, 49, 49, 148, 0, 14,
1712 0, 0, 0, 0, 0, 234, 228, 0, 0, 0,
1713 689, 141, 141, 16, 141, 17, 689, 751, 0, 0,
1714 0, 20, 0, 757, 49, 0, 0, 0, 0, 0,
1715 23, 0, 578, 0, 0, 765, 766, 0, 767, 26,
1716 0, 128, 129, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 579, 0, 0, 49, 141,
1718 141, 141, 141, 593, 0, 580, 0, 141, 0, 0,
1719 0, 0, 0, 729, 0, 581, 0, 0, 582, 583,
1720 0, 0, 0, 1047, 0, 0, 0, 0, 0, 873,
1721 873, 873, 0, 0, 0, 7, 125, 126, 10, 0,
1722 0, 13, 0, 0, 0, 729, 0, 0, 76, 0,
1723 0, 0, 0, 0, 0, 0, 797, 0, 0, 0,
1724 141, 0, 689, 0, 0, 141, 853, 81, 519, 0,
1725 0, 861, 862, 21, 76, 76, 861, 76, 0, 76,
1726 0, 0, 0, 0, 76, 376, 26, 0, 27, 28,
1727 0, 0, 0, 234, 0, 0, 0, 76, 49, 76,
1728 0, 647, 145, 1099, 8, 9, 0, 853, 12, 226,
1729 0, 0, 146, 0, 14, 0, 141, 141, 0, 141,
1730 32, 0, 0, 0, 0, 147, 0, 0, 16, 0,
1731 17, 0, 376, 0, 0, 0, 20, 0, 0, 0,
1732 0, 0, 0, 0, 49, 23, 853, 0, 0, 0,
1733 141, 593, 141, 0, 26, 49, 128, 129, 49, 1140,
1734 0, 0, 0, 49, 0, 1146, 0, 0, 0, 228,
1735 0, 0, 689, 0, 0, 0, 0, 0, 76, 0,
1736 0, 0, 76, 0, 689, 0, 76, 0, 0, 76,
1737 76, 76, 49, 0, 49, 0, 148, 148, 148, 0,
1738 0, 0, 49, 76, 0, 0, 0, 49, 0, 0,
1739 49, 0, 0, 0, 0, 0, 0, 689, 0, 689,
1740 76, 76, 76, 0, 0, 0, 49, 0, 8, 9,
1741 0, 383, 12, 13, 0, 0, 1474, 0, 14, 0,
1742 0, 0, 0, 0, 0, 1018, 1194, 1020, 0, 76,
1743 0, 0, 16, 0, 17, 18, 519, 0, 873, 519,
1744 20, 0, 0, 0, 0, 0, 0, 0, 0, 23,
1745 0, 0, 0, 0, 519, 519, 519, 0, 26, 0,
1746 128, 129, 0, 76, 0, 0, 0, 0, 0, 519,
1747 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
1748 551, 552, 553, 853, 0, 0, 0, 730, 0, 7,
1749 8, 731, 10, 383, 12, 13, 0, 0, 1053, 1054,
1750 14, 1056, 873, 873, 873, 0, 0, 0, 0, 0,
1751 0, 853, 0, 0, 16, 234, 17, 18, 19, 0,
1752 0, 228, 20, -498, 0, 0, 141, 21, 519, 1074,
1753 0, 23, 732, 0, 641, 0, 0, 0, 0, 0,
1754 26, 0, 27, 28, 0, 0, 733, 49, 734, 0,
1755 0, 0, 0, 0, 0, 0, 30, 0, 0, 601,
1756 0, 0, 0, 76, 0, 0, 31, 0, 0, 0,
1757 0, 376, 0, 0, 32, 0, 0, 1109, 376, 33,
1758 0, 0, 0, 1288, 1289, 9, 10, 49, 49, 49,
1759 49, 0, 0, 0, 0, -498, 0, 0, 0, 0,
1760 0, 0, 0, 0, 0, 153, 0, 0, 0, 76,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762 76, 21, 0, 76, 0, 187, 0, 0, 76, 49,
1763 0, 0, 0, 49, 26, 0, 27, 28, 0, 1151,
1764 49, 49, 1290, 49, 0, 0, 0, 0, 0, 1140,
1765 176, 1156, 0, 0, 0, 0, 0, 76, 0, 76,
1766 177, 76, 76, 76, 0, 0, 0, 76, 32, 0,
1767 0, 0, 76, 178, 49, 76, 49, 0, 0, 0,
1768 0, 49, 49, 49, 0, 0, 0, 0, 0, 0,
1769 0, 76, 0, 0, 0, 0, 0, 0, 0, 160,
1770 0, 7, 8, 9, 10, 11, 12, 13, 0, 0,
1771 519, 0, 14, 1288, 125, 126, 10, 153, 153, 153,
1772 0, 0, 0, 0, 0, 15, 16, 0, 17, 18,
1773 19, 0, 0, 0, 20, 1208, 0, 0, 0, 21,
1774 0, 0, 22, 23, 24, 0, 25, 0, 187, 187,
1775 441, 21, 26, 0, 27, 28, 0, 0, 29, 7,
1776 8, 9, 10, 0, 26, 13, 27, 28, 30, 0,
1777 0, 0, 1290, 0, 1221, 0, 0, 187, 31, 0,
1778 30, 0, 0, 0, 0, 0, 32, 0, 0, 0,
1779 31, 33, 0, 0, 0, 0, 34, 21, 32, 0,
1780 0, 601, 0, 33, 522, 519, 519, 519, 0, 0,
1781 26, 234, 27, 28, 0, 0, 0, 0, 0, 0,
1782 0, 647, 0, 0, 0, 0, 176, 0, 0, 0,
1783 0, 0, 76, 0, 0, 0, 177, 1303, 0, 0,
1784 0, 1304, 0, 0, 32, 0, 49, 49, 148, 178,
1785 492, 0, 0, 234, 0, 0, 7, 8, 9, 10,
1786 188, 12, 189, 0, 0, 0, 0, 14, 0, 0,
1787 0, 0, 76, 76, 76, 76, 1320, 0, 0, 0,
1788 0, 16, 0, 17, 18, 0, 0, 1134, 0, 20,
1789 0, 0, 0, 0, 21, 0, 0, 0, 23, 0,
1790 586, 586, 586, 0, 0, 0, 0, 26, 0, 27,
1791 28, 0, 0, 190, 76, 0, 49, 0, 76, 0,
1792 0, 0, 0, 30, 0, 76, 76, 0, 76, 0,
1793 0, 0, 0, 31, 0, 0, 0, 234, 0, 0,
1794 0, 32, 0, 0, 0, 1372, 33, 0, 49, 1373,
1795 0, 0, 0, 0, 0, 0, 0, 187, 0, 76,
1796 0, 76, 587, 591, 594, 0, 76, 76, 76, 0,
1797 0, 1391, 1392, 0, 0, 0, 0, 0, 0, 0,
1798 0, 0, 0, 0, 7, 8, 9, 10, 197, 198,
1799 199, 0, 0, 0, 0, 14, 0, 0, 0, 0,
1800 0, 7, 8, 9, 10, 187, 0, 187, 0, 441,
1801 441, 441, 18, 0, 0, 187, 0, 20, 0, 234,
1802 187, 0, 21, 187, 0, 0, 23, 0, 578, 0,
1803 0, 0, 0, 0, 0, 26, 0, 27, 28, 21,
1804 49, 49, 148, 148, 148, 0, 234, 0, 49, 0,
1805 0, 176, 26, 0, 27, 28, 0, 0, 1354, 0,
1806 0, 177, 0, 0, 185, 0, 0, 0, 176, 32,
1807 1134, 1134, 1134, 74, 1360, 0, 0, 0, 177, 0,
1808 0, 0, 0, 0, 0, 0, 32, 0, 0, 237,
1809 0, 178, 241, 0, 0, 0, 0, 601, 0, 139,
1810 143, 49, 0, 0, 74, 0, 49, 0, 49, 74,
1811 0, 0, 0, 237, 0, 345, 0, 0, 0, 0,
1812 0, 0, 0, 0, 196, 0, 0, 0, 0, 0,
1813 0, 76, 76, 76, 0, 0, 0, 835, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1815 0, 586, 586, 0, 586, 0, 0, 49, 49, 0,
1816 49, 586, 0, 0, 7, 125, 126, 10, 0, 0,
1817 479, 0, 1136, 0, 0, 0, 0, 0, 0, 0,
1818 187, 7, 125, 126, 10, 0, 0, 185, 185, 185,
1819 0, 49, 49, 49, 0, 0, 0, 447, 0, 0,
1820 0, 76, 21, 388, 0, 0, 0, 391, 0, 0,
1821 0, 393, 0, 850, 852, 26, 185, 27, 28, 21,
1822 911, 0, 911, 911, 0, 586, 0, 0, 74, 0,
1823 0, 30, 26, 76, 27, 28, 0, 0, 0, 241,
1824 0, 31, 0, 0, 0, 139, 143, 0, 145, 32,
1825 0, 8, 9, 237, 33, 12, 13, 0, 146, 0,
1826 0, 14, 911, 0, 0, 0, 32, 0, 0, 0,
1827 0, 147, 0, 187, 187, 16, 187, 17, 0, 0,
1828 0, 0, 912, 20, 587, 591, 0, 594, 0, 0,
1829 0, 0, 23, 0, 0, 0, 0, 0, 0, 1134,
1830 0, 26, 0, 128, 129, 0, 0, 0, 480, 0,
1831 0, 0, 0, 0, 187, 7, 8, 9, 10, 0,
1832 0, 226, 0, 0, 591, 76, 76, 76, 76, 76,
1833 0, 0, 0, 76, 0, 0, 0, 492, 492, 492,
1834 0, 0, 0, 0, 0, 237, 241, 0, 0, 586,
1835 0, 0, 0, 21, 0, 1136, 1136, 1136, 0, 0,
1836 0, 0, 0, 1134, 1134, 1134, 26, 0, 27, 28,
1837 0, 0, 0, 0, 0, 8, 9, 0, 188, 12,
1838 189, 0, 176, 0, 0, 14, 76, 49, 0, 0,
1839 0, 76, 177, 76, 0, 0, 185, 0, 0, 16,
1840 32, 17, 18, 0, 0, 178, 0, 20, 610, 0,
1841 0, 591, 0, 0, 0, 0, 23, 0, 0, 0,
1842 0, 586, 0, 586, 0, 26, 0, 128, 129, 0,
1843 0, 0, 0, 0, 586, 0, 0, 0, 586, 586,
1844 586, 0, 76, 76, 185, 76, 185, 0, 185, 185,
1845 185, 0, 0, 0, 185, 0, 0, 0, 0, 185,
1846 0, 0, 185, 0, 0, 662, 0, 0, 663, 0,
1847 0, 0, 0, 665, 0, 0, 76, 76, 76, 911,
1848 911, 1108, 0, 1066, 0, 1067, 0, 0, 0, 0,
1849 0, 0, 0, 0, 0, 0, 1073, 0, 0, 0,
1850 850, 852, 391, 730, 393, 7, 8, 731, 10, 383,
1851 12, 13, 0, 0, 0, 0, 14, 480, 0, 0,
1852 1108, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1853 16, 0, 17, 18, 19, 0, 747, 0, 20, -500,
1854 0, 850, 852, 21, 0, 0, 0, 23, 732, 187,
1855 641, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1856 0, 0, 733, 0, 734, 8, 9, 0, 383, 12,
1857 13, 0, 30, 687, 0, 14, 0, 0, 0, 0,
1858 0, 0, 31, 0, 1136, 0, 0, 0, 0, 16,
1859 32, 17, 18, 0, 0, 33, 0, 20, 0, 0,
1860 0, 0, 0, 237, 241, 0, 23, 0, 578, 0,
1861 0, -500, 0, 0, 0, 26, 0, 128, 129, 185,
1862 0, 0, 0, 0, 0, 835, 835, 0, 835, 0,
1863 0, 579, 7, 8, 9, 10, 0, 0, 13, 0,
1864 0, 580, 0, 0, 0, 0, 0, 0, 1136, 1136,
1865 1136, 581, 0, 0, 582, 583, 0, 0, 0, 185,
1866 0, 185, 185, 0, 0, 0, 0, 0, 0, 0,
1867 21, 0, 76, 911, 911, 1108, 1108, 1108, 0, 0,
1868 0, 911, 0, 26, 0, 27, 28, 0, 0, 0,
1869 0, 0, 0, 0, 0, 7, 8, 9, 10, 437,
1870 0, 185, 0, 1108, 1108, 1108, 0, 0, 0, 438,
1871 100, 0, 185, 185, 0, 185, 0, 32, 913, 119,
1872 100, 0, 439, 0, 0, 0, 100, 100, 0, 100,
1873 0, 0, 0, 21, 187, 1066, 1067, 850, 852, 0,
1874 241, 0, 0, 1073, 0, 0, 26, 0, 27, 28,
1875 0, 0, 0, 185, 7, 8, 9, 10, 0, 218,
1876 479, 0, 437, 954, 0, 850, 852, 0, 0, 0,
1877 662, 663, 438, 665, 0, 0, 0, 0, 0, 0,
1878 32, 0, 0, 0, 0, 439, 0, 0, 0, 0,
1879 911, 911, 21, 911, 0, 0, 0, 7, 8, 9,
1880 10, 0, 0, 0, 747, 26, 747, 27, 28, 0,
1881 0, 997, 1004, 747, 0, 0, 0, 0, 369, 0,
1882 119, 176, 0, 0, 187, 0, 187, 100, 100, 0,
1883 0, 177, 0, 0, 100, 21, 100, 100, 100, 32,
1884 0, 100, 100, 100, 178, 0, 0, 0, 26, 0,
1885 27, 28, 1066, 1067, 0, 1073, 0, 0, 0, 0,
1886 0, 0, 0, 0, 176, 0, 0, 0, 0, 0,
1887 0, 0, 0, 0, 177, 0, 0, 0, 0, 0,
1888 0, 0, 32, 237, 241, 237, 0, 178, 0, 0,
1889 0, 0, 0, 0, 0, 0, 0, 0, 0, 730,
1890 0, 7, 8, 731, 10, 383, 12, 13, 0, 0,
1891 0, 0, 14, 0, 0, 462, 100, 0, 185, 185,
1892 1106, 0, 0, 0, 0, 237, 16, 0, 17, 18,
1893 19, 0, 441, 0, 20, 100, 0, 0, 0, 21,
1894 0, 0, 0, 23, 732, 0, 641, 0, 0, 0,
1895 0, 0, 26, 0, 27, 28, 0, 0, 733, 1106,
1896 734, 0, 0, 0, 0, 0, 0, 0, 30, 0,
1897 0, 0, 0, 0, 100, 0, 139, 143, 31, 0,
1898 0, 0, 0, 0, 0, 0, 32, 0, 185, 0,
1899 0, 33, 0, 0, 0, 0, 441, 441, 441, 0,
1900 0, 0, 0, 0, 0, 0, 0, 0, 0, 447,
1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 187, 0, 100, 0, 100, 100, 0, 0, 0, 0,
1903 6, 0, 7, 8, 9, 10, 11, 12, 13, 0,
1904 0, 0, 0, 14, 0, 0, 997, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
1906 18, 0, 0, 0, 0, 20, 0, 0, 0, 100,
1907 21, 0, 0, 0, 23, 0, 0, 408, 747, 0,
1908 0, 0, 0, 26, 0, 27, 28, 0, 100, 29,
1909 0, 237, 100, 0, 0, 100, 0, 0, 0, 30,
1910 100, 0, 0, 0, 0, 0, 0, 0, 0, 31,
1911 0, 0, 185, 185, 185, 185, 1106, 32, 1220, 0,
1912 185, 0, 33, 0, 0, 0, 0, 0, 243, 0,
1913 0, 8, 9, 0, 0, 12, 13, 0, 0, 0,
1914 0, 14, 1106, 1106, 1106, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 16, 0, 17, 0, 0,
1916 100, 0, 722, 20, 0, 244, 245, 0, 0, 0,
1917 391, 393, 23, 185, 246, 0, 0, 0, 480, 0,
1918 0, 26, 0, 128, 129, 0, 247, 100, 0, 0,
1919 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1920 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
1921 268, 0, 0, 269, 270, 271, 0, 0, 272, 0,
1922 0, 273, 0, 0, 0, 0, 0, 0, 0, 185,
1923 185, 1295, 185, 0, 0, 0, 1295, 274, 747, 532,
1924 533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
1925 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
1926 553, 100, 0, 185, 0, 185, 0, 0, 0, 0,
1927 0, 0, 100, 100, 0, 100, 100, 0, 0, 0,
1928 0, 0, 0, 1470, 0, 0, 0, 662, 663, 0,
1929 665, 0, 0, 0, 730, 0, 7, 8, 731, 10,
1930 383, 12, 13, 0, 0, 0, 0, 14, 0, 0,
1931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932 0, 16, 1359, 17, 18, 19, 0, 0, 100, 20,
1933 -499, 0, 0, 0, 21, 100, 119, 0, 23, 732,
1934 0, 641, 0, 0, 0, 0, 0, 26, 218, 27,
1935 28, 0, 0, 733, 0, 734, 0, 0, 0, 0,
1936 0, 0, 0, 30, 0, 0, 0, 722, 0, 0,
1937 0, 1106, 0, 31, 0, 0, 0, 0, 0, 0,
1938 0, 32, 0, 0, 0, 0, 33, 539, 540, 541,
1939 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
1940 552, 553, -499, 532, 533, 534, 535, 536, 537, 538,
1941 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
1942 549, 550, 551, 552, 553, 722, 0, 0, 100, 0,
1943 0, 0, 0, 0, 0, 1106, 1106, 1106, 0, 0,
1944 0, 0, 1385, 0, -454, -454, -454, -454, -454, -454,
1945 -454, 1184, 0, -454, 0, -454, 0, 0, 0, 185,
1946 0, 100, 100, 100, 0, 0, -454, 0, -454, 0,
1947 0, 0, -454, 100, 0, 0, 0, -454, 0, 0,
1948 0, 0, -454, 0, 0, 0, -454, 0, -454, 0,
1949 0, 0, 0, 0, 0, -454, 0, -454, -454, -454,
1950 -454, -454, 0, -454, -454, -454, -454, -454, -454, -454,
1951 -454, -454, -454, -454, -454, -454, -454, -454, -454, -454,
1952 -454, -454, -454, -454, -454, -454, 0, -454, -454, -454,
1953 0, -454, -454, -454, -454, -454, -454, 0, -454, 0,
1954 0, 0, 0, 1386, 0, 100, 0, 100, -454, -454,
1955 -454, 0, -454, 0, 0, 0, 0, 1362, 100, 1231,
1956 1232, 1233, 10, 383, 12, 281, 282, 283, 0, 284,
1957 14, 1234, 0, 1235, 1236, 1237, 1238, 1239, 1240, 1241,
1958 1242, 1243, 1244, 15, 16, 285, 17, 18, 19, 0,
1959 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
1960 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
1961 26, 0, 1245, 299, 674, 0, 1246, 300, 0, 0,
1962 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
1963 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
1964 0, 0, 306, 307, 308, 0, 0, 0, 0, 309,
1965 0, 1247, 7, 8, 9, 10, 383, 12, 13, 0,
1966 0, 687, 0, 14, 0, 1363, 310, 0, 722, 0,
1967 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
1968 18, 0, 0, 0, 0, 20, 0, 0, 0, 0,
1969 21, 0, 0, 0, 23, 100, 578, 0, 0, 0,
1970 0, 0, 0, 26, 0, 27, 28, 0, 0, 0,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 1103,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 1104,
1973 0, 0, 0, 0, 0, 0, 0, 32, 0, 581,
1974 0, 0, 1105, 583, 0, 0, 0, 0, 0, 100,
1975 100, 0, 100, 1230, 0, 1231, 1232, 1233, 10, 383,
1976 12, 281, 282, 283, 0, 284, 14, 1234, 0, 1235,
1977 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 15,
1978 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
1979 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
1980 0, 293, 294, 295, 296, 297, 26, 0, 1245, 299,
1981 674, 722, 1246, 300, 0, 0, 0, 0, 0, 301,
1982 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
1983 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
1984 308, 0, 0, 722, 0, 309, 514, 1247, 280, 8,
1985 9, 10, 383, 12, 281, 282, 283, 687, 284, 14,
1986 0, 100, 310, 100, 0, 0, 0, 0, 0, 0,
1987 0, 0, 0, 16, 285, 17, 18, 19, 0, 286,
1988 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
1989 23, 0, 578, 0, 293, 294, 295, 296, 297, 26,
1990 0, 27, 299, -289, 0, 0, 300, 0, 0, 0,
1991 0, 0, 301, 0, 0, 866, 0, 0, 0, 0,
1992 0, 0, 0, 303, 304, 867, 0, 0, 0, 0,
1993 0, 306, 307, 308, 0, 581, 0, 0, 868, 583,
1994 514, 0, 7, 8, 9, 10, 383, 12, 281, 282,
1995 283, 687, 284, 14, 0, 310, 0, 0, 0, 0,
1996 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
1997 18, 19, 0, 286, 287, 20, 0, 288, 289, 290,
1998 21, 291, 292, 0, 23, 0, 578, 0, 293, 294,
1999 295, 296, 297, 26, 0, 27, 28, -289, 0, 0,
2000 300, 0, 0, 0, 0, 0, 301, 0, 0, 1131,
2001 0, 0, 0, 0, 0, 0, 0, 303, 304, 1132,
2002 0, 0, 0, 0, 0, 306, 307, 308, 0, 581,
2003 0, 0, 1133, 583, 686, 0, 280, 8, 9, 10,
2004 383, 12, 281, 282, 283, 687, 284, 14, 0, 310,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 16, 285, 17, 18, 19, 0, 286, 287, 20,
2007 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2008 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2009 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2010 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2011 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2012 307, 308, 0, 0, 0, 800, 309, 280, 8, 9,
2013 10, 383, 12, 281, 282, 283, 0, 284, 14, 0,
2014 0, -764, 0, 310, 0, 0, 0, 0, 0, 0,
2015 0, 0, 16, 285, 17, 18, 19, 0, 286, 287,
2016 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2017 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2018 27, 299, 1453, 0, -754, 300, 0, 0, 0, 0,
2019 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2020 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2021 306, 307, 308, 0, 0, 0, 677, 309, 788, 789,
2022 790, 10, 0, 12, 496, 282, 283, 0, 284, 14,
2023 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2024 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2025 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2026 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2027 0, 791, 792, 678, 0, 0, 300, 0, 0, 0,
2028 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2029 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2030 0, 306, 307, 308, 0, 0, 0, 0, 309, 793,
2031 677, 0, 788, 789, 790, 10, 0, 12, 496, 282,
2032 283, 0, 284, 14, 940, 310, 0, 0, 0, 0,
2033 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
2034 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2035 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2036 295, 296, 297, 26, 0, 791, 792, 678, 0, 0,
2037 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2038 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2039 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2040 0, 0, 309, 793, 677, 0, 788, 789, 790, 10,
2041 0, 12, 496, 282, 283, 0, 284, 14, 0, 310,
2042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2043 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2044 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2045 0, 0, 293, 294, 295, 296, 297, 26, 0, 791,
2046 792, 678, 0, 0, 300, 0, 0, 0, 0, 0,
2047 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2048 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2049 307, 308, 0, 0, 0, 677, 309, 788, 789, 790,
2050 10, 0, 12, 496, 282, 283, 0, 284, 14, 0,
2051 0, 0, -458, 310, 0, 0, 0, 0, 0, 0,
2052 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2053 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2054 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2055 791, 792, 678, 0, 0, 300, 0, 0, 0, 0,
2056 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2057 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2058 306, 307, 308, 0, 0, 0, 677, 309, 280, 8,
2059 9, 10, 0, 12, 496, 282, 283, 0, 284, 14,
2060 0, 0, 0, 1264, 310, 0, 0, 0, 0, 0,
2061 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2062 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2063 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2064 0, 27, 299, 678, 0, 0, 300, 0, 0, 0,
2065 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2066 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2067 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
2068 514, 0, 280, 8, 9, 10, 1268, 12, 281, 282,
2069 283, 0, 284, 14, 0, 310, 0, 0, 0, 0,
2070 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
2071 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2072 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2073 295, 296, 297, 26, 0, 27, 299, -289, 0, 0,
2074 300, 0, 0, 0, 0, 0, 301, 0, 0, 515,
2075 0, 0, 0, 0, 0, 0, 0, 303, 304, 516,
2076 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2077 0, 677, 517, 280, 8, 9, 10, 0, 12, 496,
2078 282, 283, 0, 284, 14, 0, 0, 0, 0, 310,
2079 0, 0, 0, 0, 0, 0, 0, 0, 16, 285,
2080 17, 0, 19, 0, 286, 287, 20, 0, 288, 289,
2081 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2082 294, 295, 296, 297, 26, 0, 27, 299, 678, 0,
2083 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2084 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2085 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2086 0, 0, 800, 309, 280, 8, 9, 10, 0, 12,
2087 496, 282, 283, 0, 284, 14, 0, 0, 0, 0,
2088 310, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2089 285, 17, 0, 19, 0, 286, 287, 20, 0, 288,
2090 289, 290, 21, 291, 292, 0, 23, 0, 0, 0,
2091 293, 294, 295, 296, 297, 26, 0, 27, 299, 0,
2092 0, 0, 300, -754, 0, 0, 0, 0, 301, 0,
2093 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2094 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2095 0, 0, 0, 514, 309, 7, 8, 9, 10, 0,
2096 12, 281, 282, 283, 0, 284, 14, 0, 0, 0,
2097 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2098 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2099 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2100 0, 293, 294, 295, 296, 297, 26, 0, 27, 28,
2101 -289, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2102 0, 0, 1424, 0, 0, 0, 0, 0, 0, 0,
2103 303, 304, 1425, 0, 0, 0, 0, 0, 306, 307,
2104 308, 0, 0, 0, 1503, 1426, 280, 8, 9, 10,
2105 0, 12, 281, 282, 283, 0, 284, 14, 0, 0,
2106 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2107 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2108 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2109 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2110 299, 0, 0, -176, 300, 0, 0, 0, 0, 0,
2111 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2112 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2113 307, 308, 0, 0, 0, 800, 309, 280, 8, 9,
2114 10, 0, 12, 496, 282, 283, 0, 284, 14, 0,
2115 0, 0, 0, 310, 0, 0, 0, 0, 0, 0,
2116 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2117 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2118 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2119 27, 299, 0, 0, 0, 300, 0, 0, 0, 0,
2120 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2121 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2122 306, 307, 308, 0, 0, 0, 885, 309, 280, 8,
2123 9, 10, 0, 12, 496, 282, 283, 0, 284, 14,
2124 0, 0, -754, 0, 310, 0, 0, 0, 0, 0,
2125 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2126 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2127 23, 0, 0, 0, 293, 294, 295, 296, 297, 26,
2128 0, 27, 299, 0, 0, 0, 300, 0, 0, 0,
2129 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2130 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2131 0, 306, 307, 308, 0, 0, 0, 887, 309, 280,
2132 8, 9, 10, 0, 12, 496, 282, 283, 0, 284,
2133 14, 0, 0, 0, 0, 310, 0, 0, 0, 0,
2134 0, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2135 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2136 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2137 26, 0, 27, 299, 0, 0, 0, 300, 0, 0,
2138 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2139 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2140 0, 0, 306, 307, 308, 0, 0, 0, 1437, 309,
2141 280, 8, 9, 10, 0, 12, 496, 282, 283, 0,
2142 284, 14, 0, 0, 0, 0, 310, 0, 0, 0,
2143 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2144 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2145 292, 0, 23, 0, 0, 0, 293, 294, 295, 296,
2146 297, 26, 0, 27, 299, 0, 0, 0, 300, 0,
2147 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2148 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2149 0, 0, 0, 306, 307, 308, 280, 8, 9, 10,
2150 309, 12, 496, 282, 283, 0, 284, 14, 0, 0,
2151 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2152 0, 16, 285, 17, 0, 19, 0, 286, 287, 20,
2153 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2154 0, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2155 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2156 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2157 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2158 307, 308, 0, 0, 0, 0, 309, 538, 539, 540,
2159 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2160 551, 552, 553, 310, 838, 1231, 1232, 1233, 10, 383,
2161 12, 281, 282, 283, 0, 284, 14, 1234, 0, 1235,
2162 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 15,
2163 16, 285, 17, 18, 19, 0, 286, 287, 20, 0,
2164 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2165 0, 293, 294, 295, 296, 297, 26, 0, 1245, 299,
2166 674, 0, 1246, 300, 0, 0, 0, 0, 0, 301,
2167 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2168 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2169 308, 0, 0, 0, 0, 309, 0, 1247, 0, 0,
2170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2171 0, 1367, 310, 1231, 1232, 1233, 10, 383, 12, 281,
2172 282, 283, 0, 284, 14, 1234, 0, 1235, 1236, 1237,
2173 1238, 1239, 1240, 1241, 1242, 1243, 1244, 15, 16, 285,
2174 17, 18, 19, 0, 286, 287, 20, 0, 288, 289,
2175 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2176 294, 295, 296, 297, 26, 0, 1245, 299, 674, 0,
2177 1246, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2178 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2179 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2180 0, 0, 0, 309, 0, 1247, 0, 1231, 1232, 1233,
2181 10, 383, 12, 281, 282, 283, 0, 284, 14, 1234,
2182 310, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243,
2183 1244, 15, 16, 285, 17, 18, 19, 0, 286, 287,
2184 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2185 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2186 1245, 299, 1480, 0, 1246, 300, 0, 0, 0, 0,
2187 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2188 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2189 306, 307, 308, 0, 0, 0, 0, 309, 0, 1247,
2190 0, 1231, 1232, 1233, 10, 383, 12, 281, 282, 283,
2191 0, 284, 14, 1234, 310, 1235, 1236, 1237, 1238, 1239,
2192 1240, 1241, 1242, 1243, 1244, 15, 16, 285, 17, 18,
2193 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2194 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2195 296, 297, 26, 0, 1245, 299, 0, 0, 1246, 300,
2196 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2197 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2198 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2199 0, 309, 0, 1247, 280, 8, 9, 10, 383, 12,
2200 281, 282, 283, 687, 284, 14, 0, 0, 310, 0,
2201 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2202 285, 17, 18, 19, 0, 286, 287, 20, 0, 288,
2203 289, 290, 21, 291, 292, 0, 23, 0, 578, 0,
2204 293, 294, 295, 296, 297, 26, 0, 27, 299, 0,
2205 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2206 0, 866, 0, 0, 0, 0, 0, 0, 0, 303,
2207 304, 867, 0, 0, 0, 0, 0, 306, 307, 308,
2208 0, 581, 0, 0, 868, 583, 7, 8, 9, 10,
2209 383, 12, 281, 282, 283, 687, 284, 14, 0, 0,
2210 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2211 0, 16, 285, 17, 18, 19, 0, 286, 287, 20,
2212 0, 288, 289, 290, 21, 291, 292, 0, 23, 0,
2213 578, 0, 293, 294, 295, 296, 297, 26, 0, 27,
2214 28, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2215 301, 0, 0, 1131, 0, 0, 0, 0, 0, 0,
2216 0, 303, 304, 1132, 0, 0, 0, 0, 0, 306,
2217 307, 308, 0, 581, 0, 0, 1133, 583, 280, 8,
2218 9, 10, 0, 12, 281, 282, 283, 0, 284, 14,
2219 0, 0, 0, 310, 0, 0, 0, 0, 0, 0,
2220 0, 0, 0, 16, 285, 17, 0, 19, 0, 286,
2221 287, 20, 0, 288, 289, 290, 21, 291, 292, 0,
2222 23, 0, 578, 0, 293, 294, 295, 296, 297, 26,
2223 0, 27, 299, 0, 0, 0, 0, 0, 0, 0,
2224 0, 0, 301, 0, 0, 866, 0, 0, 0, 0,
2225 0, 0, 0, 303, 304, 867, 0, 0, 0, 0,
2226 0, 306, 307, 308, 0, 581, 0, 0, 868, 583,
2227 7, 8, 9, 10, 0, 12, 281, 282, 283, 0,
2228 284, 14, 0, 0, 0, 310, 0, 0, 0, 0,
2229 0, 0, 0, 0, 0, 16, 285, 17, 0, 19,
2230 0, 286, 287, 20, 0, 288, 289, 290, 21, 291,
2231 292, 0, 23, 0, 578, 0, 293, 294, 295, 296,
2232 297, 26, 0, 27, 28, 0, 0, 0, 0, 0,
2233 0, 0, 0, 0, 301, 0, 0, 1131, 0, 0,
2234 0, 0, 0, 0, 0, 303, 304, 1132, 0, 0,
2235 0, 0, 0, 306, 307, 308, 0, 581, 0, 0,
2236 1133, 583, 280, 8, 9, 10, 0, 12, 496, 282,
2237 283, 0, 284, 14, 0, 0, 0, 310, 0, 0,
2238 0, 0, 0, 0, 0, 0, 0, 16, 285, 17,
2239 0, 19, 0, 286, 287, 20, 0, 288, 289, 290,
2240 21, 291, 292, 0, 23, 0, 0, 0, 293, 294,
2241 295, 296, 297, 26, 0, 27, 299, 0, 0, 1344,
2242 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2243 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2244 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2245 0, 0, 309, 280, 8, 9, 10, 383, 12, 281,
2246 282, 283, 0, 284, 14, 0, 0, 0, 0, 310,
2247 0, 0, 0, 0, 0, 0, 0, 0, 16, 285,
2248 17, 18, 19, 0, 286, 287, 20, 0, 288, 289,
2249 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2250 294, 295, 296, 297, 26, 0, 27, 299, 0, 0,
2251 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2252 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2253 305, 0, 0, 0, 0, 0, 306, 307, 308, 280,
2254 8, 9, 10, 309, 12, 281, 282, 283, 0, 284,
2255 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2256 310, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2257 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2258 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2259 26, 0, 298, 299, 0, 0, 0, 300, 0, 0,
2260 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2261 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2262 0, 0, 306, 307, 308, 280, 8, 9, 10, 309,
2263 12, 281, 282, 283, 0, 284, 14, 0, 0, 0,
2264 0, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2265 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2266 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2267 0, 293, 294, 295, 296, 297, 26, 0, 27, 299,
2268 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2269 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2270 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2271 308, 280, 8, 9, 10, 309, 12, 496, 282, 283,
2272 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2273 0, 0, 310, 0, 0, 0, 16, 285, 17, 0,
2274 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2275 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2276 296, 297, 26, 0, 27, 299, 0, 0, 0, 300,
2277 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2278 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2279 0, 0, 0, 0, 306, 307, 308, 280, 8, 9,
2280 10, 309, 12, 496, 282, 283, 0, 284, 14, 0,
2281 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2282 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2283 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2284 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2285 27, 299, 529, 0, 0, 0, 0, 0, 0, 0,
2286 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2287 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2288 306, 307, 308, 280, 8, 9, 10, 530, 12, 496,
2289 282, 283, 0, 284, 14, 0, 0, 0, 0, 0,
2290 0, 0, 0, 0, 310, 0, 0, 0, 16, 285,
2291 17, 0, 19, 0, 286, 287, 20, 0, 288, 289,
2292 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2293 294, 295, 296, 297, 26, 0, 27, 299, 0, 0,
2294 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2295 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2296 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2297 0, 0, 0, 309, 566, 280, 8, 9, 10, 0,
2298 12, 496, 282, 283, 0, 284, 14, 0, 0, 0,
2299 310, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2300 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2301 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2302 0, 293, 294, 295, 296, 297, 26, 0, 27, 299,
2303 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2304 0, 0, 515, 0, 0, 0, 0, 0, 0, 0,
2305 303, 304, 516, 0, 0, 0, 0, 0, 306, 307,
2306 308, 1092, 8, 9, 10, 517, 12, 496, 282, 283,
2307 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2308 0, 0, 310, 0, 0, 0, 16, 285, 17, 0,
2309 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2310 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2311 296, 297, 26, 0, 27, 299, 0, 0, 0, 300,
2312 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2313 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2314 0, 0, 0, 0, 306, 307, 308, 7, 8, 9,
2315 10, 309, 12, 496, 282, 283, 0, 284, 14, 0,
2316 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2317 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2318 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2319 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2320 27, 28, 0, 0, 0, 300, 0, 0, 0, 0,
2321 0, 301, 0, 0, 1424, 0, 0, 0, 0, 0,
2322 0, 0, 303, 304, 1425, 0, 0, 0, 0, 0,
2323 306, 307, 308, 280, 8, 9, 10, 1426, 12, 496,
2324 282, 283, 0, 284, 14, 0, 0, 0, 0, 0,
2325 0, 0, 0, 0, 310, 0, 0, 0, 16, 285,
2326 17, 0, 19, 0, 286, 287, 20, 0, 288, 289,
2327 290, 21, 291, 292, 0, 23, 0, 0, 0, 293,
2328 294, 295, 296, 297, 26, 0, 27, 299, 0, 0,
2329 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2330 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2331 305, 0, 0, 0, 0, 0, 306, 307, 308, 280,
2332 8, 9, 10, 497, 12, 496, 282, 283, 0, 284,
2333 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2334 310, 0, 0, 0, 16, 285, 17, 0, 19, 0,
2335 286, 287, 20, 0, 288, 289, 290, 21, 291, 292,
2336 0, 23, 0, 0, 0, 293, 294, 295, 296, 297,
2337 26, 0, 27, 299, 0, 0, 0, 0, 0, 0,
2338 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2339 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2340 0, 0, 306, 307, 308, 280, 8, 9, 10, 500,
2341 12, 496, 282, 283, 0, 284, 14, 0, 0, 0,
2342 0, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2343 16, 285, 17, 0, 19, 0, 286, 287, 20, 0,
2344 288, 289, 290, 21, 291, 292, 0, 23, 0, 0,
2345 0, 293, 294, 295, 296, 297, 26, 0, 27, 299,
2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 301,
2347 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2348 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2349 308, 280, 8, 9, 10, 309, 12, 496, 282, 283,
2350 0, 284, 14, 0, 0, 0, 0, 0, 0, 0,
2351 0, 0, 310, 0, 0, 0, 16, 285, 17, 0,
2352 19, 0, 286, 287, 20, 0, 288, 289, 290, 21,
2353 291, 292, 0, 23, 0, 0, 0, 293, 294, 295,
2354 296, 297, 26, 0, 27, 299, 0, 0, 0, 0,
2355 0, 0, 0, 0, 0, 301, 0, 0, 515, 0,
2356 0, 0, 0, 0, 0, 0, 303, 304, 516, 0,
2357 0, 0, 0, 0, 306, 307, 308, 7, 8, 9,
2358 10, 517, 12, 281, 282, 283, 0, 284, 14, 0,
2359 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2360 0, 0, 16, 285, 17, 0, 19, 0, 286, 287,
2361 20, 0, 288, 289, 290, 21, 291, 292, 0, 23,
2362 0, 0, 0, 293, 294, 295, 296, 297, 26, 0,
2363 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2364 0, 301, 0, 0, 1424, -362, 8, 9, -362, -362,
2365 12, 226, 303, 304, 1425, 0, 14, 0, 0, 0,
2366 306, 307, 308, 0, 0, 0, 0, 1426, 0, 0,
2367 16, 0, 17, -362, 0, 0, 0, 0, 20, 0,
2368 0, 0, 0, -362, 310, 0, 0, 23, 0, 578,
2369 0, 0, 0, 0, 0, 0, 26, 0, 128, 129,
2370 7, 8, 9, 10, 197, 198, 199, 0, 0, 0,
2371 0, 14, 579, 0, 0, 0, 0, 0, 0, 0,
2372 0, 0, 580, 0, 0, 0, 0, 0, 18, 0,
2373 -362, 0, 581, 20, 0, 582, 583, 0, 21, 0,
2374 0, 0, 23, 0, 578, 0, 0, 0, 0, 0,
2375 0, 26, 0, 27, 28, 7, 8, 9, 10, 383,
2376 12, 13, 0, 0, 953, 0, 14, 907, 0, 0,
2377 0, 0, 0, 0, 0, 0, 0, 908, 0, 0,
2378 16, 0, 17, 18, 0, 32, 0, 581, 20, 0,
2379 948, 583, 0, 21, 0, 0, 0, 23, 0, 0,
2380 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2381 987, 8, 731, 10, 188, 12, 189, 0, 0, 0,
2382 0, 14, 30, 0, 0, 0, 0, 0, 0, 0,
2383 0, 0, 31, 0, 0, 16, 0, 17, 18, 0,
2384 32, 0, 0, 20, 0, 33, 0, 0, 21, 0,
2385 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
2386 0, 26, 0, 27, 28, 0, 0, 0, 0, 989,
2387 0, 0, 0, 0, 0, 0, 0, 30, 7, 8,
2388 9, 10, 188, 12, 189, 0, 0, 31, 0, 14,
2389 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
2390 33, 0, 0, 16, 0, 17, 18, 0, 0, 0,
2391 0, 20, 0, 0, 0, 0, 21, 0, 0, 0,
2392 23, 0, 0, 0, 0, 0, 0, 0, 0, 26,
2393 0, 27, 28, 0, 0, 1357, 0, 7, 8, 9,
2394 10, 383, 12, 13, 0, 30, 0, 0, 14, 0,
2395 0, 0, 0, 0, 0, 31, 0, 0, 0, 0,
2396 0, 0, 16, 32, 17, 18, 0, 0, 33, 0,
2397 20, 0, 0, 0, 0, 21, 0, 0, 0, 23,
2398 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
2399 27, 28, 7, 8, 9, 10, 188, 12, 189, 0,
2400 0, 0, 0, 14, 30, 0, 0, 0, 0, 0,
2401 0, 0, 0, 0, 31, 0, 0, 16, 0, 17,
2402 18, 0, 32, 0, 0, 20, 0, 33, 0, 0,
2403 21, 0, 0, 1414, 23, 0, 0, 0, 0, 0,
2404 0, 0, 0, 26, 0, 27, 28, 0, 0, 0,
2405 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
2406 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2407 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
2408 0, 0, 33, 1415, 532, 533, 534, 535, 536, 537,
2409 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2410 548, 549, 550, 551, 552, 553, 619, 0, 0, 0,
2411 532, 533, 534, 535, 536, 537, 538, 539, 540, 541,
2412 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2413 552, 553, 1488, 532, 533, 534, 535, 536, 537, 538,
2414 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
2415 549, 550, 551, 552, 553, 532, 533, 534, 535, 536,
2416 537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
2417 547, 548, 549, 550, 551, 552, 553, 536, 537, 538,
2418 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
2419 549, 550, 551, 552, 553, 537, 538, 539, 540, 541,
2420 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2421 552, 553
2422 };
2423
2424 static const short yycheck[] = { 4,
2425 672, 145, 146, 155, 53, 423, 329, 23, 418, 669,
2426 4, 466, 192, 4, 382, 382, 231, 105, 106, 445,
2427 382, 4, 124, 335, 335, 827, 14, 582, 284, 285,
2428 35, 60, 200, 201, 589, 40, 30, 31, 132, 4,
2429 527, 35, 4, 4, 35, 82, 40, 227, 33, 40,
2430 55, 353, 35, 652, 122, 4, 659, 40, 88, 78,
2431 90, 317, 131, 132, 1255, 70, 562, 131, 1248, 1326,
2432 35, 1262, 52, 35, 35, 40, 44, 82, 40, 40,
2433 192, 86, 165, 88, 1411, 90, 35, 1412, 82, 201,
2434 55, 40, 11, 81, 11, 11, 276, 4, 1, 222,
2435 105, 106, 1, 12, 9, 135, 74, 1, 735, 60,
2436 737, 521, 37, 0, 54, 7, 104, 744, 1429, 54,
2437 335, 140, 62, 1450, 0, 1413, 54, 62, 35, 134,
2438 135, 33, 137, 40, 3, 4, 5, 6, 1449, 74,
2439 134, 78, 33, 62, 27, 37, 74, 74, 31, 329,
2440 59, 145, 146, 62, 159, 58, 61, 583, 109, 58,
2441 145, 146, 147, 62, 58, 159, 195, 186, 62, 134,
2442 150, 25, 41, 134, 203, 82, 499, 60, 74, 57,
2443 752, 64, 176, 177, 109, 134, 758, 56, 57, 108,
2444 47, 108, 108, 178, 159, 1506, 95, 1485, 159, 108,
2445 59, 95, 58, 183, 58, 1530, 48, 109, 62, 443,
2446 159, 3, 4, 5, 47, 54, 671, 451, 1545, 88,
2447 93, 309, 3, 4, 5, 1416, 109, 134, 196, 59,
2448 93, 64, 1412, 1490, 60, 74, 93, 94, 59, 58,
2449 228, 95, 98, 64, 93, 64, 3, 4, 5, 6,
2450 109, 108, 159, 453, 75, 146, 147, 326, 33, 411,
2451 93, 94, 326, 673, 56, 57, 47, 74, 1459, 25,
2452 470, 27, 277, 54, 877, 56, 57, 880, 108, 373,
2453 642, 449, 450, 109, 41, 322, 59, 178, 80, 457,
2454 602, 48, 864, 437, 438, 59, 47, 365, 74, 56,
2455 57, 469, 58, 902, 309, 242, 62, 47, 338, 4,
2456 5, 60, 93, 868, 192, 60, 1507, 322, 921, 922,
2457 488, 93, 200, 201, 59, 330, 694, 694, 322, 631,
2458 826, 88, 54, 338, 339, 108, 385, 47, 450, 95,
2459 428, 47, 93, 94, 108, 339, 47, 335, 60, 227,
2460 12, 25, 74, 93, 909, 107, 571, 108, 64, 54,
2461 109, 56, 57, 64, 109, 1154, 1155, 690, 108, 60,
2462 145, 146, 147, 108, 339, 70, 47, 382, 339, 1168,
2463 25, 386, 27, 93, 413, 80, 12, 93, 382, 47,
2464 339, 1193, 93, 948, 47, 59, 60, 59, 276, 94,
2465 62, 27, 974, 178, 1252, 31, 1254, 336, 337, 497,
2466 47, 829, 500, 58, 986, 322, 504, 62, 309, 906,
2467 382, 47, 93, 3, 4, 5, 431, 456, 75, 517,
2468 77, 54, 339, 59, 60, 93, 62, 431, 64, 865,
2469 93, 94, 530, 437, 438, 31, 534, 1019, 47, 1021,
2470 95, 329, 437, 438, 439, 108, 93, 94, 35, 54,
2471 389, 390, 467, 40, 494, 47, 54, 93, 94, 62,
2472 54, 58, 560, 467, 54, 382, 56, 57, 566, 74,
2473 1083, 1084, 108, 47, 467, 47, 74, 4, 5, 494,
2474 74, 459, 497, 74, 93, 500, 59, 60, 1287, 504,
2475 505, 506, 507, 508, 4, 5, 467, 1296, 1297, 387,
2476 1299, 93, 517, 1315, 54, 8, 9, 972, 467, 109,
2477 47, 14, 527, 58, 431, 530, 563, 937, 47, 93,
2478 467, 93, 94, 59, 93, 903, 903, 54, 632, 56,
2479 57, 903, 1169, 36, 712, 639, 47, 438, 439, 75,
2480 1105, 77, 45, 70, 47, 54, 56, 57, 563, 608,
2481 467, 873, 873, 80, 4, 5, 93, 94, 54, 563,
2482 639, 449, 450, 38, 93, 62, 54, 582, 1133, 457,
2483 3, 4, 5, 75, 589, 579, 580, 74, 582, 54,
2484 47, 469, 93, 59, 60, 589, 719, 777, 721, 648,
2485 93, 650, 651, 726, 634, 593, 497, 62, 48, 500,
2486 488, 62, 59, 47, 870, 47, 56, 57, 12, 9,
2487 1038, 1039, 12, 74, 640, 516, 517, 729, 75, 634,
2488 94, 1057, 715, 56, 57, 58, 93, 83, 84, 530,
2489 80, 690, 4, 5, 649, 47, 1435, 1436, 653, 4,
2490 5, 47, 78, 108, 108, 671, 563, 47, 873, 93,
2491 1115, 93, 437, 438, 439, 59, 749, 47, 62, 59,
2492 64, 61, 62, 47, 64, 582, 102, 606, 62, 765,
2493 766, 767, 589, 4, 5, 75, 48, 77, 1453, 694,
2494 74, 93, 1147, 742, 56, 57, 62, 93, 589, 54,
2495 694, 56, 57, 93, 94, 131, 59, 60, 108, 4,
2496 62, 1129, 11, 93, 140, 3, 4, 5, 108, 93,
2497 1138, 1139, 74, 753, 754, 1143, 756, 48, 109, 1052,
2498 735, 609, 737, 108, 1499, 56, 57, 108, 743, 744,
2499 35, 735, 108, 737, 93, 40, 834, 752, 753, 754,
2500 744, 756, 735, 758, 737, 59, 60, 3, 752, 80,
2501 186, 744, 4, 5, 758, 111, 1184, 60, 56, 57,
2502 738, 739, 94, 651, 735, 94, 737, 742, 743, 747,
2503 868, 54, 54, 744, 59, 60, 735, 694, 737, 62,
2504 62, 4, 5, 219, 25, 744, 27, 62, 735, 111,
2505 737, 74, 74, 59, 60, 74, 743, 744, 4, 5,
2506 93, 47, 690, 1473, 56, 57, 242, 25, 54, 27,
2507 825, 1493, 3, 4, 5, 830, 93, 58, 735, 74,
2508 737, 62, 59, 74, 712, 48, 74, 744, 74, 768,
2509 4, 5, 11, 56, 57, 752, 969, 970, 971, 109,
2510 58, 758, 48, 858, 62, 108, 1274, 93, 59, 864,
2511 56, 57, 74, 868, 95, 108, 54, 80, 4, 5,
2512 864, 108, 866, 867, 868, 56, 57, 109, 27, 967,
2513 771, 109, 31, 47, 80, 873, 108, 95, 1053, 1054,
2514 54, 1056, 56, 57, 1312, 914, 979, 980, 903, 777,
2515 905, 906, 108, 27, 909, 108, 70, 31, 334, 903,
2516 59, 60, 48, 907, 908, 909, 80, 111, 111, 27,
2517 56, 57, 74, 74, 909, 1008, 90, 1337, 977, 93,
2518 94, 1254, 4, 5, 54, 59, 60, 9, 54, 1349,
2519 64, 903, 108, 948, 80, 74, 62, 4, 5, 286,
2520 287, 111, 9, 111, 948, 108, 961, 864, 74, 1103,
2521 1104, 868, 967, 948, 108, 302, 392, 896, 305, 974,
2522 58, 308, 54, 108, 311, 8, 867, 868, 315, 998,
2523 974, 986, 54, 111, 56, 57, 323, 1131, 1132, 93,
2524 64, 47, 986, 3, 4, 5, 903, 54, 70, 56,
2525 57, 54, 909, 47, 1009, 59, 4, 5, 80, 62,
2526 54, 109, 977, 70, 1019, 1009, 1021, 93, 909, 1429,
2527 30, 74, 990, 80, 54, 1019, 1009, 1021, 996, 997,
2528 74, 1061, 1000, 1001, 60, 36, 1004, 94, 464, 1449,
2529 64, 948, 64, 1048, 54, 1133, 56, 57, 1009, 93,
2530 48, 64, 3, 4, 5, 60, 1061, 948, 56, 57,
2531 1009, 998, 3, 4, 5, 491, 1476, 974, 108, 3,
2532 4, 5, 1009, 62, 108, 1443, 1443, 1160, 1161, 986,
2533 1163, 1164, 80, 1166, 1013, 1014, 1015, 108, 1107, 108,
2534 108, 64, 1180, 1181, 1182, 1183, 1506, 64, 64, 1115,
2535 1105, 93, 1009, 54, 1514, 56, 57, 58, 62, 1103,
2536 1104, 1105, 1019, 54, 1021, 56, 57, 1535, 1103, 1104,
2537 1105, 1126, 56, 57, 1447, 54, 59, 111, 1133, 59,
2538 108, 108, 1126, 62, 909, 1126, 108, 1131, 1132, 1133,
2539 108, 74, 75, 1126, 77, 74, 1131, 1132, 1133, 108,
2540 576, 75, 7, 8, 9, 1243, 75, 75, 86, 14,
2541 88, 382, 90, 75, 1169, 1126, 592, 62, 108, 108,
2542 3, 4, 5, 948, 7, 1169, 31, 62, 515, 516,
2543 59, 36, 108, 3, 4, 5, 1169, 7, 8, 9,
2544 45, 62, 108, 3, 4, 5, 6, 30, 1105, 88,
2545 111, 1284, 1285, 1252, 37, 1254, 94, 135, 1169, 137,
2546 431, 111, 74, 1104, 1105, 47, 36, 108, 108, 1126,
2547 1169, 54, 108, 56, 57, 1313, 1133, 111, 1165, 111,
2548 108, 41, 1169, 108, 54, 109, 56, 57, 58, 108,
2549 59, 1132, 1133, 1248, 54, 109, 56, 57, 1253, 47,
2550 1255, 3, 4, 5, 1248, 60, 54, 1262, 1346, 59,
2551 64, 1255, 1169, 64, 1255, 1248, 1271, 1447, 1262, 1421,
2552 59, 1262, 1255, 108, 108, 1204, 74, 93, 88, 1262,
2553 1424, 1425, 93, 103, 104, 105, 93, 1248, 109, 3,
2554 4, 5, 424, 108, 1255, 93, 1379, 1380, 1381, 431,
2555 93, 1262, 111, 109, 56, 57, 3, 4, 5, 108,
2556 7, 8, 9, 3, 4, 5, 6, 108, 1406, 9,
2557 3, 4, 5, 8, 1412, 1413, 1294, 1295, 1103, 1104,
2558 1105, 3, 4, 5, 48, 7, 8, 9, 1426, 36,
2559 108, 1248, 56, 57, 108, 108, 108, 108, 1255, 1432,
2560 1433, 41, 4, 5, 111, 1262, 1131, 1132, 1133, 56,
2561 57, 582, 109, 495, 54, 48, 56, 57, 589, 108,
2562 33, 108, 300, 56, 57, 1360, 1254, 108, 108, 108,
2563 70, 108, 64, 54, 56, 57, 108, 108, 62, 47,
2564 80, 1359, 44, 111, 96, 108, 108, 1485, 88, 1448,
2565 108, 1406, 54, 93, 56, 57, 1411, 1412, 1413, 62,
2566 338, 1416, 1406, 1501, 62, 1498, 60, 1411, 1412, 1413,
2567 1411, 1426, 1416, 60, 9, 1416, 60, 559, 1411, 1412,
2568 1424, 1425, 16, 1416, 93, 1523, 93, 60, 1443, 1424,
2569 1425, 1426, 1530, 108, 108, 1450, 872, 108, 874, 1443,
2570 1411, 1412, 108, 108, 1459, 1416, 1450, 108, 60, 1450,
2571 93, 111, 93, 17, 596, 1459, 60, 1450, 1459, 1360,
2572 97, 107, 60, 694, 11, 64, 1459, 60, 108, 108,
2573 1485, 80, 81, 82, 83, 84, 8, 9, 914, 1450,
2574 108, 1485, 14, 108, 60, 423, 424, 60, 1459, 1406,
2575 93, 838, 1507, 431, 1411, 1412, 1413, 4, 5, 1416,
2576 1478, 8, 9, 1507, 36, 59, 1507, 14, 7, 8,
2577 9, 108, 60, 45, 1507, 14, 108, 108, 11, 866,
2578 867, 752, 60, 11, 1425, 1426, 1443, 758, 0, 36,
2579 1545, 60, 31, 1450, 0, 0, 1507, 36, 45, 410,
2580 47, 1545, 1459, 2, 1545, 632, 45, 54, 903, 56,
2581 57, 159, 1545, 159, 1472, 743, 494, 495, 1115, 1447,
2582 137, 60, 998, 70, 92, 1336, 1545, 1194, 1485, 279,
2583 1253, 889, 678, 80, 1545, 1360, 884, 1147, 3, 4,
2584 5, 6, 1009, 90, 9, 221, 93, 94, 743, 527,
2585 1507, 529, 972, 615, 532, 533, 1167, 535, 536, 537,
2586 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2587 548, 549, 550, 551, 552, 553, 41, 882, 563, 122,
2588 183, 559, 47, 3, 4, 5, 6, 326, 1545, 54,
2589 1255, 56, 57, 864, 1127, 1493, 1514, 868, 1462, 1424,
2590 1425, 1426, 1524, 956, 1080, 70, 1526, 1271, -1, -1,
2591 -1, 589, -1, -1, -1, 80, -1, -1, 596, -1,
2592 -1, 41, -1, 88, 4, 90, -1, -1, 93, 94,
2593 -1, 1107, 903, -1, 14, -1, 56, 57, 909, -1,
2594 618, 619, 824, 825, 24, -1, -1, -1, 830, -1,
2595 30, 31, -1, 33, -1, 35, 634, 710, -1, -1,
2596 40, -1, 844, -1, 846, -1, 848, -1, -1, -1,
2597 -1, -1, 1059, 53, -1, 55, -1, 948, -1, 14,
2598 -1, 4, 5, 63, -1, 8, 9, 22, -1, 1165,
2599 70, 14, 7, 8, 9, -1, -1, -1, 751, 14,
2600 678, 81, 82, 974, 757, 28, -1, 30, -1, 891,
2601 -1, -1, -1, 36, -1, 986, 31, -1, -1, -1,
2602 -1, 36, 45, -1, 104, -1, -1, -1, 63, -1,
2603 45, 54, -1, 56, 57, 58, -1, -1, -1, 7,
2604 8, 9, -1, -1, 1131, 1132, 14, -1, 1019, 931,
2605 1021, -1, 132, -1, 134, -1, 734, -1, 138, -1,
2606 -1, 141, 142, 31, -1, 145, 146, 147, 36, -1,
2607 93, -1, 47, -1, -1, 753, 754, 45, 756, 159,
2608 -1, -1, 3, 4, 5, 6, -1, 122, 3, 4,
2609 5, 6, 60, 771, 9, -1, 176, 177, 178, 78,
2610 79, 80, 81, 82, 83, 84, 859, -1, 861, 144,
2611 -1, 86, 87, -1, -1, 793, 91, 92, 93, 94,
2612 41, -1, -1, 424, -1, 205, 41, 48, -1, -1,
2613 431, -1, 47, -1, 1105, 56, 57, -1, -1, 54,
2614 220, 56, 57, 176, 177, 178, 824, 825, 228, -1,
2615 -1, 829, 830, -1, -1, 70, -1, -1, -1, 239,
2616 -1, 1248, 1133, -1, -1, 80, 844, 88, 846, -1,
2617 848, -1, -1, 88, -1, 90, -1, -1, 93, 94,
2618 -1, -1, -1, -1, 219, 220, -1, -1, -1, 55,
2619 -1, 57, -1, -1, 495, -1, 231, 277, 278, -1,
2620 -1, -1, -1, 881, -1, -1, -1, -1, -1, -1,
2621 -1, 4, 5, 891, -1, 8, 9, -1, -1, -1,
2622 -1, 14, -1, -1, -1, -1, -1, -1, 906, -1,
2623 3, 4, 5, 6, -1, 1117, -1, 1119, -1, 1121,
2624 -1, 919, 322, 36, -1, -1, 326, -1, 328, 329,
2625 330, -1, 45, 931, 47, -1, -1, -1, 559, 339,
2626 -1, 54, -1, 56, 57, 1018, 301, 1020, 41, -1,
2627 948, -1, -1, -1, -1, 48, -1, 70, -1, -1,
2628 -1, -1, -1, 56, 57, -1, -1, 80, 589, 3,
2629 4, 5, 6, 373, -1, 596, -1, 90, -1, 165,
2630 93, 94, 382, -1, -1, 385, 386, 80, 343, -1,
2631 -1, 989, -1, -1, -1, 88, 396, 352, -1, 399,
2632 -1, 1074, -1, -1, 404, -1, 192, 41, -1, -1,
2633 365, -1, -1, 1215, 200, 201, -1, 1424, 1425, -1,
2634 54, -1, 56, 57, -1, -1, 60, -1, 62, -1,
2635 -1, -1, -1, 433, -1, 435, 70, 437, 438, 439,
2636 1038, 1039, -1, 443, 1042, -1, 80, -1, 448, -1,
2637 -1, 451, -1, -1, 88, -1, -1, -1, -1, 93,
2638 -1, -1, -1, 1061, -1, -1, -1, 467, -1, -1,
2639 -1, -1, 3, 4, 5, 6, -1, -1, 1151, -1,
2640 433, -1, 435, 1156, 437, 438, 439, -1, -1, -1,
2641 -1, -1, -1, -1, -1, 448, 76, 77, 78, 79,
2642 80, 81, 82, 83, 84, 505, 506, 507, 508, 464,
2643 41, 1, -1, 3, 4, 5, 6, 48, 8, 1117,
2644 -1, 1119, -1, 1121, -1, 56, 57, -1, -1, -1,
2645 -1, 1129, -1, -1, -1, 1208, -1, -1, -1, -1,
2646 1138, 1139, -1, -1, -1, 1143, -1, -1, -1, 80,
2647 771, 41, 1443, -1, -1, -1, -1, 88, 48, -1,
2648 1158, 1159, -1, 563, 54, 565, 56, 57, 4, 5,
2649 -1, -1, -1, 9, 529, -1, -1, 577, -1, 579,
2650 580, -1, 582, -1, -1, -1, 1184, -1, -1, 589,
2651 -1, -1, -1, 593, -1, -1, -1, -1, 88, -1,
2652 386, 387, -1, 824, 825, -1, -1, -1, 608, 830,
2653 -1, 47, -1, -1, -1, -1, 571, 1215, 54, -1,
2654 56, 57, -1, 844, -1, 846, -1, 848, -1, -1,
2655 1303, 1304, 632, -1, 70, -1, -1, -1, -1, 639,
2656 -1, 1239, -1, -1, 80, -1, -1, 1320, 648, 649,
2657 650, 651, 652, 653, 90, -1, 442, 93, 94, -1,
2658 -1, -1, -1, 449, 450, -1, -1, 453, -1, -1,
2659 891, 457, -1, -1, -1, -1, 1274, -1, -1, -1,
2660 -1, -1, -1, -1, 470, 640, 3, 4, 5, 6,
2661 690, -1, 1290, -1, 694, -1, -1, 652, -1, 1372,
2662 1373, 701, 702, -1, 704, -1, -1, 4, 5, -1,
2663 931, -1, 9, -1, 1312, -1, -1, -1, 1391, 1392,
2664 -1, -1, -1, 678, 41, -1, -1, 948, -1, -1,
2665 -1, 48, 732, -1, -1, 735, -1, 737, -1, 56,
2666 57, -1, 742, 743, 744, -1, -1, -1, 701, 702,
2667 47, 704, 752, -1, -1, -1, -1, 54, 758, 56,
2668 57, -1, 1360, 80, -1, 765, 766, 767, -1, -1,
2669 -1, 88, -1, 70, -1, -1, -1, 777, -1, 1377,
2670 1378, -1, -1, 80, -1, -1, -1, -1, 1386, 742,
2671 -1, -1, -1, 90, -1, -1, 93, 94, -1, -1,
2672 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2673 -1, -1, -1, 14, -1, -1, 1414, -1, -1, -1,
2674 -1, -1, -1, 609, -1, -1, 27, 28, -1, 30,
2675 31, 32, -1, -1, -1, 36, -1, -1, -1, -1,
2676 41, -1, -1, 44, 45, 46, -1, 48, -1, 849,
2677 -1, 851, -1, 54, -1, 56, 57, -1, 858, 60,
2678 -1, -1, 862, 649, 864, 651, 866, 867, 868, 70,
2679 -1, -1, -1, 873, -1, -1, -1, -1, -1, 80,
2680 -1, -1, -1, 328, 329, 330, -1, 88, -1, -1,
2681 -1, -1, 93, -1, -1, -1, 1117, 98, 1119, -1,
2682 1121, -1, -1, 903, 690, 905, -1, 907, 908, 909,
2683 -1, -1, -1, -1, -1, 3, 4, 5, 6, -1,
2684 -1, 9, 3, 4, 5, 6, 712, -1, -1, 715,
2685 -1, -1, -1, -1, 889, -1, -1, 1535, -1, -1,
2686 -1, -1, -1, -1, -1, -1, -1, 902, 948, -1,
2687 -1, -1, 4, 41, 907, 908, 909, 743, -1, 47,
2688 41, 961, 14, 749, -1, -1, 54, 48, 56, 57,
2689 -1, 23, 24, -1, 974, 56, 57, 977, 30, 31,
2690 -1, 33, 70, 35, 4, 5, 986, -1, 40, 9,
2691 -1, -1, 80, -1, 1215, 948, -1, -1, -1, 999,
2692 88, 53, 90, 55, -1, 93, 94, 88, -1, 1009,
2693 -1, 63, -1, -1, -1, -1, -1, -1, 70, 1019,
2694 -1, 1021, -1, -1, 977, -1, -1, 47, -1, -1,
2695 82, -1, -1, -1, 54, -1, 56, 57, -1, 4,
2696 5, -1, -1, 8, 9, -1, -1, -1, 1048, 14,
2697 70, -1, -1, 1053, 1054, -1, 1056, -1, -1, -1,
2698 80, -1, -1, 28, -1, 30, -1, -1, -1, -1,
2699 90, 36, -1, 93, 94, -1, 3, 4, 5, 6,
2700 45, -1, 134, -1, 1039, -1, 138, -1, -1, 54,
2701 142, 56, 57, 145, 146, 147, -1, -1, -1, -1,
2702 -1, 1101, 1102, 1103, 1104, 1105, -1, 159, -1, 1109,
2703 -1, 38, 39, -1, 41, -1, -1, -1, -1, 3,
2704 4, 5, 6, -1, 176, 177, 178, 54, 93, 56,
2705 57, 1131, 1132, 1133, 579, 580, -1, 582, -1, 1360,
2706 -1, -1, -1, -1, 589, -1, -1, -1, 1101, 1102,
2707 1103, 1104, 1105, 205, -1, -1, 1109, 41, -1, -1,
2708 -1, -1, 1162, -1, 48, -1, -1, 1167, 1123, 1169,
2709 -1, -1, 56, 57, 1129, -1, -1, -1, 1131, 1132,
2710 1133, -1, -1, -1, -1, -1, -1, 239, -1, -1,
2711 -1, -1, -1, 979, 980, -1, 80, -1, -1, -1,
2712 -1, -1, -1, 648, 88, 650, 651, -1, 653, 1162,
2713 -1, -1, -1, -1, -1, -1, -1, -1, 1218, 1219,
2714 -1, 1221, 1008, -1, -1, 277, 278, 71, 72, 73,
2715 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2716 84, 3, 4, 5, 6, 690, -1, -1, -1, -1,
2717 -1, -1, 1252, 1253, 1254, -1, -1, -1, 3, 4,
2718 5, 6, 7, 8, 9, 1218, 1219, -1, 1221, 14,
2719 322, 1271, -1, -1, 326, -1, 328, 329, 330, 41,
2720 -1, -1, -1, 335, -1, -1, 31, 339, -1, 1244,
2721 -1, 36, 54, -1, 56, 57, 41, -1, 60, -1,
2722 45, -1, 47, -1, -1, -1, -1, -1, 70, 54,
2723 -1, 56, 57, 3, 4, 5, 6, -1, 80, -1,
2724 -1, 373, -1, -1, -1, 70, 88, -1, -1, -1,
2725 382, 93, 777, 385, 386, 80, -1, -1, -1, -1,
2726 -1, -1, -1, 88, 396, 90, -1, 399, 93, 94,
2727 -1, 41, 404, 105, 106, -1, -1, -1, 48, -1,
2728 1360, -1, -1, -1, -1, -1, 56, 57, -1, -1,
2729 -1, -1, -1, 1328, 1160, 1161, -1, 1163, 1164, -1,
2730 1166, 433, -1, 435, -1, 437, 438, 439, -1, -1,
2731 80, 443, -1, -1, -1, -1, 448, -1, 88, 451,
2732 -1, -1, -1, -1, 849, -1, 851, 1360, 4, 5,
2733 -1, 7, 8, 9, 466, 467, -1, 862, 14, -1,
2734 -1, 866, 867, 868, 1424, 1425, 1426, -1, -1, -1,
2735 -1, -1, 28, -1, 30, 31, -1, -1, -1, -1,
2736 36, -1, -1, 1443, -1, -1, -1, -1, 1448, 45,
2737 -1, -1, 48, 505, 506, 507, 508, -1, 54, -1,
2738 56, 57, 907, 908, 909, -1, -1, 1253, 1254, -1,
2739 -1, 1424, 1425, 1426, -1, -1, -1, -1, -1, 1,
2740 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2741 -1, -1, 14, 3, 4, 5, 6, -1, 1284, 1285,
2742 -1, -1, -1, 948, -1, -1, 28, -1, 30, 31,
2743 32, 563, -1, 565, 36, 37, -1, -1, -1, 41,
2744 -1, -1, -1, 45, 46, -1, 48, 579, 580, -1,
2745 582, 41, 54, -1, 56, 57, -1, 589, 60, -1,
2746 62, -1, -1, -1, 54, -1, 56, 57, 70, -1,
2747 602, -1, 62, -1, -1, -1, 608, 309, 80, -1,
2748 70, -1, -1, -1, -1, -1, 88, -1, -1, -1,
2749 80, 93, -1, -1, -1, -1, -1, -1, 88, -1,
2750 632, 4, 5, 93, 7, 8, 9, 109, 640, 12,
2751 -1, 14, -1, 1379, 1380, 1381, 648, 649, 650, 651,
2752 652, 653, -1, -1, -1, 28, -1, 30, 31, -1,
2753 -1, -1, -1, 36, -1, -1, 80, -1, -1, 671,
2754 -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
2755 382, 54, -1, 56, 57, -1, -1, -1, 690, -1,
2756 -1, -1, 694, -1, -1, -1, 1432, 1433, -1, 701,
2757 702, -1, 704, -1, -1, -1, 1101, 1102, 1103, 1104,
2758 1105, -1, -1, -1, 1109, -1, -1, -1, -1, -1,
2759 -1, -1, -1, 3, 4, 5, 6, -1, -1, 431,
2760 732, -1, -1, 735, -1, 737, 1131, 1132, 1133, 153,
2761 742, 743, 744, -1, -1, -1, -1, -1, -1, -1,
2762 752, -1, -1, -1, -1, -1, 758, -1, -1, -1,
2763 174, 41, 1498, 765, 766, 767, -1, 47, -1, -1,
2764 -1, -1, -1, 187, 54, 777, 56, 57, 73, 74,
2765 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2766 70, 3, 4, 5, 6, 497, -1, 9, 500, -1,
2767 80, -1, 504, 505, 506, 507, 508, -1, 88, -1,
2768 90, -1, -1, 93, 94, 517, -1, -1, -1, 3,
2769 4, 5, 6, 1218, 1219, 9, 1221, -1, 530, 41,
2770 -1, -1, -1, -1, -1, 47, -1, -1, -1, -1,
2771 -1, -1, 54, -1, 56, 57, -1, 849, -1, 851,
2772 -1, -1, -1, -1, -1, -1, 858, 41, 70, -1,
2773 862, -1, 864, 4, 866, 867, 868, -1, 80, -1,
2774 54, 873, 56, 57, -1, -1, 88, -1, 90, -1,
2775 582, 93, 94, 31, -1, -1, 70, 589, -1, 30,
2776 31, -1, 33, -1, 35, -1, 80, -1, -1, 40,
2777 -1, 903, -1, 905, 88, 907, 908, 909, -1, 93,
2778 -1, -1, 53, -1, 55, 63, 64, 65, 66, 67,
2779 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2780 78, 79, 80, 81, 82, 83, 84, 78, -1, -1,
2781 -1, -1, -1, -1, -1, -1, 948, 63, 64, 65,
2782 66, 67, 68, 69, 70, 71, 72, 73, 74, 961,
2783 76, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2784 972, -1, 974, -1, -1, 977, -1, -1, -1, -1,
2785 -1, -1, -1, -1, 986, -1, -1, -1, -1, -1,
2786 131, 132, 694, 134, -1, -1, -1, 138, -1, 140,
2787 -1, 142, -1, -1, 145, 146, 147, 1009, -1, -1,
2788 -1, -1, -1, -1, -1, -1, -1, 1019, 159, 1021,
2789 -1, -1, -1, -1, -1, -1, -1, 441, -1, 4,
2790 5, -1, 446, 8, 9, 176, 177, 178, -1, 14,
2791 -1, -1, -1, -1, -1, 186, 1048, -1, -1, -1,
2792 752, 1053, 1054, 28, 1056, 30, 758, 471, -1, -1,
2793 -1, 36, -1, 477, 205, -1, -1, -1, -1, -1,
2794 45, -1, 47, -1, -1, 489, 490, -1, 492, 54,
2795 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
2796 -1, -1, -1, -1, -1, 70, -1, -1, 239, 1101,
2797 1102, 1103, 1104, 1105, -1, 80, -1, 1109, -1, -1,
2798 -1, -1, -1, 1115, -1, 90, -1, -1, 93, 94,
2799 -1, -1, -1, 825, -1, -1, -1, -1, -1, 1131,
2800 1132, 1133, -1, -1, -1, 3, 4, 5, 6, -1,
2801 -1, 9, -1, -1, -1, 1147, -1, -1, 4, -1,
2802 -1, -1, -1, -1, -1, -1, 858, -1, -1, -1,
2803 1162, -1, 864, -1, -1, 1167, 868, 1169, 309, -1,
2804 -1, 585, 586, 41, 30, 31, 590, 33, -1, 35,
2805 -1, -1, -1, -1, 40, 326, 54, -1, 56, 57,
2806 -1, -1, -1, 334, -1, -1, -1, 53, 339, 55,
2807 -1, 903, 70, 905, 4, 5, -1, 909, 8, 9,
2808 -1, -1, 80, -1, 14, -1, 1218, 1219, -1, 1221,
2809 88, -1, -1, -1, -1, 93, -1, -1, 28, -1,
2810 30, -1, 373, -1, -1, -1, 36, -1, -1, -1,
2811 -1, -1, -1, -1, 385, 45, 948, -1, -1, -1,
2812 1252, 1253, 1254, -1, 54, 396, 56, 57, 399, 961,
2813 -1, -1, -1, 404, -1, 967, -1, -1, -1, 1271,
2814 -1, -1, 974, -1, -1, -1, -1, -1, 134, -1,
2815 -1, -1, 138, -1, 986, -1, 142, -1, -1, 145,
2816 146, 147, 433, -1, 435, -1, 437, 438, 439, -1,
2817 -1, -1, 443, 159, -1, -1, -1, 448, -1, -1,
2818 451, -1, -1, -1, -1, -1, -1, 1019, -1, 1021,
2819 176, 177, 178, -1, -1, -1, 467, -1, 4, 5,
2820 -1, 7, 8, 9, -1, -1, 12, -1, 14, -1,
2821 -1, -1, -1, -1, -1, 759, 1048, 761, -1, 205,
2822 -1, -1, 28, -1, 30, 31, 497, -1, 1360, 500,
2823 36, -1, -1, -1, -1, -1, -1, -1, -1, 45,
2824 -1, -1, -1, -1, 515, 516, 517, -1, 54, -1,
2825 56, 57, -1, 239, -1, -1, -1, -1, -1, 530,
2826 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2827 82, 83, 84, 1105, -1, -1, -1, 1, -1, 3,
2828 4, 5, 6, 7, 8, 9, -1, -1, 832, 833,
2829 14, 835, 1424, 1425, 1426, -1, -1, -1, -1, -1,
2830 -1, 1133, -1, -1, 28, 576, 30, 31, 32, -1,
2831 -1, 1443, 36, 37, -1, -1, 1448, 41, 589, 863,
2832 -1, 45, 46, -1, 48, -1, -1, -1, -1, -1,
2833 54, -1, 56, 57, -1, -1, 60, 608, 62, -1,
2834 -1, -1, -1, -1, -1, -1, 70, -1, -1, 335,
2835 -1, -1, -1, 339, -1, -1, 80, -1, -1, -1,
2836 -1, 632, -1, -1, 88, -1, -1, 911, 639, 93,
2837 -1, -1, -1, 3, 4, 5, 6, 648, 649, 650,
2838 651, -1, -1, -1, -1, 109, -1, -1, -1, -1,
2839 -1, -1, -1, -1, -1, 33, -1, -1, -1, 385,
2840 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2841 396, 41, -1, 399, -1, 53, -1, -1, 404, 690,
2842 -1, -1, -1, 694, 54, -1, 56, 57, -1, 973,
2843 701, 702, 62, 704, -1, -1, -1, -1, -1, 1271,
2844 70, 985, -1, -1, -1, -1, -1, 433, -1, 435,
2845 80, 437, 438, 439, -1, -1, -1, 443, 88, -1,
2846 -1, -1, 448, 93, 735, 451, 737, -1, -1, -1,
2847 -1, 742, 743, 744, -1, -1, -1, -1, -1, -1,
2848 -1, 467, -1, -1, -1, -1, -1, -1, -1, 1,
2849 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2850 771, -1, 14, 3, 4, 5, 6, 145, 146, 147,
2851 -1, -1, -1, -1, -1, 27, 28, -1, 30, 31,
2852 32, -1, -1, -1, 36, 1069, -1, -1, -1, 41,
2853 -1, -1, 44, 45, 46, -1, 48, -1, 176, 177,
2854 178, 41, 54, -1, 56, 57, -1, -1, 60, 3,
2855 4, 5, 6, -1, 54, 9, 56, 57, 70, -1,
2856 -1, -1, 62, -1, 1108, -1, -1, 205, 80, -1,
2857 70, -1, -1, -1, -1, -1, 88, -1, -1, -1,
2858 80, 93, -1, -1, -1, -1, 98, 41, 88, -1,
2859 -1, 577, -1, 93, 1426, 866, 867, 868, -1, -1,
2860 54, 872, 56, 57, -1, -1, -1, -1, -1, -1,
2861 -1, 1443, -1, -1, -1, -1, 70, -1, -1, -1,
2862 -1, -1, 608, -1, -1, -1, 80, 1171, -1, -1,
2863 -1, 1175, -1, -1, 88, -1, 907, 908, 909, 93,
2864 278, -1, -1, 914, -1, -1, 3, 4, 5, 6,
2865 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2866 -1, -1, 648, 649, 650, 651, 1210, -1, -1, -1,
2867 -1, 28, -1, 30, 31, -1, -1, 948, -1, 36,
2868 -1, -1, -1, -1, 41, -1, -1, -1, 45, -1,
2869 328, 329, 330, -1, -1, -1, -1, 54, -1, 56,
2870 57, -1, -1, 60, 690, -1, 977, -1, 694, -1,
2871 -1, -1, -1, 70, -1, 701, 702, -1, 704, -1,
2872 -1, -1, -1, 80, -1, -1, -1, 998, -1, -1,
2873 -1, 88, -1, -1, -1, 1279, 93, -1, 1009, 1283,
2874 -1, -1, -1, -1, -1, -1, -1, 385, -1, 735,
2875 -1, 737, 328, 329, 330, -1, 742, 743, 744, -1,
2876 -1, 1305, 1306, -1, -1, -1, -1, -1, -1, -1,
2877 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
2878 9, -1, -1, -1, -1, 14, -1, -1, -1, -1,
2879 -1, 3, 4, 5, 6, 433, -1, 435, -1, 437,
2880 438, 439, 31, -1, -1, 443, -1, 36, -1, 1080,
2881 448, -1, 41, 451, -1, -1, 45, -1, 47, -1,
2882 -1, -1, -1, -1, -1, 54, -1, 56, 57, 41,
2883 1101, 1102, 1103, 1104, 1105, -1, 1107, -1, 1109, -1,
2884 -1, 70, 54, -1, 56, 57, -1, -1, 60, -1,
2885 -1, 80, -1, -1, 53, -1, -1, -1, 70, 88,
2886 1131, 1132, 1133, 4, 93, -1, -1, -1, 80, -1,
2887 -1, -1, -1, -1, -1, -1, 88, -1, -1, 78,
2888 -1, 93, 81, -1, -1, -1, -1, 873, -1, 30,
2889 31, 1162, -1, -1, 35, -1, 1167, -1, 1169, 40,
2890 -1, -1, -1, 102, -1, 104, -1, -1, -1, -1,
2891 -1, -1, -1, -1, 55, -1, -1, -1, -1, -1,
2892 -1, 907, 908, 909, -1, -1, -1, 565, -1, -1,
2893 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2894 -1, 579, 580, -1, 582, -1, -1, 1218, 1219, -1,
2895 1221, 589, -1, -1, 3, 4, 5, 6, -1, -1,
2896 9, -1, 948, -1, -1, -1, -1, -1, -1, -1,
2897 608, 3, 4, 5, 6, -1, -1, 176, 177, 178,
2898 -1, 1252, 1253, 1254, -1, -1, -1, 186, -1, -1,
2899 -1, 977, 41, 134, -1, -1, -1, 138, -1, -1,
2900 -1, 142, -1, 579, 580, 54, 205, 56, 57, 41,
2901 648, -1, 650, 651, -1, 653, -1, -1, 159, -1,
2902 -1, 70, 54, 1009, 56, 57, -1, -1, -1, 228,
2903 -1, 80, -1, -1, -1, 176, 177, -1, 70, 88,
2904 -1, 4, 5, 242, 93, 8, 9, -1, 80, -1,
2905 -1, 14, 690, -1, -1, -1, 88, -1, -1, -1,
2906 -1, 93, -1, 701, 702, 28, 704, 30, -1, -1,
2907 -1, -1, 648, 36, 650, 651, -1, 653, -1, -1,
2908 -1, -1, 45, -1, -1, -1, -1, -1, -1, 1360,
2909 -1, 54, -1, 56, 57, -1, -1, -1, 239, -1,
2910 -1, -1, -1, -1, 742, 3, 4, 5, 6, -1,
2911 -1, 9, -1, -1, 690, 1101, 1102, 1103, 1104, 1105,
2912 -1, -1, -1, 1109, -1, -1, -1, 765, 766, 767,
2913 -1, -1, -1, -1, -1, 334, 335, -1, -1, 777,
2914 -1, -1, -1, 41, -1, 1131, 1132, 1133, -1, -1,
2915 -1, -1, -1, 1424, 1425, 1426, 54, -1, 56, 57,
2916 -1, -1, -1, -1, -1, 4, 5, -1, 7, 8,
2917 9, -1, 70, -1, -1, 14, 1162, 1448, -1, -1,
2918 -1, 1167, 80, 1169, -1, -1, 385, -1, -1, 28,
2919 88, 30, 31, -1, -1, 93, -1, 36, 339, -1,
2920 -1, 777, -1, -1, -1, -1, 45, -1, -1, -1,
2921 -1, 849, -1, 851, -1, 54, -1, 56, 57, -1,
2922 -1, -1, -1, -1, 862, -1, -1, -1, 866, 867,
2923 868, -1, 1218, 1219, 433, 1221, 435, -1, 437, 438,
2924 439, -1, -1, -1, 443, -1, -1, -1, -1, 448,
2925 -1, -1, 451, -1, -1, 396, -1, -1, 399, -1,
2926 -1, -1, -1, 404, -1, -1, 1252, 1253, 1254, 907,
2927 908, 909, -1, 849, -1, 851, -1, -1, -1, -1,
2928 -1, -1, -1, -1, -1, -1, 862, -1, -1, -1,
2929 866, 867, 433, 1, 435, 3, 4, 5, 6, 7,
2930 8, 9, -1, -1, -1, -1, 14, 448, -1, -1,
2931 948, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2932 28, -1, 30, 31, 32, -1, 467, -1, 36, 37,
2933 -1, 907, 908, 41, -1, -1, -1, 45, 46, 977,
2934 48, -1, -1, -1, -1, -1, 54, -1, 56, 57,
2935 -1, -1, 60, -1, 62, 4, 5, -1, 7, 8,
2936 9, -1, 70, 12, -1, 14, -1, -1, -1, -1,
2937 -1, -1, 80, -1, 1360, -1, -1, -1, -1, 28,
2938 88, 30, 31, -1, -1, 93, -1, 36, -1, -1,
2939 -1, -1, -1, 592, 593, -1, 45, -1, 47, -1,
2940 -1, 109, -1, -1, -1, 54, -1, 56, 57, 608,
2941 -1, -1, -1, -1, -1, 1053, 1054, -1, 1056, -1,
2942 -1, 70, 3, 4, 5, 6, -1, -1, 9, -1,
2943 -1, 80, -1, -1, -1, -1, -1, -1, 1424, 1425,
2944 1426, 90, -1, -1, 93, 94, -1, -1, -1, 648,
2945 -1, 650, 651, -1, -1, -1, -1, -1, -1, -1,
2946 41, -1, 1448, 1101, 1102, 1103, 1104, 1105, -1, -1,
2947 -1, 1109, -1, 54, -1, 56, 57, -1, -1, -1,
2948 -1, -1, -1, -1, -1, 3, 4, 5, 6, 70,
2949 -1, 690, -1, 1131, 1132, 1133, -1, -1, -1, 80,
2950 14, -1, 701, 702, -1, 704, -1, 88, 649, 23,
2951 24, -1, 93, -1, -1, -1, 30, 31, -1, 33,
2952 -1, -1, -1, 41, 1162, 1101, 1102, 1103, 1104, -1,
2953 729, -1, -1, 1109, -1, -1, 54, -1, 56, 57,
2954 -1, -1, -1, 742, 3, 4, 5, 6, -1, 63,
2955 9, -1, 70, 694, -1, 1131, 1132, -1, -1, -1,
2956 701, 702, 80, 704, -1, -1, -1, -1, -1, -1,
2957 88, -1, -1, -1, -1, 93, -1, -1, -1, -1,
2958 1218, 1219, 41, 1221, -1, -1, -1, 3, 4, 5,
2959 6, -1, -1, -1, 735, 54, 737, 56, 57, -1,
2960 -1, 742, 743, 744, -1, -1, -1, -1, 122, -1,
2961 124, 70, -1, -1, 1252, -1, 1254, 131, 132, -1,
2962 -1, 80, -1, -1, 138, 41, 140, 141, 142, 88,
2963 -1, 145, 146, 147, 93, -1, -1, -1, 54, -1,
2964 56, 57, 1218, 1219, -1, 1221, -1, -1, -1, -1,
2965 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
2966 -1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
2967 -1, -1, 88, 872, 873, 874, -1, 93, -1, -1,
2968 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1,
2969 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2970 -1, -1, 14, -1, -1, 219, 220, -1, 907, 908,
2971 909, -1, -1, -1, -1, 914, 28, -1, 30, 31,
2972 32, -1, 1360, -1, 36, 239, -1, -1, -1, 41,
2973 -1, -1, -1, 45, 46, -1, 48, -1, -1, -1,
2974 -1, -1, 54, -1, 56, 57, -1, -1, 60, 948,
2975 62, -1, -1, -1, -1, -1, -1, -1, 70, -1,
2976 -1, -1, -1, -1, 278, -1, 907, 908, 80, -1,
2977 -1, -1, -1, -1, -1, -1, 88, -1, 977, -1,
2978 -1, 93, -1, -1, -1, -1, 1424, 1425, 1426, -1,
2979 -1, -1, -1, -1, -1, -1, -1, -1, -1, 998,
2980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2981 1448, -1, 326, -1, 328, 329, -1, -1, -1, -1,
2982 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
2983 -1, -1, -1, 14, -1, -1, 977, -1, -1, -1,
2984 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
2985 31, -1, -1, -1, -1, 36, -1, -1, -1, 373,
2986 41, -1, -1, -1, 45, -1, -1, 48, 1009, -1,
2987 -1, -1, -1, 54, -1, 56, 57, -1, 392, 60,
2988 -1, 1080, 396, -1, -1, 399, -1, -1, -1, 70,
2989 404, -1, -1, -1, -1, -1, -1, -1, -1, 80,
2990 -1, -1, 1101, 1102, 1103, 1104, 1105, 88, 1107, -1,
2991 1109, -1, 93, -1, -1, -1, -1, -1, 1, -1,
2992 -1, 4, 5, -1, -1, 8, 9, -1, -1, -1,
2993 -1, 14, 1131, 1132, 1133, -1, -1, -1, -1, -1,
2994 -1, -1, -1, -1, -1, 28, -1, 30, -1, -1,
2995 464, -1, 466, 36, -1, 38, 39, -1, -1, -1,
2996 1101, 1102, 45, 1162, 47, -1, -1, -1, 1109, -1,
2997 -1, 54, -1, 56, 57, -1, 59, 491, -1, -1,
2998 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2999 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3000 83, -1, -1, 86, 87, 88, -1, -1, 91, -1,
3001 -1, 94, -1, -1, -1, -1, -1, -1, -1, 1218,
3002 1219, 1162, 1221, -1, -1, -1, 1167, 110, 1169, 63,
3003 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3004 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3005 84, 565, -1, 1252, -1, 1254, -1, -1, -1, -1,
3006 -1, -1, 576, 577, -1, 579, 580, -1, -1, -1,
3007 -1, -1, -1, 107, -1, -1, -1, 1218, 1219, -1,
3008 1221, -1, -1, -1, 1, -1, 3, 4, 5, 6,
3009 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
3010 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3011 -1, 28, 1253, 30, 31, 32, -1, -1, 632, 36,
3012 37, -1, -1, -1, 41, 639, 640, -1, 45, 46,
3013 -1, 48, -1, -1, -1, -1, -1, 54, 652, 56,
3014 57, -1, -1, 60, -1, 62, -1, -1, -1, -1,
3015 -1, -1, -1, 70, -1, -1, -1, 671, -1, -1,
3016 -1, 1360, -1, 80, -1, -1, -1, -1, -1, -1,
3017 -1, 88, -1, -1, -1, -1, 93, 70, 71, 72,
3018 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3019 83, 84, 109, 63, 64, 65, 66, 67, 68, 69,
3020 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3021 80, 81, 82, 83, 84, 729, -1, -1, 732, -1,
3022 -1, -1, -1, -1, -1, 1424, 1425, 1426, -1, -1,
3023 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3024 9, 111, -1, 12, -1, 14, -1, -1, -1, 1448,
3025 -1, 765, 766, 767, -1, -1, 25, -1, 27, -1,
3026 -1, -1, 31, 777, -1, -1, -1, 36, -1, -1,
3027 -1, -1, 41, -1, -1, -1, 45, -1, 47, -1,
3028 -1, -1, -1, -1, -1, 54, -1, 56, 57, 58,
3029 59, 60, -1, 62, 63, 64, 65, 66, 67, 68,
3030 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3031 79, 80, 81, 82, 83, 84, -1, 86, 87, 88,
3032 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
3033 -1, -1, -1, 102, -1, 849, -1, 851, 107, 108,
3034 109, -1, 111, -1, -1, -1, -1, 1, 862, 3,
3035 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3036 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3037 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3038 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3039 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3040 54, -1, 56, 57, 58, -1, 60, 61, -1, -1,
3041 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3042 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3043 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3044 -1, 95, 3, 4, 5, 6, 7, 8, 9, -1,
3045 -1, 12, -1, 14, -1, 109, 110, -1, 972, -1,
3046 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
3047 31, -1, -1, -1, -1, 36, -1, -1, -1, -1,
3048 41, -1, -1, -1, 45, 999, 47, -1, -1, -1,
3049 -1, -1, -1, 54, -1, 56, 57, -1, -1, -1,
3050 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
3051 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
3052 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
3053 -1, -1, 93, 94, -1, -1, -1, -1, -1, 1053,
3054 1054, -1, 1056, 1, -1, 3, 4, 5, 6, 7,
3055 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3056 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3057 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3058 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3059 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3060 58, 1115, 60, 61, -1, -1, -1, -1, -1, 67,
3061 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3062 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3063 88, -1, -1, 1147, -1, 93, 1, 95, 3, 4,
3064 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3065 -1, 1165, 110, 1167, -1, -1, -1, -1, -1, -1,
3066 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3067 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3068 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3069 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3070 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3071 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3072 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3073 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3074 11, 12, 13, 14, -1, 110, -1, -1, -1, -1,
3075 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3076 31, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3077 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
3078 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3079 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3080 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3081 -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
3082 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3083 7, 8, 9, 10, 11, 12, 13, 14, -1, 110,
3084 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3085 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3086 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3087 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3088 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3089 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3090 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3091 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3092 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3093 -1, 108, -1, 110, -1, -1, -1, -1, -1, -1,
3094 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3095 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3096 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3097 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3098 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3099 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3100 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3101 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3102 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3103 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3104 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3105 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3106 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3107 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3108 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3109 -1, 86, 87, 88, -1, -1, -1, -1, 93, 94,
3110 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3111 11, -1, 13, 14, 109, 110, -1, -1, -1, -1,
3112 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3113 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3114 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3115 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3116 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3117 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3118 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3119 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3120 -1, 8, 9, 10, 11, -1, 13, 14, -1, 110,
3121 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3122 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3123 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3124 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3125 57, 58, -1, -1, 61, -1, -1, -1, -1, -1,
3126 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3127 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3128 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3129 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3130 -1, -1, 109, 110, -1, -1, -1, -1, -1, -1,
3131 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3132 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3133 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3134 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3135 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3136 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3137 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3138 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3139 -1, -1, -1, 109, 110, -1, -1, -1, -1, -1,
3140 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3141 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3142 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3143 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3144 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3145 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3146 -1, 86, 87, 88, -1, -1, -1, -1, 93, -1,
3147 1, -1, 3, 4, 5, 6, 101, 8, 9, 10,
3148 11, -1, 13, 14, -1, 110, -1, -1, -1, -1,
3149 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3150 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3151 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3152 51, 52, 53, 54, -1, 56, 57, 58, -1, -1,
3153 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3154 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3155 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3156 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3157 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3158 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3159 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3160 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3161 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3162 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3163 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3164 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3165 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3166 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3167 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3168 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3169 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3170 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3171 -1, -1, 61, 62, -1, -1, -1, -1, 67, -1,
3172 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3173 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3174 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3175 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3176 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3177 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3178 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3179 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3180 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3181 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3182 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3183 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3184 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3185 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3186 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3187 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3188 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3189 57, -1, -1, 60, 61, -1, -1, -1, -1, -1,
3190 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3191 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3192 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3193 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3194 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3195 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3196 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3197 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3198 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3199 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3200 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3201 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3202 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3203 -1, -1, 108, -1, 110, -1, -1, -1, -1, -1,
3204 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3205 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3206 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3207 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3208 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3209 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3210 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3211 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3212 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3213 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3214 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3215 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3216 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3217 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3218 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3219 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3220 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3221 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3222 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3223 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3224 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3225 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3226 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3227 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3228 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3229 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3230 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3231 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3232 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3233 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3234 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3235 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3236 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3237 87, 88, -1, -1, -1, -1, 93, 69, 70, 71,
3238 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3239 82, 83, 84, 110, 111, 3, 4, 5, 6, 7,
3240 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3241 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3242 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3243 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3244 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3245 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3246 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3247 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3248 88, -1, -1, -1, -1, 93, -1, 95, -1, -1,
3249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3250 -1, 109, 110, 3, 4, 5, 6, 7, 8, 9,
3251 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3252 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3253 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3254 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3255 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3256 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3257 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3258 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3259 -1, -1, -1, 93, -1, 95, -1, 3, 4, 5,
3260 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3261 110, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3262 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3263 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3264 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3265 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3266 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3267 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3268 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3269 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3270 -1, 13, 14, 15, 110, 17, 18, 19, 20, 21,
3271 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3272 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3273 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3274 52, 53, 54, -1, 56, 57, -1, -1, 60, 61,
3275 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3276 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3277 -1, -1, -1, -1, 86, 87, 88, -1, -1, -1,
3278 -1, 93, -1, 95, 3, 4, 5, 6, 7, 8,
3279 9, 10, 11, 12, 13, 14, -1, -1, 110, -1,
3280 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3281 29, 30, 31, 32, -1, 34, 35, 36, -1, 38,
3282 39, 40, 41, 42, 43, -1, 45, -1, 47, -1,
3283 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3284 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3285 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3286 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3287 -1, 90, -1, -1, 93, 94, 3, 4, 5, 6,
3288 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3289 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3290 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3291 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3292 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3293 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3294 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3295 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3296 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3297 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3298 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3299 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3300 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3301 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3302 -1, 56, 57, -1, -1, -1, -1, -1, -1, -1,
3303 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3304 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3305 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3306 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3307 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3308 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3309 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3310 43, -1, 45, -1, 47, -1, 49, 50, 51, 52,
3311 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3312 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3313 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3314 -1, -1, -1, 86, 87, 88, -1, 90, -1, -1,
3315 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3316 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3317 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3318 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3319 41, 42, 43, -1, 45, -1, -1, -1, 49, 50,
3320 51, 52, 53, 54, -1, 56, 57, -1, -1, 60,
3321 61, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3322 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3323 -1, -1, -1, -1, -1, 86, 87, 88, -1, -1,
3324 -1, -1, 93, 3, 4, 5, 6, 7, 8, 9,
3325 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3326 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3327 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3328 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3329 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3330 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3331 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3332 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3333 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3334 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3335 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3336 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3337 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3338 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3339 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3340 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3341 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3342 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3343 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3344 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3345 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3346 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3347 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3348 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3349 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3350 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3351 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3352 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3353 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3354 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3355 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3356 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3357 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3358 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3359 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3360 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3361 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3362 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3363 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3364 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3365 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3366 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3367 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3368 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3369 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3370 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3371 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3372 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3373 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3374 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3375 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3376 -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3377 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3378 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3379 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3380 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3381 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3382 -1, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3383 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3384 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3385 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3386 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3387 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3388 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3389 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3390 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3391 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3392 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3393 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3394 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3395 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3396 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3397 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3398 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3399 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3400 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3401 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3402 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3403 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3404 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3405 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3406 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3407 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3408 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3409 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3410 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3411 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3412 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3413 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3414 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3415 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3416 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3417 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3418 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3419 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3420 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3421 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3422 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3423 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3424 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3425 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3426 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3427 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3428 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3429 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3430 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3431 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3432 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3433 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3434 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3435 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3436 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3437 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3438 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3439 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3440 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3441 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3442 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3443 -1, 67, -1, -1, 70, 3, 4, 5, 6, 7,
3444 8, 9, 78, 79, 80, -1, 14, -1, -1, -1,
3445 86, 87, 88, -1, -1, -1, -1, 93, -1, -1,
3446 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
3447 -1, -1, -1, 41, 110, -1, -1, 45, -1, 47,
3448 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3449 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
3450 -1, 14, 70, -1, -1, -1, -1, -1, -1, -1,
3451 -1, -1, 80, -1, -1, -1, -1, -1, 31, -1,
3452 88, -1, 90, 36, -1, 93, 94, -1, 41, -1,
3453 -1, -1, 45, -1, 47, -1, -1, -1, -1, -1,
3454 -1, 54, -1, 56, 57, 3, 4, 5, 6, 7,
3455 8, 9, -1, -1, 12, -1, 14, 70, -1, -1,
3456 -1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
3457 28, -1, 30, 31, -1, 88, -1, 90, 36, -1,
3458 93, 94, -1, 41, -1, -1, -1, 45, -1, -1,
3459 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3460 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
3461 -1, 14, 70, -1, -1, -1, -1, -1, -1, -1,
3462 -1, -1, 80, -1, -1, 28, -1, 30, 31, -1,
3463 88, -1, -1, 36, -1, 93, -1, -1, 41, -1,
3464 -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
3465 -1, 54, -1, 56, 57, -1, -1, -1, -1, 62,
3466 -1, -1, -1, -1, -1, -1, -1, 70, 3, 4,
3467 5, 6, 7, 8, 9, -1, -1, 80, -1, 14,
3468 -1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
3469 93, -1, -1, 28, -1, 30, 31, -1, -1, -1,
3470 -1, 36, -1, -1, -1, -1, 41, -1, -1, -1,
3471 45, -1, -1, -1, -1, -1, -1, -1, -1, 54,
3472 -1, 56, 57, -1, -1, 60, -1, 3, 4, 5,
3473 6, 7, 8, 9, -1, 70, -1, -1, 14, -1,
3474 -1, -1, -1, -1, -1, 80, -1, -1, -1, -1,
3475 -1, -1, 28, 88, 30, 31, -1, -1, 93, -1,
3476 36, -1, -1, -1, -1, 41, -1, -1, -1, 45,
3477 -1, -1, -1, -1, -1, -1, -1, -1, 54, -1,
3478 56, 57, 3, 4, 5, 6, 7, 8, 9, -1,
3479 -1, -1, -1, 14, 70, -1, -1, -1, -1, -1,
3480 -1, -1, -1, -1, 80, -1, -1, 28, -1, 30,
3481 31, -1, 88, -1, -1, 36, -1, 93, -1, -1,
3482 41, -1, -1, 12, 45, -1, -1, -1, -1, -1,
3483 -1, -1, -1, 54, -1, 56, 57, -1, -1, -1,
3484 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
3485 -1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
3486 -1, -1, -1, -1, -1, -1, -1, 88, -1, -1,
3487 -1, -1, 93, 62, 63, 64, 65, 66, 67, 68,
3488 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3489 79, 80, 81, 82, 83, 84, 59, -1, -1, -1,
3490 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3491 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3492 83, 84, 62, 63, 64, 65, 66, 67, 68, 69,
3493 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3494 80, 81, 82, 83, 84, 63, 64, 65, 66, 67,
3495 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3496 78, 79, 80, 81, 82, 83, 84, 67, 68, 69,
3497 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3498 80, 81, 82, 83, 84, 68, 69, 70, 71, 72,
3499 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3500 83, 84
3501 };
3502 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3503 #line 3 "/usr/lib/bison.simple"
3504
3505 /* Skeleton output parser for bison,
3506 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3507
3508 This program is free software; you can redistribute it and/or modify
3509 it under the terms of the GNU General Public License as published by
3510 the Free Software Foundation; either version 2, or (at your option)
3511 any later version.
3512
3513 This program is distributed in the hope that it will be useful,
3514 but WITHOUT ANY WARRANTY; without even the implied warranty of
3515 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3516 GNU General Public License for more details.
3517
3518 You should have received a copy of the GNU General Public License
3519 along with this program; if not, write to the Free Software
3520 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3521
3522 /* As a special exception, when this file is copied by Bison into a
3523 Bison output file, you may use that output file without restriction.
3524 This special exception was added by the Free Software Foundation
3525 in version 1.24 of Bison. */
3526
3527 #ifndef alloca
3528 #ifdef __GNUC__
3529 #define alloca __builtin_alloca
3530 #else /* not GNU C. */
3531 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3532 #include <alloca.h>
3533 #else /* not sparc */
3534 #if defined (MSDOS) && !defined (__TURBOC__)
3535 #include <malloc.h>
3536 #else /* not MSDOS, or __TURBOC__ */
3537 #if defined(_AIX)
3538 #include <malloc.h>
3539 #pragma alloca
3540 #else /* not MSDOS, __TURBOC__, or _AIX */
3541 #ifdef __hpux
3542 #ifdef __cplusplus
3543 extern "C" {
3544 void *alloca (unsigned int);
3545 };
3546 #else /* not __cplusplus */
3547 void *alloca ();
3548 #endif /* not __cplusplus */
3549 #endif /* __hpux */
3550 #endif /* not _AIX */
3551 #endif /* not MSDOS, or __TURBOC__ */
3552 #endif /* not sparc. */
3553 #endif /* not GNU C. */
3554 #endif /* alloca not defined. */
3555
3556 /* This is the parser code that is written into each bison parser
3557 when the %semantic_parser declaration is not specified in the grammar.
3558 It was written by Richard Stallman by simplifying the hairy parser
3559 used when %semantic_parser is specified. */
3560
3561 /* Note: there must be only one dollar sign in this file.
3562 It is replaced by the list of actions, each action
3563 as one case of the switch. */
3564
3565 #define yyerrok (yyerrstatus = 0)
3566 #define yyclearin (yychar = YYEMPTY)
3567 #define YYEMPTY -2
3568 #define YYEOF 0
3569 #define YYACCEPT return(0)
3570 #define YYABORT return(1)
3571 #define YYERROR goto yyerrlab1
3572 /* Like YYERROR except do call yyerror.
3573 This remains here temporarily to ease the
3574 transition to the new meaning of YYERROR, for GCC.
3575 Once GCC version 2 has supplanted version 1, this can go. */
3576 #define YYFAIL goto yyerrlab
3577 #define YYRECOVERING() (!!yyerrstatus)
3578 #define YYBACKUP(token, value) \
3579 do \
3580 if (yychar == YYEMPTY && yylen == 1) \
3581 { yychar = (token), yylval = (value); \
3582 yychar1 = YYTRANSLATE (yychar); \
3583 YYPOPSTACK; \
3584 goto yybackup; \
3585 } \
3586 else \
3587 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3588 while (0)
3589
3590 #define YYTERROR 1
3591 #define YYERRCODE 256
3592
3593 #ifndef YYPURE
3594 #define YYLEX yylex()
3595 #endif
3596
3597 #ifdef YYPURE
3598 #ifdef YYLSP_NEEDED
3599 #ifdef YYLEX_PARAM
3600 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3601 #else
3602 #define YYLEX yylex(&yylval, &yylloc)
3603 #endif
3604 #else /* not YYLSP_NEEDED */
3605 #ifdef YYLEX_PARAM
3606 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3607 #else
3608 #define YYLEX yylex(&yylval)
3609 #endif
3610 #endif /* not YYLSP_NEEDED */
3611 #endif
3612
3613 /* If nonreentrant, generate the variables here */
3614
3615 #ifndef YYPURE
3616
3617 int yychar; /* the lookahead symbol */
3618 YYSTYPE yylval; /* the semantic value of the */
3619 /* lookahead symbol */
3620
3621 #ifdef YYLSP_NEEDED
3622 YYLTYPE yylloc; /* location data for the lookahead */
3623 /* symbol */
3624 #endif
3625
3626 int yynerrs; /* number of parse errors so far */
3627 #endif /* not YYPURE */
3628
3629 #if YYDEBUG != 0
3630 int yydebug; /* nonzero means print parse trace */
3631 /* Since this is uninitialized, it does not stop multiple parsers
3632 from coexisting. */
3633 #endif
3634
3635 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3636
3637 #ifndef YYINITDEPTH
3638 #define YYINITDEPTH 200
3639 #endif
3640
3641 /* YYMAXDEPTH is the maximum size the stacks can grow to
3642 (effective only if the built-in stack extension method is used). */
3643
3644 #if YYMAXDEPTH == 0
3645 #undef YYMAXDEPTH
3646 #endif
3647
3648 #ifndef YYMAXDEPTH
3649 #define YYMAXDEPTH 10000
3650 #endif
3651
3652 /* Prevent warning if -Wstrict-prototypes. */
3653 #ifdef __GNUC__
3654 int yyparse (void);
3655 #endif
3656 \f
3657 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3658 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3659 #else /* not GNU C or C++ */
3660 #ifndef __cplusplus
3661
3662 /* This is the most reliable way to avoid incompatibilities
3663 in available built-in functions on various systems. */
3664 static void
3665 __yy_memcpy (to, from, count)
3666 char *to;
3667 char *from;
3668 int count;
3669 {
3670 register char *f = from;
3671 register char *t = to;
3672 register int i = count;
3673
3674 while (i-- > 0)
3675 *t++ = *f++;
3676 }
3677
3678 #else /* __cplusplus */
3679
3680 /* This is the most reliable way to avoid incompatibilities
3681 in available built-in functions on various systems. */
3682 static void
3683 __yy_memcpy (char *to, char *from, int count)
3684 {
3685 register char *f = from;
3686 register char *t = to;
3687 register int i = count;
3688
3689 while (i-- > 0)
3690 *t++ = *f++;
3691 }
3692
3693 #endif
3694 #endif
3695 \f
3696 #line 196 "/usr/lib/bison.simple"
3697
3698 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3699 into yyparse. The argument should have type void *.
3700 It should actually point to an object.
3701 Grammar actions can access the variable by casting it
3702 to the proper pointer type. */
3703
3704 #ifdef YYPARSE_PARAM
3705 #ifdef __cplusplus
3706 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3707 #define YYPARSE_PARAM_DECL
3708 #else /* not __cplusplus */
3709 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3710 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3711 #endif /* not __cplusplus */
3712 #else /* not YYPARSE_PARAM */
3713 #define YYPARSE_PARAM_ARG
3714 #define YYPARSE_PARAM_DECL
3715 #endif /* not YYPARSE_PARAM */
3716
3717 int
3718 yyparse(YYPARSE_PARAM_ARG)
3719 YYPARSE_PARAM_DECL
3720 {
3721 register int yystate;
3722 register int yyn;
3723 register short *yyssp;
3724 register YYSTYPE *yyvsp;
3725 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3726 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3727
3728 short yyssa[YYINITDEPTH]; /* the state stack */
3729 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3730
3731 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3732 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3733
3734 #ifdef YYLSP_NEEDED
3735 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3736 YYLTYPE *yyls = yylsa;
3737 YYLTYPE *yylsp;
3738
3739 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3740 #else
3741 #define YYPOPSTACK (yyvsp--, yyssp--)
3742 #endif
3743
3744 int yystacksize = YYINITDEPTH;
3745
3746 #ifdef YYPURE
3747 int yychar;
3748 YYSTYPE yylval;
3749 int yynerrs;
3750 #ifdef YYLSP_NEEDED
3751 YYLTYPE yylloc;
3752 #endif
3753 #endif
3754
3755 YYSTYPE yyval; /* the variable used to return */
3756 /* semantic values from the action */
3757 /* routines */
3758
3759 int yylen;
3760
3761 #if YYDEBUG != 0
3762 if (yydebug)
3763 fprintf(stderr, "Starting parse\n");
3764 #endif
3765
3766 yystate = 0;
3767 yyerrstatus = 0;
3768 yynerrs = 0;
3769 yychar = YYEMPTY; /* Cause a token to be read. */
3770
3771 /* Initialize stack pointers.
3772 Waste one element of value and location stack
3773 so that they stay on the same level as the state stack.
3774 The wasted elements are never initialized. */
3775
3776 yyssp = yyss - 1;
3777 yyvsp = yyvs;
3778 #ifdef YYLSP_NEEDED
3779 yylsp = yyls;
3780 #endif
3781
3782 /* Push a new state, which is found in yystate . */
3783 /* In all cases, when you get here, the value and location stacks
3784 have just been pushed. so pushing a state here evens the stacks. */
3785 yynewstate:
3786
3787 *++yyssp = yystate;
3788
3789 if (yyssp >= yyss + yystacksize - 1)
3790 {
3791 /* Give user a chance to reallocate the stack */
3792 /* Use copies of these so that the &'s don't force the real ones into memory. */
3793 YYSTYPE *yyvs1 = yyvs;
3794 short *yyss1 = yyss;
3795 #ifdef YYLSP_NEEDED
3796 YYLTYPE *yyls1 = yyls;
3797 #endif
3798
3799 /* Get the current used size of the three stacks, in elements. */
3800 int size = yyssp - yyss + 1;
3801
3802 #ifdef yyoverflow
3803 /* Each stack pointer address is followed by the size of
3804 the data in use in that stack, in bytes. */
3805 #ifdef YYLSP_NEEDED
3806 /* This used to be a conditional around just the two extra args,
3807 but that might be undefined if yyoverflow is a macro. */
3808 yyoverflow("parser stack overflow",
3809 &yyss1, size * sizeof (*yyssp),
3810 &yyvs1, size * sizeof (*yyvsp),
3811 &yyls1, size * sizeof (*yylsp),
3812 &yystacksize);
3813 #else
3814 yyoverflow("parser stack overflow",
3815 &yyss1, size * sizeof (*yyssp),
3816 &yyvs1, size * sizeof (*yyvsp),
3817 &yystacksize);
3818 #endif
3819
3820 yyss = yyss1; yyvs = yyvs1;
3821 #ifdef YYLSP_NEEDED
3822 yyls = yyls1;
3823 #endif
3824 #else /* no yyoverflow */
3825 /* Extend the stack our own way. */
3826 if (yystacksize >= YYMAXDEPTH)
3827 {
3828 yyerror("parser stack overflow");
3829 return 2;
3830 }
3831 yystacksize *= 2;
3832 if (yystacksize > YYMAXDEPTH)
3833 yystacksize = YYMAXDEPTH;
3834 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3835 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3836 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3837 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3838 #ifdef YYLSP_NEEDED
3839 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3840 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3841 #endif
3842 #endif /* no yyoverflow */
3843
3844 yyssp = yyss + size - 1;
3845 yyvsp = yyvs + size - 1;
3846 #ifdef YYLSP_NEEDED
3847 yylsp = yyls + size - 1;
3848 #endif
3849
3850 #if YYDEBUG != 0
3851 if (yydebug)
3852 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3853 #endif
3854
3855 if (yyssp >= yyss + yystacksize - 1)
3856 YYABORT;
3857 }
3858
3859 #if YYDEBUG != 0
3860 if (yydebug)
3861 fprintf(stderr, "Entering state %d\n", yystate);
3862 #endif
3863
3864 goto yybackup;
3865 yybackup:
3866
3867 /* Do appropriate processing given the current state. */
3868 /* Read a lookahead token if we need one and don't already have one. */
3869 /* yyresume: */
3870
3871 /* First try to decide what to do without reference to lookahead token. */
3872
3873 yyn = yypact[yystate];
3874 if (yyn == YYFLAG)
3875 goto yydefault;
3876
3877 /* Not known => get a lookahead token if don't already have one. */
3878
3879 /* yychar is either YYEMPTY or YYEOF
3880 or a valid token in external form. */
3881
3882 if (yychar == YYEMPTY)
3883 {
3884 #if YYDEBUG != 0
3885 if (yydebug)
3886 fprintf(stderr, "Reading a token: ");
3887 #endif
3888 yychar = YYLEX;
3889 }
3890
3891 /* Convert token to internal form (in yychar1) for indexing tables with */
3892
3893 if (yychar <= 0) /* This means end of input. */
3894 {
3895 yychar1 = 0;
3896 yychar = YYEOF; /* Don't call YYLEX any more */
3897
3898 #if YYDEBUG != 0
3899 if (yydebug)
3900 fprintf(stderr, "Now at end of input.\n");
3901 #endif
3902 }
3903 else
3904 {
3905 yychar1 = YYTRANSLATE(yychar);
3906
3907 #if YYDEBUG != 0
3908 if (yydebug)
3909 {
3910 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3911 /* Give the individual parser a way to print the precise meaning
3912 of a token, for further debugging info. */
3913 #ifdef YYPRINT
3914 YYPRINT (stderr, yychar, yylval);
3915 #endif
3916 fprintf (stderr, ")\n");
3917 }
3918 #endif
3919 }
3920
3921 yyn += yychar1;
3922 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3923 goto yydefault;
3924
3925 yyn = yytable[yyn];
3926
3927 /* yyn is what to do for this token type in this state.
3928 Negative => reduce, -yyn is rule number.
3929 Positive => shift, yyn is new state.
3930 New state is final state => don't bother to shift,
3931 just return success.
3932 0, or most negative number => error. */
3933
3934 if (yyn < 0)
3935 {
3936 if (yyn == YYFLAG)
3937 goto yyerrlab;
3938 yyn = -yyn;
3939 goto yyreduce;
3940 }
3941 else if (yyn == 0)
3942 goto yyerrlab;
3943
3944 if (yyn == YYFINAL)
3945 YYACCEPT;
3946
3947 /* Shift the lookahead token. */
3948
3949 #if YYDEBUG != 0
3950 if (yydebug)
3951 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3952 #endif
3953
3954 /* Discard the token being shifted unless it is eof. */
3955 if (yychar != YYEOF)
3956 yychar = YYEMPTY;
3957
3958 *++yyvsp = yylval;
3959 #ifdef YYLSP_NEEDED
3960 *++yylsp = yylloc;
3961 #endif
3962
3963 /* count tokens shifted since error; after three, turn off error status. */
3964 if (yyerrstatus) yyerrstatus--;
3965
3966 yystate = yyn;
3967 goto yynewstate;
3968
3969 /* Do the default action for the current state. */
3970 yydefault:
3971
3972 yyn = yydefact[yystate];
3973 if (yyn == 0)
3974 goto yyerrlab;
3975
3976 /* Do a reduction. yyn is the number of a rule to reduce with. */
3977 yyreduce:
3978 yylen = yyr2[yyn];
3979 if (yylen > 0)
3980 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3981
3982 #if YYDEBUG != 0
3983 if (yydebug)
3984 {
3985 int i;
3986
3987 fprintf (stderr, "Reducing via rule %d (line %d), ",
3988 yyn, yyrline[yyn]);
3989
3990 /* Print the symbols being reduced, and their result. */
3991 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3992 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3993 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3994 }
3995 #endif
3996
3997
3998 switch (yyn) {
3999
4000 case 2:
4001 #line 333 "parse.y"
4002 { finish_translation_unit (); ;
4003 break;}
4004 case 3:
4005 #line 341 "parse.y"
4006 { yyval.ttype = NULL_TREE; ;
4007 break;}
4008 case 4:
4009 #line 343 "parse.y"
4010 { yyval.ttype = NULL_TREE; ;
4011 break;}
4012 case 5:
4013 #line 345 "parse.y"
4014 { yyval.ttype = NULL_TREE; ;
4015 break;}
4016 case 8:
4017 #line 354 "parse.y"
4018 { have_extern_spec = 1;
4019 used_extern_spec = 0;
4020 yyval.ttype = NULL_TREE; ;
4021 break;}
4022 case 9:
4023 #line 359 "parse.y"
4024 { have_extern_spec = 0; ;
4025 break;}
4026 case 10:
4027 #line 364 "parse.y"
4028 { yyval.itype = pedantic;
4029 pedantic = 0; ;
4030 break;}
4031 case 12:
4032 #line 373 "parse.y"
4033 { if (pending_lang_change) do_pending_lang_change(); ;
4034 break;}
4035 case 13:
4036 #line 375 "parse.y"
4037 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4038 pop_everything (); ;
4039 break;}
4040 case 14:
4041 #line 381 "parse.y"
4042 { if (pending_inlines) do_pending_inlines (); ;
4043 break;}
4044 case 15:
4045 #line 383 "parse.y"
4046 { if (pending_inlines) do_pending_inlines (); ;
4047 break;}
4048 case 16:
4049 #line 385 "parse.y"
4050 { if (pending_inlines) do_pending_inlines (); ;
4051 break;}
4052 case 17:
4053 #line 387 "parse.y"
4054 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4055 assemble_asm (yyvsp[-2].ttype); ;
4056 break;}
4057 case 18:
4058 #line 390 "parse.y"
4059 { pop_lang_context (); ;
4060 break;}
4061 case 19:
4062 #line 392 "parse.y"
4063 { if (pending_inlines) do_pending_inlines ();
4064 pop_lang_context (); ;
4065 break;}
4066 case 20:
4067 #line 395 "parse.y"
4068 { if (pending_inlines) do_pending_inlines ();
4069 pop_lang_context (); ;
4070 break;}
4071 case 21:
4072 #line 398 "parse.y"
4073 { push_namespace (yyvsp[-1].ttype); ;
4074 break;}
4075 case 22:
4076 #line 400 "parse.y"
4077 { pop_namespace (); ;
4078 break;}
4079 case 23:
4080 #line 402 "parse.y"
4081 { push_namespace (NULL_TREE); ;
4082 break;}
4083 case 24:
4084 #line 404 "parse.y"
4085 { pop_namespace (); ;
4086 break;}
4087 case 25:
4088 #line 406 "parse.y"
4089 { begin_only_namespace_names (); ;
4090 break;}
4091 case 26:
4092 #line 408 "parse.y"
4093 {
4094 end_only_namespace_names ();
4095 if (lastiddecl)
4096 yyvsp[-1].ttype = lastiddecl;
4097 do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
4098 ;
4099 break;}
4100 case 27:
4101 #line 415 "parse.y"
4102 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4103 break;}
4104 case 28:
4105 #line 417 "parse.y"
4106 { begin_only_namespace_names (); ;
4107 break;}
4108 case 29:
4109 #line 419 "parse.y"
4110 {
4111 end_only_namespace_names ();
4112 /* If no declaration was found, the using-directive is
4113 invalid. Since that was not reported, we need the
4114 identifier for the error message. */
4115 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4116 yyvsp[-1].ttype = lastiddecl;
4117 do_using_directive (yyvsp[-1].ttype);
4118 ;
4119 break;}
4120 case 30:
4121 #line 429 "parse.y"
4122 { pedantic = yyvsp[-1].itype; ;
4123 break;}
4124 case 31:
4125 #line 434 "parse.y"
4126 { yyval.ttype = yyvsp[0].ttype; ;
4127 break;}
4128 case 32:
4129 #line 436 "parse.y"
4130 { yyval.ttype = yyvsp[0].ttype; ;
4131 break;}
4132 case 33:
4133 #line 438 "parse.y"
4134 { yyval.ttype = yyvsp[0].ttype; ;
4135 break;}
4136 case 36:
4137 #line 445 "parse.y"
4138 { yyval.ttype = yyvsp[0].ttype; ;
4139 break;}
4140 case 37:
4141 #line 447 "parse.y"
4142 { yyval.ttype = yyvsp[0].ttype; ;
4143 break;}
4144 case 38:
4145 #line 452 "parse.y"
4146 { push_lang_context (yyvsp[0].ttype); ;
4147 break;}
4148 case 39:
4149 #line 454 "parse.y"
4150 { if (current_lang_name != yyvsp[0].ttype)
4151 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4152 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4153 break;}
4154 case 40:
4155 #line 461 "parse.y"
4156 { begin_template_parm_list (); ;
4157 break;}
4158 case 41:
4159 #line 463 "parse.y"
4160 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4161 break;}
4162 case 42:
4163 #line 465 "parse.y"
4164 { begin_specialization();
4165 yyval.ttype = NULL_TREE; ;
4166 break;}
4167 case 43:
4168 #line 471 "parse.y"
4169 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4170 break;}
4171 case 44:
4172 #line 473 "parse.y"
4173 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4174 break;}
4175 case 45:
4176 #line 478 "parse.y"
4177 { yyval.ttype = yyvsp[0].ttype; ;
4178 break;}
4179 case 46:
4180 #line 480 "parse.y"
4181 { yyval.ttype = NULL_TREE; ;
4182 break;}
4183 case 47:
4184 #line 484 "parse.y"
4185 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4186 break;}
4187 case 48:
4188 #line 486 "parse.y"
4189 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4190 break;}
4191 case 49:
4192 #line 491 "parse.y"
4193 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4194 break;}
4195 case 50:
4196 #line 503 "parse.y"
4197 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4198 break;}
4199 case 51:
4200 #line 505 "parse.y"
4201 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4202 break;}
4203 case 52:
4204 #line 507 "parse.y"
4205 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4206 break;}
4207 case 53:
4208 #line 509 "parse.y"
4209 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4210 break;}
4211 case 54:
4212 #line 511 "parse.y"
4213 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4214 break;}
4215 case 55:
4216 #line 513 "parse.y"
4217 {
4218 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4219 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4220 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4221 {
4222 error ("invalid default template argument");
4223 yyvsp[0].ttype = error_mark_node;
4224 }
4225 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4226 ;
4227 break;}
4228 case 56:
4229 #line 528 "parse.y"
4230 {
4231 if (yyvsp[-1].ttype)
4232 end_template_decl ();
4233 else
4234 end_specialization ();
4235 ;
4236 break;}
4237 case 57:
4238 #line 536 "parse.y"
4239 {
4240 if (yyvsp[-1].ttype)
4241 end_template_decl ();
4242 else
4243 end_specialization ();
4244 ;
4245 break;}
4246 case 59:
4247 #line 547 "parse.y"
4248 {;
4249 break;}
4250 case 60:
4251 #line 549 "parse.y"
4252 {
4253 note_list_got_semicolon (yyvsp[-2].ftype.t);
4254 ;
4255 break;}
4256 case 61:
4257 #line 553 "parse.y"
4258 { pedwarn ("empty declaration"); ;
4259 break;}
4260 case 63:
4261 #line 556 "parse.y"
4262 {
4263 tree t, attrs;
4264 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4265 shadow_tag (t);
4266 note_list_got_semicolon (yyvsp[-1].ftype.t);
4267 ;
4268 break;}
4269 case 67:
4270 #line 569 "parse.y"
4271 { yyval.itype = 0; ;
4272 break;}
4273 case 68:
4274 #line 571 "parse.y"
4275 { yyval.itype = 1; ;
4276 break;}
4277 case 74:
4278 #line 587 "parse.y"
4279 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4280 break;}
4281 case 75:
4282 #line 589 "parse.y"
4283 { ;
4284 break;}
4285 case 76:
4286 #line 591 "parse.y"
4287 { ;
4288 break;}
4289 case 77:
4290 #line 596 "parse.y"
4291 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4292 break;}
4293 case 78:
4294 #line 598 "parse.y"
4295 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4296 break;}
4297 case 79:
4298 #line 600 "parse.y"
4299 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4300 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4301 ;
4302 break;}
4303 case 80:
4304 #line 604 "parse.y"
4305 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4306 break;}
4307 case 81:
4308 #line 606 "parse.y"
4309 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4310 break;}
4311 case 82:
4312 #line 608 "parse.y"
4313 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4314 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4315 ;
4316 break;}
4317 case 83:
4318 #line 612 "parse.y"
4319 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4320 break;}
4321 case 84:
4322 #line 614 "parse.y"
4323 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4324 break;}
4325 case 85:
4326 #line 616 "parse.y"
4327 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4328 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4329 ;
4330 break;}
4331 case 86:
4332 #line 620 "parse.y"
4333 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4334 break;}
4335 case 87:
4336 #line 622 "parse.y"
4337 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4338 break;}
4339 case 88:
4340 #line 624 "parse.y"
4341 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4342 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4343 ;
4344 break;}
4345 case 89:
4346 #line 631 "parse.y"
4347 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4348 YYERROR1; ;
4349 break;}
4350 case 90:
4351 #line 634 "parse.y"
4352 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4353 YYERROR1; ;
4354 break;}
4355 case 91:
4356 #line 637 "parse.y"
4357 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4358 YYERROR1; ;
4359 break;}
4360 case 92:
4361 #line 640 "parse.y"
4362 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4363 YYERROR1; ;
4364 break;}
4365 case 93:
4366 #line 643 "parse.y"
4367 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4368 YYERROR1; ;
4369 break;}
4370 case 94:
4371 #line 649 "parse.y"
4372 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4373 break;}
4374 case 95:
4375 #line 651 "parse.y"
4376 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4377 break;}
4378 case 96:
4379 #line 653 "parse.y"
4380 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4381 break;}
4382 case 97:
4383 #line 655 "parse.y"
4384 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4385 break;}
4386 case 98:
4387 #line 662 "parse.y"
4388 { tree specs = strip_attrs (yyvsp[-1].ttype);
4389 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4390 rest_of_mdef:
4391 if (! yyval.ttype)
4392 YYERROR1;
4393 if (yychar == YYEMPTY)
4394 yychar = YYLEX;
4395 reinit_parse_for_method (yychar, yyval.ttype); ;
4396 break;}
4397 case 99:
4398 #line 671 "parse.y"
4399 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4400 break;}
4401 case 100:
4402 #line 673 "parse.y"
4403 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4404 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4405 break;}
4406 case 101:
4407 #line 676 "parse.y"
4408 { tree specs = strip_attrs (yyvsp[-1].ttype);
4409 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4410 break;}
4411 case 102:
4412 #line 679 "parse.y"
4413 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4414 break;}
4415 case 103:
4416 #line 681 "parse.y"
4417 { tree specs = strip_attrs (yyvsp[-1].ttype);
4418 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4419 break;}
4420 case 104:
4421 #line 684 "parse.y"
4422 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4423 break;}
4424 case 105:
4425 #line 689 "parse.y"
4426 {
4427 if (! current_function_parms_stored)
4428 store_parm_decls ();
4429 yyval.ttype = yyvsp[0].ttype;
4430 ;
4431 break;}
4432 case 106:
4433 #line 698 "parse.y"
4434 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4435 break;}
4436 case 107:
4437 #line 700 "parse.y"
4438 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4439 break;}
4440 case 108:
4441 #line 702 "parse.y"
4442 { store_return_init (yyval.ttype, NULL_TREE); ;
4443 break;}
4444 case 109:
4445 #line 707 "parse.y"
4446 {
4447 if (yyvsp[0].itype == 0)
4448 error ("no base initializers given following ':'");
4449 setup_vtbl_ptr ();
4450 /* Always keep the BLOCK node associated with the outermost
4451 pair of curley braces of a function. These are needed
4452 for correct operation of dwarfout.c. */
4453 keep_next_level ();
4454 ;
4455 break;}
4456 case 110:
4457 #line 720 "parse.y"
4458 {
4459 if (! current_function_parms_stored)
4460 store_parm_decls ();
4461
4462 if (DECL_CONSTRUCTOR_P (current_function_decl))
4463 {
4464 /* Make a contour for the initializer list. */
4465 pushlevel (0);
4466 clear_last_expr ();
4467 expand_start_bindings (0);
4468 }
4469 else if (current_class_type == NULL_TREE)
4470 error ("base initializers not allowed for non-member functions");
4471 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4472 error ("only constructors take base initializers");
4473 ;
4474 break;}
4475 case 111:
4476 #line 740 "parse.y"
4477 { yyval.itype = 0; ;
4478 break;}
4479 case 112:
4480 #line 742 "parse.y"
4481 { yyval.itype = 1; ;
4482 break;}
4483 case 115:
4484 #line 749 "parse.y"
4485 {
4486 if (current_class_name)
4487 pedwarn ("anachronistic old style base class initializer");
4488 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4489 ;
4490 break;}
4491 case 116:
4492 #line 755 "parse.y"
4493 {
4494 if (current_class_name)
4495 pedwarn ("anachronistic old style base class initializer");
4496 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4497 ;
4498 break;}
4499 case 117:
4500 #line 761 "parse.y"
4501 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4502 break;}
4503 case 118:
4504 #line 763 "parse.y"
4505 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4506 break;}
4507 case 119:
4508 #line 765 "parse.y"
4509 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4510 break;}
4511 case 120:
4512 #line 767 "parse.y"
4513 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4514 break;}
4515 case 121:
4516 #line 769 "parse.y"
4517 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4518 yyvsp[-1].ttype); ;
4519 break;}
4520 case 122:
4521 #line 772 "parse.y"
4522 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4523 void_type_node); ;
4524 break;}
4525 case 134:
4526 #line 798 "parse.y"
4527 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4528 yyungetc (';', 1); ;
4529 break;}
4530 case 136:
4531 #line 802 "parse.y"
4532 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4533 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4534 break;}
4535 case 138:
4536 #line 806 "parse.y"
4537 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4538 break;}
4539 case 140:
4540 #line 809 "parse.y"
4541 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4542 break;}
4543 case 142:
4544 #line 812 "parse.y"
4545 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4546 yyungetc (';', 1); ;
4547 break;}
4548 case 144:
4549 #line 817 "parse.y"
4550 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4551 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4552 break;}
4553 case 146:
4554 #line 821 "parse.y"
4555 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4556 break;}
4557 case 148:
4558 #line 824 "parse.y"
4559 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4560 break;}
4561 case 150:
4562 #line 829 "parse.y"
4563 { begin_explicit_instantiation(); ;
4564 break;}
4565 case 151:
4566 #line 832 "parse.y"
4567 { end_explicit_instantiation(); ;
4568 break;}
4569 case 152:
4570 #line 840 "parse.y"
4571 {
4572 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4573 if (yyval.ttype != error_mark_node)
4574 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4575 ;
4576 break;}
4577 case 153:
4578 #line 846 "parse.y"
4579 {
4580 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4581 if (yyval.ttype != error_mark_node)
4582 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4583 ;
4584 break;}
4585 case 155:
4586 #line 856 "parse.y"
4587 {
4588 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4589 if (yyval.ttype != error_mark_node)
4590 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4591 ;
4592 break;}
4593 case 157:
4594 #line 866 "parse.y"
4595 {
4596 /* Handle `Class<Class<Type>>' without space in the `>>' */
4597 pedwarn ("`>>' should be `> >' in template class name");
4598 yyungetc ('>', 1);
4599 ;
4600 break;}
4601 case 158:
4602 #line 875 "parse.y"
4603 { yyval.ttype = NULL_TREE; ;
4604 break;}
4605 case 160:
4606 #line 881 "parse.y"
4607 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4608 break;}
4609 case 161:
4610 #line 883 "parse.y"
4611 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4612 break;}
4613 case 162:
4614 #line 888 "parse.y"
4615 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4616 break;}
4617 case 163:
4618 #line 890 "parse.y"
4619 { yyval.ttype = lastiddecl; ;
4620 break;}
4621 case 165:
4622 #line 896 "parse.y"
4623 { yyval.code = NEGATE_EXPR; ;
4624 break;}
4625 case 166:
4626 #line 898 "parse.y"
4627 { yyval.code = CONVERT_EXPR; ;
4628 break;}
4629 case 167:
4630 #line 900 "parse.y"
4631 { yyval.code = PREINCREMENT_EXPR; ;
4632 break;}
4633 case 168:
4634 #line 902 "parse.y"
4635 { yyval.code = PREDECREMENT_EXPR; ;
4636 break;}
4637 case 169:
4638 #line 904 "parse.y"
4639 { yyval.code = TRUTH_NOT_EXPR; ;
4640 break;}
4641 case 170:
4642 #line 909 "parse.y"
4643 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4644 break;}
4645 case 172:
4646 #line 915 "parse.y"
4647 { error ("ANSI C++ forbids an empty condition for `%s'",
4648 cond_stmt_keyword);
4649 yyval.ttype = integer_zero_node; ;
4650 break;}
4651 case 173:
4652 #line 919 "parse.y"
4653 { yyval.ttype = yyvsp[-1].ttype; ;
4654 break;}
4655 case 174:
4656 #line 924 "parse.y"
4657 { error ("ANSI C++ forbids an empty condition for `%s'",
4658 cond_stmt_keyword);
4659 yyval.ttype = integer_zero_node; ;
4660 break;}
4661 case 175:
4662 #line 928 "parse.y"
4663 { yyval.ttype = yyvsp[-1].ttype; ;
4664 break;}
4665 case 176:
4666 #line 933 "parse.y"
4667 { yyval.ttype = NULL_TREE; ;
4668 break;}
4669 case 178:
4670 #line 936 "parse.y"
4671 { yyval.ttype = NULL_TREE; ;
4672 break;}
4673 case 179:
4674 #line 941 "parse.y"
4675 { {
4676 tree d;
4677 for (d = getdecls (); d; d = TREE_CHAIN (d))
4678 if (TREE_CODE (d) == TYPE_DECL) {
4679 tree s = TREE_TYPE (d);
4680 if (TREE_CODE (s) == RECORD_TYPE)
4681 cp_error ("definition of class `%T' in condition", s);
4682 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4683 cp_error ("definition of enum `%T' in condition", s);
4684 }
4685 }
4686 current_declspecs = yyvsp[-4].ftype.t;
4687 yyvsp[0].itype = suspend_momentary ();
4688 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4689 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4690 ;
4691 break;}
4692 case 180:
4693 #line 958 "parse.y"
4694 {
4695 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4696 resume_momentary (yyvsp[-2].itype);
4697 yyval.ttype = yyvsp[-1].ttype;
4698 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4699 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4700 ;
4701 break;}
4702 case 186:
4703 #line 977 "parse.y"
4704 { yyval.ttype = begin_compound_stmt (1); ;
4705 break;}
4706 case 187:
4707 #line 979 "parse.y"
4708 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4709 break;}
4710 case 189:
4711 #line 986 "parse.y"
4712 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4713 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4714 break;}
4715 case 190:
4716 #line 989 "parse.y"
4717 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4718 build_expr_list (NULL_TREE, error_mark_node)); ;
4719 break;}
4720 case 191:
4721 #line 992 "parse.y"
4722 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4723 break;}
4724 case 192:
4725 #line 994 "parse.y"
4726 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4727 break;}
4728 case 193:
4729 #line 999 "parse.y"
4730 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4731 break;}
4732 case 195:
4733 #line 1005 "parse.y"
4734 { yyval.ttype = yyvsp[0].ttype; ;
4735 break;}
4736 case 196:
4737 #line 1008 "parse.y"
4738 { yyval.ttype = yyvsp[0].ttype;
4739 pedantic = yyvsp[-1].itype; ;
4740 break;}
4741 case 197:
4742 #line 1011 "parse.y"
4743 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4744 break;}
4745 case 198:
4746 #line 1013 "parse.y"
4747 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4748 break;}
4749 case 199:
4750 #line 1015 "parse.y"
4751 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4752 break;}
4753 case 200:
4754 #line 1017 "parse.y"
4755 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
4756 break;}
4757 case 201:
4758 #line 1020 "parse.y"
4759 { if (pedantic)
4760 pedwarn ("ANSI C++ forbids `&&'");
4761 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4762 break;}
4763 case 202:
4764 #line 1024 "parse.y"
4765 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4766 break;}
4767 case 203:
4768 #line 1026 "parse.y"
4769 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4770 break;}
4771 case 204:
4772 #line 1028 "parse.y"
4773 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4774 break;}
4775 case 205:
4776 #line 1030 "parse.y"
4777 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4778 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4779 break;}
4780 case 206:
4781 #line 1036 "parse.y"
4782 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4783 check_for_new_type ("new", yyvsp[0].ftype); ;
4784 break;}
4785 case 207:
4786 #line 1039 "parse.y"
4787 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4788 check_for_new_type ("new", yyvsp[-1].ftype); ;
4789 break;}
4790 case 208:
4791 #line 1042 "parse.y"
4792 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4793 check_for_new_type ("new", yyvsp[0].ftype); ;
4794 break;}
4795 case 209:
4796 #line 1045 "parse.y"
4797 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4798 check_for_new_type ("new", yyvsp[-1].ftype); ;
4799 break;}
4800 case 210:
4801 #line 1058 "parse.y"
4802 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4803 NULL_TREE, yyvsp[-4].itype);
4804 check_for_new_type ("new", yyvsp[-1].ftype); ;
4805 break;}
4806 case 211:
4807 #line 1063 "parse.y"
4808 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4809 check_for_new_type ("new", yyvsp[-2].ftype); ;
4810 break;}
4811 case 212:
4812 #line 1067 "parse.y"
4813 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype);
4814 check_for_new_type ("new", yyvsp[-1].ftype); ;
4815 break;}
4816 case 213:
4817 #line 1071 "parse.y"
4818 { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype);
4819 check_for_new_type ("new", yyvsp[-2].ftype); ;
4820 break;}
4821 case 214:
4822 #line 1075 "parse.y"
4823 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4824 break;}
4825 case 215:
4826 #line 1077 "parse.y"
4827 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4828 if (yychar == YYEMPTY)
4829 yychar = YYLEX; ;
4830 break;}
4831 case 216:
4832 #line 1081 "parse.y"
4833 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4834 if (yychar == YYEMPTY)
4835 yychar = YYLEX; ;
4836 break;}
4837 case 217:
4838 #line 1085 "parse.y"
4839 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4840 break;}
4841 case 218:
4842 #line 1087 "parse.y"
4843 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4844 break;}
4845 case 219:
4846 #line 1097 "parse.y"
4847 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
4848 break;}
4849 case 220:
4850 #line 1100 "parse.y"
4851 { yyval.itype = begin_new_placement (); ;
4852 break;}
4853 case 221:
4854 #line 1104 "parse.y"
4855 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
4856 break;}
4857 case 222:
4858 #line 1106 "parse.y"
4859 { cp_pedwarn ("old style placement syntax, use () instead");
4860 yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
4861 break;}
4862 case 223:
4863 #line 1112 "parse.y"
4864 { yyval.ttype = yyvsp[-1].ttype; ;
4865 break;}
4866 case 224:
4867 #line 1114 "parse.y"
4868 { yyval.ttype = NULL_TREE; ;
4869 break;}
4870 case 225:
4871 #line 1116 "parse.y"
4872 {
4873 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4874 yyval.ttype = error_mark_node;
4875 ;
4876 break;}
4877 case 226:
4878 #line 1124 "parse.y"
4879 {
4880 if (pedantic)
4881 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4882 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
4883 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
4884 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
4885 else
4886 yyval.ttype = yyvsp[0].ttype;
4887 ;
4888 break;}
4889 case 227:
4890 #line 1138 "parse.y"
4891 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
4892 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4893 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4894 break;}
4895 case 228:
4896 #line 1142 "parse.y"
4897 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
4898 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4899 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4900 break;}
4901 case 230:
4902 #line 1150 "parse.y"
4903 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4904 break;}
4905 case 231:
4906 #line 1152 "parse.y"
4907 {
4908 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
4909 nreverse (yyvsp[-2].ttype));
4910 if (pedantic)
4911 pedwarn ("ANSI C++ forbids constructor-expressions");
4912 /* Indicate that this was a GNU C constructor expression. */
4913 TREE_HAS_CONSTRUCTOR (init) = 1;
4914
4915 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
4916 ;
4917 break;}
4918 case 233:
4919 #line 1168 "parse.y"
4920 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4921 break;}
4922 case 234:
4923 #line 1170 "parse.y"
4924 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
4925 break;}
4926 case 235:
4927 #line 1172 "parse.y"
4928 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4929 break;}
4930 case 236:
4931 #line 1174 "parse.y"
4932 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4933 break;}
4934 case 237:
4935 #line 1176 "parse.y"
4936 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4937 break;}
4938 case 238:
4939 #line 1178 "parse.y"
4940 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4941 break;}
4942 case 239:
4943 #line 1180 "parse.y"
4944 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4945 break;}
4946 case 240:
4947 #line 1182 "parse.y"
4948 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4949 break;}
4950 case 241:
4951 #line 1184 "parse.y"
4952 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4953 break;}
4954 case 242:
4955 #line 1186 "parse.y"
4956 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4957 break;}
4958 case 243:
4959 #line 1188 "parse.y"
4960 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4961 break;}
4962 case 244:
4963 #line 1190 "parse.y"
4964 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4965 break;}
4966 case 245:
4967 #line 1192 "parse.y"
4968 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4969 break;}
4970 case 246:
4971 #line 1194 "parse.y"
4972 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4973 break;}
4974 case 247:
4975 #line 1196 "parse.y"
4976 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4977 break;}
4978 case 248:
4979 #line 1198 "parse.y"
4980 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4981 break;}
4982 case 249:
4983 #line 1200 "parse.y"
4984 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4985 break;}
4986 case 250:
4987 #line 1202 "parse.y"
4988 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4989 break;}
4990 case 251:
4991 #line 1204 "parse.y"
4992 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4993 break;}
4994 case 252:
4995 #line 1206 "parse.y"
4996 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
4997 break;}
4998 case 253:
4999 #line 1208 "parse.y"
5000 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5001 if (yyval.ttype != error_mark_node)
5002 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5003 break;}
5004 case 254:
5005 #line 1212 "parse.y"
5006 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5007 break;}
5008 case 255:
5009 #line 1214 "parse.y"
5010 { yyval.ttype = build_throw (NULL_TREE); ;
5011 break;}
5012 case 256:
5013 #line 1216 "parse.y"
5014 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5015 break;}
5016 case 257:
5017 #line 1234 "parse.y"
5018 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5019 break;}
5020 case 263:
5021 #line 1243 "parse.y"
5022 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1); ;
5023 break;}
5024 case 264:
5025 #line 1247 "parse.y"
5026 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5027 break;}
5028 case 265:
5029 #line 1249 "parse.y"
5030 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5031 break;}
5032 case 266:
5033 #line 1254 "parse.y"
5034 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5035 break;}
5036 case 267:
5037 #line 1256 "parse.y"
5038 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5039 break;}
5040 case 268:
5041 #line 1259 "parse.y"
5042 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5043 break;}
5044 case 273:
5045 #line 1271 "parse.y"
5046 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5047 break;}
5048 case 274:
5049 #line 1273 "parse.y"
5050 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5051 break;}
5052 case 275:
5053 #line 1275 "parse.y"
5054 { yyval.ttype = yyvsp[-1].ttype; ;
5055 break;}
5056 case 276:
5057 #line 1280 "parse.y"
5058 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5059 break;}
5060 case 277:
5061 #line 1282 "parse.y"
5062 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5063 break;}
5064 case 281:
5065 #line 1290 "parse.y"
5066 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5067 break;}
5068 case 282:
5069 #line 1295 "parse.y"
5070 {
5071 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5072 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5073 else
5074 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5075 ;
5076 break;}
5077 case 285:
5078 #line 1304 "parse.y"
5079 {
5080 if (processing_template_decl)
5081 push_obstacks (&permanent_obstack, &permanent_obstack);
5082 yyval.ttype = combine_strings (yyval.ttype);
5083 if (processing_template_decl)
5084 pop_obstacks ();
5085 ;
5086 break;}
5087 case 286:
5088 #line 1312 "parse.y"
5089 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5090 break;}
5091 case 287:
5092 #line 1314 "parse.y"
5093 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5094 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5095 break;}
5096 case 288:
5097 #line 1317 "parse.y"
5098 { yyval.ttype = error_mark_node; ;
5099 break;}
5100 case 289:
5101 #line 1319 "parse.y"
5102 { if (current_function_decl == 0)
5103 {
5104 error ("braced-group within expression allowed only inside a function");
5105 YYERROR;
5106 }
5107 if (pedantic)
5108 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5109 yyval.ttype = begin_stmt_expr ();
5110 ;
5111 break;}
5112 case 290:
5113 #line 1329 "parse.y"
5114 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5115 break;}
5116 case 291:
5117 #line 1331 "parse.y"
5118 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5119 break;}
5120 case 292:
5121 #line 1333 "parse.y"
5122 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5123 break;}
5124 case 293:
5125 #line 1335 "parse.y"
5126 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5127 break;}
5128 case 294:
5129 #line 1337 "parse.y"
5130 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5131 break;}
5132 case 295:
5133 #line 1339 "parse.y"
5134 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5135 break;}
5136 case 296:
5137 #line 1342 "parse.y"
5138 { yyval.ttype = finish_this_expr (); ;
5139 break;}
5140 case 297:
5141 #line 1344 "parse.y"
5142 {
5143 tree type = NULL_TREE;
5144 tree id = yyval.ttype;
5145
5146 /* This is a C cast in C++'s `functional' notation. */
5147 if (yyvsp[-1].ttype == error_mark_node)
5148 {
5149 yyval.ttype = error_mark_node;
5150 break;
5151 }
5152 #if 0
5153 if (yyvsp[-1].ttype == NULL_TREE)
5154 {
5155 error ("cannot cast null list to type `%s'",
5156 IDENTIFIER_POINTER (TYPE_NAME (id)));
5157 yyval.ttype = error_mark_node;
5158 break;
5159 }
5160 #endif
5161 #if 0
5162 /* type is not set! (mrs) */
5163 if (type == error_mark_node)
5164 yyval.ttype = error_mark_node;
5165 else
5166 #endif
5167 {
5168 if (id == ridpointers[(int) RID_CONST])
5169 type = build_type_variant (integer_type_node, 1, 0);
5170 else if (id == ridpointers[(int) RID_VOLATILE])
5171 type = build_type_variant (integer_type_node, 0, 1);
5172 #if 0
5173 /* should not be able to get here (mrs) */
5174 else if (id == ridpointers[(int) RID_FRIEND])
5175 {
5176 error ("cannot cast expression to `friend' type");
5177 yyval.ttype = error_mark_node;
5178 break;
5179 }
5180 #endif
5181 else my_friendly_abort (79);
5182 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5183 }
5184 ;
5185 break;}
5186 case 299:
5187 #line 1389 "parse.y"
5188 { tree type = groktypename (yyvsp[-4].ftype.t);
5189 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5190 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5191 break;}
5192 case 300:
5193 #line 1393 "parse.y"
5194 { tree type = groktypename (yyvsp[-4].ftype.t);
5195 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5196 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5197 break;}
5198 case 301:
5199 #line 1397 "parse.y"
5200 { tree type = groktypename (yyvsp[-4].ftype.t);
5201 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5202 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5203 break;}
5204 case 302:
5205 #line 1401 "parse.y"
5206 { tree type = groktypename (yyvsp[-4].ftype.t);
5207 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5208 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5209 break;}
5210 case 303:
5211 #line 1405 "parse.y"
5212 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5213 break;}
5214 case 304:
5215 #line 1407 "parse.y"
5216 { tree type = groktypename (yyvsp[-1].ftype.t);
5217 check_for_new_type ("typeid", yyvsp[-1].ftype);
5218 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5219 break;}
5220 case 305:
5221 #line 1411 "parse.y"
5222 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5223 break;}
5224 case 306:
5225 #line 1413 "parse.y"
5226 { yyval.ttype = yyvsp[0].ttype; ;
5227 break;}
5228 case 307:
5229 #line 1415 "parse.y"
5230 {
5231 got_scope = NULL_TREE;
5232 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5233 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5234 else
5235 yyval.ttype = yyvsp[0].ttype;
5236 ;
5237 break;}
5238 case 308:
5239 #line 1423 "parse.y"
5240 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5241 break;}
5242 case 309:
5243 #line 1425 "parse.y"
5244 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5245 break;}
5246 case 310:
5247 #line 1427 "parse.y"
5248 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5249 break;}
5250 case 311:
5251 #line 1429 "parse.y"
5252 {
5253 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5254 ;
5255 break;}
5256 case 312:
5257 #line 1433 "parse.y"
5258 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5259 break;}
5260 case 313:
5261 #line 1435 "parse.y"
5262 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5263 break;}
5264 case 314:
5265 #line 1437 "parse.y"
5266 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5267 break;}
5268 case 315:
5269 #line 1439 "parse.y"
5270 { if (processing_template_decl)
5271 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5272 else
5273 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5274 break;}
5275 case 316:
5276 #line 1444 "parse.y"
5277 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5278 break;}
5279 case 317:
5280 #line 1446 "parse.y"
5281 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5282 break;}
5283 case 318:
5284 #line 1448 "parse.y"
5285 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5286 break;}
5287 case 319:
5288 #line 1450 "parse.y"
5289 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5290 break;}
5291 case 320:
5292 #line 1453 "parse.y"
5293 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5294 break;}
5295 case 321:
5296 #line 1455 "parse.y"
5297 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5298 break;}
5299 case 322:
5300 #line 1457 "parse.y"
5301 {
5302 yyval.ttype = error_mark_node;
5303 ;
5304 break;}
5305 case 323:
5306 #line 1502 "parse.y"
5307 { yyval.itype = 0; ;
5308 break;}
5309 case 324:
5310 #line 1504 "parse.y"
5311 { got_scope = NULL_TREE; yyval.itype = 1; ;
5312 break;}
5313 case 325:
5314 #line 1509 "parse.y"
5315 { yyval.itype = 0; ;
5316 break;}
5317 case 326:
5318 #line 1511 "parse.y"
5319 { got_scope = NULL_TREE; yyval.itype = 1; ;
5320 break;}
5321 case 327:
5322 #line 1516 "parse.y"
5323 { yyval.ttype = boolean_true_node; ;
5324 break;}
5325 case 328:
5326 #line 1518 "parse.y"
5327 { yyval.ttype = boolean_false_node; ;
5328 break;}
5329 case 330:
5330 #line 1525 "parse.y"
5331 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5332 break;}
5333 case 331:
5334 #line 1530 "parse.y"
5335 {
5336 if (! current_function_parms_stored)
5337 store_parm_decls ();
5338 setup_vtbl_ptr ();
5339 /* Always keep the BLOCK node associated with the outermost
5340 pair of curley braces of a function. These are needed
5341 for correct operation of dwarfout.c. */
5342 keep_next_level ();
5343 ;
5344 break;}
5345 case 332:
5346 #line 1543 "parse.y"
5347 { got_object = TREE_TYPE (yyval.ttype); ;
5348 break;}
5349 case 333:
5350 #line 1545 "parse.y"
5351 {
5352 yyval.ttype = build_x_arrow (yyval.ttype);
5353 got_object = TREE_TYPE (yyval.ttype);
5354 ;
5355 break;}
5356 case 334:
5357 #line 1553 "parse.y"
5358 {
5359 resume_momentary (yyvsp[-1].itype);
5360 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5361 note_got_semicolon (yyvsp[-2].ftype.t);
5362 ;
5363 break;}
5364 case 335:
5365 #line 1559 "parse.y"
5366 {
5367 resume_momentary (yyvsp[-1].itype);
5368 note_list_got_semicolon (yyvsp[-2].ftype.t);
5369 ;
5370 break;}
5371 case 336:
5372 #line 1564 "parse.y"
5373 { resume_momentary (yyvsp[-1].itype); ;
5374 break;}
5375 case 337:
5376 #line 1566 "parse.y"
5377 {
5378 shadow_tag (yyvsp[-1].ftype.t);
5379 note_list_got_semicolon (yyvsp[-1].ftype.t);
5380 ;
5381 break;}
5382 case 338:
5383 #line 1571 "parse.y"
5384 { warning ("empty declaration"); ;
5385 break;}
5386 case 339:
5387 #line 1573 "parse.y"
5388 { pedantic = yyvsp[-1].itype; ;
5389 break;}
5390 case 342:
5391 #line 1587 "parse.y"
5392 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5393 NULL_TREE, NULL_TREE); ;
5394 break;}
5395 case 343:
5396 #line 1590 "parse.y"
5397 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5398 NULL_TREE); ;
5399 break;}
5400 case 344:
5401 #line 1597 "parse.y"
5402 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5403 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5404 break;}
5405 case 345:
5406 #line 1600 "parse.y"
5407 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5408 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5409 break;}
5410 case 346:
5411 #line 1603 "parse.y"
5412 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5413 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5414 break;}
5415 case 347:
5416 #line 1606 "parse.y"
5417 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5418 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5419 break;}
5420 case 348:
5421 #line 1609 "parse.y"
5422 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5423 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5424 break;}
5425 case 351:
5426 #line 1625 "parse.y"
5427 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5428 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5429 break;}
5430 case 352:
5431 #line 1628 "parse.y"
5432 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5433 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5434 break;}
5435 case 353:
5436 #line 1631 "parse.y"
5437 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5438 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5439 break;}
5440 case 354:
5441 #line 1634 "parse.y"
5442 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5443 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5444 break;}
5445 case 355:
5446 #line 1637 "parse.y"
5447 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5448 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5449 break;}
5450 case 356:
5451 #line 1640 "parse.y"
5452 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5453 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5454 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5455 break;}
5456 case 357:
5457 #line 1647 "parse.y"
5458 { if (extra_warnings)
5459 warning ("`%s' is not at beginning of declaration",
5460 IDENTIFIER_POINTER (yyval.ttype));
5461 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5462 break;}
5463 case 358:
5464 #line 1652 "parse.y"
5465 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5466 break;}
5467 case 359:
5468 #line 1654 "parse.y"
5469 { if (extra_warnings)
5470 warning ("`%s' is not at beginning of declaration",
5471 IDENTIFIER_POINTER (yyvsp[0].ttype));
5472 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5473 break;}
5474 case 360:
5475 #line 1659 "parse.y"
5476 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5477 break;}
5478 case 361:
5479 #line 1661 "parse.y"
5480 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5481 break;}
5482 case 362:
5483 #line 1671 "parse.y"
5484 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5485 break;}
5486 case 363:
5487 #line 1673 "parse.y"
5488 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5489 break;}
5490 case 364:
5491 #line 1675 "parse.y"
5492 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5493 TREE_STATIC (yyval.ttype) = 1; ;
5494 break;}
5495 case 365:
5496 #line 1678 "parse.y"
5497 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5498 warning ("`%s' is not at beginning of declaration",
5499 IDENTIFIER_POINTER (yyvsp[0].ttype));
5500 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5501 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5502 break;}
5503 case 366:
5504 #line 1684 "parse.y"
5505 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5506 break;}
5507 case 367:
5508 #line 1686 "parse.y"
5509 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5510 break;}
5511 case 368:
5512 #line 1697 "parse.y"
5513 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5514 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5515 break;}
5516 case 369:
5517 #line 1700 "parse.y"
5518 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5519 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5520 break;}
5521 case 370:
5522 #line 1703 "parse.y"
5523 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5524 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5525 break;}
5526 case 371:
5527 #line 1706 "parse.y"
5528 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5529 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5530 break;}
5531 case 372:
5532 #line 1712 "parse.y"
5533 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5534 break;}
5535 case 373:
5536 #line 1714 "parse.y"
5537 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5538 break;}
5539 case 375:
5540 #line 1724 "parse.y"
5541 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5542 break;}
5543 case 376:
5544 #line 1726 "parse.y"
5545 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5546 break;}
5547 case 377:
5548 #line 1728 "parse.y"
5549 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5550 yyval.ftype.new_type_flag = 0; ;
5551 break;}
5552 case 378:
5553 #line 1731 "parse.y"
5554 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5555 yyval.ftype.new_type_flag = 0; ;
5556 break;}
5557 case 379:
5558 #line 1734 "parse.y"
5559 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5560
5561 yyval.ftype.new_type_flag = 0;
5562 if (IS_AGGR_TYPE (type))
5563 {
5564 sorry ("sigof type specifier");
5565 yyval.ftype.t = type;
5566 }
5567 else
5568 {
5569 error ("`sigof' applied to non-aggregate expression");
5570 yyval.ftype.t = error_mark_node;
5571 }
5572 ;
5573 break;}
5574 case 380:
5575 #line 1749 "parse.y"
5576 { tree type = groktypename (yyvsp[-1].ftype.t);
5577
5578 yyval.ftype.new_type_flag = 0;
5579 if (IS_AGGR_TYPE (type))
5580 {
5581 sorry ("sigof type specifier");
5582 yyval.ftype.t = type;
5583 }
5584 else
5585 {
5586 error("`sigof' applied to non-aggregate type");
5587 yyval.ftype.t = error_mark_node;
5588 }
5589 ;
5590 break;}
5591 case 381:
5592 #line 1769 "parse.y"
5593 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5594 break;}
5595 case 382:
5596 #line 1771 "parse.y"
5597 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5598 break;}
5599 case 390:
5600 #line 1792 "parse.y"
5601 { yyval.ttype = NULL_TREE; ;
5602 break;}
5603 case 391:
5604 #line 1794 "parse.y"
5605 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5606 break;}
5607 case 392:
5608 #line 1799 "parse.y"
5609 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5610 yyvsp[-1].ttype, prefix_attributes); ;
5611 break;}
5612 case 393:
5613 #line 1803 "parse.y"
5614 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5615 break;}
5616 case 394:
5617 #line 1805 "parse.y"
5618 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5619 yyvsp[0].ttype, prefix_attributes);
5620 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5621 break;}
5622 case 395:
5623 #line 1818 "parse.y"
5624 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5625 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5626 break;}
5627 case 396:
5628 #line 1823 "parse.y"
5629 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5630 LOOKUP_ONLYCONVERTING);
5631 yyval.itype = yyvsp[-2].itype; ;
5632 break;}
5633 case 397:
5634 #line 1827 "parse.y"
5635 { tree d;
5636 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5637 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5638 break;}
5639 case 398:
5640 #line 1834 "parse.y"
5641 { yyval.itype = yyvsp[0].itype; ;
5642 break;}
5643 case 399:
5644 #line 1838 "parse.y"
5645 { yyval.itype = yyvsp[0].itype; ;
5646 break;}
5647 case 400:
5648 #line 1843 "parse.y"
5649 { /* Set things up as initdcl0_innards expects. */
5650 yyval.ttype = yyvsp[-1].ttype;
5651 yyvsp[-1].ttype = NULL_TREE; ;
5652 break;}
5653 case 401:
5654 #line 1847 "parse.y"
5655 {;
5656 break;}
5657 case 402:
5658 #line 1849 "parse.y"
5659 { tree d;
5660 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5661 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5662 break;}
5663 case 403:
5664 #line 1858 "parse.y"
5665 { yyval.ttype = NULL_TREE; ;
5666 break;}
5667 case 404:
5668 #line 1860 "parse.y"
5669 { yyval.ttype = yyvsp[0].ttype; ;
5670 break;}
5671 case 405:
5672 #line 1865 "parse.y"
5673 { yyval.ttype = yyvsp[0].ttype; ;
5674 break;}
5675 case 406:
5676 #line 1867 "parse.y"
5677 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5678 break;}
5679 case 407:
5680 #line 1872 "parse.y"
5681 { yyval.ttype = yyvsp[-2].ttype; ;
5682 break;}
5683 case 408:
5684 #line 1877 "parse.y"
5685 { yyval.ttype = yyvsp[0].ttype; ;
5686 break;}
5687 case 409:
5688 #line 1879 "parse.y"
5689 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5690 break;}
5691 case 410:
5692 #line 1884 "parse.y"
5693 { yyval.ttype = NULL_TREE; ;
5694 break;}
5695 case 411:
5696 #line 1886 "parse.y"
5697 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5698 break;}
5699 case 412:
5700 #line 1888 "parse.y"
5701 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5702 break;}
5703 case 413:
5704 #line 1890 "parse.y"
5705 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5706 break;}
5707 case 414:
5708 #line 1892 "parse.y"
5709 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5710 break;}
5711 case 419:
5712 #line 1908 "parse.y"
5713 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5714 break;}
5715 case 420:
5716 #line 1910 "parse.y"
5717 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5718 break;}
5719 case 421:
5720 #line 1915 "parse.y"
5721 { yyval.ttype = NULL_TREE; ;
5722 break;}
5723 case 422:
5724 #line 1917 "parse.y"
5725 { yyval.ttype = yyvsp[0].ttype; ;
5726 break;}
5727 case 424:
5728 #line 1925 "parse.y"
5729 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5730 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5731 break;}
5732 case 425:
5733 #line 1928 "parse.y"
5734 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5735 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5736 break;}
5737 case 426:
5738 #line 1931 "parse.y"
5739 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5740 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5741 break;}
5742 case 427:
5743 #line 1934 "parse.y"
5744 { yyval.ttype = NULL_TREE; ;
5745 break;}
5746 case 428:
5747 #line 1941 "parse.y"
5748 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5749 break;}
5750 case 429:
5751 #line 1943 "parse.y"
5752 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5753 break;}
5754 case 430:
5755 #line 1946 "parse.y"
5756 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5757 break;}
5758 case 431:
5759 #line 1948 "parse.y"
5760 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5761 break;}
5762 case 432:
5763 #line 1950 "parse.y"
5764 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5765 break;}
5766 case 433:
5767 #line 1955 "parse.y"
5768 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5769 NULL_TREE, 1);
5770 reinit_parse_for_function (); ;
5771 break;}
5772 case 434:
5773 #line 1961 "parse.y"
5774 {
5775 int nested = (hack_decl_function_context
5776 (current_function_decl) != NULL_TREE);
5777 finish_function (lineno, (int)yyvsp[-1].itype, nested);
5778 process_next_inline (yyvsp[-3].ttype);
5779 ;
5780 break;}
5781 case 435:
5782 #line 1968 "parse.y"
5783 { process_next_inline (yyvsp[-2].ttype); ;
5784 break;}
5785 case 436:
5786 #line 1970 "parse.y"
5787 { process_next_inline (yyvsp[-2].ttype); ;
5788 break;}
5789 case 439:
5790 #line 1982 "parse.y"
5791 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5792 break;}
5793 case 440:
5794 #line 1984 "parse.y"
5795 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5796 break;}
5797 case 442:
5798 #line 1989 "parse.y"
5799 { do_pending_defargs (); ;
5800 break;}
5801 case 443:
5802 #line 1991 "parse.y"
5803 { do_pending_defargs (); ;
5804 break;}
5805 case 444:
5806 #line 1996 "parse.y"
5807 { yyvsp[0].itype = suspend_momentary ();
5808 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5809 break;}
5810 case 445:
5811 #line 1999 "parse.y"
5812 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5813 yyval.ftype.new_type_flag = 1;
5814 resume_momentary ((int) yyvsp[-4].itype);
5815 check_for_missing_semicolon (yyvsp[-3].ttype); ;
5816 break;}
5817 case 446:
5818 #line 2004 "parse.y"
5819 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
5820 yyval.ftype.new_type_flag = 1;
5821 check_for_missing_semicolon (yyval.ftype.t); ;
5822 break;}
5823 case 447:
5824 #line 2008 "parse.y"
5825 { yyvsp[0].itype = suspend_momentary ();
5826 yyval.ttype = start_enum (make_anon_name ()); ;
5827 break;}
5828 case 448:
5829 #line 2011 "parse.y"
5830 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5831 resume_momentary ((int) yyvsp[-5].itype);
5832 check_for_missing_semicolon (yyvsp[-3].ttype);
5833 yyval.ftype.new_type_flag = 1; ;
5834 break;}
5835 case 449:
5836 #line 2016 "parse.y"
5837 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
5838 yyval.ftype.new_type_flag = 1;
5839 check_for_missing_semicolon (yyval.ftype.t); ;
5840 break;}
5841 case 450:
5842 #line 2020 "parse.y"
5843 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5844 yyval.ftype.new_type_flag = 0; ;
5845 break;}
5846 case 451:
5847 #line 2023 "parse.y"
5848 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5849 yyval.ftype.new_type_flag = 0; ;
5850 break;}
5851 case 452:
5852 #line 2026 "parse.y"
5853 { yyval.ftype.t = yyvsp[0].ttype;
5854 yyval.ftype.new_type_flag = 0; ;
5855 break;}
5856 case 453:
5857 #line 2031 "parse.y"
5858 {
5859 int semi;
5860
5861 if (yychar == YYEMPTY)
5862 yychar = YYLEX;
5863 semi = yychar == ';';
5864
5865 yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
5866 ;
5867 break;}
5868 case 454:
5869 #line 2041 "parse.y"
5870 { finish_default_args (); ;
5871 break;}
5872 case 455:
5873 #line 2043 "parse.y"
5874 { yyval.ftype.t = yyvsp[-3].ttype;
5875 yyval.ftype.new_type_flag = 1;
5876 begin_inline_definitions (); ;
5877 break;}
5878 case 456:
5879 #line 2047 "parse.y"
5880 {
5881 yyval.ftype.new_type_flag = 0;
5882 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
5883 {
5884 cp_error ("%T is not a class type", yyvsp[0].ttype);
5885 yyval.ftype.t = error_mark_node;
5886 }
5887 else
5888 {
5889 yyval.ftype.t = yyvsp[0].ttype;
5890 /* struct B: public A; is not accepted by the WP grammar. */
5891 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
5892 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
5893 cp_error ("base clause without member specification for `%#T'",
5894 yyval.ftype.t);
5895 }
5896 ;
5897 break;}
5898 case 460:
5899 #line 2074 "parse.y"
5900 { if (pedantic && !in_system_header)
5901 pedwarn ("comma at end of enumerator list"); ;
5902 break;}
5903 case 462:
5904 #line 2081 "parse.y"
5905 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5906 break;}
5907 case 463:
5908 #line 2083 "parse.y"
5909 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5910 break;}
5911 case 464:
5912 #line 2085 "parse.y"
5913 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5914 break;}
5915 case 465:
5916 #line 2087 "parse.y"
5917 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5918 break;}
5919 case 466:
5920 #line 2092 "parse.y"
5921 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5922 break;}
5923 case 467:
5924 #line 2097 "parse.y"
5925 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5926 break;}
5927 case 468:
5928 #line 2102 "parse.y"
5929 {
5930 current_aggr = yyvsp[-2].ttype;
5931 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5932 ;
5933 break;}
5934 case 469:
5935 #line 2107 "parse.y"
5936 {
5937 current_aggr = yyvsp[-3].ttype;
5938 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5939 ;
5940 break;}
5941 case 470:
5942 #line 2112 "parse.y"
5943 {
5944 current_aggr = yyvsp[-2].ttype;
5945 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
5946 ;
5947 break;}
5948 case 471:
5949 #line 2117 "parse.y"
5950 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5951 break;}
5952 case 472:
5953 #line 2119 "parse.y"
5954 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5955 break;}
5956 case 473:
5957 #line 2124 "parse.y"
5958 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
5959 break;}
5960 case 474:
5961 #line 2129 "parse.y"
5962 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
5963 break;}
5964 case 475:
5965 #line 2132 "parse.y"
5966 {
5967 yyval.ttype = yyvsp[-1].ttype;
5968 if (yyvsp[0].ttype)
5969 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5970 ;
5971 break;}
5972 case 476:
5973 #line 2138 "parse.y"
5974 {
5975 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
5976 if (TREE_INT_CST_LOW (current_aggr) == union_type
5977 && TREE_CODE (yyval.ttype) != UNION_TYPE)
5978 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
5979 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
5980 && TREE_INT_CST_LOW (current_aggr) != union_type)
5981 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
5982 if (yyvsp[0].ttype)
5983 {
5984 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
5985 {
5986 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
5987 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
5988 {
5989 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
5990 if (processing_template_decl)
5991 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
5992 }
5993 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
5994 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
5995 }
5996 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
5997 }
5998 ;
5999 break;}
6000 case 477:
6001 #line 2167 "parse.y"
6002 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
6003 yyungetc ('{', 1); ;
6004 break;}
6005 case 480:
6006 #line 2178 "parse.y"
6007 { yyval.ttype = NULL_TREE; ;
6008 break;}
6009 case 481:
6010 #line 2180 "parse.y"
6011 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6012 break;}
6013 case 482:
6014 #line 2182 "parse.y"
6015 { yyval.ttype = yyvsp[0].ttype; ;
6016 break;}
6017 case 484:
6018 #line 2188 "parse.y"
6019 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6020 break;}
6021 case 485:
6022 #line 2193 "parse.y"
6023 {
6024 tree type = TREE_TYPE (yyvsp[0].ttype);
6025 if (! is_aggr_type (type, 1))
6026 yyval.ttype = NULL_TREE;
6027 else if (current_aggr == signature_type_node
6028 && (! type) && (! IS_SIGNATURE (type)))
6029 {
6030 error ("class name not allowed as base signature");
6031 yyval.ttype = NULL_TREE;
6032 }
6033 else if (current_aggr == signature_type_node)
6034 {
6035 sorry ("signature inheritance, base type `%s' ignored",
6036 IDENTIFIER_POINTER (yyval.ttype));
6037 yyval.ttype = build_tree_list (access_public_node, type);
6038 }
6039 else if (type && IS_SIGNATURE (type))
6040 {
6041 error ("signature name not allowed as base class");
6042 yyval.ttype = NULL_TREE;
6043 }
6044 else
6045 yyval.ttype = build_tree_list (access_default_node, type);
6046 ;
6047 break;}
6048 case 486:
6049 #line 2218 "parse.y"
6050 {
6051 tree type = TREE_TYPE (yyvsp[0].ttype);
6052 if (current_aggr == signature_type_node)
6053 error ("access and source specifiers not allowed in signature");
6054 if (! is_aggr_type (type, 1))
6055 yyval.ttype = NULL_TREE;
6056 else if (current_aggr == signature_type_node
6057 && (! type) && (! IS_SIGNATURE (type)))
6058 {
6059 error ("class name not allowed as base signature");
6060 yyval.ttype = NULL_TREE;
6061 }
6062 else if (current_aggr == signature_type_node)
6063 {
6064 sorry ("signature inheritance, base type `%s' ignored",
6065 IDENTIFIER_POINTER (yyval.ttype));
6066 yyval.ttype = build_tree_list (access_public_node, type);
6067 }
6068 else if (type && IS_SIGNATURE (type))
6069 {
6070 error ("signature name not allowed as base class");
6071 yyval.ttype = NULL_TREE;
6072 }
6073 else
6074 yyval.ttype = build_tree_list (yyval.ttype, type);
6075 ;
6076 break;}
6077 case 487:
6078 #line 2248 "parse.y"
6079 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6080 break;}
6081 case 489:
6082 #line 2251 "parse.y"
6083 {
6084 if (current_aggr == signature_type_node)
6085 {
6086 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6087 {
6088 sorry ("`sigof' as base signature specifier");
6089 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6090 }
6091 else
6092 {
6093 error ("`sigof' applied to non-aggregate expression");
6094 yyval.ttype = error_mark_node;
6095 }
6096 }
6097 else
6098 {
6099 error ("`sigof' in struct or class declaration");
6100 yyval.ttype = error_mark_node;
6101 }
6102 ;
6103 break;}
6104 case 490:
6105 #line 2272 "parse.y"
6106 {
6107 if (current_aggr == signature_type_node)
6108 {
6109 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6110 {
6111 sorry ("`sigof' as base signature specifier");
6112 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6113 }
6114 else
6115 {
6116 error ("`sigof' applied to non-aggregate expression");
6117 yyval.ttype = error_mark_node;
6118 }
6119 }
6120 else
6121 {
6122 error ("`sigof' in struct or class declaration");
6123 yyval.ttype = error_mark_node;
6124 }
6125 ;
6126 break;}
6127 case 492:
6128 #line 2297 "parse.y"
6129 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6130 cp_error ("`%D' access", yyvsp[-1].ttype);
6131 yyval.ttype = access_default_virtual_node; ;
6132 break;}
6133 case 493:
6134 #line 2301 "parse.y"
6135 {
6136 if (yyvsp[-2].ttype != access_default_virtual_node)
6137 error ("multiple access specifiers");
6138 else if (yyvsp[-1].ttype == access_public_node)
6139 yyval.ttype = access_public_virtual_node;
6140 else if (yyvsp[-1].ttype == access_protected_node)
6141 yyval.ttype = access_protected_virtual_node;
6142 else /* $2 == access_private_node */
6143 yyval.ttype = access_private_virtual_node;
6144 ;
6145 break;}
6146 case 494:
6147 #line 2312 "parse.y"
6148 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6149 cp_error ("`%D' access", yyvsp[-1].ttype);
6150 else if (yyval.ttype == access_public_node)
6151 yyval.ttype = access_public_virtual_node;
6152 else if (yyval.ttype == access_protected_node)
6153 yyval.ttype = access_protected_virtual_node;
6154 else if (yyval.ttype == access_private_node)
6155 yyval.ttype = access_private_virtual_node;
6156 else
6157 error ("multiple `virtual' specifiers");
6158 ;
6159 break;}
6160 case 495:
6161 #line 2327 "parse.y"
6162 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6163 break;}
6164 case 496:
6165 #line 2332 "parse.y"
6166 {
6167 yyval.ttype = build_self_reference ();
6168 ;
6169 break;}
6170 case 497:
6171 #line 2339 "parse.y"
6172 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6173 break;}
6174 case 498:
6175 #line 2341 "parse.y"
6176 {
6177 if (current_aggr == signature_type_node)
6178 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6179 else
6180 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6181 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6182 ;
6183 break;}
6184 case 499:
6185 #line 2349 "parse.y"
6186 {
6187 tree visspec = yyvsp[-2].ttype;
6188
6189 if (current_aggr == signature_type_node)
6190 {
6191 error ("access specifier not allowed in signature");
6192 visspec = access_public_node;
6193 }
6194 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6195 ;
6196 break;}
6197 case 500:
6198 #line 2360 "parse.y"
6199 {
6200 if (current_aggr == signature_type_node)
6201 error ("access specifier not allowed in signature");
6202 ;
6203 break;}
6204 case 501:
6205 #line 2370 "parse.y"
6206 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6207 ;
6208 break;}
6209 case 502:
6210 #line 2373 "parse.y"
6211 { /* In pushdecl, we created a reverse list of names
6212 in this binding level. Make sure that the chain
6213 of what we're trying to add isn't the item itself
6214 (which can happen with what pushdecl's doing). */
6215 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6216 {
6217 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6218 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6219 else
6220 yyval.ttype = yyvsp[0].ttype;
6221 }
6222 ;
6223 break;}
6224 case 503:
6225 #line 2389 "parse.y"
6226 { ;
6227 break;}
6228 case 504:
6229 #line 2391 "parse.y"
6230 { error ("missing ';' before right brace");
6231 yyungetc ('}', 0); ;
6232 break;}
6233 case 505:
6234 #line 2396 "parse.y"
6235 { yyval.ttype = finish_method (yyval.ttype); ;
6236 break;}
6237 case 506:
6238 #line 2398 "parse.y"
6239 { yyval.ttype = finish_method (yyval.ttype); ;
6240 break;}
6241 case 507:
6242 #line 2400 "parse.y"
6243 { yyval.ttype = finish_method (yyval.ttype); ;
6244 break;}
6245 case 508:
6246 #line 2402 "parse.y"
6247 { yyval.ttype = finish_method (yyval.ttype); ;
6248 break;}
6249 case 509:
6250 #line 2404 "parse.y"
6251 { yyval.ttype = NULL_TREE; ;
6252 break;}
6253 case 510:
6254 #line 2406 "parse.y"
6255 { yyval.ttype = yyvsp[0].ttype;
6256 pedantic = yyvsp[-1].itype; ;
6257 break;}
6258 case 511:
6259 #line 2409 "parse.y"
6260 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6261 break;}
6262 case 512:
6263 #line 2411 "parse.y"
6264 { yyval.ttype = finish_member_class_template (yyvsp[-2].ttype, yyvsp[-1].ftype.t); ;
6265 break;}
6266 case 513:
6267 #line 2419 "parse.y"
6268 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6269 break;}
6270 case 514:
6271 #line 2421 "parse.y"
6272 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6273 break;}
6274 case 515:
6275 #line 2423 "parse.y"
6276 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6277 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6278 break;}
6279 case 516:
6280 #line 2426 "parse.y"
6281 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6282 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6283 break;}
6284 case 517:
6285 #line 2429 "parse.y"
6286 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6287 break;}
6288 case 518:
6289 #line 2431 "parse.y"
6290 { yyval.ttype = NULL_TREE; ;
6291 break;}
6292 case 519:
6293 #line 2442 "parse.y"
6294 { tree specs, attrs;
6295 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6296 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6297 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6298 break;}
6299 case 520:
6300 #line 2447 "parse.y"
6301 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6302 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6303 break;}
6304 case 521:
6305 #line 2450 "parse.y"
6306 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6307 break;}
6308 case 522:
6309 #line 2456 "parse.y"
6310 { yyval.ttype = NULL_TREE; ;
6311 break;}
6312 case 524:
6313 #line 2459 "parse.y"
6314 {
6315 /* In this context, void_type_node encodes
6316 friends. They have been recorded elsewhere. */
6317 if (yyval.ttype == void_type_node)
6318 yyval.ttype = yyvsp[0].ttype;
6319 else
6320 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6321 ;
6322 break;}
6323 case 525:
6324 #line 2471 "parse.y"
6325 { yyval.ttype = NULL_TREE; ;
6326 break;}
6327 case 527:
6328 #line 2474 "parse.y"
6329 {
6330 /* In this context, void_type_node encodes
6331 friends. They have been recorded elsewhere. */
6332 if (yyval.ttype == void_type_node)
6333 yyval.ttype = yyvsp[0].ttype;
6334 else
6335 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6336 ;
6337 break;}
6338 case 532:
6339 #line 2496 "parse.y"
6340 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6341 &prefix_attributes);
6342 yyvsp[-4].ttype = current_declspecs;
6343 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6344 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6345 break;}
6346 case 533:
6347 #line 2502 "parse.y"
6348 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6349 &prefix_attributes);
6350 yyvsp[-4].ttype = current_declspecs;
6351 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6352 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6353 break;}
6354 case 534:
6355 #line 2511 "parse.y"
6356 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6357 &prefix_attributes);
6358 yyvsp[-4].ttype = current_declspecs;
6359 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6360 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6361 break;}
6362 case 535:
6363 #line 2517 "parse.y"
6364 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6365 &prefix_attributes);
6366 yyvsp[-4].ttype = current_declspecs;
6367 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6368 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6369 break;}
6370 case 536:
6371 #line 2523 "parse.y"
6372 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6373 &prefix_attributes);
6374 yyvsp[-4].ttype = current_declspecs;
6375 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6376 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6377 break;}
6378 case 537:
6379 #line 2529 "parse.y"
6380 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6381 &prefix_attributes);
6382 yyvsp[-3].ttype = current_declspecs;
6383 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6384 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6385 break;}
6386 case 538:
6387 #line 2538 "parse.y"
6388 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6389 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6390 break;}
6391 case 539:
6392 #line 2541 "parse.y"
6393 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6394 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6395 break;}
6396 case 540:
6397 #line 2547 "parse.y"
6398 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6399 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6400 break;}
6401 case 541:
6402 #line 2550 "parse.y"
6403 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6404 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6405 break;}
6406 case 542:
6407 #line 2553 "parse.y"
6408 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6409 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6410 break;}
6411 case 544:
6412 #line 2564 "parse.y"
6413 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6414 break;}
6415 case 545:
6416 #line 2569 "parse.y"
6417 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6418 break;}
6419 case 546:
6420 #line 2571 "parse.y"
6421 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6422 break;}
6423 case 547:
6424 #line 2577 "parse.y"
6425 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6426 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6427 break;}
6428 case 548:
6429 #line 2580 "parse.y"
6430 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6431 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6432 break;}
6433 case 549:
6434 #line 2587 "parse.y"
6435 {
6436 if (pedantic)
6437 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6438 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6439 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6440 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6441 ;
6442 break;}
6443 case 550:
6444 #line 2598 "parse.y"
6445 { yyval.ttype = NULL_TREE; ;
6446 break;}
6447 case 551:
6448 #line 2600 "parse.y"
6449 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6450 break;}
6451 case 552:
6452 #line 2605 "parse.y"
6453 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6454 yyval.ftype.new_type_flag = 0; ;
6455 break;}
6456 case 553:
6457 #line 2608 "parse.y"
6458 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6459 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6460 break;}
6461 case 554:
6462 #line 2617 "parse.y"
6463 { yyval.itype = suspend_momentary (); ;
6464 break;}
6465 case 555:
6466 #line 2622 "parse.y"
6467 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6468 break;}
6469 case 556:
6470 #line 2628 "parse.y"
6471 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6472 break;}
6473 case 557:
6474 #line 2630 "parse.y"
6475 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6476 break;}
6477 case 558:
6478 #line 2632 "parse.y"
6479 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6480 break;}
6481 case 559:
6482 #line 2634 "parse.y"
6483 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6484 break;}
6485 case 560:
6486 #line 2641 "parse.y"
6487 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6488 break;}
6489 case 561:
6490 #line 2643 "parse.y"
6491 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6492 break;}
6493 case 562:
6494 #line 2645 "parse.y"
6495 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6496 break;}
6497 case 563:
6498 #line 2647 "parse.y"
6499 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6500 break;}
6501 case 564:
6502 #line 2649 "parse.y"
6503 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6504 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6505 ;
6506 break;}
6507 case 566:
6508 #line 2657 "parse.y"
6509 {
6510 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6511 {
6512 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6513 if (current_class_type
6514 && TYPE_BEING_DEFINED (current_class_type)
6515 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6516 {
6517 /* Remember that this name has been used in the class
6518 definition, as per [class.scope0] */
6519 pushdecl_class_level (yyval.ttype);
6520 }
6521 }
6522 else
6523 yyval.ttype = yyvsp[0].ttype;
6524 ;
6525 break;}
6526 case 567:
6527 #line 2674 "parse.y"
6528 {
6529 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6530 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6531 else
6532 yyval.ttype = yyvsp[0].ttype;
6533 got_scope = NULL_TREE;
6534 ;
6535 break;}
6536 case 570:
6537 #line 2687 "parse.y"
6538 { yyval.ttype = yyvsp[0].ttype; ;
6539 break;}
6540 case 571:
6541 #line 2692 "parse.y"
6542 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6543 break;}
6544 case 572:
6545 #line 2697 "parse.y"
6546 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6547 break;}
6548 case 573:
6549 #line 2699 "parse.y"
6550 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6551 break;}
6552 case 574:
6553 #line 2701 "parse.y"
6554 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6555 break;}
6556 case 575:
6557 #line 2703 "parse.y"
6558 { yyval.ttype = yyvsp[-1].ttype; ;
6559 break;}
6560 case 576:
6561 #line 2705 "parse.y"
6562 { push_nested_class (yyvsp[-1].ttype, 3);
6563 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6564 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6565 break;}
6566 case 578:
6567 #line 2716 "parse.y"
6568 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6569 break;}
6570 case 579:
6571 #line 2718 "parse.y"
6572 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6573 break;}
6574 case 580:
6575 #line 2720 "parse.y"
6576 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6577 break;}
6578 case 581:
6579 #line 2722 "parse.y"
6580 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6581 break;}
6582 case 582:
6583 #line 2724 "parse.y"
6584 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6585 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6586 ;
6587 break;}
6588 case 584:
6589 #line 2732 "parse.y"
6590 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6591 break;}
6592 case 585:
6593 #line 2734 "parse.y"
6594 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6595 break;}
6596 case 586:
6597 #line 2736 "parse.y"
6598 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6599 break;}
6600 case 587:
6601 #line 2738 "parse.y"
6602 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6603 break;}
6604 case 588:
6605 #line 2740 "parse.y"
6606 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6607 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6608 ;
6609 break;}
6610 case 590:
6611 #line 2748 "parse.y"
6612 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6613 break;}
6614 case 591:
6615 #line 2750 "parse.y"
6616 { yyval.ttype = yyvsp[-1].ttype; ;
6617 break;}
6618 case 592:
6619 #line 2752 "parse.y"
6620 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6621 break;}
6622 case 593:
6623 #line 2754 "parse.y"
6624 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6625 break;}
6626 case 594:
6627 #line 2756 "parse.y"
6628 { if (OP0 (yyvsp[0].ttype) != current_class_type)
6629 {
6630 push_nested_class (OP0 (yyvsp[0].ttype), 3);
6631 TREE_COMPLEXITY (yyvsp[0].ttype) = current_class_depth;
6632 }
6633 ;
6634 break;}
6635 case 595:
6636 #line 2763 "parse.y"
6637 { got_scope = NULL_TREE;
6638 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6639 if (yyvsp[-1].ttype != current_class_type)
6640 {
6641 push_nested_class (yyvsp[-1].ttype, 3);
6642 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6643 }
6644 ;
6645 break;}
6646 case 596:
6647 #line 2775 "parse.y"
6648 { got_scope = NULL_TREE;
6649 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6650 break;}
6651 case 597:
6652 #line 2778 "parse.y"
6653 { got_scope = NULL_TREE;
6654 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6655 break;}
6656 case 598:
6657 #line 2784 "parse.y"
6658 { got_scope = NULL_TREE;
6659 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6660 break;}
6661 case 599:
6662 #line 2787 "parse.y"
6663 { got_scope = NULL_TREE;
6664 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6665 break;}
6666 case 601:
6667 #line 2794 "parse.y"
6668 { yyval.ttype = yyvsp[0].ttype; ;
6669 break;}
6670 case 602:
6671 #line 2799 "parse.y"
6672 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6673 break;}
6674 case 603:
6675 #line 2801 "parse.y"
6676 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6677 break;}
6678 case 604:
6679 #line 2803 "parse.y"
6680 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6681 break;}
6682 case 609:
6683 #line 2815 "parse.y"
6684 { yyval.ttype = yyvsp[0].ttype; ;
6685 break;}
6686 case 610:
6687 #line 2817 "parse.y"
6688 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6689 break;}
6690 case 611:
6691 #line 2824 "parse.y"
6692 {
6693 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6694 {
6695 yyval.ttype = lastiddecl;
6696 /* Remember that this name has been used in the class
6697 definition, as per [class.scope0] */
6698 if (current_class_type
6699 && TYPE_BEING_DEFINED (current_class_type)
6700 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6701 pushdecl_class_level (yyval.ttype);
6702 }
6703 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6704 ;
6705 break;}
6706 case 612:
6707 #line 2838 "parse.y"
6708 {
6709 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6710 yyval.ttype = lastiddecl;
6711 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6712 ;
6713 break;}
6714 case 613:
6715 #line 2844 "parse.y"
6716 {
6717 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6718 yyval.ttype = lastiddecl;
6719 got_scope = yyval.ttype;
6720 ;
6721 break;}
6722 case 614:
6723 #line 2850 "parse.y"
6724 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6725 break;}
6726 case 616:
6727 #line 2866 "parse.y"
6728 { yyval.ttype = yyvsp[0].ttype; ;
6729 break;}
6730 case 617:
6731 #line 2871 "parse.y"
6732 {
6733 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6734 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6735 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6736 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6737 else
6738 {
6739 yyval.ttype = yyvsp[0].ttype;
6740 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6741 yyval.ttype = TREE_TYPE (yyval.ttype);
6742 }
6743 ;
6744 break;}
6745 case 618:
6746 #line 2884 "parse.y"
6747 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6748 break;}
6749 case 619:
6750 #line 2886 "parse.y"
6751 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6752 break;}
6753 case 620:
6754 #line 2888 "parse.y"
6755 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6756 break;}
6757 case 621:
6758 #line 2893 "parse.y"
6759 {
6760 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6761 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6762 ;
6763 break;}
6764 case 622:
6765 #line 2898 "parse.y"
6766 {
6767 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6768 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6769 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6770 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6771 else
6772 {
6773 yyval.ttype = yyvsp[0].ttype;
6774 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6775 yyval.ttype = TREE_TYPE (yyval.ttype);
6776 }
6777 ;
6778 break;}
6779 case 623:
6780 #line 2911 "parse.y"
6781 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6782 break;}
6783 case 624:
6784 #line 2913 "parse.y"
6785 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6786 break;}
6787 case 625:
6788 #line 2918 "parse.y"
6789 {
6790 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6791 yyvsp[-1].ttype = lastiddecl;
6792
6793 /* Retrieve the type for the identifier, which might involve
6794 some computation. */
6795 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
6796
6797 if (yyval.ttype == error_mark_node)
6798 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6799 ;
6800 break;}
6801 case 626:
6802 #line 2930 "parse.y"
6803 {
6804 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6805 yyval.ttype = lastiddecl;
6806 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6807 ;
6808 break;}
6809 case 627:
6810 #line 2936 "parse.y"
6811 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6812 break;}
6813 case 630:
6814 #line 2940 "parse.y"
6815 {
6816 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6817 yyval.ttype = lastiddecl;
6818 got_scope = yyval.ttype;
6819 ;
6820 break;}
6821 case 631:
6822 #line 2949 "parse.y"
6823 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6824 break;}
6825 case 632:
6826 #line 2954 "parse.y"
6827 {
6828 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6829 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6830 else
6831 yyval.ttype = yyvsp[0].ttype;
6832 got_scope = NULL_TREE;
6833 ;
6834 break;}
6835 case 634:
6836 #line 2963 "parse.y"
6837 { yyval.ttype = yyvsp[0].ttype; ;
6838 break;}
6839 case 635:
6840 #line 2968 "parse.y"
6841 { got_scope = NULL_TREE; ;
6842 break;}
6843 case 636:
6844 #line 2970 "parse.y"
6845 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6846 break;}
6847 case 637:
6848 #line 2977 "parse.y"
6849 { got_scope = void_type_node; ;
6850 break;}
6851 case 638:
6852 #line 2983 "parse.y"
6853 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6854 break;}
6855 case 639:
6856 #line 2985 "parse.y"
6857 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6858 break;}
6859 case 640:
6860 #line 2987 "parse.y"
6861 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6862 break;}
6863 case 641:
6864 #line 2989 "parse.y"
6865 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6866 break;}
6867 case 642:
6868 #line 2991 "parse.y"
6869 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6870 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6871 ;
6872 break;}
6873 case 643:
6874 #line 2995 "parse.y"
6875 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6876 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6877 ;
6878 break;}
6879 case 645:
6880 #line 3004 "parse.y"
6881 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6882 break;}
6883 case 646:
6884 #line 3006 "parse.y"
6885 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6886 break;}
6887 case 647:
6888 #line 3012 "parse.y"
6889 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6890 break;}
6891 case 648:
6892 #line 3014 "parse.y"
6893 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6894 break;}
6895 case 649:
6896 #line 3016 "parse.y"
6897 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6898 break;}
6899 case 650:
6900 #line 3018 "parse.y"
6901 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
6902 break;}
6903 case 651:
6904 #line 3020 "parse.y"
6905 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6906 break;}
6907 case 652:
6908 #line 3022 "parse.y"
6909 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6910 break;}
6911 case 653:
6912 #line 3024 "parse.y"
6913 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6914 break;}
6915 case 654:
6916 #line 3026 "parse.y"
6917 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
6918 break;}
6919 case 655:
6920 #line 3028 "parse.y"
6921 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6922 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6923 ;
6924 break;}
6925 case 656:
6926 #line 3032 "parse.y"
6927 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6928 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6929 ;
6930 break;}
6931 case 658:
6932 #line 3041 "parse.y"
6933 { yyval.ttype = yyvsp[-1].ttype; ;
6934 break;}
6935 case 660:
6936 #line 3045 "parse.y"
6937 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6938 break;}
6939 case 661:
6940 #line 3047 "parse.y"
6941 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
6942 break;}
6943 case 662:
6944 #line 3049 "parse.y"
6945 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6946 break;}
6947 case 663:
6948 #line 3051 "parse.y"
6949 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6950 break;}
6951 case 664:
6952 #line 3053 "parse.y"
6953 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6954 break;}
6955 case 665:
6956 #line 3055 "parse.y"
6957 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6958 break;}
6959 case 666:
6960 #line 3057 "parse.y"
6961 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6962 break;}
6963 case 667:
6964 #line 3059 "parse.y"
6965 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6966 break;}
6967 case 668:
6968 #line 3061 "parse.y"
6969 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
6970 break;}
6971 case 675:
6972 #line 3084 "parse.y"
6973 { if (pedantic)
6974 pedwarn ("ANSI C++ forbids label declarations"); ;
6975 break;}
6976 case 678:
6977 #line 3095 "parse.y"
6978 { tree link;
6979 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
6980 {
6981 tree label = shadow_label (TREE_VALUE (link));
6982 C_DECLARED_LABEL_FLAG (label) = 1;
6983 declare_nonlocal_label (label);
6984 }
6985 ;
6986 break;}
6987 case 679:
6988 #line 3109 "parse.y"
6989 {;
6990 break;}
6991 case 681:
6992 #line 3115 "parse.y"
6993 { yyval.ttype = begin_compound_stmt (0); ;
6994 break;}
6995 case 682:
6996 #line 3117 "parse.y"
6997 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
6998 break;}
6999 case 683:
7000 #line 3122 "parse.y"
7001 {
7002 yyval.ttype = begin_if_stmt ();
7003 cond_stmt_keyword = "if";
7004 ;
7005 break;}
7006 case 684:
7007 #line 3127 "parse.y"
7008 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7009 break;}
7010 case 685:
7011 #line 3129 "parse.y"
7012 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7013 break;}
7014 case 687:
7015 #line 3134 "parse.y"
7016 { yyval.ttype = begin_compound_stmt (0); ;
7017 break;}
7018 case 688:
7019 #line 3136 "parse.y"
7020 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7021 break;}
7022 case 689:
7023 #line 3141 "parse.y"
7024 {;
7025 break;}
7026 case 691:
7027 #line 3147 "parse.y"
7028 { finish_stmt (); ;
7029 break;}
7030 case 692:
7031 #line 3149 "parse.y"
7032 { finish_expr_stmt (yyvsp[-1].ttype); ;
7033 break;}
7034 case 693:
7035 #line 3151 "parse.y"
7036 { begin_else_clause (); ;
7037 break;}
7038 case 694:
7039 #line 3153 "parse.y"
7040 {
7041 finish_else_clause (yyvsp[-3].ttype);
7042 finish_if_stmt ();
7043 ;
7044 break;}
7045 case 695:
7046 #line 3158 "parse.y"
7047 { finish_if_stmt (); ;
7048 break;}
7049 case 696:
7050 #line 3160 "parse.y"
7051 {
7052 yyval.ttype = begin_while_stmt ();
7053 cond_stmt_keyword = "while";
7054 ;
7055 break;}
7056 case 697:
7057 #line 3165 "parse.y"
7058 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7059 break;}
7060 case 698:
7061 #line 3167 "parse.y"
7062 { finish_while_stmt (yyvsp[-3].ttype); ;
7063 break;}
7064 case 699:
7065 #line 3169 "parse.y"
7066 { yyval.ttype = begin_do_stmt (); ;
7067 break;}
7068 case 700:
7069 #line 3171 "parse.y"
7070 {
7071 finish_do_body (yyvsp[-2].ttype);
7072 cond_stmt_keyword = "do";
7073 ;
7074 break;}
7075 case 701:
7076 #line 3176 "parse.y"
7077 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7078 break;}
7079 case 702:
7080 #line 3178 "parse.y"
7081 { yyval.ttype = begin_for_stmt (); ;
7082 break;}
7083 case 703:
7084 #line 3180 "parse.y"
7085 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7086 break;}
7087 case 704:
7088 #line 3182 "parse.y"
7089 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7090 break;}
7091 case 705:
7092 #line 3184 "parse.y"
7093 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7094 break;}
7095 case 706:
7096 #line 3186 "parse.y"
7097 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7098 break;}
7099 case 707:
7100 #line 3188 "parse.y"
7101 { begin_switch_stmt (); ;
7102 break;}
7103 case 708:
7104 #line 3190 "parse.y"
7105 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7106 break;}
7107 case 709:
7108 #line 3192 "parse.y"
7109 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7110 break;}
7111 case 710:
7112 #line 3194 "parse.y"
7113 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7114 break;}
7115 case 712:
7116 #line 3197 "parse.y"
7117 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7118 break;}
7119 case 714:
7120 #line 3200 "parse.y"
7121 { finish_case_label (NULL_TREE, NULL_TREE); ;
7122 break;}
7123 case 716:
7124 #line 3203 "parse.y"
7125 { finish_break_stmt (); ;
7126 break;}
7127 case 717:
7128 #line 3205 "parse.y"
7129 { finish_continue_stmt (); ;
7130 break;}
7131 case 718:
7132 #line 3207 "parse.y"
7133 { finish_return_stmt (NULL_TREE); ;
7134 break;}
7135 case 719:
7136 #line 3209 "parse.y"
7137 { finish_return_stmt (yyvsp[-1].ttype); ;
7138 break;}
7139 case 720:
7140 #line 3211 "parse.y"
7141 {
7142 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7143 NULL_TREE);
7144 ;
7145 break;}
7146 case 721:
7147 #line 3217 "parse.y"
7148 {
7149 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7150 NULL_TREE);
7151 ;
7152 break;}
7153 case 722:
7154 #line 3223 "parse.y"
7155 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7156 break;}
7157 case 723:
7158 #line 3227 "parse.y"
7159 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7160 break;}
7161 case 724:
7162 #line 3229 "parse.y"
7163 {
7164 if (pedantic)
7165 pedwarn ("ANSI C++ forbids computed gotos");
7166 finish_goto_stmt (yyvsp[-1].ttype);
7167 ;
7168 break;}
7169 case 725:
7170 #line 3235 "parse.y"
7171 { finish_goto_stmt (yyvsp[-1].ttype); ;
7172 break;}
7173 case 726:
7174 #line 3237 "parse.y"
7175 { finish_stmt (); ;
7176 break;}
7177 case 727:
7178 #line 3239 "parse.y"
7179 { error ("label must be followed by statement");
7180 yyungetc ('}', 0);
7181 finish_stmt (); ;
7182 break;}
7183 case 728:
7184 #line 3243 "parse.y"
7185 { finish_stmt (); ;
7186 break;}
7187 case 730:
7188 #line 3249 "parse.y"
7189 {
7190 if (! current_function_parms_stored)
7191 store_parm_decls ();
7192 expand_start_early_try_stmts ();
7193 ;
7194 break;}
7195 case 731:
7196 #line 3255 "parse.y"
7197 {
7198 expand_start_all_catch ();
7199 ;
7200 break;}
7201 case 732:
7202 #line 3259 "parse.y"
7203 {
7204 int nested = (hack_decl_function_context
7205 (current_function_decl) != NULL_TREE);
7206 expand_end_all_catch ();
7207 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7208 ;
7209 break;}
7210 case 733:
7211 #line 3269 "parse.y"
7212 { yyval.ttype = begin_try_block (); ;
7213 break;}
7214 case 734:
7215 #line 3271 "parse.y"
7216 { finish_try_block (yyvsp[-1].ttype); ;
7217 break;}
7218 case 735:
7219 #line 3273 "parse.y"
7220 { finish_handler_sequence (yyvsp[-3].ttype); ;
7221 break;}
7222 case 738:
7223 #line 3283 "parse.y"
7224 { yyval.ttype = begin_handler(); ;
7225 break;}
7226 case 739:
7227 #line 3285 "parse.y"
7228 { finish_handler_parms (yyvsp[-1].ttype); ;
7229 break;}
7230 case 740:
7231 #line 3287 "parse.y"
7232 { finish_handler (yyvsp[-3].ttype); ;
7233 break;}
7234 case 743:
7235 #line 3297 "parse.y"
7236 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7237 break;}
7238 case 744:
7239 #line 3313 "parse.y"
7240 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7241 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7242 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7243 break;}
7244 case 745:
7245 #line 3320 "parse.y"
7246 { tree label;
7247 do_label:
7248 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7249 if (label && ! minimal_parse_mode)
7250 expand_label (label);
7251 ;
7252 break;}
7253 case 746:
7254 #line 3327 "parse.y"
7255 { goto do_label; ;
7256 break;}
7257 case 747:
7258 #line 3329 "parse.y"
7259 { goto do_label; ;
7260 break;}
7261 case 748:
7262 #line 3331 "parse.y"
7263 { goto do_label; ;
7264 break;}
7265 case 749:
7266 #line 3336 "parse.y"
7267 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7268 break;}
7269 case 751:
7270 #line 3339 "parse.y"
7271 { if (pedantic)
7272 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7273 ;
7274 break;}
7275 case 752:
7276 #line 3348 "parse.y"
7277 { emit_line_note (input_filename, lineno);
7278 yyval.ttype = NULL_TREE; ;
7279 break;}
7280 case 753:
7281 #line 3351 "parse.y"
7282 { emit_line_note (input_filename, lineno); ;
7283 break;}
7284 case 754:
7285 #line 3356 "parse.y"
7286 { yyval.ttype = NULL_TREE; ;
7287 break;}
7288 case 756:
7289 #line 3359 "parse.y"
7290 { yyval.ttype = NULL_TREE; ;
7291 break;}
7292 case 757:
7293 #line 3366 "parse.y"
7294 { yyval.ttype = NULL_TREE; ;
7295 break;}
7296 case 760:
7297 #line 3373 "parse.y"
7298 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7299 break;}
7300 case 761:
7301 #line 3378 "parse.y"
7302 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7303 break;}
7304 case 762:
7305 #line 3383 "parse.y"
7306 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7307 break;}
7308 case 763:
7309 #line 3385 "parse.y"
7310 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7311 break;}
7312 case 764:
7313 #line 3396 "parse.y"
7314 {
7315 yyval.ttype = empty_parms();
7316 ;
7317 break;}
7318 case 766:
7319 #line 3401 "parse.y"
7320 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7321 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7322 break;}
7323 case 767:
7324 #line 3409 "parse.y"
7325 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7326 break;}
7327 case 768:
7328 #line 3411 "parse.y"
7329 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7330 break;}
7331 case 769:
7332 #line 3414 "parse.y"
7333 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7334 break;}
7335 case 770:
7336 #line 3416 "parse.y"
7337 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7338 yyvsp[-1].ftype.t), 1); ;
7339 break;}
7340 case 771:
7341 #line 3419 "parse.y"
7342 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7343 break;}
7344 case 772:
7345 #line 3421 "parse.y"
7346 {
7347 /* This helps us recover from really nasty
7348 parse errors, for example, a missing right
7349 parenthesis. */
7350 yyerror ("possibly missing ')'");
7351 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7352 yyungetc (':', 0);
7353 yychar = ')';
7354 ;
7355 break;}
7356 case 773:
7357 #line 3431 "parse.y"
7358 {
7359 /* This helps us recover from really nasty
7360 parse errors, for example, a missing right
7361 parenthesis. */
7362 yyerror ("possibly missing ')'");
7363 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7364 yyvsp[-1].ftype.t), 0);
7365 yyungetc (':', 0);
7366 yychar = ')';
7367 ;
7368 break;}
7369 case 774:
7370 #line 3446 "parse.y"
7371 { maybe_snarf_defarg (); ;
7372 break;}
7373 case 775:
7374 #line 3448 "parse.y"
7375 { yyval.ttype = yyvsp[0].ttype; ;
7376 break;}
7377 case 778:
7378 #line 3459 "parse.y"
7379 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7380 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7381 break;}
7382 case 779:
7383 #line 3462 "parse.y"
7384 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7385 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7386 break;}
7387 case 780:
7388 #line 3465 "parse.y"
7389 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7390 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7391 break;}
7392 case 781:
7393 #line 3468 "parse.y"
7394 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7395 break;}
7396 case 782:
7397 #line 3470 "parse.y"
7398 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7399 break;}
7400 case 784:
7401 #line 3476 "parse.y"
7402 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7403 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7404 break;}
7405 case 785:
7406 #line 3486 "parse.y"
7407 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7408 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7409 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7410 break;}
7411 case 786:
7412 #line 3490 "parse.y"
7413 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7414 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7415 break;}
7416 case 787:
7417 #line 3493 "parse.y"
7418 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7419 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7420 break;}
7421 case 788:
7422 #line 3496 "parse.y"
7423 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7424 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7425 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7426 break;}
7427 case 789:
7428 #line 3500 "parse.y"
7429 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7430 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7431 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7432 break;}
7433 case 790:
7434 #line 3504 "parse.y"
7435 { tree specs = strip_attrs (yyvsp[-1].ttype);
7436 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7437 yyval.ftype.new_type_flag = 0; ;
7438 break;}
7439 case 791:
7440 #line 3511 "parse.y"
7441 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7442 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7443 break;}
7444 case 792:
7445 #line 3514 "parse.y"
7446 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7447 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7448 break;}
7449 case 795:
7450 #line 3525 "parse.y"
7451 { see_typename (); ;
7452 break;}
7453 case 796:
7454 #line 3530 "parse.y"
7455 {
7456 error ("type specifier omitted for parameter");
7457 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7458 ;
7459 break;}
7460 case 797:
7461 #line 3535 "parse.y"
7462 {
7463 error ("type specifier omitted for parameter");
7464 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7465 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7466 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7467 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7468 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7469 ;
7470 break;}
7471 case 798:
7472 #line 3547 "parse.y"
7473 { yyval.ttype = NULL_TREE; ;
7474 break;}
7475 case 799:
7476 #line 3549 "parse.y"
7477 { yyval.ttype = yyvsp[-1].ttype; ;
7478 break;}
7479 case 800:
7480 #line 3551 "parse.y"
7481 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7482 break;}
7483 case 801:
7484 #line 3556 "parse.y"
7485 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7486 break;}
7487 case 803:
7488 #line 3562 "parse.y"
7489 {
7490 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7491 yyval.ttype = yyvsp[0].ttype;
7492 ;
7493 break;}
7494 case 804:
7495 #line 3570 "parse.y"
7496 { yyval.ttype = NULL_TREE; ;
7497 break;}
7498 case 805:
7499 #line 3572 "parse.y"
7500 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7501 break;}
7502 case 806:
7503 #line 3574 "parse.y"
7504 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7505 break;}
7506 case 807:
7507 #line 3576 "parse.y"
7508 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7509 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7510 ;
7511 break;}
7512 case 808:
7513 #line 3583 "parse.y"
7514 { got_scope = NULL_TREE; ;
7515 break;}
7516 case 809:
7517 #line 3588 "parse.y"
7518 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7519 break;}
7520 case 810:
7521 #line 3590 "parse.y"
7522 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7523 break;}
7524 case 811:
7525 #line 3592 "parse.y"
7526 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7527 break;}
7528 case 812:
7529 #line 3594 "parse.y"
7530 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7531 break;}
7532 case 813:
7533 #line 3596 "parse.y"
7534 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7535 break;}
7536 case 814:
7537 #line 3598 "parse.y"
7538 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7539 break;}
7540 case 815:
7541 #line 3600 "parse.y"
7542 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7543 break;}
7544 case 816:
7545 #line 3602 "parse.y"
7546 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7547 break;}
7548 case 817:
7549 #line 3604 "parse.y"
7550 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7551 break;}
7552 case 818:
7553 #line 3606 "parse.y"
7554 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7555 break;}
7556 case 819:
7557 #line 3608 "parse.y"
7558 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7559 break;}
7560 case 820:
7561 #line 3610 "parse.y"
7562 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7563 break;}
7564 case 821:
7565 #line 3612 "parse.y"
7566 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7567 break;}
7568 case 822:
7569 #line 3614 "parse.y"
7570 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7571 break;}
7572 case 823:
7573 #line 3616 "parse.y"
7574 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7575 break;}
7576 case 824:
7577 #line 3618 "parse.y"
7578 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7579 break;}
7580 case 825:
7581 #line 3620 "parse.y"
7582 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7583 break;}
7584 case 826:
7585 #line 3622 "parse.y"
7586 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7587 break;}
7588 case 827:
7589 #line 3624 "parse.y"
7590 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7591 break;}
7592 case 828:
7593 #line 3626 "parse.y"
7594 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7595 break;}
7596 case 829:
7597 #line 3628 "parse.y"
7598 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7599 break;}
7600 case 830:
7601 #line 3630 "parse.y"
7602 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7603 break;}
7604 case 831:
7605 #line 3632 "parse.y"
7606 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7607 break;}
7608 case 832:
7609 #line 3634 "parse.y"
7610 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7611 break;}
7612 case 833:
7613 #line 3636 "parse.y"
7614 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7615 break;}
7616 case 834:
7617 #line 3638 "parse.y"
7618 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7619 break;}
7620 case 835:
7621 #line 3640 "parse.y"
7622 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7623 break;}
7624 case 836:
7625 #line 3642 "parse.y"
7626 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7627 break;}
7628 case 837:
7629 #line 3644 "parse.y"
7630 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7631 break;}
7632 case 838:
7633 #line 3646 "parse.y"
7634 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7635 break;}
7636 case 839:
7637 #line 3648 "parse.y"
7638 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7639 break;}
7640 case 840:
7641 #line 3650 "parse.y"
7642 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7643 break;}
7644 case 841:
7645 #line 3652 "parse.y"
7646 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7647 break;}
7648 case 842:
7649 #line 3655 "parse.y"
7650 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7651 break;}
7652 case 843:
7653 #line 3657 "parse.y"
7654 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7655 break;}
7656 }
7657 /* the action file gets copied in in place of this dollarsign */
7658 #line 498 "/usr/lib/bison.simple"
7659 \f
7660 yyvsp -= yylen;
7661 yyssp -= yylen;
7662 #ifdef YYLSP_NEEDED
7663 yylsp -= yylen;
7664 #endif
7665
7666 #if YYDEBUG != 0
7667 if (yydebug)
7668 {
7669 short *ssp1 = yyss - 1;
7670 fprintf (stderr, "state stack now");
7671 while (ssp1 != yyssp)
7672 fprintf (stderr, " %d", *++ssp1);
7673 fprintf (stderr, "\n");
7674 }
7675 #endif
7676
7677 *++yyvsp = yyval;
7678
7679 #ifdef YYLSP_NEEDED
7680 yylsp++;
7681 if (yylen == 0)
7682 {
7683 yylsp->first_line = yylloc.first_line;
7684 yylsp->first_column = yylloc.first_column;
7685 yylsp->last_line = (yylsp-1)->last_line;
7686 yylsp->last_column = (yylsp-1)->last_column;
7687 yylsp->text = 0;
7688 }
7689 else
7690 {
7691 yylsp->last_line = (yylsp+yylen-1)->last_line;
7692 yylsp->last_column = (yylsp+yylen-1)->last_column;
7693 }
7694 #endif
7695
7696 /* Now "shift" the result of the reduction.
7697 Determine what state that goes to,
7698 based on the state we popped back to
7699 and the rule number reduced by. */
7700
7701 yyn = yyr1[yyn];
7702
7703 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7704 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7705 yystate = yytable[yystate];
7706 else
7707 yystate = yydefgoto[yyn - YYNTBASE];
7708
7709 goto yynewstate;
7710
7711 yyerrlab: /* here on detecting error */
7712
7713 if (! yyerrstatus)
7714 /* If not already recovering from an error, report this error. */
7715 {
7716 ++yynerrs;
7717
7718 #ifdef YYERROR_VERBOSE
7719 yyn = yypact[yystate];
7720
7721 if (yyn > YYFLAG && yyn < YYLAST)
7722 {
7723 int size = 0;
7724 char *msg;
7725 int x, count;
7726
7727 count = 0;
7728 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7729 for (x = (yyn < 0 ? -yyn : 0);
7730 x < (sizeof(yytname) / sizeof(char *)); x++)
7731 if (yycheck[x + yyn] == x)
7732 size += strlen(yytname[x]) + 15, count++;
7733 msg = (char *) malloc(size + 15);
7734 if (msg != 0)
7735 {
7736 strcpy(msg, "parse error");
7737
7738 if (count < 5)
7739 {
7740 count = 0;
7741 for (x = (yyn < 0 ? -yyn : 0);
7742 x < (sizeof(yytname) / sizeof(char *)); x++)
7743 if (yycheck[x + yyn] == x)
7744 {
7745 strcat(msg, count == 0 ? ", expecting `" : " or `");
7746 strcat(msg, yytname[x]);
7747 strcat(msg, "'");
7748 count++;
7749 }
7750 }
7751 yyerror(msg);
7752 free(msg);
7753 }
7754 else
7755 yyerror ("parse error; also virtual memory exceeded");
7756 }
7757 else
7758 #endif /* YYERROR_VERBOSE */
7759 yyerror("parse error");
7760 }
7761
7762 goto yyerrlab1;
7763 yyerrlab1: /* here on error raised explicitly by an action */
7764
7765 if (yyerrstatus == 3)
7766 {
7767 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7768
7769 /* return failure if at end of input */
7770 if (yychar == YYEOF)
7771 YYABORT;
7772
7773 #if YYDEBUG != 0
7774 if (yydebug)
7775 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7776 #endif
7777
7778 yychar = YYEMPTY;
7779 }
7780
7781 /* Else will try to reuse lookahead token
7782 after shifting the error token. */
7783
7784 yyerrstatus = 3; /* Each real token shifted decrements this */
7785
7786 goto yyerrhandle;
7787
7788 yyerrdefault: /* current state does not do anything special for the error token. */
7789
7790 #if 0
7791 /* This is wrong; only states that explicitly want error tokens
7792 should shift them. */
7793 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7794 if (yyn) goto yydefault;
7795 #endif
7796
7797 yyerrpop: /* pop the current state because it cannot handle the error token */
7798
7799 if (yyssp == yyss) YYABORT;
7800 yyvsp--;
7801 yystate = *--yyssp;
7802 #ifdef YYLSP_NEEDED
7803 yylsp--;
7804 #endif
7805
7806 #if YYDEBUG != 0
7807 if (yydebug)
7808 {
7809 short *ssp1 = yyss - 1;
7810 fprintf (stderr, "Error: state stack now");
7811 while (ssp1 != yyssp)
7812 fprintf (stderr, " %d", *++ssp1);
7813 fprintf (stderr, "\n");
7814 }
7815 #endif
7816
7817 yyerrhandle:
7818
7819 yyn = yypact[yystate];
7820 if (yyn == YYFLAG)
7821 goto yyerrdefault;
7822
7823 yyn += YYTERROR;
7824 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7825 goto yyerrdefault;
7826
7827 yyn = yytable[yyn];
7828 if (yyn < 0)
7829 {
7830 if (yyn == YYFLAG)
7831 goto yyerrpop;
7832 yyn = -yyn;
7833 goto yyreduce;
7834 }
7835 else if (yyn == 0)
7836 goto yyerrpop;
7837
7838 if (yyn == YYFINAL)
7839 YYACCEPT;
7840
7841 #if YYDEBUG != 0
7842 if (yydebug)
7843 fprintf(stderr, "Shifting error token, ");
7844 #endif
7845
7846 *++yyvsp = yylval;
7847 #ifdef YYLSP_NEEDED
7848 *++yylsp = yylloc;
7849 #endif
7850
7851 yystate = yyn;
7852 goto yynewstate;
7853 }
7854 #line 3660 "parse.y"
7855
7856
7857 #ifdef SPEW_DEBUG
7858 const char *
7859 debug_yytranslate (value)
7860 int value;
7861 {
7862 return yytname[YYTRANSLATE (value)];
7863 }
7864
7865 #endif