#define YYBISON 1
#define IDENTIFIER 257
#define TYPENAME 258
#define SCSPEC 259
#define TYPESPEC 260
#define TYPE_QUAL 261
#define CONSTANT 262
#define STRING 263
#define ELLIPSIS 264
#define SIZEOF 265
#define ENUM 266
#define STRUCT 267
#define UNION 268
#define IF 269
#define ELSE 270
#define WHILE 271
#define DO 272
#define FOR 273
#define SWITCH 274
#define CASE 275
#define DEFAULT 276
#define BREAK 277
#define CONTINUE 278
#define RETURN 279
#define GOTO 280
#define ASM_KEYWORD 281
#define TYPEOF 282
#define ALIGNOF 283
#define ATTRIBUTE 284
#define EXTENSION 285
#define LABEL 286
#define REALPART 287
#define IMAGPART 288
#define VEC_STEP 289
#define ASSIGN 290
#define OROR 291
#define ANDAND 292
#define EQCOMPARE 293
#define ARITHCOMPARE 294
#define LSHIFT 295
#define RSHIFT 296
#define UNARY 297
#define PLUSPLUS 298
#define MINUSMINUS 299
#define HYPERUNARY 300
#define POINTSAT 301
#define INTERFACE 302
#define IMPLEMENTATION 303
#define END 304
#define SELECTOR 305
#define DEFS 306
#define ENCODE 307
#define CLASSNAME 308
#define PUBLIC 309
#define PRIVATE 310
#define PROTECTED 311
#define PROTOCOL 312
#define OBJECTNAME 313
#define CLASS 314
#define ALIAS 315
#define OBJC_STRING 316
#line 56 "objc-parse.y"
#include "config.h"
#include "system.h"
#include <setjmp.h>
#include "tree.h"
#include "input.h"
#include "c-lex.h"
#include "c-tree.h"
#include "flags.h"
#include "output.h"
#include "toplev.h"
#ifdef MULTIBYTE_CHARS
#include <locale.h>
#endif
#include "objc-act.h"
char *language_string = "GNU Obj-C";
static tree last_compound_expr, last_compound_list;
#ifndef errno
extern int errno;
#endif
void yyerror ();
#define YYERROR1 { yyerror ("syntax error"); YYERROR; }
#define YYDEBUG 1
#line 96 "objc-parse.y"
typedef union {long itype; tree ttype; enum tree_code code;
char *filename; int lineno; int ends_in_label; } YYSTYPE;
#line 229 "objc-parse.y"
static int stmt_count;
static int compstmt_count;
static char *if_stmt_file;
static int if_stmt_line;
static tree current_declspecs = NULL_TREE;
static tree prefix_attributes = NULL_TREE;
static tree declspec_stack;
static int undeclared_variable_notice;
tree objc_interface_context;
tree objc_implementation_context;
tree objc_method_context;
tree objc_ivar_chain;
tree objc_ivar_context;
enum tree_code objc_inherit_code;
int objc_receiver_context;
int objc_public_flag;
tree super_type, selector_type, id_type, objc_class_type;
#ifdef MODERN_OBJC_SYNTAX
extern flag_modern_objc_syntax;
#endif
#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
extern void yyprint PROTO ((FILE *, int, YYSTYPE));
#include <stdio.h>
#ifndef __cplusplus
#ifndef __STDC__
#define const
#endif
#endif
#define YYFINAL 1007
#define YYFLAG -32768
#define YYNTBASE 85
#define YYTRANSLATE(x) ((unsigned)(x) <= 316 ? yytranslate[x] : 320)
static const char yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 81, 2, 2, 2, 53, 44, 2, 60,
77, 51, 49, 82, 50, 59, 52, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 39, 78, 2,
37, 2, 38, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
61, 2, 84, 43, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 83, 42, 79, 80, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
40, 41, 45, 46, 47, 48, 54, 55, 56, 57,
58, 62, 63, 64, 65, 66, 67, 68, 69, 70,
71, 72, 73, 74, 75, 76
};
#if YYDEBUG != 0
static const short yyprhs[] = { 0,
0, 1, 3, 4, 7, 8, 12, 14, 16, 18,
24, 27, 31, 36, 41, 44, 47, 50, 53, 55,
56, 57, 65, 70, 71, 72, 80, 85, 86, 87,
94, 98, 100, 102, 104, 106, 108, 110, 112, 114,
116, 118, 120, 122, 123, 125, 127, 131, 133, 136,
139, 142, 145, 148, 153, 156, 161, 164, 169, 172,
175, 177, 179, 181, 183, 188, 189, 197, 199, 203,
207, 211, 215, 219, 223, 227, 231, 235, 239, 243,
247, 248, 253, 254, 259, 260, 261, 269, 270, 276,
280, 284, 286, 288, 290, 294, 298, 299, 304, 309,
314, 318, 322, 326, 329, 332, 334, 336, 338, 340,
342, 344, 347, 349, 352, 353, 355, 358, 362, 364,
366, 369, 372, 377, 382, 385, 388, 392, 394, 396,
399, 402, 403, 404, 409, 414, 418, 422, 425, 428,
431, 434, 438, 439, 442, 445, 448, 451, 455, 456,
459, 462, 464, 466, 469, 472, 474, 476, 479, 482,
485, 489, 490, 493, 495, 497, 499, 502, 505, 507,
512, 517, 519, 521, 523, 525, 529, 531, 535, 536,
541, 542, 549, 553, 554, 561, 565, 566, 568, 570,
573, 580, 582, 586, 587, 589, 594, 601, 606, 608,
610, 612, 614, 616, 617, 622, 624, 625, 628, 630,
634, 638, 641, 642, 647, 649, 650, 655, 657, 659,
661, 664, 667, 668, 676, 677, 683, 684, 689, 690,
695, 696, 702, 703, 704, 710, 711, 712, 718, 720,
722, 726, 730, 735, 739, 743, 747, 749, 751, 755,
760, 764, 768, 772, 774, 776, 780, 784, 788, 793,
797, 801, 803, 805, 808, 810, 813, 815, 818, 819,
827, 833, 836, 837, 845, 851, 854, 855, 864, 865,
873, 876, 877, 879, 880, 882, 884, 887, 888, 892,
895, 900, 904, 906, 910, 912, 914, 917, 919, 923,
928, 935, 941, 943, 947, 949, 951, 955, 958, 961,
962, 964, 966, 969, 970, 973, 977, 981, 984, 988,
993, 997, 1000, 1004, 1007, 1011, 1013, 1015, 1018, 1021,
1022, 1024, 1027, 1028, 1029, 1031, 1033, 1036, 1040, 1042,
1045, 1047, 1050, 1057, 1063, 1069, 1072, 1075, 1080, 1081,
1086, 1087, 1088, 1092, 1097, 1101, 1103, 1105, 1107, 1109,
1112, 1113, 1118, 1120, 1124, 1125, 1126, 1134, 1140, 1143,
1144, 1145, 1146, 1159, 1160, 1167, 1170, 1173, 1176, 1180,
1187, 1196, 1207, 1220, 1224, 1229, 1231, 1233, 1234, 1241,
1245, 1251, 1254, 1258, 1259, 1261, 1262, 1264, 1265, 1267,
1269, 1273, 1278, 1280, 1284, 1285, 1288, 1291, 1292, 1297,
1300, 1301, 1303, 1305, 1309, 1311, 1315, 1320, 1325, 1330,
1335, 1340, 1341, 1344, 1346, 1349, 1351, 1355, 1357, 1361,
1363, 1365, 1367, 1369, 1371, 1373, 1375, 1377, 1381, 1385,
1390, 1391, 1392, 1404, 1405, 1413, 1414, 1415, 1429, 1430,
1440, 1441, 1449, 1453, 1454, 1464, 1470, 1471, 1482, 1489,
1490, 1498, 1503, 1504, 1506, 1510, 1514, 1516, 1518, 1520,
1522, 1523, 1527, 1530, 1534, 1538, 1540, 1541, 1543, 1547,
1549, 1553, 1556, 1557, 1558, 1559, 1567, 1568, 1569, 1570,
1578, 1579, 1580, 1583, 1585, 1587, 1590, 1591, 1595, 1597,
1599, 1600, 1601, 1607, 1608, 1609, 1615, 1617, 1620, 1625,
1631, 1633, 1639, 1646, 1649, 1650, 1653, 1654, 1656, 1658,
1660, 1663, 1666, 1671, 1674, 1677, 1679, 1683, 1686, 1689,
1692, 1693, 1696, 1697, 1701, 1703, 1705, 1708, 1710, 1712,
1714, 1716, 1718, 1720, 1722, 1724, 1726, 1728, 1730, 1732,
1734, 1736, 1738, 1740, 1742, 1744, 1746, 1748, 1750, 1752,
1754, 1756, 1758, 1760, 1767, 1771, 1777, 1780, 1782, 1784,
1786, 1789, 1791, 1795, 1798, 1800, 1802, 1803, 1807, 1811,
1812, 1819, 1821, 1823, 1825, 1828, 1831, 1833, 1838, 1843
};
static const short yyrhs[] = { -1,
86, 0, 0, 87, 89, 0, 0, 86, 88, 89,
0, 91, 0, 90, 0, 249, 0, 27, 60, 100,
77, 78, 0, 248, 89, 0, 125, 139, 78, 0,
132, 125, 139, 78, 0, 128, 125, 138, 78, 0,
132, 78, 0, 128, 78, 0, 1, 78, 0, 1,
79, 0, 78, 0, 0, 0, 128, 125, 172, 92,
119, 93, 206, 0, 128, 125, 172, 1, 0, 0,
0, 132, 125, 175, 94, 119, 95, 206, 0, 132,
125, 175, 1, 0, 0, 0, 125, 175, 96, 119,
97, 206, 0, 125, 175, 1, 0, 3, 0, 4,
0, 73, 0, 68, 0, 44, 0, 50, 0, 49,
0, 55, 0, 56, 0, 80, 0, 81, 0, 102,
0, 0, 102, 0, 109, 0, 102, 82, 109, 0,
115, 0, 51, 107, 0, 248, 107, 0, 99, 107,
0, 41, 98, 0, 104, 103, 0, 104, 60, 193,
77, 0, 105, 103, 0, 105, 60, 193, 77, 0,
106, 103, 0, 106, 60, 193, 77, 0, 33, 107,
0, 34, 107, 0, 11, 0, 29, 0, 35, 0,
103, 0, 60, 193, 77, 107, 0, 0, 60, 193,
77, 83, 108, 153, 79, 0, 107, 0, 109, 49,
109, 0, 109, 50, 109, 0, 109, 51, 109, 0,
109, 52, 109, 0, 109, 53, 109, 0, 109, 47,
109, 0, 109, 48, 109, 0, 109, 46, 109, 0,
109, 45, 109, 0, 109, 44, 109, 0, 109, 42,
109, 0, 109, 43, 109, 0, 0, 109, 41, 110,
109, 0, 0, 109, 40, 111, 109, 0, 0, 0,
109, 38, 112, 100, 39, 113, 109, 0, 0, 109,
38, 114, 39, 109, 0, 109, 37, 109, 0, 109,
36, 109, 0, 3, 0, 8, 0, 117, 0, 60,
100, 77, 0, 60, 1, 77, 0, 0, 60, 116,
208, 77, 0, 115, 60, 101, 77, 0, 115, 61,
100, 84, 0, 68, 59, 98, 0, 115, 59, 98,
0, 115, 58, 98, 0, 115, 55, 0, 115, 56,
0, 312, 0, 317, 0, 318, 0, 319, 0, 118,
0, 9, 0, 117, 9, 0, 76, 0, 118, 76,
0, 0, 121, 0, 121, 10, 0, 213, 214, 122,
0, 120, 0, 201, 0, 121, 120, 0, 120, 201,
0, 130, 125, 138, 78, 0, 133, 125, 139, 78,
0, 130, 78, 0, 133, 78, 0, 213, 214, 127,
0, 123, 0, 201, 0, 124, 123, 0, 123, 201,
0, 0, 0, 128, 125, 138, 78, 0, 132, 125,
139, 78, 0, 128, 125, 166, 0, 132, 125, 169,
0, 128, 78, 0, 132, 78, 0, 248, 127, 0,
136, 129, 0, 132, 136, 129, 0, 0, 129, 137,
0, 129, 5, 0, 129, 146, 0, 136, 131, 0,
133, 136, 131, 0, 0, 131, 137, 0, 131, 5,
0, 133, 0, 146, 0, 132, 133, 0, 132, 146,
0, 7, 0, 5, 0, 133, 7, 0, 133, 5,
0, 136, 135, 0, 195, 136, 135, 0, 0, 135,
137, 0, 6, 0, 179, 0, 4, 0, 68, 265,
0, 73, 265, 0, 266, 0, 28, 60, 100, 77,
0, 28, 60, 193, 77, 0, 6, 0, 7, 0,
179, 0, 141, 0, 138, 82, 141, 0, 143, 0,
139, 82, 141, 0, 0, 27, 60, 117, 77, 0,
0, 172, 140, 145, 37, 142, 151, 0, 172, 140,
145, 0, 0, 175, 140, 145, 37, 144, 151, 0,
175, 140, 145, 0, 0, 146, 0, 147, 0, 146,
147, 0, 30, 60, 60, 148, 77, 77, 0, 149,
0, 148, 82, 149, 0, 0, 150, 0, 150, 60,
3, 77, 0, 150, 60, 3, 82, 102, 77, 0,
150, 60, 101, 77, 0, 98, 0, 5, 0, 6,
0, 7, 0, 109, 0, 0, 83, 152, 153, 79,
0, 1, 0, 0, 154, 184, 0, 155, 0, 154,
82, 155, 0, 159, 37, 157, 0, 160, 157, 0,
0, 98, 39, 156, 157, 0, 157, 0, 0, 83,
158, 153, 79, 0, 109, 0, 1, 0, 160, 0,
159, 160, 0, 59, 98, 0, 0, 310, 10, 109,
84, 37, 161, 155, 0, 0, 310, 84, 37, 162,
155, 0, 0, 310, 84, 163, 155, 0, 0, 98,
39, 164, 155, 0, 0, 59, 98, 37, 165, 155,
0, 0, 0, 172, 167, 119, 168, 208, 0, 0,
0, 175, 170, 119, 171, 208, 0, 173, 0, 175,
0, 60, 173, 77, 0, 173, 60, 243, 0, 173,
61, 100, 84, 0, 173, 61, 84, 0, 51, 196,
173, 0, 146, 126, 173, 0, 4, 0, 73, 0,
174, 60, 243, 0, 174, 61, 100, 84, 0, 174,
61, 84, 0, 51, 196, 174, 0, 146, 126, 174,
0, 4, 0, 73, 0, 175, 60, 243, 0, 60,
175, 77, 0, 51, 196, 175, 0, 175, 61, 100,
84, 0, 175, 61, 84, 0, 146, 126, 175, 0,
3, 0, 13, 0, 13, 146, 0, 14, 0, 14,
146, 0, 12, 0, 12, 146, 0, 0, 176, 98,
83, 180, 186, 79, 145, 0, 176, 83, 186, 79,
145, 0, 176, 98, 0, 0, 177, 98, 83, 181,
186, 79, 145, 0, 177, 83, 186, 79, 145, 0,
177, 98, 0, 0, 178, 98, 83, 182, 191, 185,
79, 145, 0, 0, 178, 83, 183, 191, 185, 79,
145, 0, 178, 98, 0, 0, 82, 0, 0, 82,
0, 187, 0, 187, 188, 0, 0, 187, 188, 78,
0, 187, 78, 0, 66, 60, 68, 77, 0, 134,
125, 189, 0, 134, 0, 195, 125, 189, 0, 195,
0, 1, 0, 248, 188, 0, 190, 0, 189, 82,
190, 0, 213, 214, 172, 145, 0, 213, 214, 172,
39, 109, 145, 0, 213, 214, 39, 109, 145, 0,
192, 0, 191, 82, 192, 0, 1, 0, 98, 0,
98, 37, 109, 0, 134, 194, 0, 195, 194, 0,
0, 197, 0, 7, 0, 195, 7, 0, 0, 196,
7, 0, 60, 197, 77, 0, 51, 196, 197, 0,
51, 196, 0, 197, 60, 236, 0, 197, 61, 100,
84, 0, 197, 61, 84, 0, 60, 236, 0, 61,
100, 84, 0, 61, 84, 0, 146, 126, 197, 0,
199, 0, 216, 0, 199, 216, 0, 199, 201, 0,
0, 198, 0, 1, 78, 0, 0, 0, 204, 0,
205, 0, 204, 205, 0, 32, 247, 78, 0, 208,
0, 1, 208, 0, 83, 0, 207, 79, 0, 207,
202, 203, 124, 200, 79, 0, 207, 202, 203, 1,
79, 0, 207, 202, 203, 198, 79, 0, 210, 215,
0, 210, 1, 0, 15, 60, 100, 77, 0, 0,
18, 212, 215, 17, 0, 0, 0, 213, 214, 218,
0, 213, 214, 229, 215, 0, 213, 214, 217, 0,
218, 0, 229, 0, 208, 0, 226, 0, 100, 78,
0, 0, 209, 16, 219, 215, 0, 209, 0, 209,
16, 1, 0, 0, 0, 17, 220, 60, 100, 77,
221, 215, 0, 211, 60, 100, 77, 78, 0, 211,
1, 0, 0, 0, 0, 19, 60, 231, 78, 222,
231, 78, 223, 231, 77, 224, 215, 0, 0, 20,
60, 100, 77, 225, 215, 0, 23, 78, 0, 24,
78, 0, 25, 78, 0, 25, 100, 78, 0, 27,
230, 60, 100, 77, 78, 0, 27, 230, 60, 100,
39, 232, 77, 78, 0, 27, 230, 60, 100, 39,
232, 39, 232, 77, 78, 0, 27, 230, 60, 100,
39, 232, 39, 232, 39, 235, 77, 78, 0, 26,
98, 78, 0, 26, 51, 100, 78, 0, 78, 0,
227, 0, 0, 19, 60, 115, 77, 228, 215, 0,
21, 109, 39, 0, 21, 109, 10, 109, 39, 0,
22, 39, 0, 98, 39, 145, 0, 0, 7, 0,
0, 100, 0, 0, 233, 0, 234, 0, 233, 82,
234, 0, 9, 60, 100, 77, 0, 117, 0, 235,
82, 117, 0, 0, 237, 238, 0, 240, 77, 0,
0, 241, 78, 239, 238, 0, 1, 77, 0, 0,
10, 0, 241, 0, 241, 82, 10, 0, 242, 0,
241, 82, 242, 0, 128, 125, 174, 145, 0, 128,
125, 175, 145, 0, 128, 125, 194, 145, 0, 132,
125, 175, 145, 0, 132, 125, 194, 145, 0, 0,
244, 245, 0, 238, 0, 246, 77, 0, 3, 0,
246, 82, 3, 0, 98, 0, 247, 82, 98, 0,
31, 0, 253, 0, 251, 0, 252, 0, 263, 0,
273, 0, 64, 0, 98, 0, 250, 82, 98, 0,
74, 250, 78, 0, 75, 98, 98, 78, 0, 0,
0, 62, 214, 98, 265, 83, 254, 267, 79, 255,
280, 64, 0, 0, 62, 214, 98, 265, 256, 280,
64, 0, 0, 0, 62, 214, 98, 39, 98, 265,
83, 257, 267, 79, 258, 280, 64, 0, 0, 62,
214, 98, 39, 98, 265, 259, 280, 64, 0, 0,
63, 214, 98, 83, 260, 267, 79, 0, 63, 214,
98, 0, 0, 63, 214, 98, 39, 98, 83, 261,
267, 79, 0, 63, 214, 98, 39, 98, 0, 0,
62, 214, 98, 60, 98, 77, 265, 262, 280, 64,
0, 63, 214, 98, 60, 98, 77, 0, 0, 72,
214, 98, 265, 264, 280, 64, 0, 72, 214, 250,
78, 0, 0, 266, 0, 46, 250, 46, 0, 267,
268, 269, 0, 269, 0, 70, 0, 71, 0, 69,
0, 0, 269, 270, 78, 0, 269, 78, 0, 134,
125, 271, 0, 195, 125, 271, 0, 1, 0, 0,
272, 0, 271, 82, 272, 0, 172, 0, 172, 39,
109, 0, 39, 109, 0, 0, 0, 0, 49, 274,
291, 275, 292, 276, 206, 0, 0, 0, 0, 50,
277, 291, 278, 292, 279, 206, 0, 0, 0, 281,
282, 0, 285, 0, 90, 0, 282, 285, 0, 0,
282, 283, 90, 0, 78, 0, 1, 0, 0, 0,
49, 286, 291, 287, 284, 0, 0, 0, 50, 288,
291, 289, 284, 0, 5, 0, 290, 5, 0, 60,
193, 77, 300, 0, 60, 290, 193, 77, 300, 0,
300, 0, 60, 193, 77, 301, 298, 0, 60, 290,
193, 77, 301, 298, 0, 301, 298, 0, 0, 78,
293, 0, 0, 294, 0, 295, 0, 201, 0, 294,
295, 0, 295, 201, 0, 128, 125, 296, 78, 0,
128, 78, 0, 132, 78, 0, 297, 0, 296, 82,
297, 0, 174, 145, 0, 175, 145, 0, 194, 145,
0, 0, 82, 10, 0, 0, 82, 299, 240, 0,
302, 0, 304, 0, 301, 304, 0, 3, 0, 4,
0, 68, 0, 73, 0, 303, 0, 12, 0, 13,
0, 14, 0, 15, 0, 16, 0, 17, 0, 18,
0, 19, 0, 20, 0, 21, 0, 22, 0, 23,
0, 24, 0, 25, 0, 26, 0, 27, 0, 11,
0, 28, 0, 29, 0, 6, 0, 7, 0, 302,
39, 60, 193, 77, 98, 0, 302, 39, 98, 0,
39, 60, 193, 77, 98, 0, 39, 98, 0, 302,
0, 306, 0, 308, 0, 306, 308, 0, 102, 0,
302, 39, 307, 0, 39, 307, 0, 109, 0, 68,
0, 0, 61, 311, 309, 0, 310, 305, 84, 0,
0, 310, 82, 102, 313, 305, 84, 0, 302, 0,
315, 0, 316, 0, 315, 316, 0, 302, 39, 0,
39, 0, 65, 60, 314, 77, 0, 72, 60, 98,
77, 0, 67, 60, 193, 77, 0
};
#endif
#if YYDEBUG != 0
static const short yyrline[] = { 0,
273, 278, 292, 294, 294, 295, 297, 299, 300, 301,
309, 314, 325, 330, 335, 337, 339, 340, 341, 346,
371, 380, 404, 409, 421, 423, 433, 438, 450, 452,
462, 469, 471, 472, 473, 476, 478, 480, 482, 484,
486, 488, 492, 497, 500, 503, 506, 510, 512, 515,
518, 522, 550, 556, 559, 562, 565, 568, 571, 573,
577, 581, 585, 589, 591, 614, 618, 645, 647, 649,
651, 653, 655, 657, 659, 661, 663, 665, 667, 669,
671, 675, 677, 681, 683, 686, 690, 692, 699, 702,
710, 721, 881, 882, 884, 890, 892, 906, 929, 939,
941, 953, 975, 989, 991, 993, 995, 997, 999, 1001,
1006, 1008, 1014, 1016, 1020, 1022, 1023, 1033, 1038, 1040,
1041, 1042, 1049, 1055, 1060, 1063, 1071, 1076, 1078, 1079,
1080, 1087, 1098, 1102, 1108, 1113, 1118, 1123, 1125, 1127,
1136, 1139, 1143, 1145, 1147, 1152, 1156, 1159, 1163, 1166,
1168, 1180, 1183, 1185, 1187, 1191, 1195, 1197, 1200, 1213,
1216, 1220, 1222, 1230, 1233, 1234, 1238, 1240, 1245, 1247,
1249, 1255, 1256, 1257, 1260, 1262, 1265, 1267, 1270, 1273,
1279, 1286, 1288, 1309, 1316, 1319, 1326, 1329, 1333, 1336,
1340, 1345, 1348, 1352, 1355, 1357, 1359, 1361, 1368, 1370,
1371, 1372, 1377, 1379, 1384, 1392, 1397, 1401, 1404, 1406,
1411, 1413, 1414, 1417, 1417, 1420, 1423, 1425, 1427, 1430,
1432, 1435, 1441, 1444, 1444, 1447, 1447, 1450, 1450, 1453,
1453, 1456, 1458, 1475, 1483, 1492, 1509, 1517, 1529, 1531,
1536, 1539, 1544, 1546, 1548, 1555, 1557, 1558, 1566, 1572,
1574, 1576, 1583, 1585, 1586, 1592, 1598, 1600, 1602, 1604,
1611, 1613, 1616, 1619, 1623, 1626, 1630, 1633, 1637, 1642,
1644, 1648, 1650, 1652, 1654, 1658, 1660, 1663, 1666, 1669,
1672, 1676, 1678, 1681, 1683, 1688, 1691, 1696, 1698, 1700,
1704, 1728, 1735, 1740, 1746, 1751, 1753, 1758, 1760, 1764,
1768, 1772, 1782, 1784, 1789, 1794, 1797, 1801, 1804, 1808,
1811, 1814, 1817, 1821, 1824, 1828, 1832, 1834, 1836, 1838,
1840, 1842, 1844, 1846, 1850, 1858, 1866, 1868, 1870, 1874,
1876, 1879, 1882, 1895, 1897, 1902, 1904, 1907, 1921, 1924,
1927, 1929, 1931, 1939, 1947, 1958, 1963, 1966, 1980, 1989,
1993, 1997, 2001, 2007, 2011, 2016, 2019, 2024, 2027, 2028,
2045, 2050, 2053, 2065, 2067, 2077, 2087, 2088, 2096, 2099,
2111, 2115, 2132, 2142, 2151, 2156, 2161, 2166, 2170, 2174,
2185, 2192, 2199, 2206, 2217, 2223, 2226, 2231, 2254, 2288,
2319, 2350, 2365, 2379, 2383, 2387, 2390, 2395, 2397, 2400,
2402, 2406, 2411, 2414, 2420, 2425, 2430, 2432, 2441, 2442,
2448, 2450, 2460, 2462, 2466, 2469, 2475, 2485, 2494, 2503,
2513, 2527, 2532, 2537, 2539, 2548, 2551, 2556, 2559, 2563,
2571, 2573, 2574, 2575, 2576, 2577, 2591, 2594, 2598, 2604,
2610, 2617, 2622, 2628, 2635, 2641, 2647, 2652, 2658, 2665,
2671, 2677, 2683, 2691, 2697, 2703, 2711, 2718, 2724, 2733,
2744, 2754, 2760, 2765, 2768, 2778, 2780, 2783, 2785, 2786,
2789, 2794, 2795, 2812, 2819, 2825, 2829, 2832, 2833, 2836,
2844, 2850, 2859, 2873, 2880, 2884, 2893, 2906, 2913, 2917,
2931, 2933, 2934, 2936, 2938, 2939, 2940, 2941, 2943, 2945,
2948, 2959, 2965, 2965, 2975, 2980, 2982, 2985, 2989, 2995,
3000, 3005, 3010, 3015, 3024, 3026, 3032, 3034, 3037, 3039,
3040, 3041, 3044, 3050, 3052, 3056, 3059, 3066, 3072, 3077,
3084, 3089, 3094, 3099, 3106, 3110, 3113, 3119, 3121, 3122,
3123, 3124, 3127, 3129, 3130, 3131, 3132, 3133, 3134, 3135,
3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145,
3146, 3147, 3147, 3150, 3156, 3161, 3166, 3172, 3174, 3177,
3179, 3186, 3198, 3203, 3209, 3211, 3217, 3221, 3227, 3237,
3247, 3253, 3255, 3258, 3260, 3266, 3271, 3277, 3284, 3293
};
#endif
#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
"TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
"ENUM","STRUCT","UNION","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
"BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","ATTRIBUTE",
"EXTENSION","LABEL","REALPART","IMAGPART","VEC_STEP","ASSIGN","'='","'?'","':'",
"OROR","ANDAND","'|'","'^'","'&'","EQCOMPARE","ARITHCOMPARE","LSHIFT","RSHIFT",
"'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY","POINTSAT",
"'.'","'('","'['","INTERFACE","IMPLEMENTATION","END","SELECTOR","DEFS","ENCODE",
"CLASSNAME","PUBLIC","PRIVATE","PROTECTED","PROTOCOL","OBJECTNAME","CLASS","ALIAS",
"OBJC_STRING","')'","';'","'}'","'~'","'!'","','","'{'","']'","program","extdefs",
"@1","@2","extdef","datadef","fndef","@3","@4","@5","@6","@7","@8","identifier",
"unop","expr","exprlist","nonnull_exprlist","unary_expr","sizeof","alignof",
"vec_step","cast_expr","@9","expr_no_commas","@10","@11","@12","@13","@14","primary",
"@15","string","objc_string","old_style_parm_decls","lineno_datadecl","datadecls",
"datadecl","lineno_decl","decls","setspecs","setattrs","decl","typed_declspecs",
"reserved_declspecs","typed_declspecs_no_prefix_attr","reserved_declspecs_no_prefix_attr",
"declmods","declmods_no_prefix_attr","typed_typespecs","reserved_typespecquals",
"typespec","typespecqual_reserved","initdecls","notype_initdecls","maybeasm",
"initdcl","@16","notype_initdcl","@17","maybe_attribute","attributes","attribute",
"attribute_list","attrib","any_word","init","@18","initlist_maybe_comma","initlist1",
"initelt","@19","initval","@20","designator_list","designator","@21","@22","@23",
"@24","@25","nested_function","@26","@27","notype_nested_function","@28","@29",
"declarator","after_type_declarator","parm_declarator","notype_declarator","struct_head",
"union_head","enum_head","structsp","@30","@31","@32","@33","maybecomma","maybecomma_warn",
"component_decl_list","component_decl_list2","component_decl","components","component_declarator",
"enumlist","enumerator","typename","absdcl","nonempty_type_quals","type_quals",
"absdcl1","stmts","lineno_stmt_or_labels","xstmts","errstmt","pushlevel","maybe_label_decls",
"label_decls","label_decl","compstmt_or_error","compstmt_start","compstmt","simple_if",
"if_prefix","do_stmt_start","@34","save_filename","save_lineno","lineno_labeled_stmt",
"lineno_stmt_or_label","stmt_or_label","stmt","@35","@36","@37","@38","@39",
"@40","@41","all_iter_stmt","all_iter_stmt_simple","@42","label","maybe_type_qual",
"xexpr","asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
"@43","parmlist_1","@44","parmlist_2","parms","parm","parmlist_or_identifiers",
"@45","parmlist_or_identifiers_1","identifiers","identifiers_or_typenames","extension",
"objcdef","identifier_list","classdecl","aliasdecl","classdef","@46","@47","@48",
"@49","@50","@51","@52","@53","@54","protocoldef","@55","protocolrefs","non_empty_protocolrefs",
"ivar_decl_list","visibility_spec","ivar_decls","ivar_decl","ivars","ivar_declarator",
"methoddef","@56","@57","@58","@59","@60","@61","methodprotolist","@62","methodprotolist2",
"@63","semi_or_error","methodproto","@64","@65","@66","@67","objc_return_type_mods",
"methoddecl","optarglist","myxdecls","mydecls","mydecl","myparms","myparm","optparmlist",
"@68","unaryselector","keywordselector","selector","reservedwords","keyworddecl",
"messageargs","keywordarglist","keywordexpr","keywordarg","receiver","objc_openbracket.expr_no_commas",
"@69","objcmessageexpr","@70","selectorarg","keywordnamelist","keywordname",
"objcselectorexpr","objcprotocolexpr","objcencodeexpr", NULL
};
#endif
static const short yyr1[] = { 0,
85, 85, 87, 86, 88, 86, 89, 89, 89, 89,
89, 90, 90, 90, 90, 90, 90, 90, 90, 92,
93, 91, 91, 94, 95, 91, 91, 96, 97, 91,
91, 98, 98, 98, 98, 99, 99, 99, 99, 99,
99, 99, 100, 101, 101, 102, 102, 103, 103, 103,
103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
104, 105, 106, 107, 107, 108, 107, 109, 109, 109,
109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
110, 109, 111, 109, 112, 113, 109, 114, 109, 109,
109, 115, 115, 115, 115, 115, 116, 115, 115, 115,
115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
117, 117, 118, 118, 119, 119, 119, 120, 121, 121,
121, 121, 122, 122, 122, 122, 123, 124, 124, 124,
124, 125, 126, 127, 127, 127, 127, 127, 127, 127,
128, 128, 129, 129, 129, 129, 130, 130, 131, 131,
131, 132, 132, 132, 132, 133, 133, 133, 133, 134,
134, 135, 135, 136, 136, 136, 136, 136, 136, 136,
136, 137, 137, 137, 138, 138, 139, 139, 140, 140,
142, 141, 141, 144, 143, 143, 145, 145, 146, 146,
147, 148, 148, 149, 149, 149, 149, 149, 150, 150,
150, 150, 151, 152, 151, 151, 153, 153, 154, 154,
155, 155, 156, 155, 155, 158, 157, 157, 157, 159,
159, 160, 161, 160, 162, 160, 163, 160, 164, 160,
165, 160, 167, 168, 166, 170, 171, 169, 172, 172,
173, 173, 173, 173, 173, 173, 173, 173, 174, 174,
174, 174, 174, 174, 174, 175, 175, 175, 175, 175,
175, 175, 176, 176, 177, 177, 178, 178, 180, 179,
179, 179, 181, 179, 179, 179, 182, 179, 183, 179,
179, 184, 184, 185, 185, 186, 186, 187, 187, 187,
187, 188, 188, 188, 188, 188, 188, 189, 189, 190,
190, 190, 191, 191, 191, 192, 192, 193, 193, 194,
194, 195, 195, 196, 196, 197, 197, 197, 197, 197,
197, 197, 197, 197, 197, 198, 199, 199, 199, 200,
200, 201, 202, 203, 203, 204, 204, 205, 206, 206,
207, 208, 208, 208, 208, 209, 209, 210, 212, 211,
213, 214, 215, 215, 216, 217, 217, 218, 218, 218,
219, 218, 218, 218, 220, 221, 218, 218, 218, 222,
223, 224, 218, 225, 218, 218, 218, 218, 218, 218,
218, 218, 218, 218, 218, 218, 226, 228, 227, 229,
229, 229, 229, 230, 230, 231, 231, 232, 232, 233,
233, 234, 235, 235, 237, 236, 238, 239, 238, 238,
240, 240, 240, 240, 241, 241, 242, 242, 242, 242,
242, 244, 243, 245, 245, 246, 246, 247, 247, 248,
249, 249, 249, 249, 249, 249, 250, 250, 251, 252,
254, 255, 253, 256, 253, 257, 258, 253, 259, 253,
260, 253, 253, 261, 253, 253, 262, 253, 253, 264,
263, 263, 265, 265, 266, 267, 267, 268, 268, 268,
269, 269, 269, 270, 270, 270, 271, 271, 271, 272,
272, 272, 274, 275, 276, 273, 277, 278, 279, 273,
280, 281, 280, 282, 282, 282, 283, 282, 284, 284,
286, 287, 285, 288, 289, 285, 290, 290, 291, 291,
291, 291, 291, 291, 292, 292, 293, 293, 294, 294,
294, 294, 295, 295, 295, 296, 296, 297, 297, 297,
298, 298, 299, 298, 300, 301, 301, 302, 302, 302,
302, 302, 303, 303, 303, 303, 303, 303, 303, 303,
303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
303, 303, 303, 304, 304, 304, 304, 305, 305, 306,
306, 307, 308, 308, 309, 309, 311, 310, 312, 313,
312, 314, 314, 315, 315, 316, 316, 317, 318, 319
};
static const short yyr2[] = { 0,
0, 1, 0, 2, 0, 3, 1, 1, 1, 5,
2, 3, 4, 4, 2, 2, 2, 2, 1, 0,
0, 7, 4, 0, 0, 7, 4, 0, 0, 6,
3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 1, 1, 3, 1, 2, 2,
2, 2, 2, 4, 2, 4, 2, 4, 2, 2,
1, 1, 1, 1, 4, 0, 7, 1, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
0, 4, 0, 4, 0, 0, 7, 0, 5, 3,
3, 1, 1, 1, 3, 3, 0, 4, 4, 4,
3, 3, 3, 2, 2, 1, 1, 1, 1, 1,
1, 2, 1, 2, 0, 1, 2, 3, 1, 1,
2, 2, 4, 4, 2, 2, 3, 1, 1, 2,
2, 0, 0, 4, 4, 3, 3, 2, 2, 2,
2, 3, 0, 2, 2, 2, 2, 3, 0, 2,
2, 1, 1, 2, 2, 1, 1, 2, 2, 2,
3, 0, 2, 1, 1, 1, 2, 2, 1, 4,
4, 1, 1, 1, 1, 3, 1, 3, 0, 4,
0, 6, 3, 0, 6, 3, 0, 1, 1, 2,
6, 1, 3, 0, 1, 4, 6, 4, 1, 1,
1, 1, 1, 0, 4, 1, 0, 2, 1, 3,
3, 2, 0, 4, 1, 0, 4, 1, 1, 1,
2, 2, 0, 7, 0, 5, 0, 4, 0, 4,
0, 5, 0, 0, 5, 0, 0, 5, 1, 1,
3, 3, 4, 3, 3, 3, 1, 1, 3, 4,
3, 3, 3, 1, 1, 3, 3, 3, 4, 3,
3, 1, 1, 2, 1, 2, 1, 2, 0, 7,
5, 2, 0, 7, 5, 2, 0, 8, 0, 7,
2, 0, 1, 0, 1, 1, 2, 0, 3, 2,
4, 3, 1, 3, 1, 1, 2, 1, 3, 4,
6, 5, 1, 3, 1, 1, 3, 2, 2, 0,
1, 1, 2, 0, 2, 3, 3, 2, 3, 4,
3, 2, 3, 2, 3, 1, 1, 2, 2, 0,
1, 2, 0, 0, 1, 1, 2, 3, 1, 2,
1, 2, 6, 5, 5, 2, 2, 4, 0, 4,
0, 0, 3, 4, 3, 1, 1, 1, 1, 2,
0, 4, 1, 3, 0, 0, 7, 5, 2, 0,
0, 0, 12, 0, 6, 2, 2, 2, 3, 6,
8, 10, 12, 3, 4, 1, 1, 0, 6, 3,
5, 2, 3, 0, 1, 0, 1, 0, 1, 1,
3, 4, 1, 3, 0, 2, 2, 0, 4, 2,
0, 1, 1, 3, 1, 3, 4, 4, 4, 4,
4, 0, 2, 1, 2, 1, 3, 1, 3, 1,
1, 1, 1, 1, 1, 1, 1, 3, 3, 4,
0, 0, 11, 0, 7, 0, 0, 13, 0, 9,
0, 7, 3, 0, 9, 5, 0, 10, 6, 0,
7, 4, 0, 1, 3, 3, 1, 1, 1, 1,
0, 3, 2, 3, 3, 1, 0, 1, 3, 1,
3, 2, 0, 0, 0, 7, 0, 0, 0, 7,
0, 0, 2, 1, 1, 2, 0, 3, 1, 1,
0, 0, 5, 0, 0, 5, 1, 2, 4, 5,
1, 5, 6, 2, 0, 2, 0, 1, 1, 1,
2, 2, 4, 2, 2, 1, 3, 2, 2, 2,
0, 2, 0, 3, 1, 1, 2, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 6, 3, 5, 2, 1, 1, 1,
2, 1, 3, 2, 1, 1, 0, 3, 3, 0,
6, 1, 1, 1, 2, 2, 1, 4, 4, 4
};
static const short yydefact[] = { 3,
5, 0, 0, 0, 166, 157, 164, 156, 267, 263,
265, 0, 0, 0, 430, 0, 483, 487, 352, 352,
436, 463, 352, 463, 0, 0, 19, 4, 8, 7,
0, 132, 132, 152, 143, 153, 189, 0, 0, 0,
165, 0, 9, 432, 433, 431, 434, 169, 435, 6,
17, 18, 268, 264, 266, 0, 0, 0, 32, 33,
35, 34, 437, 0, 0, 0, 0, 0, 167, 464,
0, 168, 0, 0, 262, 314, 0, 0, 177, 133,
0, 16, 0, 15, 0, 154, 143, 155, 159, 158,
141, 190, 288, 272, 288, 276, 279, 281, 11, 92,
93, 111, 61, 62, 0, 0, 63, 0, 36, 38,
37, 0, 39, 40, 0, 577, 0, 0, 0, 0,
113, 41, 42, 0, 0, 43, 64, 0, 0, 0,
68, 46, 48, 94, 110, 0, 0, 106, 107, 108,
109, 312, 463, 0, 310, 162, 0, 310, 194, 465,
0, 538, 539, 562, 563, 559, 543, 544, 545, 546,
547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
557, 558, 560, 561, 0, 0, 540, 541, 484, 511,
531, 535, 542, 536, 488, 463, 453, 463, 0, 439,
0, 0, 0, 12, 0, 0, 31, 0, 422, 0,
0, 187, 247, 314, 0, 248, 0, 175, 133, 0,
239, 240, 0, 0, 142, 145, 172, 173, 144, 146,
174, 0, 0, 0, 269, 0, 273, 0, 277, 59,
60, 52, 49, 0, 0, 0, 0, 0, 0, 0,
0, 0, 51, 0, 0, 0, 53, 0, 55, 0,
57, 0, 0, 85, 83, 81, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 104, 105,
0, 0, 44, 0, 112, 114, 50, 0, 0, 568,
0, 569, 570, 170, 314, 405, 0, 133, 308, 311,
160, 171, 313, 162, 309, 200, 201, 202, 199, 0,
192, 195, 438, 0, 567, 507, 0, 0, 515, 533,
514, 0, 537, 0, 515, 0, 0, 444, 0, 0,
451, 460, 462, 440, 315, 258, 257, 178, 179, 261,
0, 256, 0, 260, 0, 0, 29, 0, 351, 120,
352, 186, 188, 0, 0, 14, 0, 0, 23, 0,
187, 422, 0, 13, 27, 0, 0, 187, 296, 290,
132, 287, 132, 0, 288, 187, 288, 305, 306, 284,
303, 0, 96, 95, 341, 333, 0, 0, 576, 575,
578, 587, 582, 0, 583, 584, 0, 101, 0, 10,
47, 0, 0, 0, 91, 90, 0, 0, 0, 0,
79, 80, 78, 77, 76, 74, 75, 69, 70, 71,
72, 73, 103, 102, 0, 45, 0, 572, 574, 580,
0, 579, 0, 571, 318, 0, 322, 0, 324, 0,
0, 405, 0, 163, 161, 0, 194, 44, 0, 0,
508, 0, 0, 485, 532, 411, 0, 565, 489, 463,
0, 441, 492, 456, 0, 471, 492, 0, 0, 426,
412, 132, 132, 424, 0, 413, 415, 423, 0, 259,
332, 0, 122, 117, 121, 0, 184, 245, 241, 176,
246, 21, 183, 242, 244, 0, 25, 0, 271, 351,
289, 351, 297, 0, 275, 0, 0, 285, 0, 284,
342, 334, 98, 66, 65, 586, 588, 0, 585, 590,
589, 54, 56, 58, 0, 0, 84, 82, 99, 100,
0, 573, 317, 316, 406, 323, 325, 319, 321, 0,
191, 193, 92, 0, 0, 509, 531, 0, 132, 0,
520, 516, 518, 0, 0, 534, 413, 0, 0, 449,
463, 471, 0, 0, 454, 459, 0, 0, 0, 180,
410, 310, 310, 407, 408, 0, 425, 0, 0, 30,
339, 118, 132, 132, 149, 0, 0, 181, 243, 0,
291, 292, 298, 352, 294, 187, 187, 307, 304, 187,
0, 0, 0, 335, 336, 0, 86, 89, 0, 320,
196, 0, 198, 566, 512, 510, 531, 524, 310, 525,
521, 522, 486, 0, 490, 446, 492, 457, 0, 445,
501, 504, 495, 0, 132, 132, 497, 494, 471, 470,
468, 469, 452, 471, 476, 473, 132, 132, 0, 461,
254, 314, 405, 255, 133, 187, 187, 187, 314, 133,
187, 187, 0, 414, 416, 427, 340, 125, 0, 126,
0, 149, 147, 206, 204, 203, 185, 22, 0, 26,
351, 0, 270, 274, 280, 187, 428, 0, 0, 0,
351, 0, 0, 129, 352, 327, 337, 219, 92, 0,
35, 216, 0, 218, 0, 282, 209, 215, 0, 0,
0, 0, 581, 0, 513, 187, 187, 187, 0, 526,
564, 471, 0, 492, 442, 0, 0, 179, 0, 0,
0, 496, 0, 0, 477, 477, 472, 318, 0, 422,
0, 417, 418, 419, 318, 0, 420, 421, 409, 0,
0, 148, 151, 150, 0, 182, 299, 0, 187, 278,
338, 0, 344, 131, 130, 331, 0, 345, 329, 352,
328, 0, 222, 0, 213, 67, 0, 208, 0, 0,
221, 0, 212, 0, 227, 87, 197, 528, 529, 530,
523, 310, 0, 450, 0, 492, 502, 505, 498, 455,
0, 480, 474, 478, 475, 252, 253, 249, 251, 0,
123, 124, 0, 187, 0, 300, 429, 343, 0, 166,
0, 365, 349, 0, 0, 0, 0, 0, 0, 0,
0, 394, 463, 463, 386, 0, 0, 127, 132, 132,
358, 363, 0, 0, 355, 356, 359, 387, 357, 0,
231, 0, 0, 0, 210, 211, 229, 0, 225, 0,
527, 447, 458, 0, 0, 0, 482, 0, 0, 250,
205, 302, 187, 0, 0, 351, 396, 0, 0, 392,
376, 377, 378, 0, 0, 0, 395, 0, 187, 360,
138, 0, 139, 0, 0, 347, 352, 346, 369, 0,
140, 0, 217, 214, 230, 0, 0, 228, 492, 443,
500, 499, 503, 506, 481, 479, 301, 0, 0, 0,
397, 48, 0, 0, 0, 390, 379, 0, 384, 0,
393, 0, 136, 233, 0, 137, 236, 364, 351, 0,
0, 232, 223, 226, 0, 348, 0, 350, 388, 370,
374, 0, 385, 0, 134, 0, 135, 0, 362, 353,
351, 0, 0, 448, 366, 351, 396, 351, 391, 398,
0, 234, 237, 354, 368, 224, 351, 389, 0, 375,
0, 0, 399, 400, 380, 0, 0, 367, 371, 0,
398, 0, 0, 235, 238, 396, 0, 0, 381, 401,
0, 402, 0, 0, 372, 403, 0, 382, 351, 0,
0, 373, 383, 404, 0, 0, 0
};
static const short yydefgoto[] = { 1005,
1, 2, 3, 28, 29, 30, 350, 577, 356, 580,
201, 472, 693, 124, 235, 415, 126, 127, 128, 129,
130, 131, 596, 132, 400, 399, 397, 702, 398, 133,
236, 134, 135, 337, 338, 339, 572, 680, 681, 31,
196, 828, 462, 91, 573, 663, 463, 34, 145, 291,
35, 219, 207, 78, 202, 208, 669, 79, 576, 342,
343, 37, 300, 301, 302, 667, 745, 695, 696, 697,
843, 698, 764, 699, 700, 953, 897, 850, 844, 892,
923, 946, 976, 926, 948, 977, 329, 211, 706, 212,
38, 39, 40, 41, 365, 367, 372, 228, 768, 499,
223, 224, 362, 582, 583, 370, 371, 147, 708, 148,
192, 290, 682, 683, 757, 340, 502, 593, 594, 595,
570, 376, 571, 832, 833, 834, 866, 887, 67, 888,
686, 835, 836, 929, 865, 967, 957, 986, 999, 958,
837, 838, 956, 839, 878, 913, 972, 973, 974, 997,
427, 428, 464, 653, 465, 466, 467, 332, 333, 468,
469, 678, 136, 43, 64, 44, 45, 46, 552, 786,
453, 712, 899, 617, 456, 629, 714, 47, 457, 69,
48, 557, 634, 558, 639, 793, 794, 49, 65, 309,
545, 66, 315, 549, 553, 554, 627, 721, 903, 628,
716, 855, 717, 856, 308, 179, 444, 542, 543, 544,
709, 710, 311, 446, 180, 181, 182, 183, 184, 281,
282, 419, 283, 381, 137, 238, 138, 521, 384, 385,
386, 139, 140, 141
};
static const short yypact[] = { 95,
115, 3430, 3430, 264,-32768,-32768,-32768,-32768, 97, 97,
97, 104, 134, 153,-32768, 193,-32768,-32768,-32768,-32768,
-32768, 100,-32768, 100, 193, 193,-32768,-32768,-32768,-32768,
611, 138, 3614, 304,-32768, 97,-32768, 250, 291, 295,
-32768, 3430,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768, 97, 97, 97, 3024, 2914, 175,-32768,-32768,
-32768,-32768,-32768, 42, 3783, 3783, 193, 193,-32768,-32768,
193,-32768, 308, 193,-32768,-32768, 611, 327,-32768, 97,
1940,-32768, 130,-32768, 611, 304,-32768, 97,-32768,-32768,
908,-32768, 172, 167, 172, 176,-32768, 179,-32768,-32768,
-32768,-32768,-32768,-32768, 3024, 3024,-32768, 193,-32768,-32768,
-32768, 3024,-32768,-32768, 1383,-32768, 209, 212, 228, 248,
-32768,-32768,-32768, 3024, 239, 237,-32768, 3079, 3134, 3189,
-32768, 4185, 1451, 322, 258, 3024, 2755,-32768,-32768,-32768,
-32768,-32768, 124, 271, 319,-32768, 278, 3909, 439,-32768,
193,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768, 400, 1951,-32768,-32768,-32768,-32768,
2785, 330,-32768,-32768,-32768, 200, 53, 36, 338,-32768,
288, 654, 296,-32768, 130, 611,-32768, 315,-32768, 2192,
552, 97,-32768,-32768, 130,-32768, 381,-32768, 97, 2026,
300, 334, 393, 1968, 908,-32768,-32768,-32768,-32768, 97,
-32768, 323, 310, 1870,-32768, 313,-32768, 137,-32768,-32768,
-32768,-32768,-32768, 344, 370, 396, 418, 3244, 3813, 4058,
193, 193,-32768, 399, 3024, 1383,-32768, 1383,-32768, 1383,
-32768, 3024, 3024, 464,-32768,-32768, 3024, 3024, 3024, 3024,
3024, 3024, 3024, 3024, 3024, 3024, 3024, 3024,-32768,-32768,
193, 193, 3024, 3024,-32768,-32768,-32768, 3024, 3024, 476,
440, 3851,-32768,-32768,-32768, 319, 2258, 97,-32768, 353,
759,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 29,
-32768, 469,-32768, 4058,-32768,-32768, 455, 4017, 456, 529,
-32768, 330,-32768, 534, 456, 193, 193, 461, 193, 193,
-32768,-32768,-32768,-32768,-32768, 334,-32768,-32768, 520, 334,
541,-32768, 2178,-32768, 471, 485,-32768, 898, 109,-32768,
-32768, 533, 97, 378, 406,-32768, 130, 130,-32768, 552,
97,-32768, 2324,-32768,-32768, 552, 511, 97,-32768,-32768,
354, 506, 3597, 3720, 172, 97, 172,-32768, 550, 507,
-32768, 137,-32768,-32768,-32768, 524, 527, 2674, 228, 4185,
-32768,-32768, 571, 535, 3813,-32768, 546,-32768, 547,-32768,
4185, 562, 574, 581, 4185, 4185, 3024, 582, 3024, 3024,
1595, 1327, 1353, 1673, 1680, 842, 842, 666, 666,-32768,
-32768,-32768,-32768,-32768, 583, 237, 564, 237,-32768, 237,
3024,-32768, 476,-32768, 791, 453,-32768, 3585,-32768, 579,
319,-32768, 2390,-32768, 759, 589, 439, 3299, 593, 3881,
-32768, 595, 2054,-32768,-32768, 3922, 4058,-32768,-32768, 100,
606,-32768, 578, 594, 618,-32768, 578, 76, 619,-32768,
-32768,-32768, 3987,-32768, 623, 394,-32768,-32768, 40,-32768,
-32768, 69,-32768,-32768,-32768, 4045,-32768, 300,-32768,-32768,
300,-32768, 696,-32768,-32768, 653,-32768, 662,-32768,-32768,
-32768,-32768,-32768, 665,-32768, 667, 3024, 193, 668, 507,
-32768, 717,-32768,-32768,-32768,-32768,-32768, 571,-32768,-32768,
-32768,-32768,-32768,-32768, 711, 3024, 1316, 1439,-32768,-32768,
3851,-32768, 353,-32768,-32768,-32768, 353,-32768,-32768, 670,
-32768,-32768, 66, 674, 193,-32768, 2785, 3881, 679, 3633,
-32768,-32768, 3987, 2073, 69,-32768, 680, 684, 69, 686,
100,-32768, 699, 3506,-32768,-32768, 472, 3377, 706,-32768,
-32768, 450, 558,-32768,-32768, 3974,-32768, 771, 396,-32768,
-32768,-32768, 698, 3703,-32768, 1783, 69,-32768,-32768, 69,
-32768, 695,-32768,-32768, 695, 97, 97, 4185,-32768, 97,
700, 193, 1015, 717,-32768, 1464,-32768, 1517, 707,-32768,
-32768, 3024,-32768,-32768,-32768,-32768, 2785,-32768, 450,-32768,
-32768,-32768,-32768, 193,-32768,-32768, 578,-32768, 585,-32768,
-32768,-32768,-32768, 611, 138, 3614, 199,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768, 4070, 704,-32768,
-32768,-32768, 558,-32768, 97, 252, 254, 97,-32768, 97,
254, 97, 3585,-32768,-32768,-32768,-32768,-32768, 130,-32768,
611,-32768, 631,-32768,-32768, 4185,-32768,-32768, 1783,-32768,
-32768, 685,-32768,-32768,-32768, 97,-32768, 420, 386, 928,
705, 715, 1098,-32768,-32768,-32768,-32768,-32768, 751, 193,
228,-32768, 757, 4185, 718, 720,-32768,-32768, 719, 1545,
2147, 3024,-32768, 203,-32768, 252, 254, 97, 422,-32768,
-32768,-32768, 735, 578,-32768, 3783, 3783, 173, 130, 611,
3534,-32768, 628, 3394, 846, 846,-32768, 643, 450,-32768,
2456,-32768,-32768,-32768, 545, 558,-32768,-32768,-32768, 427,
444, 631,-32768,-32768, 1464,-32768,-32768, 3024, 82,-32768,
-32768, 193,-32768,-32768,-32768,-32768, 722,-32768,-32768,-32768,
-32768, 2538,-32768, 1464, 86,-32768, 1626,-32768, 1859, 766,
-32768, 65,-32768, 3024, 769, 1517,-32768,-32768,-32768,-32768,
-32768, 450, 641,-32768, 750, 578,-32768,-32768,-32768,-32768,
3024, 777, 738,-32768, 738, 516, 516,-32768,-32768, 753,
-32768,-32768, 760, 4149, 3024,-32768,-32768,-32768, 2619, 799,
781,-32768,-32768, 787, 794, 3024, 817, 780, 782, 2969,
368, 854, 286, 128,-32768, 823, 785,-32768, 788, 3684,
-32768, 852, 1181, 106,-32768,-32768,-32768,-32768,-32768, 2835,
-32768, 790, 1859, 1707,-32768,-32768,-32768, 4104,-32768, 1707,
-32768,-32768,-32768, 808, 77, 77, 4185, 3024, 846,-32768,
-32768,-32768, 4149, 3024, 815,-32768, 3024, 3024, 4122,-32768,
-32768,-32768,-32768, 802, 3024, 803,-32768, 822, 97,-32768,
-32768, 130,-32768, 611, 1270,-32768,-32768,-32768,-32768, 3024,
-32768, 1707,-32768,-32768,-32768, 840, 1707,-32768, 578,-32768,
-32768,-32768,-32768,-32768, 4185,-32768,-32768, 809, 3024, 870,
-32768, 1168, 811, 821, 3024,-32768,-32768, 829,-32768, 3024,
-32768, 508,-32768, 195, 544,-32768, 818,-32768,-32768, 2619,
832,-32768,-32768,-32768, 853,-32768, 841,-32768,-32768,-32768,
-32768, 4167,-32768, 103,-32768, 552,-32768, 552,-32768,-32768,
-32768, 845, 1707,-32768,-32768,-32768, 3024,-32768,-32768, 916,
849,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 850,-32768,
900, 140, 885,-32768,-32768, 396, 396,-32768,-32768, 3024,
916, 890, 916,-32768,-32768, 3024, 893, 147,-32768,-32768,
896,-32768, 541, 897,-32768, 322, 219,-32768,-32768, 902,
541,-32768,-32768, 322, 976, 982,-32768
};
static const short yypgoto[] = {-32768,
-32768,-32768,-32768, 78, -509,-32768,-32768,-32768,-32768,-32768,
-32768,-32768, -14,-32768, -56, 548, -174, 600,-32768,-32768,
-32768, -40,-32768, 565,-32768,-32768,-32768,-32768,-32768, 118,
-32768, -311,-32768, -315, 648,-32768,-32768, 309,-32768, 54,
-195, 151, 19, 905,-32768, 332, 31, -15, -196, 703,
43, -251, -627, -80, -203, -127,-32768,-32768,-32768, -250,
6, 190,-32768, 561,-32768, 333,-32768, -636,-32768, -688,
-32768, -644,-32768,-32768, 306,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768, -73, -107, -499, -27,
-32768,-32768,-32768, -68,-32768,-32768,-32768,-32768,-32768, 499,
-21,-32768, 639, 518, 341, 642, 515, 80, -81, -193,
-155, -243, 336,-32768,-32768, -258,-32768,-32768,-32768, 421,
-309,-32768, -217,-32768,-32768,-32768,-32768, -163, -17, -677,
342,-32768, 101,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768, 117,-32768, -855, 70,-32768, 71,-32768,
620,-32768, -377,-32768, 607, 609, 491, -306,-32768,-32768,
-32768,-32768, 27,-32768, 52,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -11,
20, -497,-32768, 424,-32768, 337, 201,-32768,-32768,-32768,
-32768,-32768,-32768,-32768, -410,-32768,-32768,-32768, 211, 441,
-32768,-32768,-32768,-32768,-32768, -30, 754,-32768,-32768, 530,
-32768, 290, -434,-32768, -388, -381, -110,-32768, -119, 553,
-32768, 656, 796,-32768, -457,-32768,-32768,-32768,-32768,-32768,
694,-32768,-32768,-32768
};
#define YYLAST 4238
static const short yytable[] = { 125,
144, 63, 68, 81, 213, 71, 351, 36, 36, 210,
63, 74, 72, 348, 53, 54, 55, 86, 377, 458,
32, 32, 221, 94, 96, 98, 280, 361, 42, 42,
363, 740, 33, 33, 482, 185, 80, 341, 88, 434,
487, 70, 426, 70, 623, 484, 559, 36, 344, 193,
525, 536, 186, 187, 619, 773, 188, 214, 537, 191,
32, 313, 646, 289, 230, 231, 295, 328, 42, 569,
312, 233, 33, 226, 774, 87, 73, 901, 845, 473,
50, 16, 80, 243, 275, 83, 85, 150, 209, -229,
80, 319, 431, 232, -1, 277, 220, 345, 416, 146,
483, 969, 605, 418, 420, 436, 889, 489, 803, -116,
437, 14, 320, -437, -2, 495, 567, -437, 474, 99,
805, 568, 189, 151, 846, 351, 14, 842, 383, 425,
991, 723, 75, 203, 299, 321, 303, 368, 701, 59,
60, 960, 601, 335, -229, 16, 221, 602, 775, 606,
288, 375, 560, 288, 902, 895, 607, 146, -229, 14,
305, 898, 70, 56, 326, 890, -34, 361, 330, 16,
363, 423, 705, 16, 318, 341, 322, 193, 981, 961,
204, 523, 241, 434, 541, 993, 341, 527, 910, 205,
294, -116, 341, 57, 237, 59, 60, 80, 894, 198,
209, 80, 206, 932, 61, 70, 713, 70, 934, 62,
209, 789, 58, 369, 783, 82, 982, 417, 146, 480,
220, 198, 221, 994, -179, 92, 388, 389, 796, 797,
430, -179, 199, 200, 149, 613, 478, 222, 316, 615,
481, 772, 92, 92, 92, 16, 418, 621, 622, 225,
364, 949, 59, 60, 922, 307, 413, 414, 227, 317,
61, 229, -493, 416, 966, 62, 146, 668, 239, 92,
670, 240, -179, 964, 508, 739, -179, 92, 968, 777,
970, 14, 146, 14, 245, 612, 241, 701, 146, 978,
146, 288, 146, 59, 60, 1000, 486, 59, 60, 448,
1001, 450, 451, 785, 454, 455, 701, 242, 89, 701,
90, 730, 731, 199, 200, 244, 326, 61, 245, 387,
330, 1002, 62, 476, -35, 392, 584, 393, 584, 394,
275, 16, 93, 276, 684, 673, 674, 505, 36, 675,
515, 51, 52, 494, 241, 496, 146, 284, 14, 209,
146, 657, 209, 209, 292, 199, 200, 369, 61, 352,
353, 637, 61, 62, 638, 324, 221, 62, 314, 285,
59, 60, 327, 95, 331, 854, 530, 97, 286, 287,
75, 203, 357, 439, 325, 190, 701, 442, 358, 151,
364, 366, 701, 199, 200, 732, 733, 734, 92, 426,
737, 738, 59, 60, 194, 294, 146, 14, 195, 92,
280, 744, 432, 433, 490, 323, 492, 313, 875, 151,
373, 754, 299, 798, 759, 750, 312, 704, 204, 685,
288, -293, -293, 36, 701, 61, 288, 205, 550, 701,
62, 59, 60, 296, 297, 298, 374, 86, 36, 729,
206, 36, 75, 641, 736, 778, 779, 780, 346, 304,
574, 539, 347, 471, 753, 352, 353, 61, 88, 70,
354, 565, 62, 540, 195, 566, 390, 92, 375, 14,
648, 652, 479, 369, 523, 527, 728, 313, 935, 146,
744, 523, 527, 735, 378, 701, 312, 751, 806, 781,
642, 752, -88, 782, 801, 87, 61, 584, 347, 643,
287, 62, 432, 433, 421, 562, 563, 685, 575, 760,
604, 802, 644, 422, 86, 195, 548, 637, 438, 524,
638, 440, 92, 443, 647, 651, 59, 60, 445, 618,
630, 631, 632, 452, 831, 88, 198, 75, 36, 102,
633, 325, 336, 862, 470, -351, -351, -351, -351, 36,
75, 539, 471, -351, -351, -351, 672, 645, 650, 477,
70, 36, 625, 540, 14, 730, 731, 677, 488, -351,
741, 707, 87, 491, 626, 945, 497, 14, 498, 347,
280, 831, 609, 447, 221, 649, 718, -351, 749, 711,
146, 61, 501, 503, 643, 287, 62, 624, 649, 506,
86, 507, 907, 75, 645, 193, 662, 643, 287, -351,
516, 947, 510, 511, -351, 195, 659, 661, 921, 80,
962, 88, 963, 718, -115, 743, 217, 218, 512, 213,
14, -491, 9, 10, 11, 75, 641, 520, 650, 325,
513, 792, 792, 630, 631, 632, 75, 514, 36, 519,
325, 76, 526, 715, 209, 531, 80, 762, 87, 535,
77, 538, 14, 221, 800, 763, 555, 209, 719, 720,
294, 996, 551, 14, 770, 787, 788, 75, 203, 1004,
725, 726, 718, 642, 556, 561, 630, 631, 632, 564,
326, 330, 643, 287, 76, 827, 790, 326, 330, 630,
631, 632, 831, 77, 14, 644, 266, 267, 268, 852,
351, 59, 60, 748, 209, 80, 36, 247, 249, 251,
209, 209, 578, 645, 645, 204, 579, 807, 581, 625,
650, 650, 809, 586, 205, 587, 590, 826, 592, 597,
603, 626, 827, 600, 707, 769, 608, 206, 984, 985,
614, 566, 620, 874, 217, 218, 146, 36, 616, 640,
9, 10, 11, 656, 624, 658, 671, 690, 676, 116,
829, 727, 341, -330, 341, 792, 61, 645, 840, -32,
703, 62, 830, 758, 826, 765, 766, 325, 784, 277,
808, 767, 380, 925, 847, 849, 876, 908, 924, 391,
911, 914, 72, 853, 86, 858, 395, 396, 918, 859,
14, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 931, 92, 88, 860, -33, 861, 92,
864, 285, 70, 70, 198, 36, 867, -179, 75, 203,
286, 287, 937, 868, -179, 870, 927, 871, 829, 872,
877, 879, 880, 944, 209, 881, 840, 885, 893, 930,
830, 900, 87, 827, 909, 14, 933, 199, 200, 917,
919, 920, 882, 884, 791, 936, 938, 209, 940, 80,
264, 265, 266, 267, 268, -179, 204, 941, 336, -179,
911, -119, -119, -119, -119, 205, 943, -119, 952, -119,
-119, -119, 216, 217, 218, 826, 954, 955, 206, 9,
10, 11, 965, 987, 971, -119, 975, 979, 336, 911,
-128, -128, -128, -128, -128, -128, -128, 14, -128, -128,
-128, -128, -128, -119, -128, -128, -128, -128, -128, -128,
-128, -128, -128, -128, -128, -128, -128, -128, -128, 980,
-128, -128, -128, 517, 518, -119, 983, 989, -128, 992,
-119, -128, 995, -128, 998, 1006, -128, -128, -128, 1003,
-119, 1007, -128, -128, 912, 534, 475, -128, -128, 755,
891, 215, -128, 742, -128, -128, 435, 532, 591, -128,
-128, 746, 493, -128, 771, -128, -128, -128, -128, 585,
-128, 747, 589, 500, 687, 679, 756, -351, -351, -351,
-351, -351, -351, -351, 761, -351, -351, -351, -351, -351,
950, -351, -351, -351, -351, -351, -351, -351, -351, -351,
-351, -351, -351, -351, -351, -351, 951, -351, -351, -351,
988, 528, 546, 990, 547, -351, 655, 724, -351, 906,
-351, 588, 795, -351, -351, -351, 904, 722, 449, -351,
-351, 851, 611, 599, -351, -351, 522, 424, 509, -351,
598, -351, -351, 0, 0, 0, -351, -351, 0, 0,
-351, 0, -351, 0, -351, -351, 0, -351, 336, 0,
-351, -351, 0, 0, 0, -351, -351, 0, -351, 0,
0, 0, -351, 0, -351, -351, -351, -351, -351, -351,
-351, -351, -351, -351, -351, 0, -351, 0, -351, 0,
-351, -351, -351, 0, 0, 0, 0, 0, -351, 0,
666, -351, 0, 0, 0, 0, -351, -351, -351, 0,
0, 0, -351, -351, 0, 0, 0, -351, -351, 0,
694, 0, -351, 0, -351, -351, 0, 0, 0, -351,
-351, 0, 0, -351, 0, -351, -326, -351, -351, 0,
-351, 886, 0, -351, -351, 0, 0, 0, -351, -351,
0, -351, 0, 0, 0, -351, 0, -351, -351, -351,
-351, -351, -351, -351, -351, -351, -351, -351, 0, -351,
0, -351, 0, -351, -351, -351, 0, 0, 0, 0,
0, -351, 269, 270, -351, 271, 272, 273, 274, -351,
-351, -351, 0, 666, 0, -351, -351, 0, 0, 0,
-351, -351, 0, 0, 939, -351, 0, -351, -351, 0,
0, 0, -351, -351, 0, 0, -351, 0, -351, 0,
-351, -351, 0, -351, 694, 0, 776, 0, 0, 0,
928, 0, -361, -361, 0, 0, 0, -361, -361, 0,
-361, 0, 0, 0, -361, 0, -361, -361, -361, -361,
-361, -361, -361, -361, -361, -361, -361, 0, -361, 0,
-361, 0, -361, -361, -361, 0, 0, 0, 0, 694,
-361, 0, 804, -361, 0, 0, 0, 0, -361, -361,
-361, 0, 0, 0, -361, -361, 0, 0, 694, -361,
-361, 694, 0, 694, -361, 0, -361, -361, 848, 0,
0, -361, -361, 0, 0, -361, 0, -361, 0, -361,
-361, 0, -361, 0, 0, 857, 256, 257, 258, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 863,
259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
869, 0, 0, 234, 0, 100, 5, 0, 7, 142,
101, 102, 0, 103, 9, 10, 11, 260, 261, 262,
263, 264, 265, 266, 267, 268, 0, 694, 694, 0,
13, 104, 0, 15, 694, 105, 106, 107, 0, 0,
0, 0, 905, 108, 0, 0, 109, 0, 16, 0,
0, 110, 111, 112, 0, 0, 0, 113, 114, 0,
0, 0, 115, 116, 0, 0, 0, 117, 0, 118,
143, 0, 0, 0, 120, 24, 694, 0, 121, 0,
0, 694, 122, 123, 688, -97, 689, 60, 0, 0,
0, 101, 102, 0, 103, 0, 0, 0, 0, 942,
257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
267, 268, 104, 0, 15, 0, 105, 106, 107, 0,
0, 0, 0, 0, 108, 269, 270, 109, 271, 272,
273, 274, 110, 111, 112, 0, 0, 694, 113, 114,
0, 0, 690, 115, 116, 0, 0, 0, 117, 0,
118, 691, 0, 0, 0, 120, 62, 0, 0, 121,
0, 0, -207, 122, 123, 688, 692, 100, -220, 0,
0, 0, 101, 102, 254, 103, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
0, 0, 0, 104, 0, 15, 0, 105, 106, 107,
0, -220, 0, 0, 0, 108, 0, 0, 109, 0,
0, 0, 0, 110, 111, 112, 0, 0, 0, 113,
114, 0, 0, -220, 115, 116, 0, 0, 0, 117,
0, 118, 119, 0, 0, 0, 120, -220, 0, 0,
121, 0, 0, 0, 122, 123, 688, 692, 689, 60,
0, 0, 0, 101, 102, 0, 103, 258, 259, 260,
261, 262, 263, 264, 265, 266, 267, 268, 0, 0,
0, 0, 0, 0, 104, 0, 15, 0, 105, 106,
107, 0, 0, 0, 0, 0, 108, 0, 0, 109,
0, 0, 0, 0, 110, 111, 112, 0, 0, 0,
113, 114, 0, 0, 690, 115, 116, 0, 0, 0,
117, 0, 118, 691, 0, 0, 0, 120, 62, 0,
0, 121, 0, 0, -283, 122, 123, 688, 692, 689,
60, 0, 0, 0, 101, 102, 0, 103, 261, 262,
263, 264, 265, 266, 267, 268, 262, 263, 264, 265,
266, 267, 268, 0, 0, 104, 0, 15, 0, 105,
106, 107, 0, 0, 0, 0, 0, 108, 0, 0,
109, 0, 0, 0, 0, 110, 111, 112, 0, 0,
0, 113, 114, 0, 0, 690, 115, 116, 0, 0,
0, 117, 0, 118, 691, 0, 0, 0, 120, 62,
0, 0, 121, 664, 0, 100, 122, 123, 0, 692,
101, 102, 0, 103, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 104, 0, 15, 0, 105, 106, 107, 0, 0,
0, 0, 0, 108, 0, 0, 109, 0, 0, 0,
0, 110, 111, 112, 0, 0, 0, 113, 114, 0,
0, 0, 115, 116, 0, 0, 0, 117, 0, 118,
119, 0, 0, 0, 120, 0, 0, 0, 121, 688,
0, 100, 122, 123, 0, 665, 101, 102, 0, 103,
359, 0, 0, 5, 0, 7, 142, 0, 0, 0,
0, 9, 10, 11, 0, 0, 0, 104, 0, 15,
0, 105, 106, 107, 0, 0, 0, 13, 0, 108,
15, 0, 109, 0, 0, 0, 0, 110, 111, 112,
0, 0, 0, 113, 114, 16, 0, 0, 115, 116,
0, 0, 0, 117, 0, 118, 119, 0, 0, 0,
120, 0, 0, 0, 121, 0, 0, 22, 122, 123,
197, 692, 24, -28, -28, -28, -28, 360, -286, 0,
0, -28, -28, -28, 5, 306, 7, 142, 0, 0,
0, 0, 9, 10, 11, 0, 198, -28, 355, -179,
0, -24, -24, -24, -24, 0, -179, 0, 13, -24,
-24, -24, 0, 0, 0, -28, 0, 0, 0, 0,
0, 0, 0, 0, 198, -24, 16, -179, 0, 199,
200, 0, 0, 0, -179, 0, 0, -28, 0, 0,
0, 0, -28, -24, 0, 0, 0, -179, 22, 0,
0, -179, -28, 24, 0, 0, 349, 199, 200, -20,
-20, -20, -20, 0, 0, -24, 0, -20, -20, -20,
-24, 0, 0, 0, 0, -179, 0, 0, 0, -179,
-24, 0, 198, -20, 336, -179, 0, 5, 6, 7,
8, 0, -179, 0, 0, 9, 10, 11, 0, 0,
0, -20, 0, 336, 0, 0, -519, -519, -519, -519,
0, 13, 0, 14, -519, -519, -519, 0, 0, 0,
0, 0, 0, -20, 0, 0, 0, 0, -20, 16,
-519, 0, -519, -179, 0, 0, 0, -179, -20, 0,
0, 0, 0, 0, 0, 0, 0, 0, -519, 0,
0, 22, 0, 0, 0, 0, 24, 0, 0, 0,
0, 0, 0, 0, 0, 0, -517, 0, 0, 0,
-519, 0, 0, 0, 0, -519, 0, 0, 0, 152,
153, 0, 154, 155, 0, -519, 774, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
169, 170, 171, 172, 173, 174, 0, 0, 459, 0,
460, 5, 6, 7, 8, 278, 0, 461, 0, 9,
10, 11, 0, 0, 100, 0, 0, 0, 0, 101,
102, 0, 103, 0, 0, 13, 0, 14, 0, 0,
0, 0, 0, 0, 177, 0, 0, 0, 0, 178,
104, 0, 15, 16, 105, 106, 107, 0, 279, 0,
775, 0, 108, 0, 0, 109, 0, 0, 0, 0,
110, 111, 112, 0, 0, 22, 113, 114, 0, 0,
24, 115, 116, 0, -411, 0, 117, 0, 118, 119,
100, 0, 0, 120, 0, 101, 102, 121, 103, 0,
0, 122, 123, 0, 0, 334, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 104, 0, 15, 0,
105, 106, 107, 0, 0, 0, 0, 0, 108, 0,
0, 109, 0, 0, 0, 0, 110, 111, 112, 0,
0, 0, 113, 114, 0, 0, 0, 115, 116, 0,
0, 0, 117, 0, 118, 119, 100, 0, 0, 120,
0, 101, 102, 121, 103, 0, 0, 122, 123, 0,
0, 429, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 104, 0, 15, 0, 105, 106, 107, 0,
0, 0, 0, 0, 108, 0, 0, 109, 0, 0,
0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
0, 0, 0, 115, 116, 0, 0, 0, 117, 0,
118, 119, 100, 0, 0, 120, 0, 101, 102, 121,
103, 0, 0, 122, 123, 0, 0, 485, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
15, 0, 105, 106, 107, 0, 0, 0, 0, 0,
108, 0, 0, 109, 0, 0, 0, 0, 110, 111,
112, 0, 0, 0, 113, 114, 0, 0, 0, 115,
116, 0, 0, 0, 117, 0, 118, 119, 100, 0,
0, 120, 0, 101, 102, 121, 103, 0, 0, 122,
123, 0, 0, 529, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 104, 0, 15, 0, 105, 106,
107, 0, 0, 0, 0, 0, 108, 0, 0, 109,
0, 0, 0, 0, 110, 111, 112, 0, 0, 0,
113, 114, 0, 0, 0, 115, 116, 0, 0, 0,
117, 0, 118, 119, 0, 0, 0, 120, 0, 0,
0, 121, 0, 0, 0, 122, 123, 0, 0, 799,
689, 810, 6, 7, 8, 101, 102, 0, 103, 9,
10, 11, 811, 0, 812, 813, 814, 815, 816, 817,
818, 819, 820, 821, 822, 13, 104, 14, 15, 0,
105, 106, 107, 0, 0, 0, 0, 0, 108, 0,
0, 109, 0, 16, 0, 0, 110, 111, 112, 0,
0, 0, 113, 114, 0, 0, 0, 115, 116, 0,
0, 0, 117, 0, 118, 823, 0, 0, 0, 120,
824, 0, 0, 121, 0, 825, 0, 122, 123, 0,
375, 689, 60, 0, 0, 0, 101, 102, 0, 103,
0, 0, 0, 811, 0, 812, 813, 814, 815, 816,
817, 818, 819, 820, 821, 822, 0, 104, 0, 15,
0, 105, 106, 107, 0, 0, 0, 0, 0, 108,
0, 0, 109, 0, 0, 0, 0, 110, 111, 112,
0, 0, 0, 113, 114, 0, 100, 0, 115, 116,
0, 101, 102, 117, 103, 118, 691, 0, 0, 0,
120, 62, 0, 0, 121, 0, 825, 0, 122, 123,
0, 375, 104, 0, 15, 0, 105, 106, 107, 0,
0, 0, 0, 0, 108, 0, 0, 109, 0, 0,
0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
0, 0, 0, 115, 116, 0, 0, 0, 117, 0,
118, 119, 0, 0, 0, 120, 0, 0, 0, 121,
0, 0, 0, 122, 123, 0, 504, 152, 153, 0,
154, 155, 0, 0, 0, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
171, 172, 173, 174, 0, 0, 0, 152, 153, 0,
154, 155, 0, 278, 0, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
0, 0, 177, 175, 0, 0, 0, 178, 0, 0,
0, 0, 0, 0, 0, 0, 279, 100, 5, 6,
7, 8, 101, 102, 0, 103, 9, 10, 11, 0,
0, 0, 177, 0, 0, 0, 0, 178, 0, 0,
0, 0, 13, 104, 14, 15, 310, 105, 106, 107,
0, 0, 0, 0, 0, 108, 0, 0, 109, 0,
16, 0, 0, 110, 111, 112, 0, 0, 0, 113,
114, 0, 0, 0, 115, 116, 0, 0, 0, 117,
0, 118, 143, 0, 0, 0, 120, 24, 0, 0,
121, 0, 0, 0, 122, 123, 100, 5, 0, 7,
142, 101, 102, 0, 103, 9, 10, 11, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 13, 104, 0, 15, 0, 105, 106, 107, 0,
0, 0, 0, 0, 108, 0, 0, 109, 0, 16,
0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
0, 100, 0, 115, 116, 0, 101, 102, 117, 103,
118, 143, 0, 0, 0, 120, 24, 0, 0, 121,
0, 0, 0, 122, 123, 0, 0, 104, 0, 15,
0, 105, 106, 107, 0, 0, 0, 0, 0, 108,
0, 0, 109, 0, 0, 0, 0, 110, 111, 112,
0, 0, 0, 113, 114, 0, 100, 0, 115, 116,
0, 101, 102, 117, 103, 118, 119, 0, 0, 0,
120, 0, 0, 0, 121, 0, 873, 0, 122, 123,
0, 0, 104, 0, 15, 0, 105, 106, 107, 0,
0, 0, 0, 0, 108, 0, 0, 109, 0, 0,
0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
0, 100, 0, 115, 116, 0, 101, 102, 117, 103,
118, 119, 0, 0, 0, 120, 0, 0, 0, 121,
0, 0, 0, 122, 123, 0, 0, 104, 0, 15,
0, 105, 106, 107, 0, 0, 0, 0, 0, 108,
0, 0, 109, 0, 0, 0, 0, 110, 111, 112,
0, 0, 0, 113, 114, 0, 100, 0, 246, 116,
0, 101, 102, 117, 103, 118, 119, 0, 0, 0,
120, 0, 0, 0, 121, 0, 0, 0, 122, 123,
0, 0, 104, 0, 15, 0, 105, 106, 107, 0,
0, 0, 0, 0, 108, 0, 0, 109, 0, 0,
0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
0, 100, 0, 248, 116, 0, 101, 102, 117, 103,
118, 119, 0, 0, 0, 120, 0, 0, 0, 121,
0, 0, 0, 122, 123, 0, 0, 104, 0, 15,
0, 105, 106, 107, 0, 0, 0, 0, 0, 108,
0, 0, 109, 0, 0, 0, 0, 110, 111, 112,
0, 0, 0, 113, 114, 0, 100, 0, 250, 116,
0, 101, 102, 117, 103, 118, 119, 0, 0, 0,
120, 0, 0, 0, 121, 0, 0, 0, 122, 123,
0, 0, 104, 0, 15, 0, 105, 106, 107, 0,
0, 0, 0, 0, 108, 0, 0, 109, 0, 0,
0, 0, 110, 111, 112, 0, 0, 0, 113, 114,
0, 533, 0, 115, 116, 0, 101, 102, 117, 103,
118, 379, 0, 0, 0, 120, 0, 0, 0, 121,
0, 0, 0, 122, 123, 0, 0, 104, 0, 15,
0, 105, 106, 107, 0, 0, 0, 0, 0, 108,
0, 0, 109, 0, 0, 0, 0, 110, 111, 112,
0, 0, 0, 113, 114, 0, 0, 0, 115, 116,
0, 0, 0, 117, 0, 118, 119, 0, 0, 0,
120, 0, 0, 0, 121, 0, 0, 635, 122, 123,
5, 0, 7, 142, 0, 0, 0, 0, 9, 10,
11, 0, 0, 0, 635, 0, 0, 5, 0, 7,
142, 0, 0, 0, 13, 9, 10, 11, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 13, 16, 0, 0, 0, 0, 0, 0, 0,
4, 0, -132, 5, 6, 7, 8, 0, 0, 16,
0, 9, 10, 11, 22, -467, -467, -467, 0, 24,
0, 0, 0, 0, 636, -467, 12, 13, 0, 14,
15, 22, -466, -466, -466, 0, 24, 0, 0, 0,
0, 636, -466, 0, 0, 16, 0, 0, 17, 18,
-132, 0, 0, 0, 0, 0, 0, 0, 0, -132,
0, 19, 20, 21, 0, 0, 0, 22, 0, 0,
0, 23, 24, 25, 26, 0, 4, 27, -132, 5,
6, 7, 8, 0, 0, 0, 0, 9, 10, 11,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 13, 4, 14, -132, 5, 6, 7,
8, 0, 0, 0, 0, 9, 10, 11, 0, 0,
0, 16, 0, 0, 621, 622, -132, 0, 0, 0,
0, 13, 0, 14, 0, -132, 0, 0, 0, 0,
0, 0, 0, 22, 0, 0, 0, 0, 24, 16,
0, 0, 0, 27, -132, 459, 0, 0, 5, 6,
7, 8, 0, -132, 461, 0, 9, 10, 11, 0,
5, 22, 7, 293, 0, 0, 24, 0, 9, 10,
11, 27, 13, 0, 14, 0, 0, 5, 6, 7,
8, 0, 0, 0, 13, 9, 10, 11, 0, 0,
16, 0, 0, 0, 0, 0, 5, 6, 7, 8,
0, 13, 16, 14, 9, 10, 11, 0, 0, 0,
0, 0, 22, 0, 0, 0, 0, 24, 0, 16,
13, -411, 14, 0, 22, 0, 0, 0, 0, 24,
0, 0, 0, 0, -295, -295, 0, 0, 16, 0,
0, 22, 0, 0, 0, 0, 24, 5, 6, 7,
8, 84, 0, 0, 0, 9, 10, 11, 0, 0,
22, 0, 0, 0, 0, 24, 5, 89, 7, 90,
610, 13, 0, 14, 9, 10, 11, 0, 0, 0,
359, 0, 0, 5, 0, 7, 142, 0, 0, 16,
13, 9, 10, 11, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 13, 16, 0,
15, 22, 0, 0, 0, 0, 24, 0, 0, 0,
0, 883, 0, 0, 0, 16, 0, 0, 0, 0,
22, 0, 0, 0, 0, 24, 0, 0, 0, 0,
660, 0, 0, 0, 0, 152, 153, 22, 154, 155,
0, 0, 24, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
173, 174, 0, 0, 0, 152, 153, 0, 154, 155,
0, 175, 0, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
173, 174, 176, 0, 0, 0, 0, 0, 0, 0,
177, 382, 0, 152, 153, 178, 154, 155, 0, 0,
0, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
177, 0, 0, 152, 153, 178, 154, 155, 0, 278,
0, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
0, 0, 5, 0, 7, 293, 0, 0, 177, 175,
9, 10, 11, 178, 0, 5, 6, 7, 8, 0,
0, 461, 0, 9, 10, 11, 13, 0, 14, 0,
0, 0, 0, 0, 0, 0, 0, 0, 177, 13,
0, 14, 0, 178, 16, 0, 0, 0, 0, 285,
0, 0, 0, 0, 0, 0, 0, 16, 286, 287,
0, 0, 0, 0, 0, 0, 22, 5, 6, 7,
8, 24, 0, 654, 0, 9, 10, 11, 0, 22,
5, 6, 7, 8, 24, 0, 0, 0, 9, 10,
11, 13, 0, 14, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 13, 0, 14, 0, 0, 16,
5, 441, 7, 142, 0, 0, 0, 0, 9, 10,
11, 0, 16, 0, 0, 0, 0, 0, 0, 0,
0, 22, 0, 0, 13, 0, 24, 0, 5, 6,
7, 8, 0, 0, 22, 0, 9, 10, 11, 24,
0, 5, 16, 7, 142, 0, 0, 0, 0, 9,
10, 11, 13, 5, 0, 7, 293, 0, 0, 0,
0, 9, 10, 11, 22, 13, 0, 0, 0, 24,
16, 0, 0, 0, 0, 0, 0, 13, 0, 0,
0, 0, 0, 16, 0, 0, 0, 0, 0, 0,
0, 0, 22, 0, 0, 16, 0, 24, 0, 0,
0, 0, 0, 0, 0, 22, 0, 0, 0, 0,
24, 915, 0, 0, 0, 0, 0, 22, 0, 252,
253, 254, 24, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 252, 253, 254,
916, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 0, 0, 0, 14, 0,
0, 0, 0, 0, 252, 253, 254, 896, 255, 256,
257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
267, 268, 252, 253, 254, 959, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
252, 253, 254, 0, 255, 256, 257, 258, 259, 260,
261, 262, 263, 264, 265, 266, 267, 268
};
static const short yycheck[] = { 56,
57, 16, 20, 31, 85, 23, 210, 2, 3, 83,
25, 26, 24, 209, 9, 10, 11, 33, 236, 331,
2, 3, 91, 38, 39, 40, 137, 224, 2, 3,
224, 659, 2, 3, 350, 66, 31, 201, 33, 291,
356, 22, 286, 24, 554, 352, 457, 42, 204, 77,
428, 440, 67, 68, 552, 700, 71, 85, 440, 74,
42, 181, 562, 145, 105, 106, 148, 195, 42, 1,
181, 112, 42, 95, 10, 33, 25, 1, 767, 338,
3, 46, 77, 124, 9, 32, 33, 46, 83, 4,
85, 39, 288, 108, 0, 136, 91, 205, 273, 57,
351, 957, 537, 278, 279, 77, 1, 358, 745, 1,
82, 30, 60, 78, 0, 366, 77, 82, 10, 42,
39, 82, 71, 82, 769, 329, 30, 764, 239, 285,
986, 629, 3, 4, 149, 83, 151, 1, 596, 3,
4, 39, 77, 200, 59, 46, 215, 82, 84, 538,
145, 83, 77, 148, 78, 844, 538, 115, 73, 30,
175, 850, 143, 60, 192, 60, 39, 364, 196, 46,
364, 282, 607, 46, 186, 339, 188, 205, 39, 77,
51, 425, 59, 435, 443, 39, 350, 431, 866, 60,
148, 83, 356, 60, 115, 3, 4, 192, 843, 27,
195, 196, 73, 892, 68, 186, 617, 188, 897, 73,
205, 721, 60, 228, 712, 78, 77, 274, 176, 347,
215, 27, 291, 77, 30, 36, 241, 242, 728, 729,
287, 37, 60, 61, 60, 545, 344, 66, 39, 549,
348, 699, 53, 54, 55, 46, 421, 49, 50, 83,
224, 929, 3, 4, 882, 176, 271, 272, 83, 60,
68, 83, 64, 438, 953, 73, 224, 577, 60, 80,
580, 60, 78, 951, 385, 653, 82, 88, 956, 77,
958, 30, 240, 30, 82, 544, 59, 745, 246, 967,
248, 286, 250, 3, 4, 77, 353, 3, 4, 314,
82, 316, 317, 714, 319, 320, 764, 60, 5, 767,
7, 60, 61, 60, 61, 77, 344, 68, 82, 240,
348, 999, 73, 341, 39, 246, 490, 248, 492, 250,
9, 46, 83, 76, 593, 586, 587, 378, 333, 590,
397, 78, 79, 365, 59, 367, 304, 77, 30, 344,
308, 569, 347, 348, 77, 60, 61, 372, 68, 60,
61, 558, 68, 73, 558, 78, 435, 73, 39, 51,
3, 4, 77, 83, 60, 786, 433, 83, 60, 61,
3, 4, 60, 304, 7, 78, 844, 308, 79, 82,
364, 79, 850, 60, 61, 646, 647, 648, 209, 643,
651, 652, 3, 4, 78, 363, 364, 30, 82, 220,
521, 663, 60, 61, 361, 78, 363, 537, 51, 82,
77, 680, 437, 730, 683, 676, 537, 602, 51, 593,
425, 78, 79, 428, 892, 68, 431, 60, 450, 897,
73, 3, 4, 5, 6, 7, 77, 463, 443, 645,
73, 446, 3, 4, 650, 706, 707, 708, 78, 60,
476, 443, 82, 78, 79, 60, 61, 68, 463, 450,
78, 78, 73, 443, 82, 82, 78, 288, 83, 30,
562, 563, 77, 498, 728, 729, 642, 607, 899, 447,
742, 735, 736, 649, 77, 953, 607, 78, 749, 78,
51, 82, 39, 82, 78, 463, 68, 671, 82, 60,
61, 73, 60, 61, 39, 462, 463, 681, 476, 683,
535, 78, 73, 84, 540, 82, 447, 724, 60, 77,
724, 77, 343, 78, 562, 563, 3, 4, 10, 551,
69, 70, 71, 83, 762, 540, 27, 3, 543, 9,
79, 7, 1, 804, 84, 4, 5, 6, 7, 554,
3, 543, 78, 12, 13, 14, 584, 562, 563, 37,
551, 566, 554, 543, 30, 60, 61, 592, 68, 28,
661, 609, 540, 78, 554, 78, 37, 30, 82, 82,
701, 809, 539, 60, 663, 51, 624, 46, 672, 614,
558, 68, 79, 77, 60, 61, 73, 554, 51, 39,
626, 77, 863, 3, 609, 643, 574, 60, 61, 68,
39, 78, 77, 77, 73, 82, 573, 574, 879, 624,
946, 626, 948, 661, 83, 5, 6, 7, 77, 720,
30, 64, 12, 13, 14, 3, 4, 84, 643, 7,
77, 725, 726, 69, 70, 71, 3, 77, 653, 77,
7, 51, 84, 79, 659, 77, 661, 685, 626, 77,
60, 77, 30, 742, 731, 690, 83, 672, 625, 626,
638, 993, 77, 30, 699, 716, 717, 3, 4, 1001,
637, 638, 720, 51, 77, 77, 69, 70, 71, 77,
728, 729, 60, 61, 51, 762, 79, 735, 736, 69,
70, 71, 930, 60, 30, 73, 51, 52, 53, 79,
924, 3, 4, 39, 719, 720, 721, 128, 129, 130,
725, 726, 37, 728, 729, 51, 84, 752, 77, 721,
735, 736, 760, 79, 60, 79, 79, 762, 32, 39,
77, 721, 809, 84, 782, 37, 78, 73, 976, 977,
77, 82, 64, 820, 6, 7, 724, 762, 83, 64,
12, 13, 14, 3, 721, 78, 82, 59, 79, 61,
762, 78, 946, 79, 948, 859, 68, 782, 762, 39,
84, 73, 762, 79, 809, 39, 79, 7, 64, 840,
79, 82, 238, 884, 39, 37, 821, 864, 882, 245,
867, 868, 824, 64, 830, 39, 252, 253, 875, 82,
30, 257, 258, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 890, 645, 830, 84, 39, 79, 650,
60, 51, 823, 824, 27, 840, 60, 30, 3, 4,
60, 61, 909, 60, 37, 39, 884, 78, 840, 78,
7, 39, 78, 920, 859, 78, 840, 16, 79, 887,
840, 64, 830, 930, 60, 30, 37, 60, 61, 78,
78, 60, 829, 830, 39, 77, 17, 882, 78, 884,
49, 50, 51, 52, 53, 78, 51, 77, 1, 82,
957, 4, 5, 6, 7, 60, 78, 10, 77, 12,
13, 14, 5, 6, 7, 930, 64, 77, 73, 12,
13, 14, 78, 980, 9, 28, 78, 78, 1, 986,
3, 4, 5, 6, 7, 8, 9, 30, 11, 12,
13, 14, 15, 46, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 60,
33, 34, 35, 399, 400, 68, 82, 78, 41, 77,
73, 44, 77, 46, 78, 0, 49, 50, 51, 78,
83, 0, 55, 56, 867, 438, 339, 60, 61, 681,
840, 87, 65, 662, 67, 68, 294, 437, 500, 72,
73, 669, 364, 76, 699, 78, 79, 80, 81, 492,
83, 671, 498, 372, 594, 1, 681, 3, 4, 5,
6, 7, 8, 9, 683, 11, 12, 13, 14, 15,
930, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 930, 33, 34, 35,
981, 432, 446, 983, 446, 41, 566, 634, 44, 859,
46, 497, 726, 49, 50, 51, 856, 627, 315, 55,
56, 782, 543, 521, 60, 61, 421, 282, 385, 65,
516, 67, 68, -1, -1, -1, 72, 73, -1, -1,
76, -1, 78, -1, 80, 81, -1, 83, 1, -1,
3, 4, -1, -1, -1, 8, 9, -1, 11, -1,
-1, -1, 15, -1, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, -1, 29, -1, 31, -1,
33, 34, 35, -1, -1, -1, -1, -1, 41, -1,
576, 44, -1, -1, -1, -1, 49, 50, 51, -1,
-1, -1, 55, 56, -1, -1, -1, 60, 61, -1,
596, -1, 65, -1, 67, 68, -1, -1, -1, 72,
73, -1, -1, 76, -1, 78, 79, 80, 81, -1,
83, 1, -1, 3, 4, -1, -1, -1, 8, 9,
-1, 11, -1, -1, -1, 15, -1, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, -1, 29,
-1, 31, -1, 33, 34, 35, -1, -1, -1, -1,
-1, 41, 55, 56, 44, 58, 59, 60, 61, 49,
50, 51, -1, 669, -1, 55, 56, -1, -1, -1,
60, 61, -1, -1, 77, 65, -1, 67, 68, -1,
-1, -1, 72, 73, -1, -1, 76, -1, 78, -1,
80, 81, -1, 83, 700, -1, 702, -1, -1, -1,
1, -1, 3, 4, -1, -1, -1, 8, 9, -1,
11, -1, -1, -1, 15, -1, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, -1, 29, -1,
31, -1, 33, 34, 35, -1, -1, -1, -1, 745,
41, -1, 748, 44, -1, -1, -1, -1, 49, 50,
51, -1, -1, -1, 55, 56, -1, -1, 764, 60,
61, 767, -1, 769, 65, -1, 67, 68, 774, -1,
-1, 72, 73, -1, -1, 76, -1, 78, -1, 80,
81, -1, 83, -1, -1, 791, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 805,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
816, -1, -1, 1, -1, 3, 4, -1, 6, 7,
8, 9, -1, 11, 12, 13, 14, 45, 46, 47,
48, 49, 50, 51, 52, 53, -1, 843, 844, -1,
28, 29, -1, 31, 850, 33, 34, 35, -1, -1,
-1, -1, 858, 41, -1, -1, 44, -1, 46, -1,
-1, 49, 50, 51, -1, -1, -1, 55, 56, -1,
-1, -1, 60, 61, -1, -1, -1, 65, -1, 67,
68, -1, -1, -1, 72, 73, 892, -1, 76, -1,
-1, 897, 80, 81, 1, 83, 3, 4, -1, -1,
-1, 8, 9, -1, 11, -1, -1, -1, -1, 915,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 29, -1, 31, -1, 33, 34, 35, -1,
-1, -1, -1, -1, 41, 55, 56, 44, 58, 59,
60, 61, 49, 50, 51, -1, -1, 953, 55, 56,
-1, -1, 59, 60, 61, -1, -1, -1, 65, -1,
67, 68, -1, -1, -1, 72, 73, -1, -1, 76,
-1, -1, 79, 80, 81, 1, 83, 3, 4, -1,
-1, -1, 8, 9, 38, 11, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
-1, -1, -1, 29, -1, 31, -1, 33, 34, 35,
-1, 37, -1, -1, -1, 41, -1, -1, 44, -1,
-1, -1, -1, 49, 50, 51, -1, -1, -1, 55,
56, -1, -1, 59, 60, 61, -1, -1, -1, 65,
-1, 67, 68, -1, -1, -1, 72, 73, -1, -1,
76, -1, -1, -1, 80, 81, 1, 83, 3, 4,
-1, -1, -1, 8, 9, -1, 11, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, -1, -1,
-1, -1, -1, -1, 29, -1, 31, -1, 33, 34,
35, -1, -1, -1, -1, -1, 41, -1, -1, 44,
-1, -1, -1, -1, 49, 50, 51, -1, -1, -1,
55, 56, -1, -1, 59, 60, 61, -1, -1, -1,
65, -1, 67, 68, -1, -1, -1, 72, 73, -1,
-1, 76, -1, -1, 79, 80, 81, 1, 83, 3,
4, -1, -1, -1, 8, 9, -1, 11, 46, 47,
48, 49, 50, 51, 52, 53, 47, 48, 49, 50,
51, 52, 53, -1, -1, 29, -1, 31, -1, 33,
34, 35, -1, -1, -1, -1, -1, 41, -1, -1,
44, -1, -1, -1, -1, 49, 50, 51, -1, -1,
-1, 55, 56, -1, -1, 59, 60, 61, -1, -1,
-1, 65, -1, 67, 68, -1, -1, -1, 72, 73,
-1, -1, 76, 1, -1, 3, 80, 81, -1, 83,
8, 9, -1, 11, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 29, -1, 31, -1, 33, 34, 35, -1, -1,
-1, -1, -1, 41, -1, -1, 44, -1, -1, -1,
-1, 49, 50, 51, -1, -1, -1, 55, 56, -1,
-1, -1, 60, 61, -1, -1, -1, 65, -1, 67,
68, -1, -1, -1, 72, -1, -1, -1, 76, 1,
-1, 3, 80, 81, -1, 83, 8, 9, -1, 11,
1, -1, -1, 4, -1, 6, 7, -1, -1, -1,
-1, 12, 13, 14, -1, -1, -1, 29, -1, 31,
-1, 33, 34, 35, -1, -1, -1, 28, -1, 41,
31, -1, 44, -1, -1, -1, -1, 49, 50, 51,
-1, -1, -1, 55, 56, 46, -1, -1, 60, 61,
-1, -1, -1, 65, -1, 67, 68, -1, -1, -1,
72, -1, -1, -1, 76, -1, -1, 68, 80, 81,
1, 83, 73, 4, 5, 6, 7, 78, 79, -1,
-1, 12, 13, 14, 4, 5, 6, 7, -1, -1,
-1, -1, 12, 13, 14, -1, 27, 28, 1, 30,
-1, 4, 5, 6, 7, -1, 37, -1, 28, 12,
13, 14, -1, -1, -1, 46, -1, -1, -1, -1,
-1, -1, -1, -1, 27, 28, 46, 30, -1, 60,
61, -1, -1, -1, 37, -1, -1, 68, -1, -1,
-1, -1, 73, 46, -1, -1, -1, 78, 68, -1,
-1, 82, 83, 73, -1, -1, 1, 60, 61, 4,
5, 6, 7, -1, -1, 68, -1, 12, 13, 14,
73, -1, -1, -1, -1, 78, -1, -1, -1, 82,
83, -1, 27, 28, 1, 30, -1, 4, 5, 6,
7, -1, 37, -1, -1, 12, 13, 14, -1, -1,
-1, 46, -1, 1, -1, -1, 4, 5, 6, 7,
-1, 28, -1, 30, 12, 13, 14, -1, -1, -1,
-1, -1, -1, 68, -1, -1, -1, -1, 73, 46,
28, -1, 30, 78, -1, -1, -1, 82, 83, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 46, -1,
-1, 68, -1, -1, -1, -1, 73, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 83, -1, -1, -1,
68, -1, -1, -1, -1, 73, -1, -1, -1, 3,
4, -1, 6, 7, -1, 83, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, 1, -1,
3, 4, 5, 6, 7, 39, -1, 10, -1, 12,
13, 14, -1, -1, 3, -1, -1, -1, -1, 8,
9, -1, 11, -1, -1, 28, -1, 30, -1, -1,
-1, -1, -1, -1, 68, -1, -1, -1, -1, 73,
29, -1, 31, 46, 33, 34, 35, -1, 82, -1,
84, -1, 41, -1, -1, 44, -1, -1, -1, -1,
49, 50, 51, -1, -1, 68, 55, 56, -1, -1,
73, 60, 61, -1, 77, -1, 65, -1, 67, 68,
3, -1, -1, 72, -1, 8, 9, 76, 11, -1,
-1, 80, 81, -1, -1, 84, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 29, -1, 31, -1,
33, 34, 35, -1, -1, -1, -1, -1, 41, -1,
-1, 44, -1, -1, -1, -1, 49, 50, 51, -1,
-1, -1, 55, 56, -1, -1, -1, 60, 61, -1,
-1, -1, 65, -1, 67, 68, 3, -1, -1, 72,
-1, 8, 9, 76, 11, -1, -1, 80, 81, -1,
-1, 84, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 29, -1, 31, -1, 33, 34, 35, -1,
-1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
-1, -1, 49, 50, 51, -1, -1, -1, 55, 56,
-1, -1, -1, 60, 61, -1, -1, -1, 65, -1,
67, 68, 3, -1, -1, 72, -1, 8, 9, 76,
11, -1, -1, 80, 81, -1, -1, 84, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 29, -1,
31, -1, 33, 34, 35, -1, -1, -1, -1, -1,
41, -1, -1, 44, -1, -1, -1, -1, 49, 50,
51, -1, -1, -1, 55, 56, -1, -1, -1, 60,
61, -1, -1, -1, 65, -1, 67, 68, 3, -1,
-1, 72, -1, 8, 9, 76, 11, -1, -1, 80,
81, -1, -1, 84, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 29, -1, 31, -1, 33, 34,
35, -1, -1, -1, -1, -1, 41, -1, -1, 44,
-1, -1, -1, -1, 49, 50, 51, -1, -1, -1,
55, 56, -1, -1, -1, 60, 61, -1, -1, -1,
65, -1, 67, 68, -1, -1, -1, 72, -1, -1,
-1, 76, -1, -1, -1, 80, 81, -1, -1, 84,
3, 4, 5, 6, 7, 8, 9, -1, 11, 12,
13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, -1,
33, 34, 35, -1, -1, -1, -1, -1, 41, -1,
-1, 44, -1, 46, -1, -1, 49, 50, 51, -1,
-1, -1, 55, 56, -1, -1, -1, 60, 61, -1,
-1, -1, 65, -1, 67, 68, -1, -1, -1, 72,
73, -1, -1, 76, -1, 78, -1, 80, 81, -1,
83, 3, 4, -1, -1, -1, 8, 9, -1, 11,
-1, -1, -1, 15, -1, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, -1, 29, -1, 31,
-1, 33, 34, 35, -1, -1, -1, -1, -1, 41,
-1, -1, 44, -1, -1, -1, -1, 49, 50, 51,
-1, -1, -1, 55, 56, -1, 3, -1, 60, 61,
-1, 8, 9, 65, 11, 67, 68, -1, -1, -1,
72, 73, -1, -1, 76, -1, 78, -1, 80, 81,
-1, 83, 29, -1, 31, -1, 33, 34, 35, -1,
-1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
-1, -1, 49, 50, 51, -1, -1, -1, 55, 56,
-1, -1, -1, 60, 61, -1, -1, -1, 65, -1,
67, 68, -1, -1, -1, 72, -1, -1, -1, 76,
-1, -1, -1, 80, 81, -1, 83, 3, 4, -1,
6, 7, -1, -1, -1, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, -1, -1, -1, 3, 4, -1,
6, 7, -1, 39, -1, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, -1, 68, 39, -1, -1, -1, 73, -1, -1,
-1, -1, -1, -1, -1, -1, 82, 3, 4, 5,
6, 7, 8, 9, -1, 11, 12, 13, 14, -1,
-1, -1, 68, -1, -1, -1, -1, 73, -1, -1,
-1, -1, 28, 29, 30, 31, 82, 33, 34, 35,
-1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
46, -1, -1, 49, 50, 51, -1, -1, -1, 55,
56, -1, -1, -1, 60, 61, -1, -1, -1, 65,
-1, 67, 68, -1, -1, -1, 72, 73, -1, -1,
76, -1, -1, -1, 80, 81, 3, 4, -1, 6,
7, 8, 9, -1, 11, 12, 13, 14, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 28, 29, -1, 31, -1, 33, 34, 35, -1,
-1, -1, -1, -1, 41, -1, -1, 44, -1, 46,
-1, -1, 49, 50, 51, -1, -1, -1, 55, 56,
-1, 3, -1, 60, 61, -1, 8, 9, 65, 11,
67, 68, -1, -1, -1, 72, 73, -1, -1, 76,
-1, -1, -1, 80, 81, -1, -1, 29, -1, 31,
-1, 33, 34, 35, -1, -1, -1, -1, -1, 41,
-1, -1, 44, -1, -1, -1, -1, 49, 50, 51,
-1, -1, -1, 55, 56, -1, 3, -1, 60, 61,
-1, 8, 9, 65, 11, 67, 68, -1, -1, -1,
72, -1, -1, -1, 76, -1, 78, -1, 80, 81,
-1, -1, 29, -1, 31, -1, 33, 34, 35, -1,
-1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
-1, -1, 49, 50, 51, -1, -1, -1, 55, 56,
-1, 3, -1, 60, 61, -1, 8, 9, 65, 11,
67, 68, -1, -1, -1, 72, -1, -1, -1, 76,
-1, -1, -1, 80, 81, -1, -1, 29, -1, 31,
-1, 33, 34, 35, -1, -1, -1, -1, -1, 41,
-1, -1, 44, -1, -1, -1, -1, 49, 50, 51,
-1, -1, -1, 55, 56, -1, 3, -1, 60, 61,
-1, 8, 9, 65, 11, 67, 68, -1, -1, -1,
72, -1, -1, -1, 76, -1, -1, -1, 80, 81,
-1, -1, 29, -1, 31, -1, 33, 34, 35, -1,
-1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
-1, -1, 49, 50, 51, -1, -1, -1, 55, 56,
-1, 3, -1, 60, 61, -1, 8, 9, 65, 11,
67, 68, -1, -1, -1, 72, -1, -1, -1, 76,
-1, -1, -1, 80, 81, -1, -1, 29, -1, 31,
-1, 33, 34, 35, -1, -1, -1, -1, -1, 41,
-1, -1, 44, -1, -1, -1, -1, 49, 50, 51,
-1, -1, -1, 55, 56, -1, 3, -1, 60, 61,
-1, 8, 9, 65, 11, 67, 68, -1, -1, -1,
72, -1, -1, -1, 76, -1, -1, -1, 80, 81,
-1, -1, 29, -1, 31, -1, 33, 34, 35, -1,
-1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
-1, -1, 49, 50, 51, -1, -1, -1, 55, 56,
-1, 3, -1, 60, 61, -1, 8, 9, 65, 11,
67, 68, -1, -1, -1, 72, -1, -1, -1, 76,
-1, -1, -1, 80, 81, -1, -1, 29, -1, 31,
-1, 33, 34, 35, -1, -1, -1, -1, -1, 41,
-1, -1, 44, -1, -1, -1, -1, 49, 50, 51,
-1, -1, -1, 55, 56, -1, -1, -1, 60, 61,
-1, -1, -1, 65, -1, 67, 68, -1, -1, -1,
72, -1, -1, -1, 76, -1, -1, 1, 80, 81,
4, -1, 6, 7, -1, -1, -1, -1, 12, 13,
14, -1, -1, -1, 1, -1, -1, 4, -1, 6,
7, -1, -1, -1, 28, 12, 13, 14, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 28, 46, -1, -1, -1, -1, -1, -1, -1,
1, -1, 3, 4, 5, 6, 7, -1, -1, 46,
-1, 12, 13, 14, 68, 69, 70, 71, -1, 73,
-1, -1, -1, -1, 78, 79, 27, 28, -1, 30,
31, 68, 69, 70, 71, -1, 73, -1, -1, -1,
-1, 78, 79, -1, -1, 46, -1, -1, 49, 50,
51, -1, -1, -1, -1, -1, -1, -1, -1, 60,
-1, 62, 63, 64, -1, -1, -1, 68, -1, -1,
-1, 72, 73, 74, 75, -1, 1, 78, 3, 4,
5, 6, 7, -1, -1, -1, -1, 12, 13, 14,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 28, 1, 30, 3, 4, 5, 6,
7, -1, -1, -1, -1, 12, 13, 14, -1, -1,
-1, 46, -1, -1, 49, 50, 51, -1, -1, -1,
-1, 28, -1, 30, -1, 60, -1, -1, -1, -1,
-1, -1, -1, 68, -1, -1, -1, -1, 73, 46,
-1, -1, -1, 78, 51, 1, -1, -1, 4, 5,
6, 7, -1, 60, 10, -1, 12, 13, 14, -1,
4, 68, 6, 7, -1, -1, 73, -1, 12, 13,
14, 78, 28, -1, 30, -1, -1, 4, 5, 6,
7, -1, -1, -1, 28, 12, 13, 14, -1, -1,
46, -1, -1, -1, -1, -1, 4, 5, 6, 7,
-1, 28, 46, 30, 12, 13, 14, -1, -1, -1,
-1, -1, 68, -1, -1, -1, -1, 73, -1, 46,
28, 77, 30, -1, 68, -1, -1, -1, -1, 73,
-1, -1, -1, -1, 78, 79, -1, -1, 46, -1,
-1, 68, -1, -1, -1, -1, 73, 4, 5, 6,
7, 78, -1, -1, -1, 12, 13, 14, -1, -1,
68, -1, -1, -1, -1, 73, 4, 5, 6, 7,
78, 28, -1, 30, 12, 13, 14, -1, -1, -1,
1, -1, -1, 4, -1, 6, 7, -1, -1, 46,
28, 12, 13, 14, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 28, 46, -1,
31, 68, -1, -1, -1, -1, 73, -1, -1, -1,
-1, 78, -1, -1, -1, 46, -1, -1, -1, -1,
68, -1, -1, -1, -1, 73, -1, -1, -1, -1,
78, -1, -1, -1, -1, 3, 4, 68, 6, 7,
-1, -1, 73, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, -1, -1, -1, 3, 4, -1, 6, 7,
-1, 39, -1, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 60, -1, -1, -1, -1, -1, -1, -1,
68, 39, -1, 3, 4, 73, 6, 7, -1, -1,
-1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
68, -1, -1, 3, 4, 73, 6, 7, -1, 39,
-1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
-1, -1, 4, -1, 6, 7, -1, -1, 68, 39,
12, 13, 14, 73, -1, 4, 5, 6, 7, -1,
-1, 10, -1, 12, 13, 14, 28, -1, 30, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 68, 28,
-1, 30, -1, 73, 46, -1, -1, -1, -1, 51,
-1, -1, -1, -1, -1, -1, -1, 46, 60, 61,
-1, -1, -1, -1, -1, -1, 68, 4, 5, 6,
7, 73, -1, 10, -1, 12, 13, 14, -1, 68,
4, 5, 6, 7, 73, -1, -1, -1, 12, 13,
14, 28, -1, 30, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 28, -1, 30, -1, -1, 46,
4, 5, 6, 7, -1, -1, -1, -1, 12, 13,
14, -1, 46, -1, -1, -1, -1, -1, -1, -1,
-1, 68, -1, -1, 28, -1, 73, -1, 4, 5,
6, 7, -1, -1, 68, -1, 12, 13, 14, 73,
-1, 4, 46, 6, 7, -1, -1, -1, -1, 12,
13, 14, 28, 4, -1, 6, 7, -1, -1, -1,
-1, 12, 13, 14, 68, 28, -1, -1, -1, 73,
46, -1, -1, -1, -1, -1, -1, 28, -1, -1,
-1, -1, -1, 46, -1, -1, -1, -1, -1, -1,
-1, -1, 68, -1, -1, 46, -1, 73, -1, -1,
-1, -1, -1, -1, -1, 68, -1, -1, -1, -1,
73, 10, -1, -1, -1, -1, -1, 68, -1, 36,
37, 38, 73, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, -1, -1, -1, 30, -1,
-1, -1, -1, -1, 36, 37, 38, 84, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
36, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53
};
#line 3 "/usr/share/bison.simple"
#ifndef YYSTACK_USE_ALLOCA
#ifdef alloca
#define YYSTACK_USE_ALLOCA
#else
#ifdef __GNUC__
#define YYSTACK_USE_ALLOCA
#define alloca __builtin_alloca
#else
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
#define YYSTACK_USE_ALLOCA
#include <alloca.h>
#else
#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
#if 0
#include <malloc.h>
#endif
#else
#if defined(_AIX)
#pragma alloca
#define YYSTACK_USE_ALLOCA
#else
#if 0
#ifdef __hpux
#define YYSTACK_USE_ALLOCA
#define alloca __builtin_alloca
#endif
#endif
#endif
#endif
#endif
#endif
#endif
#endif
#ifdef YYSTACK_USE_ALLOCA
#define YYSTACK_ALLOC alloca
#else
#define YYSTACK_ALLOC malloc
#endif
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
#define YYEMPTY -2
#define YYEOF 0
#define YYACCEPT goto yyacceptlab
#define YYABORT goto yyabortlab
#define YYERROR goto yyerrlab1
#define YYFAIL goto yyerrlab
#define YYRECOVERING() (!!yyerrstatus)
#define YYBACKUP(token, value) \
do \
if (yychar == YYEMPTY && yylen == 1) \
{ yychar = (token), yylval = (value); \
yychar1 = YYTRANSLATE (yychar); \
YYPOPSTACK; \
goto yybackup; \
} \
else \
{ yyerror ("syntax error: cannot back up"); YYERROR; } \
while (0)
#define YYTERROR 1
#define YYERRCODE 256
#ifndef YYPURE
#define YYLEX yylex()
#endif
#ifdef YYPURE
#ifdef YYLSP_NEEDED
#ifdef YYLEX_PARAM
#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
#else
#define YYLEX yylex(&yylval, &yylloc)
#endif
#else
#ifdef YYLEX_PARAM
#define YYLEX yylex(&yylval, YYLEX_PARAM)
#else
#define YYLEX yylex(&yylval)
#endif
#endif
#endif
#ifndef YYPURE
int yychar;
YYSTYPE yylval;
#ifdef YYLSP_NEEDED
YYLTYPE yylloc;
#endif
int yynerrs;
#endif
#if YYDEBUG != 0
int yydebug;
#endif
#ifndef YYINITDEPTH
#define YYINITDEPTH 200
#endif
#if YYMAXDEPTH == 0
#undef YYMAXDEPTH
#endif
#ifndef YYMAXDEPTH
#define YYMAXDEPTH 10000
#endif
#if __GNUC__ > 1
#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
#else
#ifndef __cplusplus
static void
__yy_memcpy (to, from, count)
char *to;
char *from;
unsigned int count;
{
register char *f = from;
register char *t = to;
register int i = count;
while (i-- > 0)
*t++ = *f++;
}
#else
static void
__yy_memcpy (char *to, char *from, unsigned int count)
{
register char *t = to;
register char *f = from;
register int i = count;
while (i-- > 0)
*t++ = *f++;
}
#endif
#endif
#line 217 "/usr/share/bison.simple"
#ifdef YYPARSE_PARAM
#ifdef __cplusplus
#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
#define YYPARSE_PARAM_DECL
#else
#define YYPARSE_PARAM_ARG YYPARSE_PARAM
#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
#endif
#else
#define YYPARSE_PARAM_ARG
#define YYPARSE_PARAM_DECL
#endif
#ifdef __GNUC__
#ifdef YYPARSE_PARAM
int yyparse (void *);
#else
int yyparse (void);
#endif
#endif
int
yyparse(YYPARSE_PARAM_ARG)
YYPARSE_PARAM_DECL
{
register int yystate;
register int yyn;
register short *yyssp;
register YYSTYPE *yyvsp;
int yyerrstatus;
int yychar1 = 0;
short yyssa[YYINITDEPTH];
YYSTYPE yyvsa[YYINITDEPTH];
short *yyss = yyssa;
YYSTYPE *yyvs = yyvsa;
#ifdef YYLSP_NEEDED
YYLTYPE yylsa[YYINITDEPTH];
YYLTYPE *yyls = yylsa;
YYLTYPE *yylsp;
#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
#else
#define YYPOPSTACK (yyvsp--, yyssp--)
#endif
int yystacksize = YYINITDEPTH;
int yyfree_stacks = 0;
#ifdef YYPURE
int yychar;
YYSTYPE yylval;
int yynerrs;
#ifdef YYLSP_NEEDED
YYLTYPE yylloc;
#endif
#endif
YYSTYPE yyval;
int yylen;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Starting parse\n");
#endif
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
yychar = YYEMPTY;
yyssp = yyss - 1;
yyvsp = yyvs;
#ifdef YYLSP_NEEDED
yylsp = yyls;
#endif
yynewstate:
*++yyssp = yystate;
if (yyssp >= yyss + yystacksize - 1)
{
YYSTYPE *yyvs1 = yyvs;
short *yyss1 = yyss;
#ifdef YYLSP_NEEDED
YYLTYPE *yyls1 = yyls;
#endif
int size = yyssp - yyss + 1;
#ifdef yyoverflow
#ifdef YYLSP_NEEDED
yyoverflow("parser stack overflow",
&yyss1, size * sizeof (*yyssp),
&yyvs1, size * sizeof (*yyvsp),
&yyls1, size * sizeof (*yylsp),
&yystacksize);
#else
yyoverflow("parser stack overflow",
&yyss1, size * sizeof (*yyssp),
&yyvs1, size * sizeof (*yyvsp),
&yystacksize);
#endif
yyss = yyss1; yyvs = yyvs1;
#ifdef YYLSP_NEEDED
yyls = yyls1;
#endif
#else
if (yystacksize >= YYMAXDEPTH)
{
yyerror("parser stack overflow");
if (yyfree_stacks)
{
free (yyss);
free (yyvs);
#ifdef YYLSP_NEEDED
free (yyls);
#endif
}
return 2;
}
yystacksize *= 2;
if (yystacksize > YYMAXDEPTH)
yystacksize = YYMAXDEPTH;
#ifndef YYSTACK_USE_ALLOCA
yyfree_stacks = 1;
#endif
yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
__yy_memcpy ((char *)yyss, (char *)yyss1,
size * (unsigned int) sizeof (*yyssp));
yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
__yy_memcpy ((char *)yyvs, (char *)yyvs1,
size * (unsigned int) sizeof (*yyvsp));
#ifdef YYLSP_NEEDED
yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
__yy_memcpy ((char *)yyls, (char *)yyls1,
size * (unsigned int) sizeof (*yylsp));
#endif
#endif
yyssp = yyss + size - 1;
yyvsp = yyvs + size - 1;
#ifdef YYLSP_NEEDED
yylsp = yyls + size - 1;
#endif
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Stack size increased to %d\n", yystacksize);
#endif
if (yyssp >= yyss + yystacksize - 1)
YYABORT;
}
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Entering state %d\n", yystate);
#endif
goto yybackup;
yybackup:
yyn = yypact[yystate];
if (yyn == YYFLAG)
goto yydefault;
if (yychar == YYEMPTY)
{
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Reading a token: ");
#endif
yychar = YYLEX;
}
if (yychar <= 0)
{
yychar1 = 0;
yychar = YYEOF;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Now at end of input.\n");
#endif
}
else
{
yychar1 = YYTRANSLATE(yychar);
#if YYDEBUG != 0
if (yydebug)
{
fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
#ifdef YYPRINT
YYPRINT (stderr, yychar, yylval);
#endif
fprintf (stderr, ")\n");
}
#endif
}
yyn += yychar1;
if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
goto yydefault;
yyn = yytable[yyn];
if (yyn < 0)
{
if (yyn == YYFLAG)
goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
else if (yyn == 0)
goto yyerrlab;
if (yyn == YYFINAL)
YYACCEPT;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
#endif
if (yychar != YYEOF)
yychar = YYEMPTY;
*++yyvsp = yylval;
#ifdef YYLSP_NEEDED
*++yylsp = yylloc;
#endif
if (yyerrstatus) yyerrstatus--;
yystate = yyn;
goto yynewstate;
yydefault:
yyn = yydefact[yystate];
if (yyn == 0)
goto yyerrlab;
yyreduce:
yylen = yyr2[yyn];
if (yylen > 0)
yyval = yyvsp[1-yylen];
#if YYDEBUG != 0
if (yydebug)
{
int i;
fprintf (stderr, "Reducing via rule %d (line %d), ",
yyn, yyrline[yyn]);
for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
fprintf (stderr, "%s ", yytname[yyrhs[i]]);
fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
}
#endif
switch (yyn) {
case 1:
#line 274 "objc-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids an empty source file");
finish_file ();
;
break;}
case 2:
#line 279 "objc-parse.y"
{
while (! global_bindings_p ())
poplevel (0, 0, 0);
finish_file ();
;
break;}
case 3:
#line 293 "objc-parse.y"
{yyval.ttype = NULL_TREE; ;
break;}
case 5:
#line 294 "objc-parse.y"
{yyval.ttype = NULL_TREE; ;
break;}
case 10:
#line 302 "objc-parse.y"
{ STRIP_NOPS (yyvsp[-2].ttype);
if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
|| TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
assemble_asm (yyvsp[-2].ttype);
else
error ("argument of `asm' is not a constant string"); ;
break;}
case 11:
#line 310 "objc-parse.y"
{ pedantic = yyvsp[-1].itype; ;
break;}
case 12:
#line 316 "objc-parse.y"
{ if (pedantic)
error ("ANSI C forbids data definition with no type or storage class");
else if (!flag_traditional)
warning ("data definition has no type or storage class");
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 13:
#line 326 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 14:
#line 331 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 15:
#line 336 "objc-parse.y"
{ pedwarn ("empty declaration"); ;
break;}
case 16:
#line 338 "objc-parse.y"
{ shadow_tag (yyvsp[-1].ttype); ;
break;}
case 19:
#line 342 "objc-parse.y"
{ if (pedantic)
pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
break;}
case 20:
#line 348 "objc-parse.y"
{
#ifdef MODERN_OBJC_SYNTAX
if (flag_modern_objc_syntax && objc_implementation_context)
{
tree md = build_method_decl_from_ansiproto(yyvsp[0].ttype, yyvsp[-2].ttype,
objc_implementation_context);
start_method_def(md);
objc_method_context = md;
objc_receiver_context = 1;
}
else
{
#endif
if (! start_function (current_declspecs, yyvsp[0].ttype,
prefix_attributes, NULL_TREE, 0))
YYERROR1;
reinit_parse_for_function ();
#ifdef MODERN_OBJC_SYNTAX
}
#endif
;
break;}
case 21:
#line 371 "objc-parse.y"
{
#ifdef MODERN_OBJC_SYNTAX
if (objc_implementation_context && objc_method_context)
continue_method_def();
else
#endif
store_parm_decls ();
;
break;}
case 22:
#line 380 "objc-parse.y"
{
#ifdef MODERN_OBJC_SYNTAX
if (objc_implementation_context && objc_method_context)
{
finish_method_def();
objc_method_context = NULL_TREE;
objc_receiver_context = 0;
}
else
{
#endif
finish_function (0);
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-5].itype);
if (flag_dump_symbols)
printf ("-fm %u\n", lineno);
if (flag_gen_index)
dump_symbol_info ("-fm ", NULL, lineno);
#ifdef MODERN_OBJC_SYNTAX
}
#endif
;
break;}
case 23:
#line 405 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 24:
#line 410 "objc-parse.y"
{ if (! start_function (current_declspecs, yyvsp[0].ttype,
prefix_attributes, NULL_TREE, 0))
YYERROR1;
if (flag_dump_symbols)
printf ("+fm %s %u\n",
IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)), lineno);
if (flag_gen_index)
dump_symbol_info ("+fm ", IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)),
lineno);
reinit_parse_for_function (); ;
break;}
case 25:
#line 421 "objc-parse.y"
{ store_parm_decls (); ;
break;}
case 26:
#line 423 "objc-parse.y"
{
if (flag_dump_symbols)
printf ("-fm %u\n", lineno);
if (flag_gen_index)
dump_symbol_info ("-fm ", NULL, lineno);
finish_function (0);
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-5].itype); ;
break;}
case 27:
#line 434 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 28:
#line 439 "objc-parse.y"
{ if (! start_function (NULL_TREE, yyvsp[0].ttype,
prefix_attributes, NULL_TREE, 0))
YYERROR1;
if (flag_dump_symbols)
printf ("+fm %s %u\n",
IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)), lineno);
if (flag_gen_index)
dump_symbol_info ("+fm ", IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)),
lineno);
reinit_parse_for_function (); ;
break;}
case 29:
#line 450 "objc-parse.y"
{ store_parm_decls (); ;
break;}
case 30:
#line 452 "objc-parse.y"
{
if (flag_dump_symbols)
printf ("-fm %u\n", lineno);
if (flag_gen_index)
dump_symbol_info ("-fm ", NULL, lineno);
finish_function (0);
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-5].itype); ;
break;}
case 31:
#line 463 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 36:
#line 477 "objc-parse.y"
{ yyval.code = ADDR_EXPR; ;
break;}
case 37:
#line 479 "objc-parse.y"
{ yyval.code = NEGATE_EXPR; ;
break;}
case 38:
#line 481 "objc-parse.y"
{ yyval.code = CONVERT_EXPR; ;
break;}
case 39:
#line 483 "objc-parse.y"
{ yyval.code = PREINCREMENT_EXPR; ;
break;}
case 40:
#line 485 "objc-parse.y"
{ yyval.code = PREDECREMENT_EXPR; ;
break;}
case 41:
#line 487 "objc-parse.y"
{ yyval.code = BIT_NOT_EXPR; ;
break;}
case 42:
#line 489 "objc-parse.y"
{ yyval.code = TRUTH_NOT_EXPR; ;
break;}
case 43:
#line 493 "objc-parse.y"
{ yyval.ttype = last_compound_expr
= build_compound_expr (last_compound_list = yyvsp[0].ttype); ;
break;}
case 44:
#line 499 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 46:
#line 505 "objc-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 47:
#line 507 "objc-parse.y"
{ chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 49:
#line 513 "objc-parse.y"
{ yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
break;}
case 50:
#line 516 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
pedantic = yyvsp[-1].itype; ;
break;}
case 51:
#line 519 "objc-parse.y"
{ yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
overflow_warning (yyval.ttype); ;
break;}
case 52:
#line 523 "objc-parse.y"
{ tree label = lookup_label (yyvsp[0].ttype);
if (pedantic)
pedwarn ("ANSI C forbids `&&'");
if (label == 0)
yyval.ttype = null_pointer_node;
else
{
TREE_USED (label) = 1;
yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
TREE_CONSTANT (yyval.ttype) = 1;
}
;
break;}
case 53:
#line 551 "objc-parse.y"
{ skip_evaluation--;
if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
&& DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
error ("`sizeof' applied to a bit-field");
yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
break;}
case 54:
#line 557 "objc-parse.y"
{ skip_evaluation--;
yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
break;}
case 55:
#line 560 "objc-parse.y"
{ skip_evaluation--;
yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
break;}
case 56:
#line 563 "objc-parse.y"
{ skip_evaluation--;
yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
break;}
case 57:
#line 566 "objc-parse.y"
{ skip_evaluation--;
yyval.ttype = c_vec_step_expr (yyvsp[0].ttype); ;
break;}
case 58:
#line 569 "objc-parse.y"
{ skip_evaluation--;
yyval.ttype = c_vec_step (groktypename (yyvsp[-1].ttype)); ;
break;}
case 59:
#line 572 "objc-parse.y"
{ yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
break;}
case 60:
#line 574 "objc-parse.y"
{ yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
break;}
case 61:
#line 578 "objc-parse.y"
{ skip_evaluation++; ;
break;}
case 62:
#line 582 "objc-parse.y"
{ skip_evaluation++; ;
break;}
case 63:
#line 586 "objc-parse.y"
{ skip_evaluation++; ;
break;}
case 65:
#line 592 "objc-parse.y"
{ tree type = groktypename (yyvsp[-2].ttype);
tree last = yyvsp[0].ttype;
STRIP_NOPS(last);
if (TREE_CODE (type) == VECTOR_TYPE
&& yyvsp[0].ttype == last_compound_expr
&& ((TREE_CODE (last) == COMPOUND_EXPR)?
(TREE_CODE (TREE_VALUE(last)) == INTEGER_CST
|| TREE_CODE (TREE_VALUE(last)) == REAL_CST):
(TREE_CODE (last) == INTEGER_CST
|| TREE_CODE (last) == REAL_CST)))
yyval.ttype = build_vector_constant (type, last_compound_list);
else
yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
break;}
case 66:
#line 615 "objc-parse.y"
{ start_init (NULL_TREE, NULL, 0);
yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
really_start_incremental_init (yyvsp[-2].ttype); ;
break;}
case 67:
#line 619 "objc-parse.y"
{ char *name;
tree result = pop_init_level (0);
tree type = yyvsp[-5].ttype;
finish_init ();
if (pedantic && ! flag_isoc9x)
pedwarn ("ANSI C forbids constructor expressions");
if (TYPE_NAME (type) != 0)
{
if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
name = IDENTIFIER_POINTER (TYPE_NAME (type));
else
name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
}
else
name = "";
yyval.ttype = result;
if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
{
int failure = complete_array_type (type, yyval.ttype, 1);
if (failure)
abort ();
}
;
break;}
case 69:
#line 648 "objc-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 70:
#line 650 "objc-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 71:
#line 652 "objc-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 72:
#line 654 "objc-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 73:
#line 656 "objc-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 74:
#line 658 "objc-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 75:
#line 660 "objc-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 76:
#line 662 "objc-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 77:
#line 664 "objc-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 78:
#line 666 "objc-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 79:
#line 668 "objc-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 80:
#line 670 "objc-parse.y"
{ yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 81:
#line 672 "objc-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
break;}
case 82:
#line 675 "objc-parse.y"
{ skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
case 83:
#line 678 "objc-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
break;}
case 84:
#line 681 "objc-parse.y"
{ skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
case 85:
#line 684 "objc-parse.y"
{ yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
break;}
case 86:
#line 687 "objc-parse.y"
{ skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
- (yyvsp[-4].ttype == boolean_false_node)); ;
break;}
case 87:
#line 690 "objc-parse.y"
{ skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
case 88:
#line 693 "objc-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
yyvsp[0].ttype = save_expr (yyvsp[-1].ttype);
yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[0].ttype));
skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
break;}
case 89:
#line 700 "objc-parse.y"
{ skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
break;}
case 90:
#line 703 "objc-parse.y"
{ char class;
yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
if (class == 'e' || class == '1'
|| class == '2' || class == '<')
C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR);
;
break;}
case 91:
#line 711 "objc-parse.y"
{ char class;
yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
if (class == 'e' || class == '1'
|| class == '2' || class == '<')
C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK);
;
break;}
case 92:
#line 723 "objc-parse.y"
{
yyval.ttype = lastiddecl;
if (!yyval.ttype || yyval.ttype == error_mark_node)
{
if (yychar == YYEMPTY)
yychar = YYLEX;
if (yychar == '(')
{
tree decl;
if (objc_receiver_context
&& ! (objc_receiver_context
&& strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "super")))
yyval.ttype = get_super_receiver ();
else if (objc_method_context
&& (decl = is_ivar (objc_ivar_chain, yyvsp[0].ttype)))
{
if (is_private (decl))
yyval.ttype = error_mark_node;
else
yyval.ttype = build_ivar_reference (yyvsp[0].ttype);
}
else
{
yyval.ttype = implicitly_declare (yyvsp[0].ttype);
assemble_external (yyval.ttype);
TREE_USED (yyval.ttype) = 1;
}
}
else if (current_function_decl == 0)
{
error ("`%s' undeclared here (not in a function)",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = error_mark_node;
}
else
{
tree decl;
if (objc_receiver_context
&& ! strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "super"))
yyval.ttype = get_super_receiver ();
else if (objc_method_context
&& (decl = is_ivar (objc_ivar_chain, yyvsp[0].ttype)))
{
if (is_private (decl))
yyval.ttype = error_mark_node;
else
yyval.ttype = build_ivar_reference (yyvsp[0].ttype);
}
else
{
if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node
|| IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) != current_function_decl)
{
error ("`%s' undeclared (first use in this function)",
IDENTIFIER_POINTER (yyvsp[0].ttype));
if (! undeclared_variable_notice)
{
error ("(Each undeclared identifier is reported only once");
error ("for each function it appears in.)");
undeclared_variable_notice = 1;
}
}
yyval.ttype = error_mark_node;
IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) = current_function_decl;
}
}
}
else if (TREE_TYPE (yyval.ttype) == error_mark_node)
yyval.ttype = error_mark_node;
else if (C_DECL_ANTICIPATED (yyval.ttype))
{
C_DECL_ANTICIPATED (yyval.ttype) = 0;
if (yychar == YYEMPTY)
yychar = YYLEX;
if (yychar == '(')
{
if (objc_method_context
&& is_ivar (objc_ivar_chain, yyvsp[0].ttype))
error ("Instance variable `%s' implicitly declared as function",
IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
else
if (TREE_CODE (yyval.ttype) != FUNCTION_DECL)
error ("`%s' implicitly declared as function",
IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
else if ((TYPE_MODE (TREE_TYPE (TREE_TYPE (yyval.ttype)))
!= TYPE_MODE (integer_type_node))
&& (TREE_TYPE (TREE_TYPE (yyval.ttype))
!= void_type_node))
pedwarn ("type mismatch in implicit declaration for built-in function `%s'",
IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
if (TREE_TYPE (TREE_TYPE (yyval.ttype)) == void_type_node)
TREE_TYPE (yyval.ttype)
= build_function_type (integer_type_node,
TYPE_ARG_TYPES (TREE_TYPE (yyval.ttype)));
}
else
pedwarn ("built-in function `%s' used without declaration",
IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
assemble_external (yyval.ttype);
TREE_USED (yyval.ttype) = 1;
}
else
{
assemble_external (yyval.ttype);
TREE_USED (yyval.ttype) = 1;
if (!objc_receiver_context
|| (objc_receiver_context
&& strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "super")))
{
tree decl;
if (objc_method_context
&& (decl = is_ivar (objc_ivar_chain, yyvsp[0].ttype)))
{
if (IDENTIFIER_LOCAL_VALUE (yyvsp[0].ttype))
warning ("local declaration of `%s' hides instance variable",
IDENTIFIER_POINTER (yyvsp[0].ttype));
else
{
if (is_private (decl))
yyval.ttype = error_mark_node;
else
yyval.ttype = build_ivar_reference (yyvsp[0].ttype);
}
}
}
else
yyval.ttype = get_super_receiver ();
}
if (TREE_CODE (yyval.ttype) == CONST_DECL)
{
yyval.ttype = DECL_INITIAL (yyval.ttype);
yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
TREE_CONSTANT (yyval.ttype) = 1;
}
;
break;}
case 94:
#line 883 "objc-parse.y"
{ yyval.ttype = combine_strings (yyvsp[0].ttype); ;
break;}
case 95:
#line 885 "objc-parse.y"
{ char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
if (class == 'e' || class == '1'
|| class == '2' || class == '<')
C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK);
yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 96:
#line 891 "objc-parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
case 97:
#line 893 "objc-parse.y"
{ if (current_function_decl == 0)
{
error ("braced-group within expression allowed only inside a function");
YYERROR;
}
keep_next_level ();
push_iterator_stack ();
push_label_level ();
yyval.ttype = expand_start_stmt_expr (); ;
break;}
case 98:
#line 907 "objc-parse.y"
{ tree rtl_exp;
if (pedantic)
pedwarn ("ANSI C forbids braced-groups within expressions");
pop_iterator_stack ();
pop_label_level ();
rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
TREE_SIDE_EFFECTS (rtl_exp) = 1;
if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
{
yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
NULL_TREE, rtl_exp, yyvsp[-1].ttype);
delete_block (yyvsp[-1].ttype);
}
else
yyval.ttype = yyvsp[-1].ttype;
;
break;}
case 99:
#line 930 "objc-parse.y"
{
#ifdef MODERN_OBJC_SYNTAX
if (doing_objc_thang && flag_modern_objc_syntax &&
TREE_CODE (yyvsp[-3].ttype) == MODERN_MESSAGE_EXPR)
yyval.ttype = build_modern_message_expression(yyvsp[-3].ttype, yyvsp[-1].ttype);
else
#endif
yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype);
;
break;}
case 100:
#line 940 "objc-parse.y"
{ yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 101:
#line 942 "objc-parse.y"
{
#ifdef MODERN_OBJC_SYNTAX
if (doing_objc_thang && flag_modern_objc_syntax)
{
yyvsp[-2].ttype = get_class_reference (yyvsp[-2].ttype);
yyval.ttype = build (MODERN_MESSAGE_EXPR, TREE_TYPE (yyvsp[-2].ttype), yyvsp[-2].ttype, yyvsp[0].ttype);
}
else
#endif
yyval.ttype = error_mark_node;
;
break;}
case 102:
#line 954 "objc-parse.y"
{
if (doing_objc_thang
#ifdef MODERN_OBJC_SYNTAX
&& flag_modern_objc_syntax
#endif
)
{
#ifdef MODERN_OBJC_SYNTAX
if (looks_like_ansistyle_message_ref(yyvsp[-2].ttype, yyvsp[0].ttype))
yyval.ttype = build (MODERN_MESSAGE_EXPR, TREE_TYPE (yyvsp[-2].ttype),
yyvsp[-2].ttype, yyvsp[0].ttype);
else
#endif
if (is_public (yyvsp[-2].ttype, yyvsp[0].ttype))
yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
else
yyval.ttype = error_mark_node;
}
else
yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
;
break;}
case 103:
#line 976 "objc-parse.y"
{
tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
if (doing_objc_thang)
{
if (is_public (expr, yyvsp[0].ttype))
yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
else
yyval.ttype = error_mark_node;
}
else
yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
;
break;}
case 104:
#line 990 "objc-parse.y"
{ yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
break;}
case 105:
#line 992 "objc-parse.y"
{ yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
break;}
case 106:
#line 994 "objc-parse.y"
{ yyval.ttype = build_message_expr (yyvsp[0].ttype, 0); ;
break;}
case 107:
#line 996 "objc-parse.y"
{ yyval.ttype = build_selector_expr (yyvsp[0].ttype); ;
break;}
case 108:
#line 998 "objc-parse.y"
{ yyval.ttype = build_protocol_expr (yyvsp[0].ttype); ;
break;}
case 109:
#line 1000 "objc-parse.y"
{ yyval.ttype = build_encode_expr (yyvsp[0].ttype); ;
break;}
case 110:
#line 1002 "objc-parse.y"
{ yyval.ttype = build_objc_string_object (yyvsp[0].ttype); ;
break;}
case 112:
#line 1009 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 114:
#line 1017 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 117:
#line 1025 "objc-parse.y"
{ c_mark_varargs ();
if (pedantic)
pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
break;}
case 118:
#line 1035 "objc-parse.y"
{ ;
break;}
case 123:
#line 1051 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 124:
#line 1056 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 125:
#line 1061 "objc-parse.y"
{ shadow_tag_warned (yyvsp[-1].ttype, 1);
pedwarn ("empty declaration"); ;
break;}
case 126:
#line 1064 "objc-parse.y"
{ pedwarn ("empty declaration"); ;
break;}
case 127:
#line 1073 "objc-parse.y"
{ ;
break;}
case 132:
#line 1088 "objc-parse.y"
{ yyval.itype = suspend_momentary ();
pending_xref_error ();
declspec_stack = tree_cons (prefix_attributes,
current_declspecs,
declspec_stack);
split_specs_attrs (yyvsp[0].ttype,
¤t_declspecs, &prefix_attributes); ;
break;}
case 133:
#line 1099 "objc-parse.y"
{ prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ;
break;}
case 134:
#line 1104 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 135:
#line 1109 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 136:
#line 1114 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-1].itype); ;
break;}
case 137:
#line 1119 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-1].itype); ;
break;}
case 138:
#line 1124 "objc-parse.y"
{ shadow_tag (yyvsp[-1].ttype); ;
break;}
case 139:
#line 1126 "objc-parse.y"
{ pedwarn ("empty declaration"); ;
break;}
case 140:
#line 1128 "objc-parse.y"
{ pedantic = yyvsp[-1].itype; ;
break;}
case 141:
#line 1138 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 142:
#line 1140 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
break;}
case 143:
#line 1144 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 144:
#line 1146 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 145:
#line 1148 "objc-parse.y"
{ if (extra_warnings)
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 146:
#line 1153 "objc-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 147:
#line 1158 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 148:
#line 1160 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
break;}
case 149:
#line 1165 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 150:
#line 1167 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 151:
#line 1169 "objc-parse.y"
{ if (extra_warnings)
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 152:
#line 1182 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 153:
#line 1184 "objc-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
break;}
case 154:
#line 1186 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 155:
#line 1188 "objc-parse.y"
{ yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 156:
#line 1193 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 157:
#line 1196 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 158:
#line 1198 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = 1; ;
break;}
case 159:
#line 1201 "objc-parse.y"
{ if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
warning ("`%s' is not at beginning of declaration",
IDENTIFIER_POINTER (yyvsp[0].ttype));
yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
break;}
case 160:
#line 1215 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 161:
#line 1217 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
break;}
case 162:
#line 1221 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 163:
#line 1223 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 164:
#line 1231 "objc-parse.y"
{
objc_need_raw_identifier = 1; ;
break;}
case 166:
#line 1235 "objc-parse.y"
{
yyval.ttype = lookup_name (yyvsp[0].ttype); ;
break;}
case 167:
#line 1239 "objc-parse.y"
{ yyval.ttype = get_static_reference (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 168:
#line 1241 "objc-parse.y"
{ yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
break;}
case 169:
#line 1246 "objc-parse.y"
{ yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
break;}
case 170:
#line 1248 "objc-parse.y"
{ yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
break;}
case 171:
#line 1250 "objc-parse.y"
{ yyval.ttype = groktypename (yyvsp[-1].ttype); ;
break;}
case 179:
#line 1272 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 180:
#line 1274 "objc-parse.y"
{ if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
yyval.ttype = yyvsp[-1].ttype;
;
break;}
case 181:
#line 1281 "objc-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
yyvsp[-1].ttype, prefix_attributes);
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;}
case 182:
#line 1286 "objc-parse.y"
{ finish_init ();
finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
case 183:
#line 1289 "objc-parse.y"
{
#ifdef MODERN_OBJC_SYNTAX
if (flag_modern_objc_syntax && objc_interface_context &&
looks_like_ansistyle_method_decl(yyvsp[-2].ttype, current_declspecs))
{
build_method_decl_from_ansiproto(yyvsp[-2].ttype,
current_declspecs, objc_interface_context);
}
else
{
#endif
tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
yyvsp[0].ttype, prefix_attributes);
finish_decl (d, NULL_TREE, yyvsp[-1].ttype);
#ifdef MODERN_OBJC_SYNTAX
}
#endif
;
break;}
case 184:
#line 1311 "objc-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
yyvsp[-1].ttype, prefix_attributes);
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;}
case 185:
#line 1316 "objc-parse.y"
{ finish_init ();
decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes);
finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
break;}
case 186:
#line 1320 "objc-parse.y"
{ tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
yyvsp[0].ttype, prefix_attributes);
finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 187:
#line 1328 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 188:
#line 1330 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 189:
#line 1335 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 190:
#line 1337 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 191:
#line 1342 "objc-parse.y"
{ yyval.ttype = yyvsp[-2].ttype; ;
break;}
case 192:
#line 1347 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 193:
#line 1349 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 194:
#line 1354 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 195:
#line 1356 "objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 196:
#line 1358 "objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
break;}
case 197:
#line 1360 "objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
break;}
case 198:
#line 1362 "objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 204:
#line 1380 "objc-parse.y"
{ really_start_incremental_init (NULL_TREE);
push_momentary (); ;
break;}
case 205:
#line 1385 "objc-parse.y"
{ yyval.ttype = pop_init_level (0);
if (yyval.ttype == error_mark_node
&& ! (yychar == STRING || yychar == CONSTANT))
pop_momentary ();
else
pop_momentary_nofree (); ;
break;}
case 206:
#line 1393 "objc-parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
case 207:
#line 1399 "objc-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids empty initializer braces"); ;
break;}
case 213:
#line 1415 "objc-parse.y"
{ set_init_label (yyvsp[-1].ttype); ;
break;}
case 216:
#line 1422 "objc-parse.y"
{ push_init_level (0); ;
break;}
case 217:
#line 1424 "objc-parse.y"
{ process_init_element (pop_init_level (0)); ;
break;}
case 218:
#line 1426 "objc-parse.y"
{ process_init_element (yyvsp[0].ttype); ;
break;}
case 222:
#line 1437 "objc-parse.y"
{ set_init_label (yyvsp[0].ttype); ;
break;}
case 223:
#line 1442 "objc-parse.y"
{ set_init_index (yyvsp[-4].ttype, yyvsp[-2].ttype); ;
break;}
case 225:
#line 1445 "objc-parse.y"
{ set_init_index (yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 227:
#line 1448 "objc-parse.y"
{ set_init_index (yyvsp[-1].ttype, NULL_TREE); ;
break;}
case 229:
#line 1451 "objc-parse.y"
{ set_init_label (yyvsp[-1].ttype); ;
break;}
case 231:
#line 1454 "objc-parse.y"
{ set_init_label (yyvsp[-1].ttype); ;
break;}
case 233:
#line 1460 "objc-parse.y"
{ push_c_function_context ();
if (! start_function (current_declspecs, yyvsp[0].ttype,
prefix_attributes, NULL_TREE, 1))
{
pop_c_function_context ();
YYERROR1;
}
if (flag_dump_symbols)
printf ("+fm %s %u\n",
IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)), lineno);
if (flag_gen_index)
dump_symbol_info ("+fm ", IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)),
lineno);
reinit_parse_for_function (); ;
break;}
case 234:
#line 1475 "objc-parse.y"
{ store_parm_decls (); ;
break;}
case 235:
#line 1483 "objc-parse.y"
{
if (flag_dump_symbols)
printf ("-fm %u\n", lineno);
if (flag_gen_index)
dump_symbol_info ("-fm ", NULL, lineno);
finish_function (1);
pop_c_function_context (); ;
break;}
case 236:
#line 1494 "objc-parse.y"
{ push_c_function_context ();
if (! start_function (current_declspecs, yyvsp[0].ttype,
prefix_attributes, NULL_TREE, 1))
{
pop_c_function_context ();
YYERROR1;
}
if (flag_dump_symbols)
printf ("+fm %s %u\n",
IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)), lineno);
if (flag_gen_index)
dump_symbol_info ("+fm ", IDENTIFIER_POINTER (TREE_OPERAND (yyvsp[0].ttype,0)),
lineno);
reinit_parse_for_function (); ;
break;}
case 237:
#line 1509 "objc-parse.y"
{ store_parm_decls (); ;
break;}
case 238:
#line 1517 "objc-parse.y"
{
if (flag_dump_symbols)
printf ("-fm %u\n", lineno);
if (flag_gen_index)
dump_symbol_info ("-fm ", NULL, lineno);
finish_function (1);
pop_c_function_context (); ;
break;}
case 241:
#line 1538 "objc-parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 242:
#line 1540 "objc-parse.y"
{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 243:
#line 1545 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 244:
#line 1547 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 245:
#line 1549 "objc-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 246:
#line 1556 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 249:
#line 1568 "objc-parse.y"
{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 250:
#line 1573 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 251:
#line 1575 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 252:
#line 1577 "objc-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 253:
#line 1584 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 256:
#line 1594 "objc-parse.y"
{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 257:
#line 1599 "objc-parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 258:
#line 1601 "objc-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 259:
#line 1603 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 260:
#line 1605 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 261:
#line 1612 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 263:
#line 1618 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 264:
#line 1620 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 265:
#line 1625 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 266:
#line 1627 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 267:
#line 1632 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 268:
#line 1634 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 269:
#line 1639 "objc-parse.y"
{ yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
;
break;}
case 270:
#line 1643 "objc-parse.y"
{ yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;}
case 271:
#line 1645 "objc-parse.y"
{ yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
;
break;}
case 272:
#line 1649 "objc-parse.y"
{ yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
break;}
case 273:
#line 1651 "objc-parse.y"
{ yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
break;}
case 274:
#line 1653 "objc-parse.y"
{ yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
break;}
case 275:
#line 1655 "objc-parse.y"
{ yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
;
break;}
case 276:
#line 1659 "objc-parse.y"
{ yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
break;}
case 277:
#line 1661 "objc-parse.y"
{ yyvsp[0].itype = suspend_momentary ();
yyval.ttype = start_enum (yyvsp[-1].ttype); ;
break;}
case 278:
#line 1664 "objc-parse.y"
{ yyval.ttype= finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), chainon (yyvsp[-7].ttype, yyvsp[0].ttype));
resume_momentary (yyvsp[-5].itype); ;
break;}
case 279:
#line 1667 "objc-parse.y"
{ yyvsp[0].itype = suspend_momentary ();
yyval.ttype = start_enum (NULL_TREE); ;
break;}
case 280:
#line 1670 "objc-parse.y"
{ yyval.ttype= finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype), chainon (yyvsp[-6].ttype, yyvsp[0].ttype));
resume_momentary (yyvsp[-5].itype); ;
break;}
case 281:
#line 1673 "objc-parse.y"
{ yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
break;}
case 285:
#line 1684 "objc-parse.y"
{ if (pedantic && ! flag_isoc9x)
pedwarn ("comma at end of enumerator list"); ;
break;}
case 286:
#line 1690 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 287:
#line 1692 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
pedwarn ("no semicolon at end of struct or union"); ;
break;}
case 288:
#line 1697 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 289:
#line 1699 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
case 290:
#line 1701 "objc-parse.y"
{ if (pedantic)
pedwarn ("extra semicolon in struct or union specified"); ;
break;}
case 291:
#line 1705 "objc-parse.y"
{
tree interface = lookup_interface (yyvsp[-1].ttype);
if (interface)
yyval.ttype = get_class_ivars (interface);
else
{
error ("Cannot find interface declaration for `%s'",
IDENTIFIER_POINTER (yyvsp[-1].ttype));
yyval.ttype = NULL_TREE;
}
;
break;}
case 292:
#line 1730 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-1].itype); ;
break;}
case 293:
#line 1736 "objc-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids member declarations with no members");
shadow_tag(yyvsp[0].ttype);
yyval.ttype = NULL_TREE; ;
break;}
case 294:
#line 1741 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-1].itype); ;
break;}
case 295:
#line 1747 "objc-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids member declarations with no members");
shadow_tag(yyvsp[0].ttype);
yyval.ttype = NULL_TREE; ;
break;}
case 296:
#line 1752 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 297:
#line 1754 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
pedantic = yyvsp[-1].itype; ;
break;}
case 299:
#line 1761 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 300:
#line 1766 "objc-parse.y"
{ yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
case 301:
#line 1770 "objc-parse.y"
{ yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
case 302:
#line 1773 "objc-parse.y"
{ yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
break;}
case 304:
#line 1785 "objc-parse.y"
{ if (yyvsp[-2].ttype == error_mark_node)
yyval.ttype = yyvsp[-2].ttype;
else
yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
break;}
case 305:
#line 1790 "objc-parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
case 306:
#line 1796 "objc-parse.y"
{ yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 307:
#line 1798 "objc-parse.y"
{ yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 308:
#line 1803 "objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 309:
#line 1805 "objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 310:
#line 1810 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 312:
#line 1816 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 313:
#line 1818 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 314:
#line 1823 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 315:
#line 1825 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 316:
#line 1830 "objc-parse.y"
{ yyval.ttype = yyvsp[-1].ttype; ;
break;}
case 317:
#line 1833 "objc-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 318:
#line 1835 "objc-parse.y"
{ yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 319:
#line 1837 "objc-parse.y"
{ yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 320:
#line 1839 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 321:
#line 1841 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
break;}
case 322:
#line 1843 "objc-parse.y"
{ yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 323:
#line 1845 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 324:
#line 1847 "objc-parse.y"
{ yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
break;}
case 325:
#line 1851 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 326:
#line 1860 "objc-parse.y"
{
if (pedantic && yyvsp[0].ends_in_label)
pedwarn ("ANSI C forbids label at end of compound statement");
;
break;}
case 328:
#line 1869 "objc-parse.y"
{ yyval.ends_in_label = yyvsp[0].ends_in_label; ;
break;}
case 329:
#line 1871 "objc-parse.y"
{ yyval.ends_in_label = 0; ;
break;}
case 333:
#line 1883 "objc-parse.y"
{ emit_line_note (input_filename, lineno);
pushlevel (0);
clear_last_expr ();
push_momentary ();
expand_start_bindings (0);
if (objc_method_context)
add_objc_decls ();
;
break;}
case 335:
#line 1898 "objc-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids label declarations"); ;
break;}
case 338:
#line 1909 "objc-parse.y"
{ tree link;
for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
{
tree label = shadow_label (TREE_VALUE (link));
C_DECLARED_LABEL_FLAG (label) = 1;
declare_nonlocal_label (label);
}
;
break;}
case 339:
#line 1923 "objc-parse.y"
{;
break;}
case 341:
#line 1927 "objc-parse.y"
{ compstmt_count++; ;
break;}
case 342:
#line 1930 "objc-parse.y"
{ yyval.ttype = convert (void_type_node, integer_zero_node); ;
break;}
case 343:
#line 1932 "objc-parse.y"
{ emit_line_note (input_filename, lineno);
expand_end_bindings (getdecls (), 1, 0);
yyval.ttype = poplevel (1, 1, 0);
if (yychar == CONSTANT || yychar == STRING)
pop_momentary_nofree ();
else
pop_momentary (); ;
break;}
case 344:
#line 1940 "objc-parse.y"
{ emit_line_note (input_filename, lineno);
expand_end_bindings (getdecls (), kept_level_p (), 0);
yyval.ttype = poplevel (kept_level_p (), 0, 0);
if (yychar == CONSTANT || yychar == STRING)
pop_momentary_nofree ();
else
pop_momentary (); ;
break;}
case 345:
#line 1948 "objc-parse.y"
{ emit_line_note (input_filename, lineno);
expand_end_bindings (getdecls (), kept_level_p (), 0);
yyval.ttype = poplevel (kept_level_p (), 0, 0);
if (yychar == CONSTANT || yychar == STRING)
pop_momentary_nofree ();
else
pop_momentary (); ;
break;}
case 348:
#line 1968 "objc-parse.y"
{ emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0,
compstmt_count);
yyval.itype = stmt_count;
if_stmt_file = yyvsp[-5].filename;
if_stmt_line = yyvsp[-4].lineno;
position_after_white_space (); ;
break;}
case 349:
#line 1982 "objc-parse.y"
{ stmt_count++;
compstmt_count++;
emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
emit_nop ();
expand_start_loop_continue_elsewhere (1);
position_after_white_space (); ;
break;}
case 350:
#line 1990 "objc-parse.y"
{ expand_loop_continue_here (); ;
break;}
case 351:
#line 1994 "objc-parse.y"
{ yyval.filename = input_filename; ;
break;}
case 352:
#line 1998 "objc-parse.y"
{ yyval.lineno = lineno; ;
break;}
case 353:
#line 2003 "objc-parse.y"
{ ;
break;}
case 354:
#line 2008 "objc-parse.y"
{ ;
break;}
case 355:
#line 2013 "objc-parse.y"
{ yyval.ends_in_label = yyvsp[0].ends_in_label; ;
break;}
case 356:
#line 2018 "objc-parse.y"
{ yyval.ends_in_label = 0; ;
break;}
case 357:
#line 2020 "objc-parse.y"
{ yyval.ends_in_label = 1; ;
break;}
case 358:
#line 2026 "objc-parse.y"
{ stmt_count++; ;
break;}
case 360:
#line 2029 "objc-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
#if 0
if (TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == ARRAY_TYPE
|| TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == FUNCTION_TYPE)
yyvsp[-1].ttype = default_conversion (yyvsp[-1].ttype);
#endif
iterator_expand (yyvsp[-1].ttype);
clear_momentary (); ;
break;}
case 361:
#line 2046 "objc-parse.y"
{ c_expand_start_else ();
yyvsp[-1].itype = stmt_count;
position_after_white_space (); ;
break;}
case 362:
#line 2050 "objc-parse.y"
{ c_expand_end_cond ();
if (extra_warnings && stmt_count == yyvsp[-3].itype)
warning ("empty body in an else-statement"); ;
break;}
case 363:
#line 2054 "objc-parse.y"
{ c_expand_end_cond ();
if (extra_warnings && stmt_count++ == yyvsp[0].itype)
warning_with_file_and_line (if_stmt_file, if_stmt_line,
"empty body in an if-statement"); ;
break;}
case 364:
#line 2066 "objc-parse.y"
{ c_expand_end_cond (); ;
break;}
case 365:
#line 2068 "objc-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
emit_nop (); ;
break;}
case 366:
#line 2078 "objc-parse.y"
{
expand_start_loop (1);
emit_line_note (input_filename, lineno);
expand_exit_loop_if_false (NULL_PTR,
truthvalue_conversion (yyvsp[-1].ttype));
position_after_white_space (); ;
break;}
case 367:
#line 2087 "objc-parse.y"
{ expand_end_loop (); ;
break;}
case 368:
#line 2090 "objc-parse.y"
{ emit_line_note (input_filename, lineno);
expand_exit_loop_if_false (NULL_PTR,
truthvalue_conversion (yyvsp[-2].ttype));
expand_end_loop ();
clear_momentary (); ;
break;}
case 369:
#line 2097 "objc-parse.y"
{ expand_end_loop ();
clear_momentary (); ;
break;}
case 370:
#line 2101 "objc-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
emit_nop ();
if (yyvsp[-1].ttype) c_expand_expr_stmt (yyvsp[-1].ttype);
;
break;}
case 371:
#line 2113 "objc-parse.y"
{ yyvsp[0].lineno = lineno;
yyval.filename = input_filename; ;
break;}
case 372:
#line 2116 "objc-parse.y"
{
expand_start_loop_continue_elsewhere (1);
emit_line_note (yyvsp[-2].filename, yyvsp[-3].lineno);
if (yyvsp[-4].ttype)
expand_exit_loop_if_false (NULL_PTR,
truthvalue_conversion (yyvsp[-4].ttype));
push_momentary ();
yyvsp[-3].lineno = lineno;
yyvsp[-2].filename = input_filename;
position_after_white_space (); ;
break;}
case 373:
#line 2132 "objc-parse.y"
{
emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno);
expand_loop_continue_here ();
if (yyvsp[-3].ttype)
c_expand_expr_stmt (yyvsp[-3].ttype);
if (yychar == CONSTANT || yychar == STRING)
pop_momentary_nofree ();
else
pop_momentary ();
expand_end_loop (); ;
break;}
case 374:
#line 2143 "objc-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
c_expand_start_case (yyvsp[-1].ttype);
push_momentary ();
position_after_white_space (); ;
break;}
case 375:
#line 2151 "objc-parse.y"
{ expand_end_case (yyvsp[-3].ttype);
if (yychar == CONSTANT || yychar == STRING)
pop_momentary_nofree ();
else
pop_momentary (); ;
break;}
case 376:
#line 2157 "objc-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
if ( ! expand_exit_something ())
error ("break statement not within loop or switch"); ;
break;}
case 377:
#line 2162 "objc-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
if (! expand_continue_loop (NULL_PTR))
error ("continue statement not within a loop"); ;
break;}
case 378:
#line 2167 "objc-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
c_expand_return (NULL_TREE); ;
break;}
case 379:
#line 2171 "objc-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
c_expand_return (yyvsp[-1].ttype); ;
break;}
case 380:
#line 2175 "objc-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
STRIP_NOPS (yyvsp[-2].ttype);
if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
&& TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
|| TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
expand_asm (yyvsp[-2].ttype);
else
error ("argument of `asm' is not a constant string"); ;
break;}
case 381:
#line 2186 "objc-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
input_filename, lineno); ;
break;}
case 382:
#line 2193 "objc-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
input_filename, lineno); ;
break;}
case 383:
#line 2201 "objc-parse.y"
{ stmt_count++;
emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
input_filename, lineno); ;
break;}
case 384:
#line 2207 "objc-parse.y"
{ tree decl;
stmt_count++;
emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
decl = lookup_label (yyvsp[-1].ttype);
if (decl != 0)
{
TREE_USED (decl) = 1;
expand_goto (decl);
}
;
break;}
case 385:
#line 2218 "objc-parse.y"
{ if (pedantic)
pedwarn ("ANSI C forbids `goto *expr;'");
stmt_count++;
emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
break;}
case 388:
#line 2233 "objc-parse.y"
{
yyval.itype = 0;
if (TREE_CODE (yyvsp[-1].ttype) != VAR_DECL)
error ("invalid `for (ITERATOR)' syntax");
else if (! ITERATOR_P (yyvsp[-1].ttype))
error ("`%s' is not an iterator",
IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
else if (ITERATOR_BOUND_P (yyvsp[-1].ttype))
error ("`for (%s)' inside expansion of same iterator",
IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
else
{
yyval.itype = 1;
iterator_for_loop_start (yyvsp[-1].ttype);
}
;
break;}
case 389:
#line 2254 "objc-parse.y"
{
if (yyvsp[-1].itype)
iterator_for_loop_end (yyvsp[-3].ttype);
;
break;}
case 390:
#line 2289 "objc-parse.y"
{ register tree value = check_case_value (yyvsp[-1].ttype);
register tree label
= build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
stmt_count++;
if (value != error_mark_node)
{
tree duplicate;
int success;
if (pedantic && ! INTEGRAL_TYPE_P (TREE_TYPE (value)))
pedwarn ("label must have integral type in ANSI C");
success = pushcase (value, convert_and_check,
label, &duplicate);
if (success == 1)
error ("case label not within a switch statement");
else if (success == 2)
{
error ("duplicate case value");
error_with_decl (duplicate, "this is the first entry for that value");
}
else if (success == 3)
warning ("case value out of range");
else if (success == 5)
error ("case label within scope of cleanup or variable array");
}
position_after_white_space (); ;
break;}
case 391:
#line 2320 "objc-parse.y"
{ register tree value1 = check_case_value (yyvsp[-3].ttype);
register tree value2 = check_case_value (yyvsp[-1].ttype);
register tree label
= build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
if (pedantic)
pedwarn ("ANSI C forbids case ranges");
stmt_count++;
if (value1 != error_mark_node && value2 != error_mark_node)
{
tree duplicate;
int success = pushcase_range (value1, value2,
convert_and_check, label,
&duplicate);
if (success == 1)
error ("case label not within a switch statement");
else if (success == 2)
{
error ("duplicate case value");
error_with_decl (duplicate, "this is the first entry for that value");
}
else if (success == 3)
warning ("case value out of range");
else if (success == 4)
warning ("empty case range");
else if (success == 5)
error ("case label within scope of cleanup or variable array");
}
position_after_white_space (); ;
break;}
case 392:
#line 2351 "objc-parse.y"
{
tree duplicate;
register tree label
= build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
int success = pushcase (NULL_TREE, 0, label, &duplicate);
stmt_count++;
if (success == 1)
error ("default label not within a switch statement");
else if (success == 2)
{
error ("multiple default labels in one switch");
error_with_decl (duplicate, "this is the first default label");
}
position_after_white_space (); ;
break;}
case 393:
#line 2366 "objc-parse.y"
{ tree label = define_label (input_filename, lineno, yyvsp[-2].ttype);
stmt_count++;
emit_nop ();
if (label)
{
expand_label (label);
decl_attributes (label, yyvsp[0].ttype, NULL_TREE);
}
position_after_white_space (); ;
break;}
case 394:
#line 2381 "objc-parse.y"
{ emit_line_note (input_filename, lineno);
yyval.ttype = NULL_TREE; ;
break;}
case 395:
#line 2384 "objc-parse.y"
{ emit_line_note (input_filename, lineno); ;
break;}
case 396:
#line 2389 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 398:
#line 2396 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 401:
#line 2403 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 402:
#line 2408 "objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 403:
#line 2413 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
break;}
case 404:
#line 2415 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
break;}
case 405:
#line 2421 "objc-parse.y"
{ pushlevel (0);
clear_parm_order ();
declare_parm_level (0); ;
break;}
case 406:
#line 2425 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
parmlist_tags_warning ();
poplevel (0, 0, 0); ;
break;}
case 408:
#line 2433 "objc-parse.y"
{ tree parm;
if (pedantic)
pedwarn ("ANSI C forbids forward parameter declarations");
for (parm = getdecls (); parm; parm = TREE_CHAIN (parm))
TREE_ASM_WRITTEN (parm) = 1;
clear_parm_order (); ;
break;}
case 409:
#line 2441 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 410:
#line 2443 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
break;}
case 411:
#line 2449 "objc-parse.y"
{ yyval.ttype = get_parm_info (0); ;
break;}
case 412:
#line 2451 "objc-parse.y"
{ yyval.ttype = get_parm_info (0);
error ("ANSI C requires a named argument before `...'");
;
break;}
case 413:
#line 2461 "objc-parse.y"
{ yyval.ttype = get_parm_info (1); ;
break;}
case 414:
#line 2463 "objc-parse.y"
{ yyval.ttype = get_parm_info (0); ;
break;}
case 415:
#line 2468 "objc-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ;
break;}
case 416:
#line 2470 "objc-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ;
break;}
case 417:
#line 2477 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
build_tree_list (prefix_attributes,
yyvsp[0].ttype));
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 418:
#line 2486 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
build_tree_list (prefix_attributes,
yyvsp[0].ttype));
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 419:
#line 2495 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
build_tree_list (prefix_attributes,
yyvsp[0].ttype));
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 420:
#line 2504 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
build_tree_list (prefix_attributes,
yyvsp[0].ttype));
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 421:
#line 2514 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
build_tree_list (prefix_attributes,
yyvsp[0].ttype));
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 422:
#line 2528 "objc-parse.y"
{ pushlevel (0);
clear_parm_order ();
declare_parm_level (1); ;
break;}
case 423:
#line 2532 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
parmlist_tags_warning ();
poplevel (0, 0, 0); ;
break;}
case 425:
#line 2540 "objc-parse.y"
{ tree t;
for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
if (TREE_VALUE (t) == NULL_TREE)
error ("`...' in old-style identifier list");
yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 426:
#line 2550 "objc-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 427:
#line 2552 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 428:
#line 2558 "objc-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 429:
#line 2560 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 430:
#line 2565 "objc-parse.y"
{ yyval.itype = pedantic;
pedantic = 0; ;
break;}
case 436:
#line 2578 "objc-parse.y"
{
if (objc_implementation_context)
{
finish_class (objc_implementation_context);
objc_ivar_chain = NULL_TREE;
objc_implementation_context = NULL_TREE;
}
else
warning ("`@end' must appear in an implementation context");
;
break;}
case 437:
#line 2593 "objc-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 438:
#line 2595 "objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 439:
#line 2600 "objc-parse.y"
{
objc_declare_class (yyvsp[-1].ttype);
;
break;}
case 440:
#line 2606 "objc-parse.y"
{
objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype);
;
break;}
case 441:
#line 2612 "objc-parse.y"
{
objc_interface_context = objc_ivar_context
= start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype, yyvsp[-3].lineno);
objc_public_flag = 0;
;
break;}
case 442:
#line 2618 "objc-parse.y"
{
continue_class (objc_interface_context);
;
break;}
case 443:
#line 2623 "objc-parse.y"
{
finish_class (objc_interface_context);
objc_interface_context = NULL_TREE;
;
break;}
case 444:
#line 2629 "objc-parse.y"
{
objc_interface_context
= start_class (CLASS_INTERFACE_TYPE, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].lineno);
continue_class (objc_interface_context);
;
break;}
case 445:
#line 2636 "objc-parse.y"
{
finish_class (objc_interface_context);
objc_interface_context = NULL_TREE;
;
break;}
case 446:
#line 2642 "objc-parse.y"
{
objc_interface_context = objc_ivar_context
= start_class (CLASS_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[-5].lineno);
objc_public_flag = 0;
;
break;}
case 447:
#line 2648 "objc-parse.y"
{
continue_class (objc_interface_context);
;
break;}
case 448:
#line 2653 "objc-parse.y"
{
finish_class (objc_interface_context);
objc_interface_context = NULL_TREE;
;
break;}
case 449:
#line 2659 "objc-parse.y"
{
objc_interface_context
= start_class (CLASS_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].lineno);
continue_class (objc_interface_context);
;
break;}
case 450:
#line 2666 "objc-parse.y"
{
finish_class (objc_interface_context);
objc_interface_context = NULL_TREE;
;
break;}
case 451:
#line 2672 "objc-parse.y"
{
objc_implementation_context = objc_ivar_context
= start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE, yyvsp[-2].lineno);
objc_public_flag = 0;
;
break;}
case 452:
#line 2678 "objc-parse.y"
{
objc_ivar_chain
= continue_class (objc_implementation_context);
;
break;}
case 453:
#line 2684 "objc-parse.y"
{
objc_implementation_context
= start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[0].ttype, NULL_TREE, NULL_TREE, yyvsp[-1].lineno);
objc_ivar_chain
= continue_class (objc_implementation_context);
;
break;}
case 454:
#line 2692 "objc-parse.y"
{
objc_implementation_context = objc_ivar_context
= start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, yyvsp[-4].lineno);
objc_public_flag = 0;
;
break;}
case 455:
#line 2698 "objc-parse.y"
{
objc_ivar_chain
= continue_class (objc_implementation_context);
;
break;}
case 456:
#line 2704 "objc-parse.y"
{
objc_implementation_context
= start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE, yyvsp[-3].lineno);
objc_ivar_chain
= continue_class (objc_implementation_context);
;
break;}
case 457:
#line 2712 "objc-parse.y"
{
objc_interface_context
= start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyvsp[-5].lineno);
continue_class (objc_interface_context);
;
break;}
case 458:
#line 2719 "objc-parse.y"
{
finish_class (objc_interface_context);
objc_interface_context = NULL_TREE;
;
break;}
case 459:
#line 2725 "objc-parse.y"
{
objc_implementation_context
= start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, yyvsp[-4].lineno);
objc_ivar_chain
= continue_class (objc_implementation_context);
;
break;}
case 460:
#line 2735 "objc-parse.y"
{
if (flag_dump_symbols)
printf ("+Pm %s %u\n", yyvsp[-1].ttype->identifier.pointer, yyvsp[-2].lineno);
if (flag_gen_index)
dump_symbol_info ("+Pm ", yyvsp[-1].ttype->identifier.pointer, yyvsp[-2].lineno);
objc_interface_context
= start_protocol(PROTOCOL_INTERFACE_TYPE, yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 461:
#line 2745 "objc-parse.y"
{
if (flag_dump_symbols)
printf ("-Pm %u\n", lineno);
if (flag_gen_index)
dump_symbol_info ("-Pm ", NULL, lineno);
finish_protocol(objc_interface_context);
objc_interface_context = NULL_TREE;
;
break;}
case 462:
#line 2755 "objc-parse.y"
{
objc_declare_protocols (yyvsp[-1].ttype);
;
break;}
case 463:
#line 2762 "objc-parse.y"
{
yyval.ttype = NULL_TREE;
;
break;}
case 465:
#line 2770 "objc-parse.y"
{
if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR)
yyval.ttype = yyvsp[-1].ttype;
else
YYERROR1;
;
break;}
case 468:
#line 2784 "objc-parse.y"
{ objc_public_flag = 2; ;
break;}
case 469:
#line 2785 "objc-parse.y"
{ objc_public_flag = 0; ;
break;}
case 470:
#line 2786 "objc-parse.y"
{ objc_public_flag = 1; ;
break;}
case 471:
#line 2791 "objc-parse.y"
{
yyval.ttype = NULL_TREE;
;
break;}
case 473:
#line 2796 "objc-parse.y"
{
if (pedantic)
pedwarn ("extra semicolon in struct or union specified");
;
break;}
case 474:
#line 2814 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-1].itype); ;
break;}
case 475:
#line 2820 "objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-1].itype); ;
break;}
case 476:
#line 2826 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 477:
#line 2831 "objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 480:
#line 2838 "objc-parse.y"
{
yyval.ttype = add_instance_variable (objc_ivar_context,
objc_public_flag,
yyvsp[0].ttype, current_declspecs,
NULL_TREE);
;
break;}
case 481:
#line 2845 "objc-parse.y"
{
yyval.ttype = add_instance_variable (objc_ivar_context,
objc_public_flag,
yyvsp[-2].ttype, current_declspecs, yyvsp[0].ttype);
;
break;}
case 482:
#line 2851 "objc-parse.y"
{
yyval.ttype = add_instance_variable (objc_ivar_context,
objc_public_flag,
NULL_TREE,
current_declspecs, yyvsp[0].ttype);
;
break;}
case 483:
#line 2861 "objc-parse.y"
{
if (flag_dump_symbols)
printf ("++m");
if (flag_gen_index)
dump_symbol_info ("++m ", NULL, -1);
remember_protocol_qualifiers ();
if (objc_implementation_context)
objc_inherit_code = CLASS_METHOD_DECL;
else
fatal ("method definition not in class context");
;
break;}
case 484:
#line 2873 "objc-parse.y"
{
forget_protocol_qualifiers ();
add_class_method (objc_implementation_context, yyvsp[0].ttype);
start_method_def (yyvsp[0].ttype);
objc_method_context = yyvsp[0].ttype;
;
break;}
case 485:
#line 2880 "objc-parse.y"
{
continue_method_def ();
;
break;}
case 486:
#line 2884 "objc-parse.y"
{
finish_method_def ();
objc_method_context = NULL_TREE;
if (flag_dump_symbols)
printf ("-+m %u\n", lineno);
if (flag_gen_index)
dump_symbol_info ("-+m ", NULL, lineno);
;
break;}
case 487:
#line 2894 "objc-parse.y"
{
if (flag_dump_symbols)
printf ("+-m");
if (flag_gen_index)
dump_symbol_info ("+-m ", NULL, -1);
remember_protocol_qualifiers ();
if (objc_implementation_context)
objc_inherit_code = INSTANCE_METHOD_DECL;
else
fatal ("method definition not in class context");
;
break;}
case 488:
#line 2906 "objc-parse.y"
{
forget_protocol_qualifiers ();
add_instance_method (objc_implementation_context, yyvsp[0].ttype);
start_method_def (yyvsp[0].ttype);
objc_method_context = yyvsp[0].ttype;
;
break;}
case 489:
#line 2913 "objc-parse.y"
{
continue_method_def ();
;
break;}
case 490:
#line 2917 "objc-parse.y"
{
finish_method_def ();
objc_method_context = NULL_TREE;
if (flag_dump_symbols)
printf ("--m %u\n", lineno);
if (flag_gen_index)
dump_symbol_info ("--m ", NULL, lineno);
;
break;}
case 492:
#line 2933 "objc-parse.y"
{yyval.ttype = NULL_TREE; ;
break;}
case 497:
#line 2940 "objc-parse.y"
{yyval.ttype = NULL_TREE; ;
break;}
case 501:
#line 2950 "objc-parse.y"
{
if (flag_dump_symbols)
printf ("++h");
if (flag_gen_index)
dump_symbol_info ("++h ", NULL, -1);
remember_protocol_qualifiers ();
objc_inherit_code = CLASS_METHOD_DECL;
;
break;}
case 502:
#line 2959 "objc-parse.y"
{
forget_protocol_qualifiers ();
add_class_method (objc_interface_context, yyvsp[0].ttype);
;
break;}
case 504:
#line 2966 "objc-parse.y"
{
if (flag_dump_symbols)
printf ("+-h");
if (flag_gen_index)
dump_symbol_info ("+-h ", NULL, -1);
remember_protocol_qualifiers ();
objc_inherit_code = INSTANCE_METHOD_DECL;
;
break;}
case 505:
#line 2975 "objc-parse.y"
{
forget_protocol_qualifiers ();
add_instance_method (objc_interface_context, yyvsp[0].ttype);
;
break;}
case 507:
#line 2984 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 508:
#line 2986 "objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
break;}
case 509:
#line 2991 "objc-parse.y"
{
yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE, NULL_TREE);
;
break;}
case 510:
#line 2996 "objc-parse.y"
{
yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE, yyvsp[-3].ttype);
;
break;}
case 511:
#line 3001 "objc-parse.y"
{
yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE, NULL_TREE);
;
break;}
case 512:
#line 3006 "objc-parse.y"
{
yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
;
break;}
case 513:
#line 3011 "objc-parse.y"
{
yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype);
;
break;}
case 514:
#line 3016 "objc-parse.y"
{
yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
;
break;}
case 523:
#line 3046 "objc-parse.y"
{ current_declspecs = TREE_VALUE (declspec_stack);
prefix_attributes = TREE_PURPOSE (declspec_stack);
declspec_stack = TREE_CHAIN (declspec_stack);
resume_momentary (yyvsp[-2].itype); ;
break;}
case 524:
#line 3051 "objc-parse.y"
{ shadow_tag (yyvsp[-1].ttype); ;
break;}
case 525:
#line 3053 "objc-parse.y"
{ pedwarn ("empty declaration"); ;
break;}
case 526:
#line 3058 "objc-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ;
break;}
case 527:
#line 3060 "objc-parse.y"
{ push_parm_decl (yyvsp[0].ttype); ;
break;}
case 528:
#line 3068 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
build_tree_list (prefix_attributes,
yyvsp[0].ttype)); ;
break;}
case 529:
#line 3073 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
build_tree_list (prefix_attributes,
yyvsp[0].ttype)); ;
break;}
case 530:
#line 3078 "objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
yyvsp[-1].ttype),
build_tree_list (prefix_attributes,
yyvsp[0].ttype)); ;
break;}
case 531:
#line 3086 "objc-parse.y"
{
yyval.ttype = NULL_TREE;
;
break;}
case 532:
#line 3090 "objc-parse.y"
{
yyval.ttype = (tree)1;
;
break;}
case 533:
#line 3095 "objc-parse.y"
{
pushlevel (0);
;
break;}
case 534:
#line 3099 "objc-parse.y"
{
yyval.ttype = yyvsp[0].ttype;
poplevel (0, 0, 0);
;
break;}
case 537:
#line 3114 "objc-parse.y"
{
yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 543:
#line 3128 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 544:
#line 3129 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 545:
#line 3130 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 546:
#line 3131 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 547:
#line 3132 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 548:
#line 3133 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 549:
#line 3134 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 550:
#line 3135 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 551:
#line 3136 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 552:
#line 3137 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 553:
#line 3138 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 554:
#line 3139 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 555:
#line 3140 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 556:
#line 3141 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 557:
#line 3142 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 558:
#line 3143 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 559:
#line 3144 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 560:
#line 3145 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 561:
#line 3146 "objc-parse.y"
{ yyval.ttype = get_identifier (token_buffer); ;
break;}
case 564:
#line 3152 "objc-parse.y"
{
yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
;
break;}
case 565:
#line 3157 "objc-parse.y"
{
yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
;
break;}
case 566:
#line 3162 "objc-parse.y"
{
yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype);
;
break;}
case 567:
#line 3167 "objc-parse.y"
{
yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype);
;
break;}
case 571:
#line 3180 "objc-parse.y"
{
yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 572:
#line 3188 "objc-parse.y"
{
if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE)
yyval.ttype = TREE_VALUE (yyvsp[0].ttype);
else
yyval.ttype = yyvsp[0].ttype;
;
break;}
case 573:
#line 3200 "objc-parse.y"
{
yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
;
break;}
case 574:
#line 3204 "objc-parse.y"
{
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
;
break;}
case 576:
#line 3212 "objc-parse.y"
{
yyval.ttype = get_class_reference (yyvsp[0].ttype);
;
break;}
case 577:
#line 3219 "objc-parse.y"
{ objc_receiver_context = 1; ;
break;}
case 578:
#line 3221 "objc-parse.y"
{
objc_receiver_context = 0;
yyval.ttype = yyvsp[0].ttype;
;
break;}
case 579:
#line 3230 "objc-parse.y"
{
yyvsp[-2].ttype = build_tree_list (NULL_TREE, yyvsp[-2].ttype);
yyvsp[-2].ttype = build_compound_expr (yyvsp[-2].ttype);
yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[-1].ttype);
;
break;}
case 580:
#line 3239 "objc-parse.y"
{
yyvsp[-2].ttype = build_tree_list (NULL_TREE, yyvsp[-2].ttype);
chainon (yyvsp[-2].ttype, yyvsp[0].ttype);
yyvsp[-2].ttype = build_compound_expr (yyvsp[-2].ttype);
;
break;}
case 581:
#line 3248 "objc-parse.y"
{
yyval.ttype = build_tree_list (yyvsp[-5].ttype, yyvsp[-1].ttype);
;
break;}
case 585:
#line 3261 "objc-parse.y"
{
yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 586:
#line 3268 "objc-parse.y"
{
yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE);
;
break;}
case 587:
#line 3272 "objc-parse.y"
{
yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE);
;
break;}
case 588:
#line 3279 "objc-parse.y"
{
yyval.ttype = yyvsp[-1].ttype;
;
break;}
case 589:
#line 3286 "objc-parse.y"
{
yyval.ttype = yyvsp[-1].ttype;
;
break;}
case 590:
#line 3295 "objc-parse.y"
{
yyval.ttype = groktypename (yyvsp[-1].ttype);
;
break;}
}
#line 543 "/usr/share/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
#ifdef YYLSP_NEEDED
yylsp -= yylen;
#endif
#if YYDEBUG != 0
if (yydebug)
{
short *ssp1 = yyss - 1;
fprintf (stderr, "state stack now");
while (ssp1 != yyssp)
fprintf (stderr, " %d", *++ssp1);
fprintf (stderr, "\n");
}
#endif
*++yyvsp = yyval;
#ifdef YYLSP_NEEDED
yylsp++;
if (yylen == 0)
{
yylsp->first_line = yylloc.first_line;
yylsp->first_column = yylloc.first_column;
yylsp->last_line = (yylsp-1)->last_line;
yylsp->last_column = (yylsp-1)->last_column;
yylsp->text = 0;
}
else
{
yylsp->last_line = (yylsp+yylen-1)->last_line;
yylsp->last_column = (yylsp+yylen-1)->last_column;
}
#endif
yyn = yyr1[yyn];
yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
yystate = yytable[yystate];
else
yystate = yydefgoto[yyn - YYNTBASE];
goto yynewstate;
yyerrlab:
if (! yyerrstatus)
{
++yynerrs;
#ifdef YYERROR_VERBOSE
yyn = yypact[yystate];
if (yyn > YYFLAG && yyn < YYLAST)
{
int size = 0;
char *msg;
int x, count;
count = 0;
for (x = (yyn < 0 ? -yyn : 0);
x < (sizeof(yytname) / sizeof(char *)); x++)
if (yycheck[x + yyn] == x)
size += strlen(yytname[x]) + 15, count++;
msg = (char *) malloc(size + 15);
if (msg != 0)
{
strcpy(msg, "parse error");
if (count < 5)
{
count = 0;
for (x = (yyn < 0 ? -yyn : 0);
x < (sizeof(yytname) / sizeof(char *)); x++)
if (yycheck[x + yyn] == x)
{
strcat(msg, count == 0 ? ", expecting `" : " or `");
strcat(msg, yytname[x]);
strcat(msg, "'");
count++;
}
}
yyerror(msg);
free(msg);
}
else
yyerror ("parse error; also virtual memory exceeded");
}
else
#endif
yyerror("parse error");
}
goto yyerrlab1;
yyerrlab1:
if (yyerrstatus == 3)
{
if (yychar == YYEOF)
YYABORT;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
#endif
yychar = YYEMPTY;
}
yyerrstatus = 3;
goto yyerrhandle;
yyerrdefault:
#if 0
yyn = yydefact[yystate];
if (yyn) goto yydefault;
#endif
yyerrpop:
if (yyssp == yyss) YYABORT;
yyvsp--;
yystate = *--yyssp;
#ifdef YYLSP_NEEDED
yylsp--;
#endif
#if YYDEBUG != 0
if (yydebug)
{
short *ssp1 = yyss - 1;
fprintf (stderr, "Error: state stack now");
while (ssp1 != yyssp)
fprintf (stderr, " %d", *++ssp1);
fprintf (stderr, "\n");
}
#endif
yyerrhandle:
yyn = yypact[yystate];
if (yyn == YYFLAG)
goto yyerrdefault;
yyn += YYTERROR;
if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
goto yyerrdefault;
yyn = yytable[yyn];
if (yyn < 0)
{
if (yyn == YYFLAG)
goto yyerrpop;
yyn = -yyn;
goto yyreduce;
}
else if (yyn == 0)
goto yyerrpop;
if (yyn == YYFINAL)
YYACCEPT;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Shifting error token, ");
#endif
*++yyvsp = yylval;
#ifdef YYLSP_NEEDED
*++yylsp = yylloc;
#endif
yystate = yyn;
goto yynewstate;
yyacceptlab:
if (yyfree_stacks)
{
free (yyss);
free (yyvs);
#ifdef YYLSP_NEEDED
free (yyls);
#endif
}
return 0;
yyabortlab:
if (yyfree_stacks)
{
free (yyss);
free (yyvs);
#ifdef YYLSP_NEEDED
free (yyls);
#endif
}
return 1;
}
#line 3300 "objc-parse.y"
#define OBJC_GRAMMAR
#if defined (MODERN_OBJC_SYNTAX) && !defined (OBJC_GRAMMAR)
void objc_begin_function_pragma() {}
void objc_end_function_pragma() {}
void objc_selector_alias_pragma() {}
#endif