#define YYBISON 1
# define IDENTIFIER 257
# define TYPENAME 258
# define SCSPEC 259
# define STATIC 260
# define TYPESPEC 261
# define TYPE_QUAL 262
# define OBJC_TYPE_QUAL 263
# define CONSTANT 264
# define STRING 265
# define ELLIPSIS 266
# define SIZEOF 267
# define ENUM 268
# define STRUCT 269
# define UNION 270
# define IF 271
# define ELSE 272
# define WHILE 273
# define DO 274
# define FOR 275
# define SWITCH 276
# define CASE 277
# define DEFAULT 278
# define BREAK 279
# define CONTINUE 280
# define RETURN 281
# define GOTO 282
# define ASM_KEYWORD 283
# define TYPEOF 284
# define ALIGNOF 285
# define ATTRIBUTE 286
# define EXTENSION 287
# define LABEL 288
# define REALPART 289
# define IMAGPART 290
# define VA_ARG 291
# define CHOOSE_EXPR 292
# define TYPES_COMPATIBLE_P 293
# define FUNC_NAME 294
# define OFFSETOF 295
# define ASSIGN 296
# define OROR 297
# define ANDAND 298
# define EQCOMPARE 299
# define ARITHCOMPARE 300
# define LSHIFT 301
# define RSHIFT 302
# define UNARY 303
# define PLUSPLUS 304
# define MINUSMINUS 305
# define HYPERUNARY 306
# define POINTSAT 307
# define AT_INTERFACE 308
# define AT_IMPLEMENTATION 309
# define AT_END 310
# define AT_SELECTOR 311
# define AT_DEFS 312
# define AT_ENCODE 313
# define CLASSNAME 314
# define AT_PUBLIC 315
# define AT_PRIVATE 316
# define AT_PROTECTED 317
# define AT_PROTOCOL 318
# define AT_CLASS 319
# define AT_ALIAS 320
# define AT_THROW 321
# define AT_TRY 322
# define AT_CATCH 323
# define AT_FINALLY 324
# define AT_SYNCHRONIZED 325
# define OBJC_STRING 326
#line 33 "objc/objc-parse.y"
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
#include "langhooks.h"
#include "input.h"
#include "cpplib.h"
#include "intl.h"
#include "timevar.h"
#include "c-pragma.h"
#include "c-tree.h"
#include "flags.h"
#include "varray.h"
#include "output.h"
#include "toplev.h"
#include "ggc.h"
#include "c-common.h"
#define YYERROR1 { yyerror ("syntax error"); YYERROR; }
static short *malloced_yyss;
static void *malloced_yyvs;
#define yyoverflow(MSG, SS, SSSIZE, VS, VSSIZE, YYSSZ) \
do { \
size_t newsize; \
short *newss; \
YYSTYPE *newvs; \
newsize = *(YYSSZ) *= 2; \
if (malloced_yyss) \
{ \
newss = really_call_realloc (*(SS), newsize * sizeof (short)); \
newvs = really_call_realloc (*(VS), newsize * sizeof (YYSTYPE)); \
} \
else \
{ \
newss = really_call_malloc (newsize * sizeof (short)); \
newvs = really_call_malloc (newsize * sizeof (YYSTYPE)); \
if (newss) \
memcpy (newss, *(SS), (SSSIZE)); \
if (newvs) \
memcpy (newvs, *(VS), (VSSIZE)); \
} \
if (!newss || !newvs) \
{ \
yyerror (MSG); \
return 2; \
} \
*(SS) = newss; \
*(VS) = newvs; \
malloced_yyss = newss; \
malloced_yyvs = (void *) newvs; \
} while (0)
#line 99 "objc/objc-parse.y"
#ifndef YYSTYPE
typedef union {long itype; tree ttype; void *otype; struct c_expr exprtype;
struct c_arg_info *arginfotype; struct c_declarator *dtrtype;
struct c_type_name *typenametype; struct c_parm *parmtype;
struct c_declspecs *dsptype; struct c_typespec tstype;
enum tree_code code; location_t location; } yystype;
# define YYSTYPE yystype
# define YYSTYPE_IS_TRIVIAL 1
#endif
#line 264 "objc/objc-parse.y"
static struct c_declspecs *current_declspecs;
static GTY(()) tree prefix_attributes;
static GTY(()) tree all_prefix_attributes;
struct c_declspec_stack {
struct c_declspecs *current_declspecs;
tree prefix_attributes;
tree all_prefix_attributes;
struct c_declspec_stack *next;
};
static struct c_declspec_stack *declspec_stack;
static tree offsetof_base;
#define PUSH_DECLSPEC_STACK \
do { \
struct c_declspec_stack *t = XOBNEW (&parser_obstack, \
struct c_declspec_stack); \
t->current_declspecs = current_declspecs; \
t->prefix_attributes = prefix_attributes; \
t->all_prefix_attributes = all_prefix_attributes; \
t->next = declspec_stack; \
declspec_stack = t; \
} while (0)
#define POP_DECLSPEC_STACK \
do { \
current_declspecs = declspec_stack->current_declspecs; \
prefix_attributes = declspec_stack->prefix_attributes; \
all_prefix_attributes = declspec_stack->all_prefix_attributes; \
declspec_stack = declspec_stack->next; \
} while (0)
#define SAVE_EXT_FLAGS() \
(pedantic \
| (warn_pointer_arith << 1) \
| (warn_traditional << 2) \
| (flag_iso << 3))
#define RESTORE_EXT_FLAGS(val) \
do { \
pedantic = val & 1; \
warn_pointer_arith = (val >> 1) & 1; \
warn_traditional = (val >> 2) & 1; \
flag_iso = (val >> 3) & 1; \
} while (0)
static int objc_pq_context = 0;
static int objc_need_raw_identifier;
#define OBJC_NEED_RAW_IDENTIFIER(VAL) objc_need_raw_identifier = VAL
#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
static void yyprint (FILE *, int, YYSTYPE);
static void yyerror (const char *);
static int yylexname (void);
static inline int _yylex (void);
static int yylex (void);
static void init_reswords (void);
void
c_parse_init (void)
{
init_reswords ();
}
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#define YYFINAL 1168
#define YYFLAG -32768
#define YYNTBASE 95
#define YYTRANSLATE(x) ((unsigned)(x) <= 326 ? yytranslate[x] : 364)
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, 90, 2, 2, 2, 59, 50, 2,
66, 92, 57, 55, 91, 56, 65, 58, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 45, 87,
2, 43, 2, 44, 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, 67, 2, 94, 49, 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, 93, 48, 88, 89, 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, 37, 38, 39, 40, 41, 42, 46, 47, 51,
52, 53, 54, 60, 61, 62, 63, 64, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86
};
#if YYDEBUG
static const short yyprhs[] =
{
0, 0, 1, 3, 4, 8, 9, 14, 16, 18,
20, 23, 25, 26, 30, 35, 40, 43, 46, 49,
51, 52, 53, 62, 67, 68, 69, 78, 83, 84,
85, 93, 97, 99, 101, 103, 105, 107, 109, 111,
113, 115, 117, 119, 123, 124, 126, 128, 132, 134,
137, 140, 143, 146, 149, 154, 157, 162, 165, 168,
170, 172, 174, 176, 181, 183, 187, 191, 195, 199,
203, 207, 211, 215, 219, 223, 227, 231, 232, 237,
238, 243, 244, 245, 253, 254, 260, 264, 268, 270,
272, 274, 276, 277, 285, 289, 293, 297, 301, 306,
313, 314, 322, 327, 336, 341, 348, 353, 358, 362,
366, 369, 372, 374, 376, 378, 380, 382, 384, 388,
393, 394, 396, 399, 401, 403, 406, 409, 414, 419,
422, 425, 428, 429, 431, 436, 441, 445, 449, 452,
455, 457, 460, 463, 466, 469, 472, 474, 477, 479,
482, 485, 488, 491, 494, 497, 499, 502, 505, 508,
511, 514, 517, 520, 523, 526, 529, 532, 535, 538,
541, 544, 547, 549, 552, 555, 558, 561, 564, 567,
570, 573, 576, 579, 582, 585, 588, 591, 594, 597,
600, 603, 606, 609, 612, 615, 618, 621, 624, 627,
630, 633, 636, 639, 642, 645, 648, 651, 654, 657,
660, 663, 666, 669, 672, 675, 678, 681, 683, 685,
687, 689, 691, 693, 695, 697, 699, 701, 703, 705,
707, 709, 711, 713, 715, 717, 719, 721, 723, 725,
727, 729, 731, 733, 735, 737, 739, 741, 743, 745,
747, 749, 751, 753, 755, 757, 759, 761, 763, 765,
767, 769, 771, 773, 775, 777, 779, 781, 783, 785,
787, 789, 791, 793, 794, 796, 798, 800, 802, 804,
806, 808, 810, 813, 816, 818, 823, 828, 830, 835,
837, 842, 843, 850, 854, 855, 862, 866, 867, 869,
871, 874, 883, 887, 889, 893, 894, 896, 901, 908,
913, 915, 917, 919, 921, 923, 925, 927, 928, 933,
935, 936, 939, 941, 945, 949, 952, 953, 958, 960,
961, 966, 968, 970, 972, 975, 978, 980, 986, 990,
991, 992, 999, 1000, 1001, 1008, 1010, 1012, 1017, 1021,
1024, 1028, 1030, 1032, 1034, 1038, 1041, 1043, 1047, 1050,
1054, 1058, 1063, 1067, 1072, 1076, 1079, 1081, 1083, 1086,
1088, 1091, 1093, 1096, 1097, 1105, 1111, 1112, 1120, 1126,
1127, 1136, 1137, 1145, 1148, 1151, 1154, 1155, 1157, 1158,
1160, 1162, 1165, 1166, 1170, 1173, 1178, 1182, 1185, 1189,
1191, 1193, 1196, 1198, 1203, 1205, 1210, 1213, 1218, 1222,
1225, 1230, 1234, 1236, 1240, 1242, 1244, 1248, 1249, 1253,
1254, 1256, 1257, 1259, 1262, 1264, 1266, 1268, 1272, 1275,
1279, 1284, 1288, 1291, 1294, 1296, 1301, 1305, 1310, 1316,
1322, 1324, 1326, 1328, 1330, 1332, 1335, 1338, 1341, 1344,
1346, 1349, 1352, 1355, 1357, 1360, 1363, 1366, 1369, 1371,
1374, 1376, 1378, 1380, 1382, 1385, 1386, 1387, 1389, 1391,
1394, 1398, 1400, 1403, 1405, 1407, 1411, 1413, 1415, 1418,
1421, 1422, 1423, 1426, 1430, 1433, 1436, 1439, 1443, 1447,
1449, 1459, 1469, 1477, 1485, 1486, 1487, 1497, 1498, 1499,
1513, 1514, 1516, 1519, 1521, 1524, 1526, 1539, 1540, 1549,
1552, 1554, 1556, 1558, 1560, 1562, 1565, 1568, 1571, 1575,
1577, 1581, 1586, 1588, 1592, 1595, 1597, 1604, 1609, 1613,
1618, 1619, 1622, 1623, 1629, 1633, 1635, 1638, 1640, 1642,
1646, 1652, 1655, 1660, 1667, 1668, 1670, 1673, 1678, 1687,
1689, 1693, 1699, 1707, 1708, 1710, 1711, 1713, 1715, 1719,
1726, 1736, 1738, 1742, 1744, 1745, 1746, 1747, 1751, 1754,
1755, 1756, 1763, 1766, 1767, 1769, 1771, 1775, 1777, 1781,
1786, 1791, 1795, 1800, 1804, 1809, 1814, 1818, 1823, 1827,
1829, 1830, 1834, 1836, 1839, 1841, 1845, 1847, 1851, 1853,
1855, 1857, 1859, 1861, 1863, 1865, 1867, 1871, 1875, 1880,
1883, 1884, 1888, 1889, 1890, 1891, 1901, 1902, 1908, 1909,
1919, 1925, 1926, 1933, 1937, 1938, 1940, 1944, 1945, 1949,
1950, 1952, 1954, 1956, 1957, 1961, 1964, 1966, 1967, 1969,
1971, 1973, 1974, 1975, 1982, 1983, 1986, 1987, 1991, 1993,
1995, 1996, 1997, 2003, 2008, 2010, 2016, 2019, 2022, 2023,
2027, 2028, 2031, 2033, 2035, 2038, 2040, 2042, 2044, 2046,
2048, 2050, 2052, 2054, 2056, 2058, 2060, 2062, 2064, 2066,
2068, 2070, 2072, 2074, 2076, 2078, 2080, 2082, 2084, 2086,
2088, 2090, 2092, 2095, 2096, 2099, 2101, 2108, 2112, 2118,
2121, 2123, 2125, 2127, 2130, 2132, 2136, 2139, 2141, 2143,
2145, 2150, 2152, 2154, 2156, 2159, 2162, 2164, 2169, 2174
};
static const short yyrhs[] =
{
-1, 96, 0, 0, 100, 97, 99, 0, 0, 96,
100, 98, 99, 0, 102, 0, 101, 0, 283, 0,
309, 99, 0, 310, 0, 0, 134, 168, 87, 0,
154, 134, 168, 87, 0, 153, 134, 167, 87, 0,
160, 87, 0, 1, 87, 0, 1, 88, 0, 87,
0, 0, 0, 153, 134, 197, 103, 129, 249, 104,
243, 0, 153, 134, 197, 1, 0, 0, 0, 154,
134, 202, 105, 129, 249, 106, 243, 0, 154, 134,
202, 1, 0, 0, 0, 134, 202, 107, 129, 249,
108, 243, 0, 134, 202, 1, 0, 3, 0, 4,
0, 74, 0, 50, 0, 56, 0, 55, 0, 61,
0, 62, 0, 89, 0, 90, 0, 119, 0, 111,
91, 119, 0, 0, 113, 0, 119, 0, 113, 91,
119, 0, 125, 0, 57, 118, 0, 309, 118, 0,
110, 118, 0, 47, 109, 0, 115, 114, 0, 115,
66, 223, 92, 0, 116, 114, 0, 116, 66, 223,
92, 0, 35, 118, 0, 36, 118, 0, 13, 0,
31, 0, 30, 0, 114, 0, 66, 223, 92, 118,
0, 118, 0, 119, 55, 119, 0, 119, 56, 119,
0, 119, 57, 119, 0, 119, 58, 119, 0, 119,
59, 119, 0, 119, 53, 119, 0, 119, 54, 119,
0, 119, 52, 119, 0, 119, 51, 119, 0, 119,
50, 119, 0, 119, 48, 119, 0, 119, 49, 119,
0, 0, 119, 47, 120, 119, 0, 0, 119, 46,
121, 119, 0, 0, 0, 119, 44, 122, 111, 45,
123, 119, 0, 0, 119, 44, 124, 45, 119, 0,
119, 43, 119, 0, 119, 42, 119, 0, 3, 0,
10, 0, 11, 0, 40, 0, 0, 66, 223, 92,
93, 126, 182, 88, 0, 66, 111, 92, 0, 66,
1, 92, 0, 247, 245, 92, 0, 247, 1, 92,
0, 125, 66, 112, 92, 0, 37, 66, 119, 91,
223, 92, 0, 0, 41, 66, 223, 91, 127, 128,
92, 0, 41, 66, 1, 92, 0, 38, 66, 119,
91, 119, 91, 119, 92, 0, 38, 66, 1, 92,
0, 39, 66, 223, 91, 223, 92, 0, 39, 66,
1, 92, 0, 125, 67, 111, 94, 0, 125, 65,
109, 0, 125, 64, 109, 0, 125, 61, 0, 125,
62, 0, 357, 0, 361, 0, 362, 0, 363, 0,
86, 0, 109, 0, 128, 65, 109, 0, 128, 67,
111, 94, 0, 0, 131, 0, 249, 132, 0, 130,
0, 238, 0, 131, 130, 0, 130, 238, 0, 155,
134, 167, 87, 0, 156, 134, 168, 87, 0, 155,
87, 0, 156, 87, 0, 249, 136, 0, 0, 173,
0, 153, 134, 167, 87, 0, 154, 134, 168, 87,
0, 153, 134, 191, 0, 154, 134, 194, 0, 160,
87, 0, 309, 136, 0, 8, 0, 137, 8, 0,
138, 8, 0, 137, 174, 0, 139, 8, 0, 140,
8, 0, 174, 0, 139, 174, 0, 162, 0, 141,
8, 0, 142, 8, 0, 141, 164, 0, 142, 164,
0, 137, 162, 0, 138, 162, 0, 163, 0, 141,
174, 0, 141, 165, 0, 142, 165, 0, 137, 163,
0, 138, 163, 0, 143, 8, 0, 144, 8, 0,
143, 164, 0, 144, 164, 0, 139, 162, 0, 140,
162, 0, 143, 174, 0, 143, 165, 0, 144, 165,
0, 139, 163, 0, 140, 163, 0, 179, 0, 145,
8, 0, 146, 8, 0, 137, 179, 0, 138, 179,
0, 145, 179, 0, 146, 179, 0, 145, 174, 0,
147, 8, 0, 148, 8, 0, 139, 179, 0, 140,
179, 0, 147, 179, 0, 148, 179, 0, 147, 174,
0, 149, 8, 0, 150, 8, 0, 149, 164, 0,
150, 164, 0, 145, 162, 0, 146, 162, 0, 141,
179, 0, 142, 179, 0, 149, 179, 0, 150, 179,
0, 149, 174, 0, 149, 165, 0, 150, 165, 0,
145, 163, 0, 146, 163, 0, 151, 8, 0, 152,
8, 0, 151, 164, 0, 152, 164, 0, 147, 162,
0, 148, 162, 0, 143, 179, 0, 144, 179, 0,
151, 179, 0, 152, 179, 0, 151, 174, 0, 151,
165, 0, 152, 165, 0, 147, 163, 0, 148, 163,
0, 141, 0, 142, 0, 143, 0, 144, 0, 149,
0, 150, 0, 151, 0, 152, 0, 137, 0, 138,
0, 139, 0, 140, 0, 145, 0, 146, 0, 147,
0, 148, 0, 141, 0, 142, 0, 149, 0, 150,
0, 137, 0, 138, 0, 145, 0, 146, 0, 141,
0, 142, 0, 143, 0, 144, 0, 137, 0, 138,
0, 139, 0, 140, 0, 141, 0, 142, 0, 143,
0, 144, 0, 137, 0, 138, 0, 139, 0, 140,
0, 137, 0, 138, 0, 139, 0, 140, 0, 141,
0, 142, 0, 143, 0, 144, 0, 145, 0, 146,
0, 147, 0, 148, 0, 149, 0, 150, 0, 151,
0, 152, 0, 0, 158, 0, 164, 0, 166, 0,
165, 0, 7, 0, 211, 0, 206, 0, 4, 0,
74, 323, 0, 4, 324, 0, 324, 0, 117, 66,
111, 92, 0, 117, 66, 223, 92, 0, 169, 0,
167, 91, 135, 169, 0, 171, 0, 168, 91, 135,
171, 0, 0, 197, 282, 173, 43, 170, 180, 0,
197, 282, 173, 0, 0, 202, 282, 173, 43, 172,
180, 0, 202, 282, 173, 0, 0, 174, 0, 175,
0, 174, 175, 0, 32, 292, 66, 66, 176, 92,
92, 293, 0, 32, 1, 293, 0, 177, 0, 176,
91, 177, 0, 0, 178, 0, 178, 66, 3, 92,
0, 178, 66, 3, 91, 113, 92, 0, 178, 66,
112, 92, 0, 109, 0, 179, 0, 7, 0, 8,
0, 6, 0, 5, 0, 119, 0, 0, 93, 181,
182, 88, 0, 1, 0, 0, 183, 212, 0, 184,
0, 183, 91, 184, 0, 188, 43, 186, 0, 190,
186, 0, 0, 109, 45, 185, 186, 0, 186, 0,
0, 93, 187, 182, 88, 0, 119, 0, 1, 0,
189, 0, 188, 189, 0, 65, 109, 0, 190, 0,
67, 119, 12, 119, 94, 0, 67, 119, 94, 0,
0, 0, 197, 192, 129, 249, 193, 248, 0, 0,
0, 202, 195, 129, 249, 196, 248, 0, 198, 0,
202, 0, 66, 173, 198, 92, 0, 198, 66, 304,
0, 198, 231, 0, 57, 161, 198, 0, 4, 0,
200, 0, 201, 0, 200, 66, 304, 0, 200, 231,
0, 4, 0, 201, 66, 304, 0, 201, 231, 0,
57, 161, 200, 0, 57, 161, 201, 0, 66, 173,
201, 92, 0, 202, 66, 304, 0, 66, 173, 202,
92, 0, 57, 161, 202, 0, 202, 231, 0, 3,
0, 15, 0, 15, 174, 0, 16, 0, 16, 174,
0, 14, 0, 14, 174, 0, 0, 203, 109, 93,
207, 214, 88, 173, 0, 203, 93, 214, 88, 173,
0, 0, 204, 109, 93, 208, 214, 88, 173, 0,
204, 93, 214, 88, 173, 0, 0, 205, 109, 93,
209, 221, 213, 88, 173, 0, 0, 205, 93, 210,
221, 213, 88, 173, 0, 203, 109, 0, 204, 109,
0, 205, 109, 0, 0, 91, 0, 0, 91, 0,
215, 0, 215, 216, 0, 0, 215, 216, 87, 0,
215, 87, 0, 72, 66, 74, 92, 0, 157, 134,
217, 0, 157, 134, 0, 158, 134, 218, 0, 158,
0, 1, 0, 309, 216, 0, 219, 0, 217, 91,
135, 219, 0, 220, 0, 218, 91, 135, 220, 0,
197, 173, 0, 197, 45, 119, 173, 0, 45, 119,
173, 0, 202, 173, 0, 202, 45, 119, 173, 0,
45, 119, 173, 0, 222, 0, 221, 91, 222, 0,
1, 0, 109, 0, 109, 43, 119, 0, 0, 159,
224, 225, 0, 0, 227, 0, 0, 227, 0, 228,
174, 0, 229, 0, 228, 0, 230, 0, 57, 161,
228, 0, 57, 161, 0, 57, 161, 229, 0, 66,
173, 227, 92, 0, 230, 66, 294, 0, 230, 231,
0, 66, 294, 0, 231, 0, 67, 161, 119, 94,
0, 67, 161, 94, 0, 67, 161, 57, 94, 0,
67, 6, 161, 119, 94, 0, 67, 158, 6, 119,
94, 0, 233, 0, 234, 0, 235, 0, 236, 0,
252, 0, 233, 252, 0, 234, 252, 0, 235, 252,
0, 236, 252, 0, 133, 0, 233, 133, 0, 234,
133, 0, 236, 133, 0, 253, 0, 233, 253, 0,
234, 253, 0, 235, 253, 0, 236, 253, 0, 238,
0, 237, 238, 0, 233, 0, 234, 0, 235, 0,
236, 0, 1, 87, 0, 0, 0, 241, 0, 242,
0, 241, 242, 0, 34, 308, 87, 0, 248, 0,
1, 248, 0, 93, 0, 88, 0, 240, 246, 88,
0, 232, 0, 1, 0, 66, 93, 0, 244, 245,
0, 0, 0, 250, 253, 0, 239, 250, 252, 0,
249, 279, 0, 249, 280, 0, 249, 111, 0, 239,
250, 257, 0, 239, 250, 87, 0, 251, 0, 17,
239, 249, 66, 254, 92, 255, 18, 256, 0, 17,
239, 249, 66, 254, 92, 256, 18, 256, 0, 17,
239, 249, 66, 254, 92, 255, 0, 17, 239, 249,
66, 254, 92, 256, 0, 0, 0, 19, 239, 249,
66, 254, 92, 258, 259, 251, 0, 0, 0, 20,
239, 249, 258, 259, 251, 19, 262, 263, 66, 254,
92, 87, 0, 0, 111, 0, 264, 87, 0, 136,
0, 249, 264, 0, 264, 0, 21, 239, 66, 265,
249, 266, 87, 267, 92, 258, 259, 251, 0, 0,
22, 239, 66, 111, 92, 270, 258, 251, 0, 111,
87, 0, 257, 0, 260, 0, 261, 0, 268, 0,
269, 0, 25, 87, 0, 26, 87, 0, 27, 87,
0, 27, 111, 87, 0, 284, 0, 28, 109, 87,
0, 28, 57, 111, 87, 0, 87, 0, 81, 111,
87, 0, 81, 87, 0, 278, 0, 85, 249, 66,
111, 92, 248, 0, 83, 66, 301, 92, 0, 272,
93, 245, 0, 272, 93, 1, 88, 0, 0, 274,
273, 0, 0, 82, 249, 248, 276, 274, 0, 84,
249, 248, 0, 275, 0, 275, 277, 0, 248, 0,
271, 0, 23, 119, 45, 0, 23, 119, 12, 119,
45, 0, 24, 45, 0, 109, 249, 45, 173, 0,
29, 292, 66, 291, 92, 293, 0, 0, 281, 0,
281, 87, 0, 29, 1, 293, 87, 0, 29, 286,
292, 66, 285, 92, 293, 87, 0, 291, 0, 291,
45, 287, 0, 291, 45, 287, 45, 287, 0, 291,
45, 287, 45, 287, 45, 290, 0, 0, 8, 0,
0, 288, 0, 289, 0, 288, 91, 289, 0, 291,
293, 66, 111, 92, 292, 0, 67, 109, 94, 291,
293, 66, 111, 92, 292, 0, 291, 0, 290, 91,
291, 0, 11, 0, 0, 0, 0, 173, 295, 296,
0, 299, 92, 0, 0, 0, 300, 87, 297, 173,
298, 296, 0, 1, 92, 0, 0, 12, 0, 300,
0, 300, 91, 12, 0, 302, 0, 300, 91, 301,
0, 153, 134, 199, 173, 0, 153, 134, 202, 173,
0, 153, 134, 226, 0, 154, 134, 202, 173, 0,
154, 134, 226, 0, 155, 303, 199, 173, 0, 155,
303, 202, 173, 0, 155, 303, 226, 0, 156, 303,
202, 173, 0, 156, 303, 226, 0, 134, 0, 0,
173, 305, 306, 0, 296, 0, 307, 92, 0, 3,
0, 307, 91, 3, 0, 109, 0, 308, 91, 109,
0, 33, 0, 316, 0, 312, 0, 313, 0, 321,
0, 331, 0, 70, 0, 109, 0, 311, 91, 109,
0, 79, 311, 87, 0, 80, 109, 109, 87, 0,
45, 109, 0, 0, 93, 325, 88, 0, 0, 0,
0, 68, 109, 314, 323, 317, 315, 318, 334, 70,
0, 0, 69, 109, 314, 319, 315, 0, 0, 68,
109, 66, 109, 92, 323, 320, 334, 70, 0, 69,
109, 66, 109, 92, 0, 0, 78, 109, 323, 322,
334, 70, 0, 78, 311, 87, 0, 0, 324, 0,
52, 311, 52, 0, 0, 325, 326, 327, 0, 0,
76, 0, 77, 0, 75, 0, 0, 327, 328, 87,
0, 327, 87, 0, 216, 0, 0, 87, 0, 55,
0, 56, 0, 0, 0, 330, 332, 340, 329, 333,
243, 0, 0, 334, 337, 0, 0, 334, 335, 101,
0, 87, 0, 1, 0, 0, 0, 330, 338, 340,
339, 336, 0, 66, 350, 92, 344, 0, 344, 0,
66, 350, 92, 345, 341, 0, 345, 341, 0, 342,
343, 0, 0, 342, 91, 301, 0, 0, 91, 12,
0, 346, 0, 351, 0, 345, 351, 0, 3, 0,
4, 0, 74, 0, 347, 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, 28, 0, 29, 0, 13, 0,
30, 0, 31, 0, 7, 0, 8, 0, 9, 0,
9, 0, 349, 348, 0, 0, 349, 223, 0, 349,
0, 346, 45, 66, 350, 92, 109, 0, 346, 45,
109, 0, 45, 66, 350, 92, 109, 0, 45, 109,
0, 346, 0, 353, 0, 355, 0, 353, 355, 0,
113, 0, 346, 45, 354, 0, 45, 354, 0, 111,
0, 74, 0, 4, 0, 67, 356, 352, 94, 0,
346, 0, 359, 0, 360, 0, 359, 360, 0, 346,
45, 0, 45, 0, 71, 66, 358, 92, 0, 78,
66, 109, 92, 0, 73, 66, 223, 92, 0
};
#endif
#if YYDEBUG
static const short yyrline[] =
{
0, 363, 367, 374, 374, 377, 377, 382, 384, 385,
386, 388, 393, 397, 401, 403, 405, 407, 408, 409,
414, 414, 414, 426, 428, 428, 428, 439, 441, 441,
441, 452, 456, 458, 459, 462, 464, 466, 469, 471,
473, 475, 479, 480, 485, 488, 491, 494, 498, 500,
504, 507, 512, 515, 522, 526, 531, 536, 539, 544,
548, 552, 556, 558, 563, 565, 567, 569, 571, 573,
575, 577, 579, 581, 583, 585, 587, 589, 589, 596,
596, 603, 603, 603, 615, 615, 627, 631, 638, 646,
648, 650, 653, 653, 674, 679, 681, 687, 692, 695,
699, 699, 709, 711, 723, 725, 737, 739, 742, 745,
751, 754, 757, 760, 763, 766, 769, 778, 781, 783,
787, 789, 795, 800, 802, 803, 804, 811, 814, 816,
819, 827, 836, 856, 861, 864, 866, 868, 870, 872,
917, 920, 922, 926, 931, 934, 938, 941, 945, 948,
950, 952, 954, 956, 958, 962, 965, 967, 969, 971,
973, 977, 980, 982, 984, 986, 988, 992, 995, 997,
999, 1001, 1005, 1008, 1010, 1012, 1014, 1016, 1018, 1022,
1027, 1030, 1032, 1034, 1036, 1038, 1042, 1047, 1050, 1052,
1054, 1056, 1058, 1060, 1062, 1064, 1066, 1070, 1073, 1075,
1077, 1079, 1083, 1086, 1088, 1090, 1092, 1094, 1096, 1098,
1100, 1102, 1106, 1109, 1111, 1113, 1115, 1120, 1122, 1123,
1124, 1125, 1126, 1127, 1128, 1131, 1133, 1134, 1135, 1136,
1137, 1138, 1139, 1142, 1144, 1145, 1146, 1149, 1151, 1152,
1153, 1156, 1158, 1159, 1160, 1163, 1165, 1166, 1167, 1170,
1172, 1173, 1174, 1175, 1176, 1177, 1178, 1181, 1183, 1184,
1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194,
1195, 1196, 1197, 1201, 1204, 1229, 1231, 1234, 1238, 1243,
1246, 1250, 1256, 1259, 1265, 1268, 1278, 1289, 1291, 1294,
1296, 1299, 1299, 1315, 1323, 1323, 1339, 1347, 1350, 1354,
1357, 1361, 1365, 1369, 1372, 1376, 1379, 1381, 1383, 1385,
1392, 1394, 1395, 1396, 1399, 1401, 1406, 1409, 1409, 1413,
1418, 1422, 1425, 1427, 1432, 1436, 1439, 1439, 1445, 1448,
1448, 1453, 1455, 1458, 1460, 1463, 1466, 1469, 1474, 1478,
1478, 1478, 1508, 1508, 1508, 1541, 1543, 1548, 1551, 1553,
1555, 1557, 1565, 1567, 1570, 1573, 1575, 1579, 1582, 1584,
1586, 1588, 1595, 1598, 1600, 1602, 1604, 1608, 1611, 1615,
1618, 1622, 1625, 1635, 1635, 1644, 1650, 1650, 1656, 1662,
1662, 1668, 1668, 1676, 1679, 1681, 1689, 1691, 1694, 1696,
1713, 1716, 1721, 1723, 1725, 1729, 1733, 1737, 1745, 1748,
1753, 1755, 1760, 1762, 1766, 1768, 1772, 1777, 1781, 1788,
1793, 1797, 1807, 1809, 1814, 1819, 1822, 1826, 1826, 1836,
1839, 1842, 1846, 1849, 1855, 1857, 1860, 1862, 1866, 1870,
1874, 1877, 1879, 1881, 1884, 1891, 1894, 1896, 1898, 1901,
1911, 1913, 1914, 1918, 1921, 1923, 1924, 1925, 1926, 1929,
1931, 1937, 1938, 1941, 1943, 1944, 1945, 1946, 1949, 1951,
1954, 1956, 1957, 1958, 1961, 1965, 1971, 1973, 1978, 1980,
1983, 1997, 2000, 2003, 2006, 2007, 2010, 2012, 2015, 2027,
2035, 2041, 2043, 2047, 2052, 2070, 2075, 2087, 2092, 2097,
2100, 2105, 2109, 2113, 2119, 2123, 2127, 2136, 2136, 2136,
2147, 2150, 2154, 2157, 2161, 2173, 2177, 2187, 2187, 2200,
2203, 2205, 2207, 2209, 2211, 2213, 2215, 2217, 2219, 2221,
2222, 2224, 2226, 2228, 2230, 2232, 2234, 2238, 2243, 2246,
2250, 2252, 2255, 2255, 2261, 2266, 2269, 2274, 2277, 2284,
2286, 2288, 2290, 2306, 2313, 2316, 2320, 2323, 2329, 2335,
2340, 2343, 2346, 2352, 2355, 2368, 2370, 2373, 2375, 2379,
2384, 2391, 2394, 2399, 2411, 2415, 2425, 2425, 2434, 2436,
2436, 2436, 2443, 2453, 2459, 2468, 2470, 2474, 2477, 2483,
2488, 2492, 2495, 2500, 2507, 2512, 2516, 2519, 2524, 2529,
2538, 2538, 2547, 2549, 2563, 2566, 2571, 2574, 2578, 2589,
2591, 2592, 2593, 2594, 2595, 2602, 2605, 2609, 2616, 2623,
2625, 2628, 2630, 2633, 2633, 2633, 2647, 2647, 2656, 2656,
2665, 2671, 2671, 2685, 2691, 2696, 2699, 2709, 2711, 2714,
2716, 2717, 2718, 2721, 2723, 2724, 2731, 2743, 2745, 2752,
2754, 2757, 2757, 2757, 2778, 2780, 2781, 2781, 2784, 2786,
2789, 2789, 2789, 2805, 2811, 2816, 2821, 2830, 2837, 2842,
2849, 2854, 2860, 2864, 2867, 2873, 2875, 2876, 2877, 2880,
2881, 2881, 2881, 2881, 2881, 2881, 2881, 2882, 2882, 2882,
2882, 2882, 2882, 2883, 2883, 2883, 2883, 2883, 2884, 2884,
2884, 2887, 2891, 2896, 2902, 2907, 2913, 2919, 2924, 2929,
2935, 2937, 2940, 2942, 2949, 2961, 2966, 2972, 2975, 2979,
2985, 2990, 2992, 2995, 2997, 3003, 3008, 3014, 3021, 3030
};
#endif
#if (YYDEBUG) || defined YYERROR_VERBOSE
static const char *const yytname[] =
{
"$", "error", "$undefined.", "IDENTIFIER", "TYPENAME", "SCSPEC", "STATIC",
"TYPESPEC", "TYPE_QUAL", "OBJC_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", "VA_ARG", "CHOOSE_EXPR",
"TYPES_COMPATIBLE_P", "FUNC_NAME", "OFFSETOF", "ASSIGN", "'='", "'?'",
"':'", "OROR", "ANDAND", "'|'", "'^'", "'&'", "EQCOMPARE",
"ARITHCOMPARE", "LSHIFT", "RSHIFT", "'+'", "'-'", "'*'", "'/'", "'%'",
"UNARY", "PLUSPLUS", "MINUSMINUS", "HYPERUNARY", "POINTSAT", "'.'",
"'('", "'['", "AT_INTERFACE", "AT_IMPLEMENTATION", "AT_END",
"AT_SELECTOR", "AT_DEFS", "AT_ENCODE", "CLASSNAME", "AT_PUBLIC",
"AT_PRIVATE", "AT_PROTECTED", "AT_PROTOCOL", "AT_CLASS", "AT_ALIAS",
"AT_THROW", "AT_TRY", "AT_CATCH", "AT_FINALLY", "AT_SYNCHRONIZED",
"OBJC_STRING", "';'", "'}'", "'~'", "'!'", "','", "')'", "'{'", "']'",
"program", "extdefs", "@1", "@2", "extdef", "save_obstack_position",
"datadef", "fndef", "@3", "@4", "@5", "@6", "@7", "@8", "identifier",
"unop", "expr", "exprlist", "nonnull_exprlist", "unary_expr", "sizeof",
"alignof", "typeof", "cast_expr", "expr_no_commas", "@9", "@10", "@11",
"@12", "@13", "primary", "@14", "@15", "offsetof_member_designator",
"old_style_parm_decls", "lineno_datadecl", "datadecls", "datadecl",
"lineno_decl", "setspecs", "maybe_resetattrs", "decl",
"declspecs_nosc_nots_nosa_noea", "declspecs_nosc_nots_nosa_ea",
"declspecs_nosc_nots_sa_noea", "declspecs_nosc_nots_sa_ea",
"declspecs_nosc_ts_nosa_noea", "declspecs_nosc_ts_nosa_ea",
"declspecs_nosc_ts_sa_noea", "declspecs_nosc_ts_sa_ea",
"declspecs_sc_nots_nosa_noea", "declspecs_sc_nots_nosa_ea",
"declspecs_sc_nots_sa_noea", "declspecs_sc_nots_sa_ea",
"declspecs_sc_ts_nosa_noea", "declspecs_sc_ts_nosa_ea",
"declspecs_sc_ts_sa_noea", "declspecs_sc_ts_sa_ea", "declspecs_ts",
"declspecs_nots", "declspecs_ts_nosa", "declspecs_nots_nosa",
"declspecs_nosc_ts", "declspecs_nosc_nots", "declspecs_nosc",
"declspecs", "maybe_type_quals_attrs", "typespec_nonattr",
"typespec_attr", "typespec_reserved_nonattr", "typespec_reserved_attr",
"typespec_nonreserved_nonattr", "initdecls", "notype_initdecls",
"initdcl", "@16", "notype_initdcl", "@17", "maybe_attribute",
"attributes", "attribute", "attribute_list", "attrib", "any_word",
"scspec", "init", "@18", "initlist_maybe_comma", "initlist1", "initelt",
"@19", "initval", "@20", "designator_list", "designator",
"array_designator", "nested_function", "@21", "@22",
"notype_nested_function", "@23", "@24", "declarator",
"after_type_declarator", "parm_declarator",
"parm_declarator_starttypename", "parm_declarator_nostarttypename",
"notype_declarator", "struct_head", "union_head", "enum_head",
"structsp_attr", "@25", "@26", "@27", "@28", "structsp_nonattr",
"maybecomma", "maybecomma_warn", "component_decl_list",
"component_decl_list2", "component_decl", "components",
"components_notype", "component_declarator",
"component_notype_declarator", "enumlist", "enumerator", "typename",
"@29", "absdcl", "absdcl_maybe_attribute", "absdcl1", "absdcl1_noea",
"absdcl1_ea", "direct_absdcl1", "array_declarator", "stmts_and_decls",
"lineno_stmt_decl_or_labels_ending_stmt",
"lineno_stmt_decl_or_labels_ending_decl",
"lineno_stmt_decl_or_labels_ending_label",
"lineno_stmt_decl_or_labels_ending_error", "lineno_stmt_decl_or_labels",
"errstmt", "c99_block_start", "maybe_label_decls", "label_decls",
"label_decl", "compstmt_or_error", "compstmt_start", "compstmt_nostart",
"compstmt_contents_nonempty", "compstmt_primary_start", "compstmt",
"save_location", "lineno_labels", "c99_block_lineno_labeled_stmt",
"lineno_stmt", "lineno_label", "condition", "if_statement_1",
"if_statement_2", "if_statement", "start_break", "start_continue",
"while_statement", "do_statement", "@30", "@31", "xexpr",
"for_init_stmt", "for_cond_expr", "for_incr_expr", "for_statement",
"switch_statement", "@32", "stmt_nocomp", "objc_catch_prefix",
"objc_catch_clause", "objc_opt_catch_list", "objc_try_catch_clause",
"@33", "objc_finally_clause", "objc_try_catch_stmt", "stmt", "label",
"simple_asm_expr", "maybeasm", "asmdef", "asm_stmt", "asm_argument",
"maybe_volatile", "asm_operands", "nonnull_asm_operands", "asm_operand",
"asm_clobbers", "asm_string", "stop_string_translation",
"start_string_translation", "parmlist", "@34", "parmlist_1", "@35",
"@36", "parmlist_2", "parms", "parm", "firstparm", "setspecs_fp",
"parmlist_or_identifiers", "@37", "parmlist_or_identifiers_1",
"identifiers", "identifiers_or_typenames", "extension", "objcdef",
"identifier_list", "classdecl", "aliasdecl", "superclass",
"class_ivars", "classdef", "@38", "@39", "@40", "@41", "protocoldef",
"@42", "protocolrefs", "non_empty_protocolrefs", "ivar_decl_list",
"visibility_spec", "ivar_decls", "ivar_decl", "opt_semi", "methodtype",
"methoddef", "@43", "@44", "methodprotolist", "@45", "semi_or_error",
"methodproto", "@46", "@47", "methoddecl", "optparmlist", "optparms",
"optellipsis", "unaryselector", "keywordselector", "selector",
"reservedwords", "objc_qual", "objc_quals", "objc_typename",
"keyworddecl", "messageargs", "keywordarglist", "keywordexpr",
"keywordarg", "receiver", "objcmessageexpr", "selectorarg",
"keywordnamelist", "keywordname", "objcselectorexpr",
"objcprotocolexpr", "objcencodeexpr", 0
};
#endif
static const short yyr1[] =
{
0, 95, 95, 97, 96, 98, 96, 99, 99, 99,
99, 99, 100, 101, 101, 101, 101, 101, 101, 101,
103, 104, 102, 102, 105, 106, 102, 102, 107, 108,
102, 102, 109, 109, 109, 110, 110, 110, 110, 110,
110, 110, 111, 111, 112, 112, 113, 113, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114, 114, 115,
116, 117, 118, 118, 119, 119, 119, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 120, 119, 121,
119, 122, 123, 119, 124, 119, 119, 119, 125, 125,
125, 125, 126, 125, 125, 125, 125, 125, 125, 125,
127, 125, 125, 125, 125, 125, 125, 125, 125, 125,
125, 125, 125, 125, 125, 125, 125, 128, 128, 128,
129, 129, 130, 131, 131, 131, 131, 132, 132, 132,
132, 133, 134, 135, 136, 136, 136, 136, 136, 136,
137, 137, 137, 138, 139, 139, 140, 140, 141, 141,
141, 141, 141, 141, 141, 142, 142, 142, 142, 142,
142, 143, 143, 143, 143, 143, 143, 144, 144, 144,
144, 144, 145, 145, 145, 145, 145, 145, 145, 146,
147, 147, 147, 147, 147, 147, 148, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 150, 150, 150,
150, 150, 151, 151, 151, 151, 151, 151, 151, 151,
151, 151, 152, 152, 152, 152, 152, 153, 153, 153,
153, 153, 153, 153, 153, 154, 154, 154, 154, 154,
154, 154, 154, 155, 155, 155, 155, 156, 156, 156,
156, 157, 157, 157, 157, 158, 158, 158, 158, 159,
159, 159, 159, 159, 159, 159, 159, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 161, 161, 162, 162, 163, 164, 164,
165, 166, 166, 166, 166, 166, 166, 167, 167, 168,
168, 170, 169, 169, 172, 171, 171, 173, 173, 174,
174, 175, 175, 176, 176, 177, 177, 177, 177, 177,
178, 178, 178, 178, 179, 179, 180, 181, 180, 180,
182, 182, 183, 183, 184, 184, 185, 184, 184, 187,
186, 186, 186, 188, 188, 189, 189, 190, 190, 192,
193, 191, 195, 196, 194, 197, 197, 198, 198, 198,
198, 198, 199, 199, 200, 200, 200, 201, 201, 201,
201, 201, 202, 202, 202, 202, 202, 203, 203, 204,
204, 205, 205, 207, 206, 206, 208, 206, 206, 209,
206, 210, 206, 211, 211, 211, 212, 212, 213, 213,
214, 214, 215, 215, 215, 215, 216, 216, 216, 216,
216, 216, 217, 217, 218, 218, 219, 219, 219, 220,
220, 220, 221, 221, 221, 222, 222, 224, 223, 225,
225, 226, 226, 226, 227, 227, 228, 228, 229, 229,
230, 230, 230, 230, 230, 231, 231, 231, 231, 231,
232, 232, 232, 232, 233, 233, 233, 233, 233, 234,
234, 234, 234, 235, 235, 235, 235, 235, 236, 236,
237, 237, 237, 237, 238, 239, 240, 240, 241, 241,
242, 243, 243, 244, 245, 245, 246, 246, 247, 248,
249, 250, 250, 251, 252, 253, 254, 255, 256, 256,
257, 257, 257, 257, 258, 259, 260, 262, 263, 261,
264, 264, 265, 265, 266, 267, 268, 270, 269, 271,
271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
271, 271, 271, 271, 271, 271, 271, 272, 273, 273,
274, 274, 276, 275, 277, 278, 278, 279, 279, 280,
280, 280, 280, 281, 282, 282, 283, 283, 284, 285,
285, 285, 285, 286, 286, 287, 287, 288, 288, 289,
289, 290, 290, 291, 292, 293, 295, 294, 296, 297,
298, 296, 296, 299, 299, 299, 299, 300, 300, 301,
301, 301, 301, 301, 302, 302, 302, 302, 302, 303,
305, 304, 306, 306, 307, 307, 308, 308, 309, 310,
310, 310, 310, 310, 310, 311, 311, 312, 313, 314,
314, 315, 315, 317, 318, 316, 319, 316, 320, 316,
316, 322, 321, 321, 323, 323, 324, 325, 325, 326,
326, 326, 326, 327, 327, 327, 328, 329, 329, 330,
330, 332, 333, 331, 334, 334, 335, 334, 336, 336,
338, 339, 337, 340, 340, 340, 340, 341, 342, 342,
343, 343, 344, 345, 345, 346, 346, 346, 346, 347,
347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
347, 348, 349, 349, 350, 350, 351, 351, 351, 351,
352, 352, 353, 353, 354, 355, 355, 356, 356, 356,
357, 358, 358, 359, 359, 360, 360, 361, 362, 363
};
static const short yyr2[] =
{
0, 0, 1, 0, 3, 0, 4, 1, 1, 1,
2, 1, 0, 3, 4, 4, 2, 2, 2, 1,
0, 0, 8, 4, 0, 0, 8, 4, 0, 0,
7, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 3, 0, 1, 1, 3, 1, 2,
2, 2, 2, 2, 4, 2, 4, 2, 2, 1,
1, 1, 1, 4, 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, 1, 0, 7, 3, 3, 3, 3, 4, 6,
0, 7, 4, 8, 4, 6, 4, 4, 3, 3,
2, 2, 1, 1, 1, 1, 1, 1, 3, 4,
0, 1, 2, 1, 1, 2, 2, 4, 4, 2,
2, 2, 0, 1, 4, 4, 3, 3, 2, 2,
1, 2, 2, 2, 2, 2, 1, 2, 1, 2,
2, 2, 2, 2, 2, 1, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 1, 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, 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, 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,
1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
1, 1, 2, 2, 1, 4, 4, 1, 4, 1,
4, 0, 6, 3, 0, 6, 3, 0, 1, 1,
2, 8, 3, 1, 3, 0, 1, 4, 6, 4,
1, 1, 1, 1, 1, 1, 1, 0, 4, 1,
0, 2, 1, 3, 3, 2, 0, 4, 1, 0,
4, 1, 1, 1, 2, 2, 1, 5, 3, 0,
0, 6, 0, 0, 6, 1, 1, 4, 3, 2,
3, 1, 1, 1, 3, 2, 1, 3, 2, 3,
3, 4, 3, 4, 3, 2, 1, 1, 2, 1,
2, 1, 2, 0, 7, 5, 0, 7, 5, 0,
8, 0, 7, 2, 2, 2, 0, 1, 0, 1,
1, 2, 0, 3, 2, 4, 3, 2, 3, 1,
1, 2, 1, 4, 1, 4, 2, 4, 3, 2,
4, 3, 1, 3, 1, 1, 3, 0, 3, 0,
1, 0, 1, 2, 1, 1, 1, 3, 2, 3,
4, 3, 2, 2, 1, 4, 3, 4, 5, 5,
1, 1, 1, 1, 1, 2, 2, 2, 2, 1,
2, 2, 2, 1, 2, 2, 2, 2, 1, 2,
1, 1, 1, 1, 2, 0, 0, 1, 1, 2,
3, 1, 2, 1, 1, 3, 1, 1, 2, 2,
0, 0, 2, 3, 2, 2, 2, 3, 3, 1,
9, 9, 7, 7, 0, 0, 9, 0, 0, 13,
0, 1, 2, 1, 2, 1, 12, 0, 8, 2,
1, 1, 1, 1, 1, 2, 2, 2, 3, 1,
3, 4, 1, 3, 2, 1, 6, 4, 3, 4,
0, 2, 0, 5, 3, 1, 2, 1, 1, 3,
5, 2, 4, 6, 0, 1, 2, 4, 8, 1,
3, 5, 7, 0, 1, 0, 1, 1, 3, 6,
9, 1, 3, 1, 0, 0, 0, 3, 2, 0,
0, 6, 2, 0, 1, 1, 3, 1, 3, 4,
4, 3, 4, 3, 4, 4, 3, 4, 3, 1,
0, 3, 1, 2, 1, 3, 1, 3, 1, 1,
1, 1, 1, 1, 1, 1, 3, 3, 4, 2,
0, 3, 0, 0, 0, 9, 0, 5, 0, 9,
5, 0, 6, 3, 0, 1, 3, 0, 3, 0,
1, 1, 1, 0, 3, 2, 1, 0, 1, 1,
1, 0, 0, 6, 0, 2, 0, 3, 1, 1,
0, 0, 5, 4, 1, 5, 2, 2, 0, 3,
0, 2, 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, 1, 2, 0, 2, 1, 6, 3, 5, 2,
1, 1, 1, 2, 1, 3, 2, 1, 1, 1,
4, 1, 1, 1, 2, 2, 1, 4, 4, 4
};
static const short yydefact[] =
{
12, 12, 3, 5, 0, 0, 0, 281, 315, 314,
278, 140, 371, 367, 369, 0, 61, 0, 598, 0,
639, 640, 0, 0, 604, 624, 0, 0, 0, 19,
4, 8, 7, 0, 0, 225, 226, 227, 228, 217,
218, 219, 220, 229, 230, 231, 232, 221, 222, 223,
224, 132, 132, 0, 148, 155, 275, 277, 276, 146,
299, 172, 0, 0, 0, 280, 279, 0, 9, 0,
11, 600, 601, 599, 602, 284, 641, 603, 6, 17,
18, 283, 372, 368, 370, 565, 0, 565, 0, 32,
33, 34, 605, 0, 610, 610, 282, 625, 624, 0,
0, 0, 0, 366, 273, 297, 0, 289, 0, 141,
153, 159, 143, 175, 142, 154, 160, 176, 144, 165,
170, 147, 182, 145, 166, 171, 183, 149, 151, 157,
156, 193, 150, 152, 158, 194, 161, 163, 168, 167,
208, 162, 164, 169, 209, 173, 191, 200, 179, 177,
174, 192, 201, 178, 180, 206, 215, 186, 184, 181,
207, 216, 185, 187, 189, 198, 197, 195, 188, 190,
199, 196, 202, 204, 213, 212, 210, 203, 205, 214,
211, 0, 0, 16, 300, 392, 383, 392, 384, 381,
385, 546, 10, 0, 0, 0, 302, 0, 626, 0,
0, 0, 624, 0, 616, 621, 623, 607, 0, 88,
89, 90, 59, 60, 0, 0, 0, 0, 0, 91,
0, 0, 35, 37, 36, 0, 38, 39, 0, 0,
0, 0, 0, 116, 40, 41, 0, 0, 62, 0,
0, 64, 42, 48, 253, 254, 255, 256, 249, 250,
251, 252, 417, 0, 0, 0, 112, 113, 114, 115,
245, 246, 247, 248, 274, 0, 0, 298, 13, 297,
31, 564, 297, 273, 0, 365, 545, 297, 351, 273,
297, 0, 287, 0, 345, 346, 0, 0, 0, 0,
0, 373, 0, 376, 0, 379, 665, 666, 688, 689,
690, 685, 669, 670, 671, 672, 673, 674, 675, 676,
677, 678, 679, 680, 681, 682, 683, 684, 686, 687,
0, 693, 667, 637, 654, 658, 662, 668, 663, 547,
563, 0, 305, 606, 609, 0, 613, 0, 612, 644,
608, 57, 58, 0, 0, 0, 0, 52, 49, 0,
478, 0, 0, 709, 708, 707, 0, 0, 0, 0,
51, 0, 285, 0, 53, 0, 55, 0, 0, 81,
79, 77, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 110, 111, 0, 0, 44, 0,
419, 286, 0, 0, 474, 0, 467, 468, 0, 50,
364, 0, 0, 133, 590, 362, 273, 274, 0, 0,
480, 0, 480, 124, 0, 296, 0, 0, 15, 297,
23, 0, 297, 297, 349, 14, 27, 0, 0, 297,
400, 394, 245, 246, 247, 248, 241, 242, 243, 244,
132, 132, 391, 0, 392, 297, 392, 414, 415, 388,
412, 0, 693, 699, 695, 0, 638, 642, 656, 660,
0, 664, 0, 565, 312, 313, 310, 0, 303, 306,
311, 624, 612, 620, 627, 617, 646, 0, 0, 0,
0, 0, 0, 0, 95, 94, 0, 0, 700, 0,
701, 702, 716, 711, 0, 712, 713, 0, 0, 43,
0, 0, 87, 86, 0, 0, 0, 0, 75, 76,
74, 73, 72, 70, 71, 65, 66, 67, 68, 69,
109, 108, 0, 45, 46, 0, 273, 297, 418, 420,
425, 424, 426, 434, 97, 596, 0, 477, 449, 476,
480, 480, 480, 480, 0, 458, 0, 0, 444, 453,
469, 96, 363, 290, 544, 0, 0, 0, 0, 436,
0, 464, 29, 126, 125, 122, 237, 238, 233, 234,
239, 240, 235, 236, 132, 132, 294, 350, 0, 0,
480, 293, 348, 480, 0, 375, 397, 0, 393, 401,
0, 378, 0, 0, 389, 0, 388, 0, 691, 694,
692, 0, 0, 0, 657, 693, 697, 543, 305, 0,
44, 618, 614, 629, 622, 650, 0, 645, 0, 104,
0, 106, 0, 102, 100, 92, 63, 704, 706, 0,
710, 0, 703, 715, 717, 0, 714, 719, 718, 54,
56, 0, 0, 80, 78, 98, 0, 107, 428, 566,
433, 297, 432, 470, 0, 450, 445, 454, 451, 446,
455, 0, 447, 456, 452, 448, 457, 459, 475, 88,
281, 465, 465, 465, 465, 465, 0, 0, 0, 0,
0, 0, 553, 624, 0, 480, 480, 522, 473, 480,
0, 131, 132, 132, 0, 466, 537, 510, 511, 512,
513, 514, 538, 535, 525, 484, 485, 519, 0, 0,
594, 574, 132, 132, 592, 0, 575, 577, 591, 0,
0, 0, 437, 435, 0, 129, 0, 130, 0, 0,
347, 288, 544, 21, 291, 25, 395, 0, 297, 396,
402, 0, 297, 398, 404, 297, 297, 416, 413, 297,
0, 0, 653, 658, 0, 643, 471, 661, 225, 226,
227, 228, 217, 218, 219, 220, 229, 230, 231, 232,
221, 222, 223, 224, 132, 132, 659, 0, 304, 565,
88, 0, 644, 644, 632, 630, 631, 611, 633, 0,
647, 0, 132, 132, 0, 0, 0, 0, 0, 705,
82, 85, 47, 427, 429, 0, 0, 566, 431, 597,
480, 480, 480, 0, 0, 0, 541, 515, 516, 517,
0, 0, 0, 554, 564, 524, 0, 0, 0, 0,
509, 0, 0, 138, 479, 480, 536, 139, 572, 589,
421, 421, 568, 569, 0, 0, 593, 438, 439, 30,
0, 0, 319, 317, 316, 295, 0, 0, 0, 297,
0, 406, 297, 297, 0, 409, 297, 374, 377, 382,
297, 698, 655, 472, 421, 421, 0, 301, 0, 307,
309, 646, 646, 0, 651, 0, 0, 99, 0, 105,
117, 0, 332, 0, 0, 329, 0, 331, 0, 386,
322, 328, 0, 333, 0, 0, 430, 567, 0, 0,
494, 500, 0, 0, 539, 518, 0, 520, 0, 523,
532, 0, 297, 0, 136, 339, 0, 137, 342, 0,
356, 273, 297, 297, 352, 353, 297, 586, 422, 425,
273, 297, 297, 588, 297, 576, 578, 595, 127, 128,
0, 22, 292, 26, 408, 297, 0, 411, 297, 0,
380, 297, 297, 581, 297, 583, 696, 0, 619, 615,
635, 636, 0, 0, 0, 0, 0, 101, 335, 42,
0, 326, 93, 0, 321, 0, 0, 334, 336, 325,
83, 480, 480, 495, 501, 503, 0, 480, 0, 0,
521, 0, 530, 0, 542, 134, 0, 135, 0, 534,
428, 566, 584, 297, 355, 297, 358, 585, 423, 428,
566, 587, 570, 0, 407, 403, 410, 405, 579, 580,
582, 308, 634, 649, 648, 652, 103, 118, 0, 0,
338, 0, 0, 323, 324, 0, 0, 0, 0, 465,
502, 480, 507, 540, 0, 549, 533, 0, 480, 480,
359, 360, 0, 354, 357, 0, 318, 119, 0, 330,
327, 486, 465, 494, 481, 0, 500, 0, 494, 565,
555, 0, 0, 531, 526, 340, 343, 361, 571, 337,
481, 489, 492, 493, 495, 480, 497, 504, 500, 465,
0, 0, 550, 556, 557, 565, 0, 0, 0, 0,
480, 465, 465, 465, 483, 482, 498, 505, 0, 508,
548, 0, 555, 0, 0, 0, 0, 528, 341, 344,
488, 487, 481, 490, 491, 496, 0, 494, 0, 551,
558, 0, 527, 529, 480, 480, 495, 565, 0, 0,
0, 465, 0, 552, 561, 564, 0, 506, 0, 0,
559, 499, 0, 562, 564, 560, 0, 0, 0
};
static const short yydefgoto[] =
{
1166, 1, 4, 5, 30, 2, 31, 32, 421, 856,
427, 858, 274, 724, 896, 236, 351, 522, 523, 238,
239, 240, 33, 241, 242, 507, 506, 504, 905, 505,
243, 798, 797, 891, 410, 411, 412, 565, 538, 34,
402, 691, 244, 245, 246, 247, 248, 249, 250, 251,
43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
712, 713, 440, 264, 252, 53, 265, 54, 55, 56,
57, 58, 281, 106, 282, 857, 107, 729, 403, 267,
60, 467, 468, 469, 61, 855, 950, 898, 899, 900,
1042, 901, 980, 902, 903, 904, 924, 1006, 1108, 927,
1008, 1109, 732, 284, 933, 934, 935, 285, 62, 63,
64, 65, 444, 446, 451, 294, 66, 984, 595, 289,
290, 442, 739, 743, 740, 744, 449, 450, 253, 390,
528, 937, 938, 530, 531, 532, 275, 539, 540, 541,
542, 543, 544, 413, 1074, 395, 396, 397, 755, 695,
398, 546, 254, 756, 414, 1095, 1091, 1114, 1115, 1047,
1092, 1093, 697, 993, 1049, 698, 699, 1116, 1136, 996,
997, 1077, 1118, 700, 701, 1078, 702, 1082, 1083, 1056,
703, 1002, 836, 704, 705, 706, 276, 277, 68, 707,
1054, 824, 1102, 1103, 1104, 1153, 1105, 86, 194, 650,
806, 714, 944, 1065, 715, 716, 776, 717, 840, 405,
555, 718, 719, 536, 255, 70, 93, 71, 72, 202,
475, 73, 472, 783, 338, 782, 74, 339, 96, 75,
613, 788, 883, 972, 457, 76, 77, 193, 602, 476,
616, 1035, 617, 789, 973, 323, 458, 459, 604, 324,
325, 326, 327, 600, 454, 455, 328, 489, 490, 628,
491, 356, 256, 494, 495, 496, 257, 258, 259
};
static const short yypact[] =
{
126, 194,-32768,-32768, 3887, 3887, 471, 165,-32768,-32768,
-32768,-32768, 168, 168, 168, 88,-32768, 119,-32768, 129,
-32768,-32768, 129, 129,-32768, 165, 129, 129, 129,-32768,
-32768,-32768,-32768, 238, 391, 1663, 4046, 3304, 4065, 324,
382, 706, 767, 3991, 4086, 4012, 4107, 810, 977, 909,
1270,-32768,-32768, 173,-32768,-32768,-32768,-32768,-32768, 168,
-32768,-32768, 115, 153, 187,-32768,-32768, 223,-32768, 3887,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768, 168, 168, 168,-32768, 258,-32768, 284,-32768,
-32768,-32768,-32768, 183, 312, 393,-32768,-32768, 204, 396,
414, 129, 3291,-32768, 234, 168, 427,-32768, 2663,-32768,
-32768,-32768, 168,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768, 168,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
168,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 168,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 168,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768, 168,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768, 168,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768, 168,-32768,-32768,-32768,-32768,
-32768, 297, 391,-32768,-32768, 301, 293, 301, 316,-32768,
361,-32768,-32768, 4182, 376, 394,-32768, 399,-32768, 129,
129, 129, 165, 129,-32768,-32768,-32768,-32768, 443,-32768,
-32768,-32768,-32768,-32768, 3555, 3555, 476, 482, 485,-32768,
520, 129,-32768,-32768,-32768, 3555,-32768,-32768, 1455, 3357,
525, 536, 545,-32768,-32768,-32768, 3555, 586,-32768, 3621,
3687,-32768, 4743, 685, 3919, 2198, 4499, 2324, 538, 729,
566, 823,-32768, 444, 2009, 3555,-32768,-32768,-32768,-32768,
333, 606, 412, 626,-32768, 391, 391, 168,-32768, 168,
-32768,-32768, 168, 470, 1650,-32768,-32768, 168,-32768, 234,
168, 442,-32768, 1557, 623, 640, 452, 2693, 581, 544,
3837,-32768, 565,-32768, 145,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
203,-32768,-32768, 489,-32768, 4215, 613,-32768,-32768,-32768,
-32768, 590, 490,-32768,-32768, 604,-32768, 607, 582,-32768,
-32768,-32768,-32768, 3555, 3119, 2548, 3094,-32768,-32768, 609,
-32768, 624, 617,-32768,-32768, 635, 4250, 4283, 4528, 129,
-32768, 3555,-32768, 1455,-32768, 1455,-32768, 3555, 3555, 686,
-32768,-32768, 3555, 3555, 3555, 3555, 3555, 3555, 3555, 3555,
3555, 3555, 3555, 3555,-32768,-32768, 129, 129, 3555, 3555,
68,-32768, 641, 129,-32768, 2263, 639,-32768, 643,-32768,
640, 315, 391,-32768,-32768,-32768, 234, 747, 2738, 673,
-32768, 1819, 71,-32768, 4414, 719, 297, 297,-32768, 168,
-32768, 1650, 168, 168,-32768,-32768,-32768, 1650, 690, 168,
-32768,-32768, 3919, 2198, 4499, 2324, 538, 729, 566, 823,
-32768, 630, 681, 2223, 301, 168, 301,-32768, 727, 687,
-32768, 145,-32768,-32768, 1929, 693,-32768,-32768,-32768, 696,
613,-32768, 261,-32768,-32768,-32768,-32768, 649,-32768, 739,
-32768, 165, 582,-32768,-32768,-32768, 455, 1936, 718, 4637,
722, 741, 744, 752,-32768,-32768, 3050, 3555, 774, 751,
4250,-32768,-32768, 804, 761, 4283,-32768, 763, 770, 4743,
772, 789, 4743, 4743, 3555, 814, 3555, 3555, 1632, 820,
1498, 1043, 1282, 891, 891, 628, 628,-32768,-32768,-32768,
-32768,-32768, 801, 812, 4743, 281, 234, 168,-32768,-32768,
-32768,-32768, 710,-32768,-32768,-32768, 498, 673,-32768,-32768,
84, 85, 96, 107, 904,-32768, 821, 2896,-32768,-32768,
-32768,-32768,-32768,-32768, 286, 1840, 3555, 3555, 2804,-32768,
1737,-32768,-32768,-32768,-32768,-32768, 1423, 4443, 1004, 1396,
4140, 4448, 1236, 1757, 825, 831,-32768, 623, 335, 297,
-32768, 867,-32768,-32768, 827,-32768, 584, 227,-32768,-32768,
833,-32768, 839, 3555, 129, 846, 687, 847,-32768,-32768,
-32768, 4215, 72, 4311,-32768,-32768,-32768,-32768, 490, 851,
3753,-32768,-32768, 568,-32768,-32768, 3972,-32768, 4528,-32768,
3555,-32768, 4528,-32768,-32768,-32768,-32768, 812,-32768, 3555,
-32768, 774,-32768,-32768,-32768, 804,-32768,-32768,-32768, 859,
859, 226, 3555, 1334, 1846,-32768, 3555,-32768, 68, 68,
-32768, 168,-32768,-32768, 129,-32768,-32768,-32768,-32768,-32768,
-32768, 2984,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 899,
292,-32768,-32768,-32768,-32768,-32768, 3555, 908, 869, 871,
3423, 106, 946, 408, 3489,-32768,-32768,-32768,-32768,-32768,
510,-32768,-32768,-32768, 875, 121,-32768,-32768,-32768,-32768,
-32768,-32768,-32768, 879,-32768,-32768,-32768,-32768, 3207, 877,
-32768,-32768,-32768,-32768,-32768, 880, 521,-32768,-32768, 698,
4539, 4557,-32768,-32768, 72,-32768, 297,-32768, 391, 1256,
-32768,-32768, 942,-32768,-32768,-32768,-32768, 3555, 99, 882,
-32768, 3555, 389, 883,-32768, 168, 168, 4743,-32768, 168,
887, 129,-32768, 4215, 885,-32768,-32768,-32768, 1423, 4443,
4360, 4475, 1004, 1396, 1621, 1960, 4140, 4448, 4365, 4504,
1236, 1757, 2445, 2449,-32768,-32768,-32768, 884,-32768,-32768,
700, 888,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 4182,
-32768, 391,-32768,-32768, 896, 4657, 898, 129, 2354,-32768,
-32768, 4759, 4743,-32768,-32768, 902, 1861,-32768,-32768,-32768,
-32768,-32768,-32768, 929, 931, 4707,-32768,-32768,-32768,-32768,
530, 3555, 911,-32768,-32768,-32768, 555, 885, 933, 956,
-32768, 297, 391,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
304, 255,-32768,-32768, 4330, 999,-32768,-32768,-32768,-32768,
561, 570,-32768,-32768, 4743,-32768, 72, 1256, 72, 4688,
3555,-32768, 168, 4688, 3555,-32768, 168,-32768,-32768,-32768,
168,-32768,-32768,-32768, 304, 255, 129,-32768, 3555,-32768,
-32768, 457, 539, 3797,-32768, 297, 391,-32768, 3555,-32768,
-32768, 318,-32768, 129, 3357,-32768, 958, 4743, 916, 915,
-32768,-32768, 348,-32768, 2504, 3555,-32768,-32768, 941, 947,
-32768, 3207, 3555, 3555,-32768,-32768, 577,-32768, 948,-32768,
-32768, 3555, 168, 580,-32768, 488, 583,-32768, 637, 885,
-32768, 234, 168, 168, 728, 731, 267,-32768,-32768, 168,
234, 168, 267,-32768, 168,-32768,-32768,-32768,-32768,-32768,
2354,-32768,-32768,-32768,-32768, 4688, 584,-32768, 4688, 227,
-32768, 168, 267,-32768, 267,-32768,-32768, 709,-32768,-32768,
-32768,-32768, 928, 110, 4606, 129, 3555,-32768,-32768, 1122,
2354,-32768,-32768, 2435,-32768, 2573, 3555,-32768,-32768,-32768,
4759,-32768,-32768,-32768, 635,-32768, 930,-32768, 712, 4725,
-32768, 394,-32768, 721,-32768,-32768, 1650,-32768, 1650,-32768,
304, 310,-32768, 168,-32768, 168,-32768,-32768, 168, 255,
255,-32768,-32768, 934,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 409, 3555,
-32768, 935, 2573,-32768,-32768, 1122, 3555, 924, 937,-32768,
-32768,-32768,-32768,-32768, 940, 980, 950, 885,-32768,-32768,
728, 731, 383,-32768,-32768, 1861,-32768,-32768, 4588,-32768,
-32768, 635,-32768,-32768,-32768, 1015, 3555, 951,-32768,-32768,
116, 969, 944,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768, 1030, 1031,-32768,-32768,-32768,-32768, 3555,-32768,
963, 129, 1011, 967,-32768,-32768, 4394, 2111, 885, 885,
196,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 968,-32768,
-32768, 965, 116, 116, 995, 971, 978,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768, 1003,-32768, 394, 1025,
-32768, 3555,-32768,-32768, 984,-32768,-32768,-32768, 394, 730,
982,-32768, 1006, 987,-32768,-32768, 988,-32768, 3555, 394,
-32768,-32768, 736,-32768,-32768,-32768, 1104, 1105,-32768
};
static const short yypgoto[] =
{
-32768,-32768,-32768,-32768, 73, 1106, 493,-32768,-32768,-32768,
-32768,-32768,-32768,-32768, 148,-32768, -25, 502, -431, 608,
-32768,-32768,-32768, -112, 1331,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768, -378, 701,-32768,-32768, -59, 587,
-392, -656, 0, 2, 24, 46, 76, 78, 19, 21,
-367, -340, -600, -566, -335, -307, -550, -546, -516, -486,
703, 704,-32768, -257,-32768, -485, -238, 1009, 1150, 1158,
1184,-32768, -650, -167, 540,-32768, 713,-32768, 411, -3,
39,-32768, 512,-32768, 1044, 264,-32768, -798,-32768, 139,
-32768, -808,-32768,-32768, 222, 224,-32768,-32768,-32768,-32768,
-32768,-32768, -168, 441, 254, 122, -144, 20,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 533, -128,
-32768, -395,-32768,-32768, 175, 176, 688, 546, 54,-32768,
-32768, -482, -360, -495, -578,-32768, 202,-32768,-32768,-32768,
-32768,-32768,-32768, -320, -534,-32768,-32768, 746, -657,-32768,
-635,-32768,-32768, -525, 425, -974, -920, -303, -290, -927,
-32768, -223, 34, -811, -980,-32768,-32768,-32768,-32768, -844,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768, 157, -271,-32768,-32768,
-32768,-32768, 23,-32768, 25,-32768, -178, -17, -79, 495,
-32768, -742,-32768,-32768,-32768,-32768, -786,-32768, 437, -409,
-32768,-32768,-32768,-32768, 15,-32768, 865,-32768,-32768, 1056,
682,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -43, 14,
-32768,-32768,-32768,-32768,-32768, -458,-32768,-32768,-32768, 118,
-32768,-32768,-32768,-32768,-32768, 366, 405,-32768,-32768, 558,
562, -262,-32768,-32768,-32768, -384, -280,-32768,-32768, 554,
677,-32768,-32768,-32768,-32768, 694,-32768,-32768,-32768
};
#define YYLAST 4818
static const short yytable[] =
{
88, 59, 59, 768, 35, 35, 36, 36, 196, 82,
83, 84, 422, 283, 582, 286, 407, 331, 615, 69,
69, 81, 696, 41, 41, 42, 42, 579, 37, 37,
529, 692, 112, 441, 121, 408, 130, 769, 139, 97,
148, 416, 157, 580, 166, 461, 175, 570, 589, 583,
38, 38, 837, 772, 108, 205, 627, 773, 946, 292,
834, 693, 694, 460, 907, 1048, 59, 849, 597, 35,
804, 36, -121, 754, 571, 545, 850, 237, 78, 572,
39, 39, 40, 40, 69, -460, -461, 774, 41, 85,
42, 563, 548, 37, 488, 493, 989, -462, 184, 59,
792, 59, 341, 342, 260, 549, 261, 573, -463, 89,
90, 1033, 97, 348, 1113, 38, 1110, 775, 89, 90,
87, 184, 184, 184, 360, 526, -1, 330, 262, 1075,
793, 17, 89, 90, 527, 273, 696, 810, 811, 812,
813, 814, 192, 399, 860, 39, 447, 40, 89, 90,
263, 184, 1023, 803, -564, 393, 89, 90, 1144, 336,
184, 67, 67, 821, -121, 688, 1151, 92, 556, 184,
94, 95, -440, -441, 98, 92, 101, 1044, 184, 1119,
91, 923, 1041, 1101, -442, -564, 441, 184, 570, 91,
89, 90, 692, 1135, -2, -443, 184, 1034, 627, 951,
17, 953, 287, 91, 355, 184, 89, 90, 185, 394,
186, 188, 190, 671, 184, 571, 97, 19, 1150, 91,
572, 777, 693, 694, 667, 59, 67, 91, 631, 873,
103, 1157, 1097, 635, 1070, 198, 766, 656, 659, 662,
665, 112, 11, 121, 768, 130, 187, 139, 573, 208,
657, 660, 663, 666, 1117, 995, 19, 112, 103, 121,
183, 91, 1094, 767, 89, 90, 17, 1099, 770, 452,
59, 800, 741, 260, 199, 261, 59, 91, 769, 260,
189, 261, 352, 1130, 104, 400, 401, 59, 648, 805,
432, -605, 433, 105, 772, -605, 771, 262, 773, 17,
103, 278, 920, 262, 102, 443, 184, 103, 930, 438,
191, 439, 940, 103, 434, 271, 590, 361, 592, 263,
1125, 941, 273, 1088, 195, 263, 1146, 605, 774, 8,
9, 10, 127, 272, 273, 91, 435, -33, 12, 13,
14, 109, 59, 59, 19, 939, 939, 333, 334, 335,
197, 337, 272, 273, 279, 59, 17, 200, 775, 943,
59, 931, 59, 280, 525, 17, 436, 931, 437, 347,
932, 273, 361, 288, 626, 647, 932, 273, 201, 939,
939, 272, 273, 975, 607, 976, 291, 8, 9, 10,
132, 985, 963, 965, 103, 692, 12, 13, 14, 481,
483, 423, 273, 59, 1009, 330, 260, 552, 261, 293,
977, -261, 497, 893, 566, 986, 567, 500, 738, 501,
118, 17, 554, 615, 615, 693, 694, 730, 611, 112,
262, 121, 804, 130, 864, 139, 400, 401, 200, 570,
59, 804, 448, 432, 17, 433, 348, 967, 104, 1015,
273, 59, 263, -34, 295, 272, 273, 105, 443, 203,
19, 422, 438, 329, 439, 332, 571, 434, 453, -262,
956, 572, 1127, 461, 959, 1087, 406, 766, 11, 641,
466, 655, 658, 206, 664, 97, 424, 199, 971, 435,
568, 460, 569, 89, 90, 8, 9, 464, 465, 573,
361, 207, 17, 1067, 767, 199, 768, 498, 599, 770,
20, 21, 20, 21, 268, 803, 266, 271, 269, 436,
-544, 437, 690, 59, 803, 614, 260, 968, 261, 418,
340, -544, 1084, 419, 520, 521, 391, 771, 1090, 425,
769, 535, 343, 269, 59, 10, 127, 35, 344, 36,
262, 345, 12, 13, 14, 566, 772, 567, 79, 80,
773, 851, 708, 112, 91, 130, 41, 148, 42, 166,
17, 37, 263, 10, 136, -544, 456, 1132, 1132, -544,
12, 13, 14, 1128, 1129, 653, 346, 103, 278, 654,
774, 357, 533, 38, 20, 21, 399, 830, 17, 448,
59, 361, 358, 758, 1063, 759, 1064, 742, 843, 969,
606, 359, 844, 59, 114, 59, 35, 915, 36, 59,
775, 361, 764, 39, 765, 40, 441, 760, 1058, 737,
1059, 568, 429, 569, 123, 41, 690, 42, 181, 182,
37, 279, 919, 784, 785, 786, 361, 428, 948, 761,
280, 805, 419, 445, 422, 820, 787, 949, 462, 826,
805, 269, 38, 925, 1000, 926, 271, 1005, 361, -544,
1007, 419, 794, 393, 269, 474, 796, 361, 362, 762,
-544, 763, 463, 404, 81, 381, 382, 383, 415, 423,
273, 417, 39, 1010, 40, 689, 471, 97, 570, 473,
877, 484, 1019, 272, 273, 59, 272, 273, 35, 486,
36, 8, 9, 10, 136, 361, 485, -399, -399, 286,
12, 13, 14, 708, -544, 571, 361, 41, -544, 42,
572, -84, 37, 534, 652, 551, 10, 132, 17, 766,
608, 609, 448, 12, 13, 14, 384, 385, 554, 386,
387, 388, 389, 557, 38, 112, 466, 121, 573, 130,
561, 139, 576, 148, 584, 157, 767, 166, 588, 175,
593, 770, 8, 9, 10, 141, 651, 273, 594, 424,
424, 12, 13, 14, 39, 601, 40, 603, 738, 845,
846, 878, 879, -263, 1013, 273, 916, 1015, 273, 771,
646, 1031, 809, 361, 1052, 610, 566, 918, 567, 689,
619, 554, 361, 1057, 621, 8, 9, 10, 163, 629,
547, 361, 1155, 1055, 12, 13, 14, 361, 1164, 822,
10, 141, 622, 581, 404, 562, 623, 12, 13, 14,
585, 59, 17, 624, 758, 630, 759, 364, 366, 633,
533, 533, 928, 634, -264, 637, 591, 577, 578, 642,
936, 942, 638, 764, 639, 765, 1061, 1062, 760, 355,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
59, 640, 568, 432, 569, 433, 994, 998, 1133, 1134,
761, 99, 100, 645, 962, 964, 1003, -269, 443, 871,
881, 882, 438, 646, 439, 409, 554, 434, 59, 668,
734, 35, 725, 36, 8, 9, 10, 172, 727, 736,
762, 745, 763, 12, 13, 14, 708, 746, 59, 435,
41, 260, 42, 261, 749, 37, 1018, 59, 649, 751,
260, 17, 261, 779, -32, 890, 379, 380, 381, 382,
383, 1038, 625, 816, 823, 262, 817, 38, 818, 436,
1147, 437, 833, 835, 262, 547, 547, 661, 547, 838,
1154, 271, 842, 862, 866, 870, 876, 263, 688, 742,
880, 1163, 8, 9, 10, 168, 263, 39, 887, 40,
889, 12, 13, 14, 906, 911, -271, 912, 917, 921,
1100, 922, 947, 981, 982, 733, 983, 991, 735, 8,
9, 10, 127, 992, 1001, 1032, 1072, 1050, 12, 13,
14, 1071, 1066, 1069, 966, 1080, 1124, 586, 587, 1073,
400, 401, 1079, 1081, 1096, 1106, 17, 1107, 1098, 400,
401, 978, 533, 533, 110, 115, 119, 124, 1111, 1112,
1120, 994, 146, 151, 155, 160, 1122, 184, 1123, 1138,
1137, 1141, 807, 1142, -270, 566, 1143, 567, 1152, 1145,
1148, 1130, 1158, 994, 1156, 1161, 533, 533, 1159, 113,
117, 122, 126, 131, 135, 140, 144, 149, 153, 158,
162, 167, 171, 176, 180, 376, 377, 378, 379, 380,
381, 382, 383, 59, 1167, 1168, 758, 3, 759, 790,
827, 828, 781, 564, 829, 553, 1149, 574, 575, 731,
778, 952, 1043, 1037, 987, 764, 988, 765, 961, 750,
760, 1025, 1060, 1162, 1039, 1027, 1014, 1016, 1160, 596,
748, 568, 550, 569, 1131, 1139, 808, 1165, 1140, 861,
841, 204, 761, 865, 612, 884, 867, 868, 872, 752,
869, 726, 728, 753, 367, 368, 369, 632, 370, 371,
372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 762, 799, 763, 111, 116, 120, 125, 636,
0, 0, 0, 147, 152, 156, 161, 128, 133, 137,
142, 0, 0, 791, 0, 164, 169, 173, 178, 0,
0, 0, 533, 533, 0, 0, 1040, 0, 0, 0,
0, 533, 533, 129, 134, 138, 143, 0, 0, 0,
0, 165, 170, 174, 179, 908, 909, 910, 0, 0,
0, 8, 9, 10, 163, 0, 0, 0, 0, 1121,
12, 13, 14, 110, 115, 119, 124, 852, 0, 209,
929, 0, 1014, 1016, 1016, 0, 210, 211, 17, 212,
954, 0, 0, 0, 957, 8, 9, 10, 177, 831,
832, 960, 0, 0, 12, 13, 14, 213, 0, 18,
0, 214, 215, 216, 217, 218, 219, 220, 0, 839,
839, 0, 0, 221, 0, 0, 222, 0, 0, 0,
0, 223, 224, 225, 0, 0, 0, 226, 227, 0,
0, 0, 228, 229, 0, 0, 0, 230, 0, 231,
0, 0, 0, 1004, 232, 377, 378, 379, 380, 381,
382, 383, 233, 1011, 1012, 234, 235, 1017, 0, 853,
0, 0, 1020, 1021, 0, 1022, 0, -272, 0, 0,
0, 874, 875, 0, 0, 0, 1024, 0, 0, 1026,
0, 0, 1028, 1029, 0, 1030, 470, 0, 0, 885,
886, 371, 372, 373, 374, 375, 376, 377, 378, 379,
380, 381, 382, 383, 111, 116, 120, 125, 0, 0,
0, 8, 9, 10, 132, 0, 128, 133, 137, 142,
12, 13, 14, 0, 0, 0, 1046, 1046, 0, 0,
0, 0, 1051, 0, 404, 0, 404, 7, 8, 9,
10, 109, 129, 134, 138, 143, 0, 12, 13, 14,
0, 110, 115, 119, 124, 0, 0, 0, 0, 0,
0, 0, 0, 16, 0, 17, 349, 0, 209, 7,
0, 0, 10, 11, 0, 210, 211, 0, 212, 12,
13, 14, 0, 0, 0, 19, 1076, 0, 0, 0,
0, 0, 0, 1085, 1086, 16, 213, 17, 18, 0,
214, 215, 216, 217, 218, 219, 220, 25, 0, 0,
0, 0, 221, 0, 0, 222, 0, 19, 0, 0,
223, 224, 225, 0, 0, 0, 226, 227, 0, 0,
661, 228, 229, 0, 0, 0, 230, 0, 231, 25,
0, 0, 0, 232, 0, 661, 0, 0, 0, 0,
0, 233, 0, 0, 234, 235, 0, 0, 350, 375,
376, 377, 378, 379, 380, 381, 382, 383, 420, 0,
0, -20, -20, -20, -20, -20, 0, 0, 0, 661,
1046, -20, -20, -20, 0, 110, 115, 0, 0, 146,
151, 0, 111, 116, 120, 125, 271, -20, 0, -544,
0, 0, 0, 0, 128, 133, 137, 142, 0, 0,
-544, 0, 0, 0, 0, 0, 0, 0, 0, -20,
113, 117, 131, 135, 149, 153, 167, 171, 0, 0,
129, 134, 138, 143, 0, 0, 8, 9, 10, 136,
0, -20, 0, 0, 0, 12, 13, 14, 0, 0,
0, 0, 0, 0, -544, 0, 0, 0, -544, 0,
-20, 409, 470, 17, -480, -480, -480, -480, -480, 0,
0, 0, 0, 0, -480, -480, -480, 7, 8, 9,
10, 109, 0, 0, 477, 479, 0, 12, 13, 14,
-480, 373, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 499, 16, 0, 17, 0, 0, 502, 503,
0, 0, -480, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 19, 111, 116, 0, 524,
147, 152, 0, 0, -480, 0, 128, 133, 0, 0,
164, 169, 0, 0, 0, 0, 0, 25, 0, 560,
0, 0, 0, -120, 0, 0, 0, 0, 0, 0,
-257, 0, 129, 134, 0, 0, 165, 170, 0, 0,
0, 0, 8, 9, 10, 168, 0, 110, 115, 119,
124, 12, 13, 14, 0, 146, 151, 155, 160, 367,
368, 369, 0, 370, 371, 372, 373, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 0, 0, 0,
0, 0, 113, 117, 122, 126, 131, 135, 140, 144,
149, 153, 158, 162, 167, 171, 176, 180, 524, 0,
409, 0, 0, -123, -123, -123, -123, -123, 0, 0,
0, 723, 0, -123, -123, -123, 0, 643, 644, 0,
0, 709, 0, 710, 7, 8, 9, 10, 11, -123,
0, 0, 711, 0, 12, 13, 14, 0, 0, 0,
0, 0, 709, 0, 0, 7, 8, 9, 10, 11,
16, -123, 0, 711, 0, 12, 13, 14, 0, 0,
0, 0, 0, 0, 0, 0, 0, 720, 721, 0,
0, 16, 19, -123, 372, 373, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 0, 0, 111, 116,
120, 125, -123, 19, 25, 0, 147, 152, 156, 161,
128, 133, 137, 142, 747, 0, 0, 0, 164, 169,
173, 178, -573, 7, 0, 25, 10, 11, 598, 0,
0, 524, 0, 12, 13, 14, 129, 134, 138, 143,
0, 795, 0, -573, 165, 170, 174, 179, 0, 16,
524, 17, 0, 0, 0, 8, 9, 10, 141, 0,
0, 0, 0, 801, 12, 13, 14, 802, 367, 368,
369, 19, 370, 371, 372, 373, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 0, 0, 0, 0,
0, 0, 0, 25, 0, 0, 0, 815, 0, 0,
392, 0, -466, -466, -466, -466, -466, -466, 0, -466,
-466, 0, -466, -466, -466, -466, -466, 618, -466, -466,
-466, -466, -466, -466, -466, -466, -466, -466, -466, -466,
-466, -466, -466, 393, -466, -466, -466, -466, -466, -466,
-466, 0, 0, 0, 0, 0, -466, 0, 0, -466,
854, -466, 0, 0, -466, -466, -466, 0, 859, 0,
-466, -466, 863, 0, 0, -466, -466, 0, 0, 0,
-466, 0, -466, -466, 0, 0, 0, -466, 0, 0,
-466, -466, 0, 0, -466, -466, -466, 394, -466, -466,
0, 0, -466, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1126, 0, -466, -466, -466, -466, -466, -466,
0, -466, -466, 0, -466, -466, -466, -466, -466, 897,
-466, -466, -466, -466, -466, -466, -466, -466, -466, -466,
-466, -466, -466, -466, -466, 393, -466, -466, -466, -466,
-466, -466, -466, 0, 0, 0, 0, 0, -466, 0,
0, -466, 0, -466, 0, 0, -466, -466, -466, 0,
0, 0, -466, -466, 0, 0, 0, -466, -466, 0,
0, 0, -466, 0, -466, -466, 0, 0, 854, -466,
0, 955, -466, -466, 0, 958, -466, -466, -466, 394,
-466, -466, 7, 0, -466, 10, 114, 0, 0, 524,
0, 0, 12, 13, 14, 0, 0, 0, 0, 974,
0, 0, 0, 0, 430, 979, 0, 7, 16, 0,
10, 11, 0, 0, 0, 897, 990, 12, 13, 14,
0, 0, 0, 0, 999, 0, 0, 0, 0, 0,
19, 0, 0, 16, 0, 17, 18, 0, 0, 0,
0, 0, 0, 0, 537, 0, -480, -480, -480, -480,
-480, -480, 25, -480, -480, 19, -480, -480, -480, -480,
-480, 897, -480, -480, -480, -480, -480, -480, -480, -480,
-480, -480, -480, -480, -480, -480, -480, 25, -480, -480,
-480, -480, -480, -480, -480, 0, 0, 0, 0, 0,
-480, 897, 0, -480, 897, -480, 897, 1045, -480, -480,
-480, 0, 0, 0, -480, -480, 0, 0, 7, -480,
-480, 10, 123, 0, -480, 0, -480, -480, 12, 13,
14, -480, 0, 0, -480, -480, 0, 0, -480, -480,
-480, 0, -480, -480, 16, 892, -480, 669, 90, 0,
0, 0, 0, 0, 210, 211, 0, 212, 0, 0,
1068, 0, 0, 897, 0, 0, 19, 0, 0, 0,
0, 0, 0, 0, 0, 213, 0, 18, 0, 214,
215, 216, 217, 218, 219, 220, 0, 0, 25, 0,
0, 221, 0, 0, 222, 0, 0, 0, 0, 223,
224, 225, 0, 0, 0, 226, 227, 0, 0, 893,
228, 894, 0, 0, 0, 230, 0, 231, 91, 0,
0, 0, 232, 0, 0, 0, 892, 0, 669, 90,
233, 0, -320, 234, 235, 210, 211, 895, 212, 0,
8, 9, 10, 172, 8, 9, 10, 177, 0, 12,
13, 14, 0, 12, 13, 14, 213, 0, 18, 0,
214, 215, 216, 217, 218, 219, 220, 17, 0, 0,
0, 0, 221, 0, 0, 222, 0, 0, 0, 0,
223, 224, 225, 0, 0, 0, 226, 227, 0, 0,
893, 228, 894, 0, 0, 892, 230, 209, 231, 91,
0, 0, 0, 232, 210, 211, 0, 212, 0, 0,
0, 233, 0, -387, 234, 235, 0, 0, 895, 0,
0, 0, 0, 0, 0, 213, 0, 18, 0, 214,
215, 216, 217, 218, 219, 220, 0, -336, 0, 480,
0, 221, 7, 0, 222, 10, 11, 0, 0, 223,
224, 225, 12, 13, 14, 226, 227, 0, 0, -336,
228, 229, 0, 0, 892, 230, 209, 231, 16, 0,
17, 0, 232, 210, 211, 0, 212, 0, 0, 0,
233, 0, 0, 234, 235, 0, 0, 895, 0, 0,
19, 0, 0, 0, 213, 0, 18, 0, 214, 215,
216, 217, 218, 219, 220, 0, 0, 0, 0, 0,
221, 0, 25, 222, 0, 0, 0, 0, 223, 224,
225, 0, 0, 0, 226, 227, 0, 0, 0, 228,
229, 0, 0, 0, 230, 0, 231, 0, 0, 0,
0, 232, 0, 0, 0, 0, 0, 0, 0, 233,
0, 0, 234, 235, 270, 0, 895, -28, -28, -28,
-28, -28, 0, 0, 0, 0, 0, -28, -28, -28,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 271, -28, 426, -544, 0, -24, -24, -24,
-24, -24, 0, 0, 0, 0, -544, -24, -24, -24,
0, 0, 0, 0, 0, -28, 0, 0, 0, 0,
0, 0, 271, -24, 0, -544, 0, 0, 0, 272,
273, 0, 0, 0, 0, 0, -544, -28, 0, 0,
0, 209, 0, 0, 0, -24, 0, 0, 210, 211,
-544, 212, 0, 0, -544, 0, -28, 0, 0, 272,
273, 0, 0, 0, 0, 0, 0, -24, 0, 213,
0, 18, 0, 214, 215, 216, 217, 218, 219, 220,
-544, 0, 0, 0, -544, 221, -24, 0, 222, 0,
0, 0, 0, 223, 224, 558, 0, 0, 0, 226,
227, 0, 0, 0, 228, 229, 0, 209, 0, 230,
0, 231, 0, 0, 210, 211, 232, 212, 0, 0,
0, 0, 0, 0, 233, 0, 0, 234, 235, 0,
0, 0, 559, 0, 0, 213, 0, 18, 0, 214,
215, 216, 217, 218, 219, 220, 0, 0, 0, 0,
0, 221, 0, 0, 222, 0, 0, 0, 0, 223,
224, 225, 0, 0, 0, 226, 227, 0, 0, 0,
228, 229, 0, 0, 0, 230, 0, 231, 0, 0,
0, 0, 232, 0, 0, 0, 0, 0, 0, 0,
233, 0, 0, 234, 235, 0, 0, 0, 722, 669,
670, 8, 9, 10, 11, 0, 210, 211, 0, 212,
12, 13, 14, 671, 0, 672, 673, 674, 675, 676,
677, 678, 679, 680, 681, 682, 16, 213, 17, 18,
0, 214, 215, 216, 217, 218, 219, 220, 0, 0,
0, 0, 0, 221, 0, 0, 222, 0, 19, 0,
0, 223, 224, 225, 0, 0, 0, 226, 227, 0,
0, 0, 228, 229, 0, 0, 0, 230, 0, 231,
683, 0, 0, 0, 232, 0, 0, 684, 685, 0,
0, 686, 233, 687, 0, 234, 235, 669, 90, 688,
0, 0, 0, 0, 210, 211, 0, 212, 0, 0,
0, 671, 0, 672, 673, 674, 675, 676, 677, 678,
679, 680, 681, 682, 0, 213, 0, 18, 0, 214,
215, 216, 217, 218, 219, 220, 0, 0, 0, 0,
0, 221, 0, 0, 222, 0, 0, 0, 0, 223,
224, 225, 0, 0, 0, 226, 227, 0, 0, 0,
228, 229, 0, 209, 0, 230, 0, 231, 91, 0,
210, 211, 232, 212, 0, 684, 685, 0, 0, 686,
233, 687, 0, 234, 235, 0, 0, 688, 0, 0,
0, 213, 0, 18, 0, 214, 215, 216, 217, 218,
219, 220, 0, 0, 0, 482, 0, 221, 7, 0,
222, 10, 11, 0, 0, 223, 224, 225, 12, 13,
14, 226, 227, 0, 0, 0, 228, 229, 0, 0,
478, 230, 209, 231, 16, 0, 17, 0, 232, 210,
211, 0, 212, 0, 0, 0, 233, 0, 0, 234,
235, 0, 0, 625, 0, 0, 19, 0, 0, 0,
213, 0, 18, 0, 214, 215, 216, 217, 218, 219,
220, 0, 0, 0, 0, 0, 221, 0, 25, 222,
0, 0, 0, 0, 223, 224, 225, 0, 0, 0,
226, 227, 0, 0, 0, 228, 229, 0, 0, 0,
230, 0, 231, 0, 0, 0, 0, 232, 0, 0,
0, 0, 0, 0, 0, 233, 0, 0, 234, 235,
209, 7, 8, 9, 10, 11, 0, 210, 211, 0,
212, 12, 13, 14, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 16, 213, 17,
18, 0, 214, 215, 216, 217, 218, 219, 220, 0,
0, 0, 0, 0, 221, 0, 0, 222, 0, 19,
0, 0, 223, 224, 225, 0, 0, 0, 226, 227,
0, 0, 0, 228, 229, 0, 0, 0, 230, 0,
231, 25, 0, 0, 0, 232, 0, 0, 0, 0,
0, 0, 0, 233, 209, 7, 234, 235, 10, 11,
0, 210, 211, 0, 212, 12, 13, 14, 7, 8,
9, 10, 118, 0, 0, 0, 0, 0, 12, 13,
14, 16, 213, 17, 18, 0, 214, 215, 216, 217,
218, 219, 220, 0, 16, 0, 17, 0, 221, 0,
0, 222, 0, 19, 0, 0, 223, 224, 225, 0,
0, 0, 226, 227, 0, 0, 19, 228, 229, 0,
209, 353, 230, 0, 231, 25, 0, 210, 211, 232,
212, 0, 0, 0, 0, 0, 0, 233, 25, 0,
234, 235, 0, 0, 0, 0, 0, 0, 213, 0,
18, -259, 214, 215, 216, 217, 218, 219, 220, 0,
0, 0, 0, 0, 221, 0, 0, 222, 0, 0,
0, 0, 223, 224, 225, 0, 0, 0, 226, 227,
0, 0, 0, 228, 229, 0, 209, 0, 230, 0,
231, 354, 0, 210, 211, 232, 212, 0, 0, 0,
0, 0, 0, 233, 0, 0, 234, 235, 0, 0,
0, 0, 0, 0, 213, 0, 18, 0, 214, 215,
216, 217, 218, 219, 220, 0, 0, 0, 0, 0,
221, 0, 0, 222, 0, 0, 0, 0, 223, 224,
225, 0, 0, 0, 226, 227, 0, 0, 0, 228,
229, 0, 209, 0, 230, 0, 231, 0, 0, 210,
211, 232, 212, 0, 0, 0, 0, 0, 0, 233,
819, 0, 234, 235, 0, 0, 0, 0, 0, 0,
213, 0, 18, 0, 214, 215, 216, 217, 218, 219,
220, 0, 0, 0, 0, 0, 221, 0, 0, 222,
0, 0, 0, 0, 223, 224, 225, 0, 0, 0,
226, 227, 0, 0, 0, 228, 229, 0, 209, 0,
230, 0, 231, 0, 0, 210, 211, 232, 212, 0,
0, 0, 0, 0, 0, 233, 825, 0, 234, 235,
0, 0, 0, 0, 0, 0, 213, 0, 18, 0,
214, 215, 216, 217, 218, 219, 220, 0, 0, 0,
0, 0, 221, 0, 0, 222, 0, 0, 0, 0,
223, 224, 225, 0, 0, 0, 226, 227, 0, 0,
0, 228, 229, 0, 209, 0, 230, 0, 231, 0,
0, 210, 211, 232, 212, 0, 0, 0, 0, 0,
0, 233, 0, 0, 234, 235, 0, 0, 0, 0,
0, 0, 213, 0, 18, 0, 214, 215, 216, 217,
218, 219, 220, 0, 0, 0, 0, 0, 221, 0,
0, 222, 0, 0, 0, 0, 223, 224, 225, 0,
0, 0, 226, 227, 0, 0, 0, 363, 229, 0,
209, 0, 230, 0, 231, 0, 0, 210, 211, 232,
212, 0, 0, 0, 0, 0, 0, 233, 0, 0,
234, 235, 0, 0, 0, 0, 0, 0, 213, 0,
18, 0, 214, 215, 216, 217, 218, 219, 220, 0,
0, 0, 0, 0, 221, 0, 0, 222, 0, 0,
0, 0, 223, 224, 225, 0, 0, 0, 226, 227,
0, 0, 0, 365, 229, 0, 780, 0, 230, 0,
231, 0, 0, 210, 211, 232, 212, 0, 0, 0,
0, 0, 0, 233, 0, 0, 234, 235, 0, 0,
0, 0, 0, 0, 213, 0, 18, 0, 214, 215,
216, 217, 218, 219, 220, 0, 0, 0, 430, 0,
221, 7, 0, 222, 10, 11, 0, 0, 223, 224,
225, 12, 13, 14, 226, 227, 0, 0, 0, 228,
229, 0, 0, 0, 230, 0, 231, 16, 0, 17,
18, 232, 0, 0, 0, 0, 0, 0, 430, 233,
0, 7, 234, 235, 10, 11, 0, 0, 0, 19,
0, 12, 13, 14, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
18, 25, -628, -628, -628, 0, 0, 0, 0, 0,
0, 0, 0, 0, 970, -628, 0, 0, 6, 19,
-132, 7, 8, 9, 10, 11, 0, 0, 0, 0,
0, 12, 13, 14, 0, 0, 0, 0, 0, 0,
0, 25, 0, 0, 0, 0, 15, 16, 0, 17,
18, 0, 0, 7, 431, -390, 10, 109, 0, 0,
0, 0, 0, 12, 13, 14, 0, 0, 0, 19,
0, 0, 20, 21, -132, 0, 0, 0, 0, 16,
0, 17, 0, -132, 0, 22, 23, 24, 0, 0,
0, 25, 0, 0, 0, 26, 27, 28, 0, 0,
0, 19, 0, 6, 29, -132, 7, 8, 9, 10,
11, 0, 0, 0, 0, 0, 12, 13, 14, 0,
0, 0, 0, 25, 0, 7, 8, 9, 10, 145,
0, 0, 16, 0, 17, 12, 13, 14, 0, 0,
0, 0, 0, 0, 0, 0, 7, 8, 9, 10,
154, 16, 0, 17, 19, 0, 12, 13, 14, -132,
0, 0, 0, 0, 0, 0, 0, 0, -132, 0,
0, 0, 16, 19, 17, 0, 25, 0, 0, 0,
7, 8, 9, 10, 114, 0, 0, 0, 0, 29,
12, 13, 14, 0, 19, 25, 0, 0, 0, 7,
8, 9, 10, 123, 0, 0, 16, 0, -265, 12,
13, 14, 0, 0, 0, 0, 25, 0, 0, 0,
7, 8, 9, 10, 150, 16, 0, 0, 19, -267,
12, 13, 14, 0, 0, 0, 0, 0, 0, 0,
0, 7, 8, 9, 10, 159, 16, 19, 0, 0,
25, 12, 13, 14, 0, 0, 0, 0, 0, 0,
0, 0, 0, -258, 0, 0, 0, 16, 19, 25,
0, 0, 0, 0, 7, 8, 9, 10, 145, 0,
0, 0, -260, 0, 12, 13, 14, 0, 0, 19,
25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
16, 0, 17, -266, 0, 0, 0, 0, 0, 0,
0, 25, 0, 0, 0, 296, 297, 0, 0, 298,
299, 300, 19, 0, -268, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, 317, 318, 319, 25, 0, 0, 0, 296, 297,
0, 0, 298, 299, 300, 0, 0, 320, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 0, 321, 0,
0, 0, 0, 296, 297, 0, 322, 298, 299, 300,
320, 0, 0, 301, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
318, 319, 0, 0, 0, 0, 296, 297, 0, 322,
298, 299, 300, 0, 0, 487, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 7, 8, 9, 10, 11,
0, 0, 0, 757, 322, 12, 13, 14, 492, 0,
0, 0, 0, 0, 7, 8, 9, 10, 11, 0,
0, 16, 945, 17, 12, 13, 14, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 322, 0, 0,
16, 0, 17, 19, 7, 8, 9, 10, 118, 7,
8, 9, 10, 154, 12, 13, 14, 0, 0, 12,
13, 14, 19, 0, 0, 25, 0, 0, 0, 0,
16, 0, 17, 0, 0, 16, 0, 17, 7, 8,
9, 10, 11, 0, 25, 0, 0, 0, 12, 13,
14, 0, 19, 0, 0, 0, 0, 19, 7, 8,
9, 10, 11, 0, 16, 0, 17, 0, 12, 13,
14, 0, 0, 0, 25, 0, 0, 0, 0, 25,
0, 0, 0, 0, 16, 0, 19, 7, 8, 9,
10, 114, 7, 8, 9, 10, 150, 12, 13, 14,
0, 0, 12, 13, 14, 0, 19, 0, 25, 0,
0, 0, 0, 16, 0, 0, 0, 0, 16, 7,
8, 9, 10, 123, 0, 0, 0, 0, 25, 12,
13, 14, 0, 0, 0, 19, 0, 0, 0, 0,
19, 0, 0, 7, 0, 16, 10, 118, 7, 8,
9, 10, 159, 12, 13, 14, 0, 25, 12, 13,
14, 0, 25, 0, 0, 0, 0, 19, 0, 16,
0, 17, 7, 0, 16, 10, 11, 0, 0, 0,
0, 0, 12, 13, 14, 0, 0, 0, 0, 25,
0, 19, 0, 0, 0, 0, 19, 0, 16, 0,
17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 25, 0, 0, 0, 0, 25, 0,
19, 367, 368, 369, 0, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 367,
368, 369, 25, 370, 371, 372, 373, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
367, 368, 369, 847, 370, 371, 372, 373, 374, 375,
376, 377, 378, 379, 380, 381, 382, 383, 367, 368,
369, 848, 370, 371, 372, 373, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 367,
368, 369, 1089, 370, 371, 372, 373, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 0, 1036, 367,
368, 369, 0, 370, 371, 372, 373, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 0, 0, 913,
17, 0, 0, 0, 0, 0, 0, 0, 620, 0,
367, 368, 369, 0, 370, 371, 372, 373, 374, 375,
376, 377, 378, 379, 380, 381, 382, 383, 888, 367,
368, 369, 914, 370, 371, 372, 373, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 367, 368, 369,
1053, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, 380, 381, 382, 383, 367, 368, 369, 0, 370,
371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
381, 382, 383, 369, 0, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383
};
static const short yycheck[] =
{
17, 4, 5, 603, 4, 5, 4, 5, 87, 12,
13, 14, 283, 181, 423, 182, 273, 195, 476, 4,
5, 7, 547, 4, 5, 4, 5, 419, 4, 5,
390, 547, 35, 290, 37, 273, 39, 603, 41, 25,
43, 279, 45, 421, 47, 325, 49, 414, 443, 427,
4, 5, 708, 603, 34, 98, 487, 603, 844, 187,
695, 547, 547, 325, 806, 992, 69, 724, 452, 69,
648, 69, 1, 1, 414, 395, 726, 102, 5, 414,
4, 5, 4, 5, 69, 1, 1, 603, 69, 1,
69, 411, 395, 69, 356, 357, 904, 1, 59, 102,
616, 104, 214, 215, 104, 395, 104, 414, 1, 3,
4, 1, 98, 225, 1094, 69, 1090, 603, 3, 4,
1, 82, 83, 84, 236, 57, 0, 11, 104, 1049,
616, 32, 3, 4, 66, 67, 661, 671, 672, 673,
674, 675, 69, 255, 45, 69, 1, 69, 3, 4,
104, 112, 950, 648, 66, 34, 3, 4, 1132, 202,
121, 4, 5, 57, 93, 93, 1146, 19, 406, 130,
22, 23, 88, 88, 26, 27, 28, 985, 139, 1099,
74, 831, 980, 67, 88, 66, 443, 148, 555, 74,
3, 4, 708, 1113, 0, 88, 157, 87, 629, 856,
32, 858, 182, 74, 229, 166, 3, 4, 93, 88,
62, 63, 64, 17, 175, 555, 202, 52, 1145, 74,
555, 605, 708, 708, 544, 228, 69, 74, 490, 754,
3, 1151, 1076, 495, 1042, 52, 603, 540, 541, 542,
543, 244, 8, 246, 844, 248, 93, 250, 555, 101,
540, 541, 542, 543, 1098, 911, 52, 260, 3, 262,
87, 74, 1073, 603, 3, 4, 32, 1078, 603, 66,
273, 45, 45, 273, 91, 273, 279, 74, 844, 279,
93, 279, 228, 87, 57, 265, 266, 290, 526, 649,
290, 87, 290, 66, 844, 91, 603, 273, 844, 32,
3, 4, 827, 279, 66, 290, 267, 3, 4, 290,
87, 290, 57, 3, 290, 29, 444, 91, 446, 273,
1106, 66, 67, 1065, 66, 279, 1137, 66, 844, 5,
6, 7, 8, 66, 67, 74, 290, 45, 14, 15,
16, 8, 345, 346, 52, 840, 841, 199, 200, 201,
66, 203, 66, 67, 57, 358, 32, 45, 844, 841,
363, 57, 365, 66, 389, 32, 290, 57, 290, 221,
66, 67, 91, 72, 486, 94, 66, 67, 66, 874,
875, 66, 67, 65, 463, 67, 93, 5, 6, 7,
8, 43, 874, 875, 3, 911, 14, 15, 16, 345,
346, 66, 67, 406, 929, 11, 406, 92, 406, 93,
92, 87, 358, 65, 414, 67, 414, 363, 586, 365,
8, 32, 402, 881, 882, 911, 911, 92, 471, 432,
406, 434, 1010, 436, 45, 438, 416, 417, 45, 806,
443, 1019, 294, 443, 32, 443, 558, 878, 57, 66,
67, 454, 406, 45, 93, 66, 67, 66, 443, 66,
52, 732, 443, 87, 443, 66, 806, 443, 320, 87,
862, 806, 1107, 753, 866, 92, 6, 844, 8, 504,
332, 540, 541, 87, 543, 471, 284, 91, 883, 443,
414, 753, 414, 3, 4, 5, 6, 7, 8, 806,
91, 87, 32, 94, 844, 91, 1106, 359, 454, 844,
55, 56, 55, 56, 87, 1010, 105, 29, 91, 443,
32, 443, 547, 526, 1019, 70, 526, 70, 526, 87,
87, 43, 1057, 91, 386, 387, 92, 844, 1072, 87,
1106, 393, 66, 91, 547, 7, 8, 547, 66, 547,
526, 66, 14, 15, 16, 555, 1106, 555, 87, 88,
1106, 728, 547, 566, 74, 568, 547, 570, 547, 572,
32, 547, 526, 7, 8, 87, 87, 1111, 1112, 91,
14, 15, 16, 1108, 1109, 87, 66, 3, 4, 91,
1106, 66, 390, 547, 55, 56, 708, 87, 32, 451,
603, 91, 66, 603, 1013, 603, 1015, 587, 87, 70,
462, 66, 91, 616, 8, 618, 616, 87, 616, 622,
1106, 91, 603, 547, 603, 547, 883, 603, 1006, 45,
1008, 555, 88, 555, 8, 616, 661, 616, 51, 52,
616, 57, 87, 75, 76, 77, 91, 66, 87, 603,
66, 1011, 91, 88, 925, 680, 88, 87, 45, 684,
1020, 91, 616, 831, 87, 832, 29, 87, 91, 32,
87, 91, 618, 34, 91, 93, 622, 91, 92, 603,
43, 603, 92, 272, 670, 57, 58, 59, 277, 66,
67, 280, 616, 931, 616, 547, 92, 683, 1065, 92,
779, 92, 940, 66, 67, 708, 66, 67, 708, 92,
708, 5, 6, 7, 8, 91, 92, 87, 88, 886,
14, 15, 16, 708, 87, 1065, 91, 708, 91, 708,
1065, 45, 708, 92, 532, 92, 7, 8, 32, 1106,
91, 92, 594, 14, 15, 16, 61, 62, 728, 64,
65, 66, 67, 6, 708, 758, 608, 760, 1065, 762,
87, 764, 43, 766, 74, 768, 1106, 770, 87, 772,
43, 1106, 5, 6, 7, 8, 66, 67, 91, 577,
578, 14, 15, 16, 708, 92, 708, 91, 956, 91,
92, 91, 92, 87, 66, 67, 821, 66, 67, 1106,
91, 92, 654, 91, 92, 66, 806, 824, 806, 661,
92, 791, 91, 92, 92, 5, 6, 7, 8, 45,
395, 91, 92, 1001, 14, 15, 16, 91, 92, 681,
7, 8, 91, 422, 423, 410, 92, 14, 15, 16,
429, 844, 32, 91, 844, 94, 844, 239, 240, 45,
648, 649, 832, 92, 87, 92, 445, 416, 417, 45,
840, 841, 92, 844, 92, 844, 1010, 1011, 844, 894,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
883, 92, 806, 883, 806, 883, 911, 912, 1111, 1112,
844, 26, 27, 92, 874, 875, 921, 87, 883, 751,
782, 783, 883, 91, 883, 1, 886, 883, 911, 88,
43, 911, 87, 911, 5, 6, 7, 8, 87, 92,
844, 88, 844, 14, 15, 16, 911, 88, 931, 883,
911, 931, 911, 931, 88, 911, 939, 940, 527, 92,
940, 32, 940, 92, 45, 797, 55, 56, 57, 58,
59, 976, 93, 45, 8, 931, 87, 911, 87, 883,
1138, 883, 87, 84, 940, 540, 541, 542, 543, 92,
1148, 29, 92, 91, 91, 88, 92, 931, 93, 959,
92, 1159, 5, 6, 7, 8, 940, 911, 92, 911,
92, 14, 15, 16, 92, 66, 87, 66, 87, 66,
1079, 45, 3, 45, 88, 580, 91, 66, 583, 5,
6, 7, 8, 66, 66, 87, 92, 87, 14, 15,
16, 1046, 88, 88, 876, 45, 1105, 440, 441, 92,
1010, 1011, 92, 83, 19, 66, 32, 93, 87, 1019,
1020, 893, 840, 841, 35, 36, 37, 38, 18, 18,
87, 1076, 43, 44, 45, 46, 45, 1018, 91, 94,
92, 66, 651, 92, 87, 1065, 88, 1065, 1147, 66,
45, 87, 66, 1098, 92, 87, 874, 875, 91, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 52, 53, 54, 55, 56,
57, 58, 59, 1106, 0, 0, 1106, 1, 1106, 616,
685, 686, 610, 412, 689, 402, 1141, 414, 414, 579,
608, 857, 983, 975, 902, 1106, 902, 1106, 874, 596,
1106, 956, 1010, 1158, 12, 959, 934, 935, 1155, 451,
594, 1065, 396, 1065, 1110, 1122, 651, 1164, 1123, 738,
713, 95, 1106, 742, 472, 789, 745, 746, 753, 601,
749, 574, 575, 601, 42, 43, 44, 490, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 59, 1106, 629, 1106, 35, 36, 37, 38, 495,
-1, -1, -1, 43, 44, 45, 46, 39, 40, 41,
42, -1, -1, 616, -1, 47, 48, 49, 50, -1,
-1, -1, 1010, 1011, -1, -1, 94, -1, -1, -1,
-1, 1019, 1020, 39, 40, 41, 42, -1, -1, -1,
-1, 47, 48, 49, 50, 810, 811, 812, -1, -1,
-1, 5, 6, 7, 8, -1, -1, -1, -1, 1101,
14, 15, 16, 244, 245, 246, 247, 1, -1, 3,
835, -1, 1060, 1061, 1062, -1, 10, 11, 32, 13,
859, -1, -1, -1, 863, 5, 6, 7, 8, 692,
693, 870, -1, -1, 14, 15, 16, 31, -1, 33,
-1, 35, 36, 37, 38, 39, 40, 41, -1, 712,
713, -1, -1, 47, -1, -1, 50, -1, -1, -1,
-1, 55, 56, 57, -1, -1, -1, 61, 62, -1,
-1, -1, 66, 67, -1, -1, -1, 71, -1, 73,
-1, -1, -1, 922, 78, 53, 54, 55, 56, 57,
58, 59, 86, 932, 933, 89, 90, 936, -1, 93,
-1, -1, 941, 942, -1, 944, -1, 87, -1, -1,
-1, 774, 775, -1, -1, -1, 955, -1, -1, 958,
-1, -1, 961, 962, -1, 964, 332, -1, -1, 792,
793, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 244, 245, 246, 247, -1, -1,
-1, 5, 6, 7, 8, -1, 248, 249, 250, 251,
14, 15, 16, -1, -1, -1, 991, 992, -1, -1,
-1, -1, 997, -1, 1013, -1, 1015, 4, 5, 6,
7, 8, 248, 249, 250, 251, -1, 14, 15, 16,
-1, 432, 433, 434, 435, -1, -1, -1, -1, -1,
-1, -1, -1, 30, -1, 32, 1, -1, 3, 4,
-1, -1, 7, 8, -1, 10, 11, -1, 13, 14,
15, 16, -1, -1, -1, 52, 1051, -1, -1, -1,
-1, -1, -1, 1058, 1059, 30, 31, 32, 33, -1,
35, 36, 37, 38, 39, 40, 41, 74, -1, -1,
-1, -1, 47, -1, -1, 50, -1, 52, -1, -1,
55, 56, 57, -1, -1, -1, 61, 62, -1, -1,
1095, 66, 67, -1, -1, -1, 71, -1, 73, 74,
-1, -1, -1, 78, -1, 1110, -1, -1, -1, -1,
-1, 86, -1, -1, 89, 90, -1, -1, 93, 51,
52, 53, 54, 55, 56, 57, 58, 59, 1, -1,
-1, 4, 5, 6, 7, 8, -1, -1, -1, 1144,
1145, 14, 15, 16, -1, 566, 567, -1, -1, 570,
571, -1, 432, 433, 434, 435, 29, 30, -1, 32,
-1, -1, -1, -1, 436, 437, 438, 439, -1, -1,
43, -1, -1, -1, -1, -1, -1, -1, -1, 52,
566, 567, 568, 569, 570, 571, 572, 573, -1, -1,
436, 437, 438, 439, -1, -1, 5, 6, 7, 8,
-1, 74, -1, -1, -1, 14, 15, 16, -1, -1,
-1, -1, -1, -1, 87, -1, -1, -1, 91, -1,
93, 1, 608, 32, 4, 5, 6, 7, 8, -1,
-1, -1, -1, -1, 14, 15, 16, 4, 5, 6,
7, 8, -1, -1, 343, 344, -1, 14, 15, 16,
30, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 59, 361, 30, -1, 32, -1, -1, 367, 368,
-1, -1, 52, 372, 373, 374, 375, 376, 377, 378,
379, 380, 381, 382, 383, 52, 566, 567, -1, 388,
570, 571, -1, -1, 74, -1, 568, 569, -1, -1,
572, 573, -1, -1, -1, -1, -1, 74, -1, 408,
-1, -1, -1, 93, -1, -1, -1, -1, -1, -1,
87, -1, 568, 569, -1, -1, 572, 573, -1, -1,
-1, -1, 5, 6, 7, 8, -1, 758, 759, 760,
761, 14, 15, 16, -1, 766, 767, 768, 769, 42,
43, 44, -1, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
-1, -1, 758, 759, 760, 761, 762, 763, 764, 765,
766, 767, 768, 769, 770, 771, 772, 773, 487, -1,
1, -1, -1, 4, 5, 6, 7, 8, -1, -1,
-1, 94, -1, 14, 15, 16, -1, 506, 507, -1,
-1, 1, -1, 3, 4, 5, 6, 7, 8, 30,
-1, -1, 12, -1, 14, 15, 16, -1, -1, -1,
-1, -1, 1, -1, -1, 4, 5, 6, 7, 8,
30, 52, -1, 12, -1, 14, 15, 16, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 556, 557, -1,
-1, 30, 52, 74, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, -1, -1, 758, 759,
760, 761, 93, 52, 74, -1, 766, 767, 768, 769,
762, 763, 764, 765, 593, -1, -1, -1, 770, 771,
772, 773, 92, 4, -1, 74, 7, 8, 9, -1,
-1, 610, -1, 14, 15, 16, 762, 763, 764, 765,
-1, 620, -1, 92, 770, 771, 772, 773, -1, 30,
629, 32, -1, -1, -1, 5, 6, 7, 8, -1,
-1, -1, -1, 642, 14, 15, 16, 646, 42, 43,
44, 52, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
-1, -1, -1, 74, -1, -1, -1, 676, -1, -1,
1, -1, 3, 4, 5, 6, 7, 8, -1, 10,
11, -1, 13, 14, 15, 16, 17, 91, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, -1, -1, -1, -1, -1, 47, -1, -1, 50,
729, 52, -1, -1, 55, 56, 57, -1, 737, -1,
61, 62, 741, -1, -1, 66, 67, -1, -1, -1,
71, -1, 73, 74, -1, -1, -1, 78, -1, -1,
81, 82, -1, -1, 85, 86, 87, 88, 89, 90,
-1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
-1, 10, 11, -1, 13, 14, 15, 16, 17, 798,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, -1, -1, -1, -1, -1, 47, -1,
-1, 50, -1, 52, -1, -1, 55, 56, 57, -1,
-1, -1, 61, 62, -1, -1, -1, 66, 67, -1,
-1, -1, 71, -1, 73, 74, -1, -1, 857, 78,
-1, 860, 81, 82, -1, 864, 85, 86, 87, 88,
89, 90, 4, -1, 93, 7, 8, -1, -1, 878,
-1, -1, 14, 15, 16, -1, -1, -1, -1, 888,
-1, -1, -1, -1, 1, 894, -1, 4, 30, -1,
7, 8, -1, -1, -1, 904, 905, 14, 15, 16,
-1, -1, -1, -1, 913, -1, -1, -1, -1, -1,
52, -1, -1, 30, -1, 32, 33, -1, -1, -1,
-1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
7, 8, 74, 10, 11, 52, 13, 14, 15, 16,
17, 950, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 74, 35, 36,
37, 38, 39, 40, 41, -1, -1, -1, -1, -1,
47, 980, -1, 50, 983, 52, 985, 986, 55, 56,
57, -1, -1, -1, 61, 62, -1, -1, 4, 66,
67, 7, 8, -1, 71, -1, 73, 74, 14, 15,
16, 78, -1, -1, 81, 82, -1, -1, 85, 86,
87, -1, 89, 90, 30, 1, 93, 3, 4, -1,
-1, -1, -1, -1, 10, 11, -1, 13, -1, -1,
1039, -1, -1, 1042, -1, -1, 52, -1, -1, -1,
-1, -1, -1, -1, -1, 31, -1, 33, -1, 35,
36, 37, 38, 39, 40, 41, -1, -1, 74, -1,
-1, 47, -1, -1, 50, -1, -1, -1, -1, 55,
56, 57, -1, -1, -1, 61, 62, -1, -1, 65,
66, 67, -1, -1, -1, 71, -1, 73, 74, -1,
-1, -1, 78, -1, -1, -1, 1, -1, 3, 4,
86, -1, 88, 89, 90, 10, 11, 93, 13, -1,
5, 6, 7, 8, 5, 6, 7, 8, -1, 14,
15, 16, -1, 14, 15, 16, 31, -1, 33, -1,
35, 36, 37, 38, 39, 40, 41, 32, -1, -1,
-1, -1, 47, -1, -1, 50, -1, -1, -1, -1,
55, 56, 57, -1, -1, -1, 61, 62, -1, -1,
65, 66, 67, -1, -1, 1, 71, 3, 73, 74,
-1, -1, -1, 78, 10, 11, -1, 13, -1, -1,
-1, 86, -1, 88, 89, 90, -1, -1, 93, -1,
-1, -1, -1, -1, -1, 31, -1, 33, -1, 35,
36, 37, 38, 39, 40, 41, -1, 43, -1, 1,
-1, 47, 4, -1, 50, 7, 8, -1, -1, 55,
56, 57, 14, 15, 16, 61, 62, -1, -1, 65,
66, 67, -1, -1, 1, 71, 3, 73, 30, -1,
32, -1, 78, 10, 11, -1, 13, -1, -1, -1,
86, -1, -1, 89, 90, -1, -1, 93, -1, -1,
52, -1, -1, -1, 31, -1, 33, -1, 35, 36,
37, 38, 39, 40, 41, -1, -1, -1, -1, -1,
47, -1, 74, 50, -1, -1, -1, -1, 55, 56,
57, -1, -1, -1, 61, 62, -1, -1, -1, 66,
67, -1, -1, -1, 71, -1, 73, -1, -1, -1,
-1, 78, -1, -1, -1, -1, -1, -1, -1, 86,
-1, -1, 89, 90, 1, -1, 93, 4, 5, 6,
7, 8, -1, -1, -1, -1, -1, 14, 15, 16,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 29, 30, 1, 32, -1, 4, 5, 6,
7, 8, -1, -1, -1, -1, 43, 14, 15, 16,
-1, -1, -1, -1, -1, 52, -1, -1, -1, -1,
-1, -1, 29, 30, -1, 32, -1, -1, -1, 66,
67, -1, -1, -1, -1, -1, 43, 74, -1, -1,
-1, 3, -1, -1, -1, 52, -1, -1, 10, 11,
87, 13, -1, -1, 91, -1, 93, -1, -1, 66,
67, -1, -1, -1, -1, -1, -1, 74, -1, 31,
-1, 33, -1, 35, 36, 37, 38, 39, 40, 41,
87, -1, -1, -1, 91, 47, 93, -1, 50, -1,
-1, -1, -1, 55, 56, 57, -1, -1, -1, 61,
62, -1, -1, -1, 66, 67, -1, 3, -1, 71,
-1, 73, -1, -1, 10, 11, 78, 13, -1, -1,
-1, -1, -1, -1, 86, -1, -1, 89, 90, -1,
-1, -1, 94, -1, -1, 31, -1, 33, -1, 35,
36, 37, 38, 39, 40, 41, -1, -1, -1, -1,
-1, 47, -1, -1, 50, -1, -1, -1, -1, 55,
56, 57, -1, -1, -1, 61, 62, -1, -1, -1,
66, 67, -1, -1, -1, 71, -1, 73, -1, -1,
-1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
86, -1, -1, 89, 90, -1, -1, -1, 94, 3,
4, 5, 6, 7, 8, -1, 10, 11, -1, 13,
14, 15, 16, 17, -1, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
-1, 35, 36, 37, 38, 39, 40, 41, -1, -1,
-1, -1, -1, 47, -1, -1, 50, -1, 52, -1,
-1, 55, 56, 57, -1, -1, -1, 61, 62, -1,
-1, -1, 66, 67, -1, -1, -1, 71, -1, 73,
74, -1, -1, -1, 78, -1, -1, 81, 82, -1,
-1, 85, 86, 87, -1, 89, 90, 3, 4, 93,
-1, -1, -1, -1, 10, 11, -1, 13, -1, -1,
-1, 17, -1, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, -1, 31, -1, 33, -1, 35,
36, 37, 38, 39, 40, 41, -1, -1, -1, -1,
-1, 47, -1, -1, 50, -1, -1, -1, -1, 55,
56, 57, -1, -1, -1, 61, 62, -1, -1, -1,
66, 67, -1, 3, -1, 71, -1, 73, 74, -1,
10, 11, 78, 13, -1, 81, 82, -1, -1, 85,
86, 87, -1, 89, 90, -1, -1, 93, -1, -1,
-1, 31, -1, 33, -1, 35, 36, 37, 38, 39,
40, 41, -1, -1, -1, 1, -1, 47, 4, -1,
50, 7, 8, -1, -1, 55, 56, 57, 14, 15,
16, 61, 62, -1, -1, -1, 66, 67, -1, -1,
1, 71, 3, 73, 30, -1, 32, -1, 78, 10,
11, -1, 13, -1, -1, -1, 86, -1, -1, 89,
90, -1, -1, 93, -1, -1, 52, -1, -1, -1,
31, -1, 33, -1, 35, 36, 37, 38, 39, 40,
41, -1, -1, -1, -1, -1, 47, -1, 74, 50,
-1, -1, -1, -1, 55, 56, 57, -1, -1, -1,
61, 62, -1, -1, -1, 66, 67, -1, -1, -1,
71, -1, 73, -1, -1, -1, -1, 78, -1, -1,
-1, -1, -1, -1, -1, 86, -1, -1, 89, 90,
3, 4, 5, 6, 7, 8, -1, 10, 11, -1,
13, 14, 15, 16, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 30, 31, 32,
33, -1, 35, 36, 37, 38, 39, 40, 41, -1,
-1, -1, -1, -1, 47, -1, -1, 50, -1, 52,
-1, -1, 55, 56, 57, -1, -1, -1, 61, 62,
-1, -1, -1, 66, 67, -1, -1, -1, 71, -1,
73, 74, -1, -1, -1, 78, -1, -1, -1, -1,
-1, -1, -1, 86, 3, 4, 89, 90, 7, 8,
-1, 10, 11, -1, 13, 14, 15, 16, 4, 5,
6, 7, 8, -1, -1, -1, -1, -1, 14, 15,
16, 30, 31, 32, 33, -1, 35, 36, 37, 38,
39, 40, 41, -1, 30, -1, 32, -1, 47, -1,
-1, 50, -1, 52, -1, -1, 55, 56, 57, -1,
-1, -1, 61, 62, -1, -1, 52, 66, 67, -1,
3, 4, 71, -1, 73, 74, -1, 10, 11, 78,
13, -1, -1, -1, -1, -1, -1, 86, 74, -1,
89, 90, -1, -1, -1, -1, -1, -1, 31, -1,
33, 87, 35, 36, 37, 38, 39, 40, 41, -1,
-1, -1, -1, -1, 47, -1, -1, 50, -1, -1,
-1, -1, 55, 56, 57, -1, -1, -1, 61, 62,
-1, -1, -1, 66, 67, -1, 3, -1, 71, -1,
73, 74, -1, 10, 11, 78, 13, -1, -1, -1,
-1, -1, -1, 86, -1, -1, 89, 90, -1, -1,
-1, -1, -1, -1, 31, -1, 33, -1, 35, 36,
37, 38, 39, 40, 41, -1, -1, -1, -1, -1,
47, -1, -1, 50, -1, -1, -1, -1, 55, 56,
57, -1, -1, -1, 61, 62, -1, -1, -1, 66,
67, -1, 3, -1, 71, -1, 73, -1, -1, 10,
11, 78, 13, -1, -1, -1, -1, -1, -1, 86,
87, -1, 89, 90, -1, -1, -1, -1, -1, -1,
31, -1, 33, -1, 35, 36, 37, 38, 39, 40,
41, -1, -1, -1, -1, -1, 47, -1, -1, 50,
-1, -1, -1, -1, 55, 56, 57, -1, -1, -1,
61, 62, -1, -1, -1, 66, 67, -1, 3, -1,
71, -1, 73, -1, -1, 10, 11, 78, 13, -1,
-1, -1, -1, -1, -1, 86, 87, -1, 89, 90,
-1, -1, -1, -1, -1, -1, 31, -1, 33, -1,
35, 36, 37, 38, 39, 40, 41, -1, -1, -1,
-1, -1, 47, -1, -1, 50, -1, -1, -1, -1,
55, 56, 57, -1, -1, -1, 61, 62, -1, -1,
-1, 66, 67, -1, 3, -1, 71, -1, 73, -1,
-1, 10, 11, 78, 13, -1, -1, -1, -1, -1,
-1, 86, -1, -1, 89, 90, -1, -1, -1, -1,
-1, -1, 31, -1, 33, -1, 35, 36, 37, 38,
39, 40, 41, -1, -1, -1, -1, -1, 47, -1,
-1, 50, -1, -1, -1, -1, 55, 56, 57, -1,
-1, -1, 61, 62, -1, -1, -1, 66, 67, -1,
3, -1, 71, -1, 73, -1, -1, 10, 11, 78,
13, -1, -1, -1, -1, -1, -1, 86, -1, -1,
89, 90, -1, -1, -1, -1, -1, -1, 31, -1,
33, -1, 35, 36, 37, 38, 39, 40, 41, -1,
-1, -1, -1, -1, 47, -1, -1, 50, -1, -1,
-1, -1, 55, 56, 57, -1, -1, -1, 61, 62,
-1, -1, -1, 66, 67, -1, 3, -1, 71, -1,
73, -1, -1, 10, 11, 78, 13, -1, -1, -1,
-1, -1, -1, 86, -1, -1, 89, 90, -1, -1,
-1, -1, -1, -1, 31, -1, 33, -1, 35, 36,
37, 38, 39, 40, 41, -1, -1, -1, 1, -1,
47, 4, -1, 50, 7, 8, -1, -1, 55, 56,
57, 14, 15, 16, 61, 62, -1, -1, -1, 66,
67, -1, -1, -1, 71, -1, 73, 30, -1, 32,
33, 78, -1, -1, -1, -1, -1, -1, 1, 86,
-1, 4, 89, 90, 7, 8, -1, -1, -1, 52,
-1, 14, 15, 16, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 30, -1, 32,
33, 74, 75, 76, 77, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 87, 88, -1, -1, 1, 52,
3, 4, 5, 6, 7, 8, -1, -1, -1, -1,
-1, 14, 15, 16, -1, -1, -1, -1, -1, -1,
-1, 74, -1, -1, -1, -1, 29, 30, -1, 32,
33, -1, -1, 4, 87, 88, 7, 8, -1, -1,
-1, -1, -1, 14, 15, 16, -1, -1, -1, 52,
-1, -1, 55, 56, 57, -1, -1, -1, -1, 30,
-1, 32, -1, 66, -1, 68, 69, 70, -1, -1,
-1, 74, -1, -1, -1, 78, 79, 80, -1, -1,
-1, 52, -1, 1, 87, 3, 4, 5, 6, 7,
8, -1, -1, -1, -1, -1, 14, 15, 16, -1,
-1, -1, -1, 74, -1, 4, 5, 6, 7, 8,
-1, -1, 30, -1, 32, 14, 15, 16, -1, -1,
-1, -1, -1, -1, -1, -1, 4, 5, 6, 7,
8, 30, -1, 32, 52, -1, 14, 15, 16, 57,
-1, -1, -1, -1, -1, -1, -1, -1, 66, -1,
-1, -1, 30, 52, 32, -1, 74, -1, -1, -1,
4, 5, 6, 7, 8, -1, -1, -1, -1, 87,
14, 15, 16, -1, 52, 74, -1, -1, -1, 4,
5, 6, 7, 8, -1, -1, 30, -1, 87, 14,
15, 16, -1, -1, -1, -1, 74, -1, -1, -1,
4, 5, 6, 7, 8, 30, -1, -1, 52, 87,
14, 15, 16, -1, -1, -1, -1, -1, -1, -1,
-1, 4, 5, 6, 7, 8, 30, 52, -1, -1,
74, 14, 15, 16, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 87, -1, -1, -1, 30, 52, 74,
-1, -1, -1, -1, 4, 5, 6, 7, 8, -1,
-1, -1, 87, -1, 14, 15, 16, -1, -1, 52,
74, -1, -1, -1, -1, -1, -1, -1, -1, -1,
30, -1, 32, 87, -1, -1, -1, -1, -1, -1,
-1, 74, -1, -1, -1, 3, 4, -1, -1, 7,
8, 9, 52, -1, 87, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 74, -1, -1, -1, 3, 4,
-1, -1, 7, 8, 9, -1, -1, 45, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, -1, 66, -1,
-1, -1, -1, 3, 4, -1, 74, 7, 8, 9,
45, -1, -1, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, -1, -1, -1, -1, 3, 4, -1, 74,
7, 8, 9, -1, -1, 45, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 4, 5, 6, 7, 8,
-1, -1, -1, 12, 74, 14, 15, 16, 45, -1,
-1, -1, -1, -1, 4, 5, 6, 7, 8, -1,
-1, 30, 12, 32, 14, 15, 16, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 74, -1, -1,
30, -1, 32, 52, 4, 5, 6, 7, 8, 4,
5, 6, 7, 8, 14, 15, 16, -1, -1, 14,
15, 16, 52, -1, -1, 74, -1, -1, -1, -1,
30, -1, 32, -1, -1, 30, -1, 32, 4, 5,
6, 7, 8, -1, 74, -1, -1, -1, 14, 15,
16, -1, 52, -1, -1, -1, -1, 52, 4, 5,
6, 7, 8, -1, 30, -1, 32, -1, 14, 15,
16, -1, -1, -1, 74, -1, -1, -1, -1, 74,
-1, -1, -1, -1, 30, -1, 52, 4, 5, 6,
7, 8, 4, 5, 6, 7, 8, 14, 15, 16,
-1, -1, 14, 15, 16, -1, 52, -1, 74, -1,
-1, -1, -1, 30, -1, -1, -1, -1, 30, 4,
5, 6, 7, 8, -1, -1, -1, -1, 74, 14,
15, 16, -1, -1, -1, 52, -1, -1, -1, -1,
52, -1, -1, 4, -1, 30, 7, 8, 4, 5,
6, 7, 8, 14, 15, 16, -1, 74, 14, 15,
16, -1, 74, -1, -1, -1, -1, 52, -1, 30,
-1, 32, 4, -1, 30, 7, 8, -1, -1, -1,
-1, -1, 14, 15, 16, -1, -1, -1, -1, 74,
-1, 52, -1, -1, -1, -1, 52, -1, 30, -1,
32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 74, -1, -1, -1, -1, 74, -1,
52, 42, 43, 44, -1, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 42,
43, 44, 74, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, 94, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, 59, 42, 43,
44, 94, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, 94, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, -1, 92, 42,
43, 44, -1, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, -1, -1, 12,
32, -1, -1, -1, -1, -1, -1, -1, 91, -1,
42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, 59, 91, 42,
43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 42, 43, 44, -1, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, 59, 44, -1, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59
};
#line 3 "/usr/share/bison/bison.simple"
#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
# if YYSTACK_USE_ALLOCA
# define YYSTACK_ALLOC alloca
# else
# ifndef YYSTACK_USE_ALLOCA
# if defined (alloca) || defined (_ALLOCA_H)
# define YYSTACK_ALLOC alloca
# else
# ifdef __GNUC__
# define YYSTACK_ALLOC __builtin_alloca
# endif
# endif
# endif
# endif
# ifdef YYSTACK_ALLOC
# define YYSTACK_FREE(Ptr) do { ; } while (0)
# else
# if defined (__STDC__) || defined (__cplusplus)
# include <stdlib.h>
# define YYSIZE_T size_t
# endif
# define YYSTACK_ALLOC malloc
# define YYSTACK_FREE free
# endif
#endif
#if (! defined (yyoverflow) \
&& (! defined (__cplusplus) \
|| (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
union yyalloc
{
short yyss;
YYSTYPE yyvs;
# if YYLSP_NEEDED
YYLTYPE yyls;
# endif
};
# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
# if YYLSP_NEEDED
# define YYSTACK_BYTES(N) \
((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
+ 2 * YYSTACK_GAP_MAX)
# else
# define YYSTACK_BYTES(N) \
((N) * (sizeof (short) + sizeof (YYSTYPE)) \
+ YYSTACK_GAP_MAX)
# endif
# ifndef YYCOPY
# if 1 < __GNUC__
# define YYCOPY(To, From, Count) \
__builtin_memcpy (To, From, (Count) * sizeof (*(From)))
# else
# define YYCOPY(To, From, Count) \
do \
{ \
register YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(To)[yyi] = (From)[yyi]; \
} \
while (0)
# endif
# endif
# define YYSTACK_RELOCATE(Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
YYCOPY (&yyptr->Stack, Stack, yysize); \
Stack = &yyptr->Stack; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
while (0)
#endif
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# define YYSIZE_T __SIZE_TYPE__
#endif
#if ! defined (YYSIZE_T) && defined (size_t)
# define YYSIZE_T size_t
#endif
#if ! defined (YYSIZE_T)
# if defined (__STDC__) || defined (__cplusplus)
# include <stddef.h>
# define YYSIZE_T size_t
# endif
#endif
#if ! defined (YYSIZE_T)
# define YYSIZE_T unsigned int
#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 YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \
Current.last_line = Rhs[N].last_line; \
Current.last_column = Rhs[N].last_column;
#endif
#if YYPURE
# if 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
#else
# define YYLEX yylex ()
#endif
#if YYDEBUG
# ifndef YYFPRINTF
# include <stdio.h>
# define YYFPRINTF fprintf
# endif
# define YYDPRINTF(Args) \
do { \
if (yydebug) \
YYFPRINTF Args; \
} while (0)
int yydebug;
#else
# define YYDPRINTF(Args)
#endif
#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
#if YYMAXDEPTH == 0
# undef YYMAXDEPTH
#endif
#ifndef YYMAXDEPTH
# define YYMAXDEPTH 10000
#endif
#ifdef YYERROR_VERBOSE
# ifndef yystrlen
# if defined (__GLIBC__) && defined (_STRING_H)
# define yystrlen strlen
# else
static YYSIZE_T
# if defined (__STDC__) || defined (__cplusplus)
yystrlen (const char *yystr)
# else
yystrlen (yystr)
const char *yystr;
# endif
{
register const char *yys = yystr;
while (*yys++ != '\0')
continue;
return yys - yystr - 1;
}
# endif
# endif
# ifndef yystpcpy
# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
# define yystpcpy stpcpy
# else
static char *
# if defined (__STDC__) || defined (__cplusplus)
yystpcpy (char *yydest, const char *yysrc)
# else
yystpcpy (yydest, yysrc)
char *yydest;
const char *yysrc;
# endif
{
register char *yyd = yydest;
register const char *yys = yysrc;
while ((*yyd++ = *yys++) != '\0')
continue;
return yyd - 1;
}
# endif
# endif
#endif
#line 315 "/usr/share/bison/bison.simple"
#ifdef YYPARSE_PARAM
# if defined (__STDC__) || defined (__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
#define YY_DECL_NON_LSP_VARIABLES \
\
int yychar; \
\
\
YYSTYPE yylval; \
\
\
int yynerrs;
#if YYLSP_NEEDED
# define YY_DECL_VARIABLES \
YY_DECL_NON_LSP_VARIABLES \
\
\
YYLTYPE yylloc;
#else
# define YY_DECL_VARIABLES \
YY_DECL_NON_LSP_VARIABLES
#endif
#if !YYPURE
YY_DECL_VARIABLES
#endif
int
yyparse (YYPARSE_PARAM_ARG)
YYPARSE_PARAM_DECL
{
#if YYPURE
YY_DECL_VARIABLES
#endif
register int yystate;
register int yyn;
int yyresult;
int yyerrstatus;
int yychar1 = 0;
short yyssa[YYINITDEPTH];
short *yyss = yyssa;
register short *yyssp;
YYSTYPE yyvsa[YYINITDEPTH];
YYSTYPE *yyvs = yyvsa;
register YYSTYPE *yyvsp;
#if YYLSP_NEEDED
YYLTYPE yylsa[YYINITDEPTH];
YYLTYPE *yyls = yylsa;
YYLTYPE *yylsp;
#endif
#if YYLSP_NEEDED
# define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
#else
# define YYPOPSTACK (yyvsp--, yyssp--)
#endif
YYSIZE_T yystacksize = YYINITDEPTH;
YYSTYPE yyval;
#if YYLSP_NEEDED
YYLTYPE yyloc;
#endif
int yylen;
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
yychar = YYEMPTY;
yyssp = yyss;
yyvsp = yyvs;
#if YYLSP_NEEDED
yylsp = yyls;
#endif
goto yysetstate;
yynewstate:
yyssp++;
yysetstate:
*yyssp = yystate;
if (yyssp >= yyss + yystacksize - 1)
{
YYSIZE_T yysize = yyssp - yyss + 1;
#ifdef yyoverflow
{
YYSTYPE *yyvs1 = yyvs;
short *yyss1 = yyss;
# if YYLSP_NEEDED
YYLTYPE *yyls1 = yyls;
yyoverflow ("parser stack overflow",
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
&yyls1, yysize * sizeof (*yylsp),
&yystacksize);
yyls = yyls1;
# else
yyoverflow ("parser stack overflow",
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
&yystacksize);
# endif
yyss = yyss1;
yyvs = yyvs1;
}
#else
# ifndef YYSTACK_RELOCATE
goto yyoverflowlab;
# else
if (yystacksize >= YYMAXDEPTH)
goto yyoverflowlab;
yystacksize *= 2;
if (yystacksize > YYMAXDEPTH)
yystacksize = YYMAXDEPTH;
{
short *yyss1 = yyss;
union yyalloc *yyptr =
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyoverflowlab;
YYSTACK_RELOCATE (yyss);
YYSTACK_RELOCATE (yyvs);
# if YYLSP_NEEDED
YYSTACK_RELOCATE (yyls);
# endif
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
}
# endif
#endif
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
#if YYLSP_NEEDED
yylsp = yyls + yysize - 1;
#endif
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
if (yyssp >= yyss + yystacksize - 1)
YYABORT;
}
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
goto yybackup;
yybackup:
yyn = yypact[yystate];
if (yyn == YYFLAG)
goto yydefault;
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
yychar = YYLEX;
}
if (yychar <= 0)
{
yychar1 = 0;
yychar = YYEOF;
YYDPRINTF ((stderr, "Now at end of input.\n"));
}
else
{
yychar1 = YYTRANSLATE (yychar);
#if YYDEBUG
if (yydebug)
{
YYFPRINTF (stderr, "Next token is %d (%s",
yychar, yytname[yychar1]);
# ifdef YYPRINT
YYPRINT (stderr, yychar, yylval);
# endif
YYFPRINTF (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;
YYDPRINTF ((stderr, "Shifting token %d (%s), ",
yychar, yytname[yychar1]));
if (yychar != YYEOF)
yychar = YYEMPTY;
*++yyvsp = yylval;
#if YYLSP_NEEDED
*++yylsp = yylloc;
#endif
if (yyerrstatus)
yyerrstatus--;
yystate = yyn;
goto yynewstate;
yydefault:
yyn = yydefact[yystate];
if (yyn == 0)
goto yyerrlab;
goto yyreduce;
yyreduce:
yylen = yyr2[yyn];
yyval = yyvsp[1-yylen];
#if YYLSP_NEEDED
yyloc = yylsp[1-yylen];
YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
#endif
#if YYDEBUG
if (yydebug)
{
int yyi;
YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
yyn, yyrline[yyn]);
for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
}
#endif
switch (yyn) {
case 1:
#line 364 "objc/objc-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids an empty source file");
;
break;}
case 3:
#line 375 "objc/objc-parse.y"
{ yyval.dsptype = NULL; ;
break;}
case 4:
#line 376 "objc/objc-parse.y"
{ obstack_free (&parser_obstack, yyvsp[-2].otype); ;
break;}
case 5:
#line 378 "objc/objc-parse.y"
{ yyval.dsptype = NULL; ggc_collect (); ;
break;}
case 6:
#line 379 "objc/objc-parse.y"
{ obstack_free (&parser_obstack, yyvsp[-2].otype); ;
break;}
case 10:
#line 387 "objc/objc-parse.y"
{ RESTORE_EXT_FLAGS (yyvsp[-1].itype); ;
break;}
case 12:
#line 394 "objc/objc-parse.y"
{ yyval.otype = obstack_alloc (&parser_obstack, 0); ;
break;}
case 13:
#line 399 "objc/objc-parse.y"
{ pedwarn ("data definition has no type or storage class");
POP_DECLSPEC_STACK; ;
break;}
case 14:
#line 402 "objc/objc-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 15:
#line 404 "objc/objc-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 16:
#line 406 "objc/objc-parse.y"
{ shadow_tag (finish_declspecs (yyvsp[-1].dsptype)); ;
break;}
case 19:
#line 410 "objc/objc-parse.y"
{ if (pedantic)
pedwarn ("ISO C does not allow extra %<;%> outside of a function"); ;
break;}
case 20:
#line 416 "objc/objc-parse.y"
{ if (!start_function (current_declspecs, yyvsp[0].dtrtype,
all_prefix_attributes))
YYERROR1;
;
break;}
case 21:
#line 421 "objc/objc-parse.y"
{ DECL_SOURCE_LOCATION (current_function_decl) = yyvsp[0].location;
store_parm_decls (); ;
break;}
case 22:
#line 424 "objc/objc-parse.y"
{ finish_function ();
POP_DECLSPEC_STACK; ;
break;}
case 23:
#line 427 "objc/objc-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 24:
#line 429 "objc/objc-parse.y"
{ if (!start_function (current_declspecs, yyvsp[0].dtrtype,
all_prefix_attributes))
YYERROR1;
;
break;}
case 25:
#line 434 "objc/objc-parse.y"
{ DECL_SOURCE_LOCATION (current_function_decl) = yyvsp[0].location;
store_parm_decls (); ;
break;}
case 26:
#line 437 "objc/objc-parse.y"
{ finish_function ();
POP_DECLSPEC_STACK; ;
break;}
case 27:
#line 440 "objc/objc-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 28:
#line 442 "objc/objc-parse.y"
{ if (!start_function (current_declspecs, yyvsp[0].dtrtype,
all_prefix_attributes))
YYERROR1;
;
break;}
case 29:
#line 447 "objc/objc-parse.y"
{ DECL_SOURCE_LOCATION (current_function_decl) = yyvsp[0].location;
store_parm_decls (); ;
break;}
case 30:
#line 450 "objc/objc-parse.y"
{ finish_function ();
POP_DECLSPEC_STACK; ;
break;}
case 31:
#line 453 "objc/objc-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 35:
#line 463 "objc/objc-parse.y"
{ yyval.code = ADDR_EXPR; ;
break;}
case 36:
#line 465 "objc/objc-parse.y"
{ yyval.code = NEGATE_EXPR; ;
break;}
case 37:
#line 467 "objc/objc-parse.y"
{ yyval.code = CONVERT_EXPR;
;
break;}
case 38:
#line 470 "objc/objc-parse.y"
{ yyval.code = PREINCREMENT_EXPR; ;
break;}
case 39:
#line 472 "objc/objc-parse.y"
{ yyval.code = PREDECREMENT_EXPR; ;
break;}
case 40:
#line 474 "objc/objc-parse.y"
{ yyval.code = BIT_NOT_EXPR; ;
break;}
case 41:
#line 476 "objc/objc-parse.y"
{ yyval.code = TRUTH_NOT_EXPR; ;
break;}
case 43:
#line 481 "objc/objc-parse.y"
{ yyval.exprtype.value = build_compound_expr (yyvsp[-2].exprtype.value, yyvsp[0].exprtype.value);
yyval.exprtype.original_code = COMPOUND_EXPR; ;
break;}
case 44:
#line 487 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 46:
#line 493 "objc/objc-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].exprtype.value); ;
break;}
case 47:
#line 495 "objc/objc-parse.y"
{ chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].exprtype.value)); ;
break;}
case 49:
#line 501 "objc/objc-parse.y"
{ yyval.exprtype.value = build_indirect_ref (yyvsp[0].exprtype.value, "unary *");
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 50:
#line 505 "objc/objc-parse.y"
{ yyval.exprtype = yyvsp[0].exprtype;
RESTORE_EXT_FLAGS (yyvsp[-1].itype); ;
break;}
case 51:
#line 508 "objc/objc-parse.y"
{ yyval.exprtype.value = build_unary_op (yyvsp[-1].code, yyvsp[0].exprtype.value, 0);
overflow_warning (yyval.exprtype.value);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 52:
#line 513 "objc/objc-parse.y"
{ yyval.exprtype.value = finish_label_address_expr (yyvsp[0].ttype);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 53:
#line 516 "objc/objc-parse.y"
{ skip_evaluation--;
in_sizeof--;
if (TREE_CODE (yyvsp[0].exprtype.value) == COMPONENT_REF
&& DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].exprtype.value, 1)))
error ("%<sizeof%> applied to a bit-field");
yyval.exprtype = c_expr_sizeof_expr (yyvsp[0].exprtype); ;
break;}
case 54:
#line 523 "objc/objc-parse.y"
{ skip_evaluation--;
in_sizeof--;
yyval.exprtype = c_expr_sizeof_type (yyvsp[-1].typenametype); ;
break;}
case 55:
#line 527 "objc/objc-parse.y"
{ skip_evaluation--;
in_alignof--;
yyval.exprtype.value = c_alignof_expr (yyvsp[0].exprtype.value);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 56:
#line 532 "objc/objc-parse.y"
{ skip_evaluation--;
in_alignof--;
yyval.exprtype.value = c_alignof (groktypename (yyvsp[-1].typenametype));
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 57:
#line 537 "objc/objc-parse.y"
{ yyval.exprtype.value = build_unary_op (REALPART_EXPR, yyvsp[0].exprtype.value, 0);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 58:
#line 540 "objc/objc-parse.y"
{ yyval.exprtype.value = build_unary_op (IMAGPART_EXPR, yyvsp[0].exprtype.value, 0);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 59:
#line 545 "objc/objc-parse.y"
{ skip_evaluation++; in_sizeof++; ;
break;}
case 60:
#line 549 "objc/objc-parse.y"
{ skip_evaluation++; in_alignof++; ;
break;}
case 61:
#line 553 "objc/objc-parse.y"
{ skip_evaluation++; in_typeof++; ;
break;}
case 63:
#line 559 "objc/objc-parse.y"
{ yyval.exprtype.value = c_cast_expr (yyvsp[-2].typenametype, yyvsp[0].exprtype.value);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 65:
#line 566 "objc/objc-parse.y"
{ yyval.exprtype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].exprtype, yyvsp[0].exprtype); ;
break;}
case 66:
#line 568 "objc/objc-parse.y"
{ yyval.exprtype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].exprtype, yyvsp[0].exprtype); ;
break;}
case 67:
#line 570 "objc/objc-parse.y"
{ yyval.exprtype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].exprtype, yyvsp[0].exprtype); ;
break;}
case 68:
#line 572 "objc/objc-parse.y"
{ yyval.exprtype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].exprtype, yyvsp[0].exprtype); ;
break;}
case 69:
#line 574 "objc/objc-parse.y"
{ yyval.exprtype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].exprtype, yyvsp[0].exprtype); ;
break;}
case 70:
#line 576 "objc/objc-parse.y"
{ yyval.exprtype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].exprtype, yyvsp[0].exprtype); ;
break;}
case 71:
#line 578 "objc/objc-parse.y"
{ yyval.exprtype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].exprtype, yyvsp[0].exprtype); ;
break;}
case 72:
#line 580 "objc/objc-parse.y"
{ yyval.exprtype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].exprtype, yyvsp[0].exprtype); ;
break;}
case 73:
#line 582 "objc/objc-parse.y"
{ yyval.exprtype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].exprtype, yyvsp[0].exprtype); ;
break;}
case 74:
#line 584 "objc/objc-parse.y"
{ yyval.exprtype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].exprtype, yyvsp[0].exprtype); ;
break;}
case 75:
#line 586 "objc/objc-parse.y"
{ yyval.exprtype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].exprtype, yyvsp[0].exprtype); ;
break;}
case 76:
#line 588 "objc/objc-parse.y"
{ yyval.exprtype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].exprtype, yyvsp[0].exprtype); ;
break;}
case 77:
#line 590 "objc/objc-parse.y"
{ yyvsp[-1].exprtype.value = lang_hooks.truthvalue_conversion
(default_conversion (yyvsp[-1].exprtype.value));
skip_evaluation += yyvsp[-1].exprtype.value == truthvalue_false_node; ;
break;}
case 78:
#line 594 "objc/objc-parse.y"
{ skip_evaluation -= yyvsp[-3].exprtype.value == truthvalue_false_node;
yyval.exprtype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].exprtype, yyvsp[0].exprtype); ;
break;}
case 79:
#line 597 "objc/objc-parse.y"
{ yyvsp[-1].exprtype.value = lang_hooks.truthvalue_conversion
(default_conversion (yyvsp[-1].exprtype.value));
skip_evaluation += yyvsp[-1].exprtype.value == truthvalue_true_node; ;
break;}
case 80:
#line 601 "objc/objc-parse.y"
{ skip_evaluation -= yyvsp[-3].exprtype.value == truthvalue_true_node;
yyval.exprtype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].exprtype, yyvsp[0].exprtype); ;
break;}
case 81:
#line 604 "objc/objc-parse.y"
{ yyvsp[-1].exprtype.value = lang_hooks.truthvalue_conversion
(default_conversion (yyvsp[-1].exprtype.value));
skip_evaluation += yyvsp[-1].exprtype.value == truthvalue_false_node; ;
break;}
case 82:
#line 608 "objc/objc-parse.y"
{ skip_evaluation += ((yyvsp[-4].exprtype.value == truthvalue_true_node)
- (yyvsp[-4].exprtype.value == truthvalue_false_node)); ;
break;}
case 83:
#line 611 "objc/objc-parse.y"
{ skip_evaluation -= yyvsp[-6].exprtype.value == truthvalue_true_node;
yyval.exprtype.value = build_conditional_expr (yyvsp[-6].exprtype.value, yyvsp[-3].exprtype.value,
yyvsp[0].exprtype.value);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 84:
#line 616 "objc/objc-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids omitting the middle term of a ?: expression");
yyvsp[0].ttype = save_expr (default_conversion (yyvsp[-1].exprtype.value));
yyvsp[-1].exprtype.value = lang_hooks.truthvalue_conversion (yyvsp[0].ttype);
skip_evaluation += yyvsp[-1].exprtype.value == truthvalue_true_node; ;
break;}
case 85:
#line 623 "objc/objc-parse.y"
{ skip_evaluation -= yyvsp[-4].exprtype.value == truthvalue_true_node;
yyval.exprtype.value = build_conditional_expr (yyvsp[-4].exprtype.value, yyvsp[-3].ttype,
yyvsp[0].exprtype.value);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 86:
#line 628 "objc/objc-parse.y"
{ yyval.exprtype.value = build_modify_expr (yyvsp[-2].exprtype.value, NOP_EXPR, yyvsp[0].exprtype.value);
yyval.exprtype.original_code = MODIFY_EXPR;
;
break;}
case 87:
#line 632 "objc/objc-parse.y"
{ yyval.exprtype.value = build_modify_expr (yyvsp[-2].exprtype.value, yyvsp[-1].code, yyvsp[0].exprtype.value);
TREE_NO_WARNING (yyval.exprtype.value) = 1;
yyval.exprtype.original_code = ERROR_MARK;
;
break;}
case 88:
#line 640 "objc/objc-parse.y"
{
if (yychar == YYEMPTY)
yychar = YYLEX;
yyval.exprtype.value = build_external_ref (yyvsp[0].ttype, yychar == '(');
yyval.exprtype.original_code = ERROR_MARK;
;
break;}
case 89:
#line 647 "objc/objc-parse.y"
{ yyval.exprtype.value = yyvsp[0].ttype; yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 90:
#line 649 "objc/objc-parse.y"
{ yyval.exprtype.value = yyvsp[0].ttype; yyval.exprtype.original_code = STRING_CST; ;
break;}
case 91:
#line 651 "objc/objc-parse.y"
{ yyval.exprtype.value = fname_decl (C_RID_CODE (yyvsp[0].ttype), yyvsp[0].ttype);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 92:
#line 654 "objc/objc-parse.y"
{ start_init (NULL_TREE, NULL, 0);
yyval.ttype = groktypename (yyvsp[-2].typenametype);
if (C_TYPE_VARIABLE_SIZE (yyval.ttype))
{
error ("compound literal has variable size");
yyval.ttype = error_mark_node;
}
really_start_incremental_init (yyval.ttype); ;
break;}
case 93:
#line 663 "objc/objc-parse.y"
{ struct c_expr init = pop_init_level (0);
tree constructor = init.value;
tree type = yyvsp[-2].ttype;
finish_init ();
maybe_warn_string_init (type, init);
if (pedantic && !flag_isoc99)
pedwarn ("ISO C90 forbids compound literals");
yyval.exprtype.value = build_compound_literal (type, constructor);
yyval.exprtype.original_code = ERROR_MARK;
;
break;}
case 94:
#line 675 "objc/objc-parse.y"
{ yyval.exprtype.value = yyvsp[-1].exprtype.value;
if (TREE_CODE (yyval.exprtype.value) == MODIFY_EXPR)
TREE_NO_WARNING (yyval.exprtype.value) = 1;
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 95:
#line 680 "objc/objc-parse.y"
{ yyval.exprtype.value = error_mark_node; yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 96:
#line 682 "objc/objc-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids braced-groups within expressions");
yyval.exprtype.value = c_finish_stmt_expr (yyvsp[-2].ttype);
yyval.exprtype.original_code = ERROR_MARK;
;
break;}
case 97:
#line 688 "objc/objc-parse.y"
{ c_finish_stmt_expr (yyvsp[-2].ttype);
yyval.exprtype.value = error_mark_node;
yyval.exprtype.original_code = ERROR_MARK;
;
break;}
case 98:
#line 693 "objc/objc-parse.y"
{ yyval.exprtype.value = build_function_call (yyvsp[-3].exprtype.value, yyvsp[-1].ttype);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 99:
#line 696 "objc/objc-parse.y"
{ yyval.exprtype.value = build_va_arg (yyvsp[-3].exprtype.value, groktypename (yyvsp[-1].typenametype));
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 100:
#line 700 "objc/objc-parse.y"
{ tree type = groktypename (yyvsp[-1].typenametype);
if (type == error_mark_node)
offsetof_base = error_mark_node;
else
offsetof_base = build1 (INDIRECT_REF, type, NULL);
;
break;}
case 101:
#line 707 "objc/objc-parse.y"
{ yyval.exprtype.value = fold_offsetof (yyvsp[-1].ttype);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 102:
#line 710 "objc/objc-parse.y"
{ yyval.exprtype.value = error_mark_node; yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 103:
#line 713 "objc/objc-parse.y"
{
tree c;
c = fold (yyvsp[-5].exprtype.value);
STRIP_NOPS (c);
if (TREE_CODE (c) != INTEGER_CST)
error ("first argument to %<__builtin_choose_expr%> not"
" a constant");
yyval.exprtype = integer_zerop (c) ? yyvsp[-1].exprtype : yyvsp[-3].exprtype;
;
break;}
case 104:
#line 724 "objc/objc-parse.y"
{ yyval.exprtype.value = error_mark_node; yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 105:
#line 726 "objc/objc-parse.y"
{
tree e1, e2;
e1 = TYPE_MAIN_VARIANT (groktypename (yyvsp[-3].typenametype));
e2 = TYPE_MAIN_VARIANT (groktypename (yyvsp[-1].typenametype));
yyval.exprtype.value = comptypes (e1, e2)
? build_int_cst (NULL_TREE, 1)
: build_int_cst (NULL_TREE, 0);
yyval.exprtype.original_code = ERROR_MARK;
;
break;}
case 106:
#line 738 "objc/objc-parse.y"
{ yyval.exprtype.value = error_mark_node; yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 107:
#line 740 "objc/objc-parse.y"
{ yyval.exprtype.value = build_array_ref (yyvsp[-3].exprtype.value, yyvsp[-1].exprtype.value);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 108:
#line 743 "objc/objc-parse.y"
{ yyval.exprtype.value = build_component_ref (yyvsp[-2].exprtype.value, yyvsp[0].ttype);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 109:
#line 746 "objc/objc-parse.y"
{
tree expr = build_indirect_ref (yyvsp[-2].exprtype.value, "->");
yyval.exprtype.value = build_component_ref (expr, yyvsp[0].ttype);
yyval.exprtype.original_code = ERROR_MARK;
;
break;}
case 110:
#line 752 "objc/objc-parse.y"
{ yyval.exprtype.value = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].exprtype.value, 0);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 111:
#line 755 "objc/objc-parse.y"
{ yyval.exprtype.value = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].exprtype.value, 0);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 112:
#line 758 "objc/objc-parse.y"
{ yyval.exprtype.value = objc_build_message_expr (yyvsp[0].ttype);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 113:
#line 761 "objc/objc-parse.y"
{ yyval.exprtype.value = objc_build_selector_expr (yyvsp[0].ttype);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 114:
#line 764 "objc/objc-parse.y"
{ yyval.exprtype.value = objc_build_protocol_expr (yyvsp[0].ttype);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 115:
#line 767 "objc/objc-parse.y"
{ yyval.exprtype.value = objc_build_encode_expr (yyvsp[0].ttype);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 116:
#line 770 "objc/objc-parse.y"
{ yyval.exprtype.value = objc_build_string_object (yyvsp[0].ttype);
yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 117:
#line 780 "objc/objc-parse.y"
{ yyval.ttype = build_component_ref (offsetof_base, yyvsp[0].ttype); ;
break;}
case 118:
#line 782 "objc/objc-parse.y"
{ yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 119:
#line 784 "objc/objc-parse.y"
{ yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].exprtype.value); ;
break;}
case 122:
#line 797 "objc/objc-parse.y"
{ ;
break;}
case 127:
#line 813 "objc/objc-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 128:
#line 815 "objc/objc-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 129:
#line 817 "objc/objc-parse.y"
{ shadow_tag_warned (finish_declspecs (yyvsp[-1].dsptype), 1);
pedwarn ("empty declaration"); ;
break;}
case 130:
#line 820 "objc/objc-parse.y"
{ pedwarn ("empty declaration"); ;
break;}
case 131:
#line 829 "objc/objc-parse.y"
{ ;
break;}
case 132:
#line 837 "objc/objc-parse.y"
{ pending_xref_error ();
PUSH_DECLSPEC_STACK;
if (yyvsp[0].dsptype)
{
prefix_attributes = yyvsp[0].dsptype->attrs;
yyvsp[0].dsptype->attrs = NULL_TREE;
current_declspecs = yyvsp[0].dsptype;
}
else
{
prefix_attributes = NULL_TREE;
current_declspecs = build_null_declspecs ();
}
current_declspecs = finish_declspecs (current_declspecs);
all_prefix_attributes = prefix_attributes; ;
break;}
case 133:
#line 858 "objc/objc-parse.y"
{ all_prefix_attributes = chainon (yyvsp[0].ttype, prefix_attributes); ;
break;}
case 134:
#line 863 "objc/objc-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 135:
#line 865 "objc/objc-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 136:
#line 867 "objc/objc-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 137:
#line 869 "objc/objc-parse.y"
{ POP_DECLSPEC_STACK; ;
break;}
case 138:
#line 871 "objc/objc-parse.y"
{ shadow_tag (finish_declspecs (yyvsp[-1].dsptype)); ;
break;}
case 139:
#line 873 "objc/objc-parse.y"
{ RESTORE_EXT_FLAGS (yyvsp[-1].itype); ;
break;}
case 140:
#line 919 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (build_null_declspecs (), yyvsp[0].ttype); ;
break;}
case 141:
#line 921 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 142:
#line 923 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 143:
#line 928 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_attrs (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 144:
#line 933 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 145:
#line 935 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 146:
#line 940 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_attrs (build_null_declspecs (), yyvsp[0].ttype); ;
break;}
case 147:
#line 942 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_attrs (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 148:
#line 947 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (build_null_declspecs (), yyvsp[0].tstype); ;
break;}
case 149:
#line 949 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 150:
#line 951 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 151:
#line 953 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 152:
#line 955 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 153:
#line 957 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 154:
#line 959 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 155:
#line 964 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (build_null_declspecs (), yyvsp[0].tstype); ;
break;}
case 156:
#line 966 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_attrs (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 157:
#line 968 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 158:
#line 970 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 159:
#line 972 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 160:
#line 974 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 161:
#line 979 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 162:
#line 981 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 163:
#line 983 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 164:
#line 985 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 165:
#line 987 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 166:
#line 989 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 167:
#line 994 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_attrs (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 168:
#line 996 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 169:
#line 998 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 170:
#line 1000 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 171:
#line 1002 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 172:
#line 1007 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (build_null_declspecs (), yyvsp[0].ttype); ;
break;}
case 173:
#line 1009 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 174:
#line 1011 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 175:
#line 1013 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 176:
#line 1015 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 177:
#line 1017 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 178:
#line 1019 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 179:
#line 1024 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_attrs (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 180:
#line 1029 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 181:
#line 1031 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 182:
#line 1033 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 183:
#line 1035 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 184:
#line 1037 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 185:
#line 1039 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 186:
#line 1044 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_attrs (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 187:
#line 1049 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 188:
#line 1051 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 189:
#line 1053 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 190:
#line 1055 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 191:
#line 1057 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 192:
#line 1059 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 193:
#line 1061 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 194:
#line 1063 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 195:
#line 1065 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 196:
#line 1067 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 197:
#line 1072 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_attrs (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 198:
#line 1074 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 199:
#line 1076 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 200:
#line 1078 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 201:
#line 1080 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 202:
#line 1085 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 203:
#line 1087 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_qual (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 204:
#line 1089 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 205:
#line 1091 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 206:
#line 1093 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 207:
#line 1095 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 208:
#line 1097 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 209:
#line 1099 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 210:
#line 1101 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 211:
#line 1103 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_scspec (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 212:
#line 1108 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_attrs (yyvsp[-1].dsptype, yyvsp[0].ttype); ;
break;}
case 213:
#line 1110 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 214:
#line 1112 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 215:
#line 1114 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 216:
#line 1116 "objc/objc-parse.y"
{ yyval.dsptype = declspecs_add_type (yyvsp[-1].dsptype, yyvsp[0].tstype); ;
break;}
case 273:
#line 1203 "objc/objc-parse.y"
{ yyval.dsptype = NULL; ;
break;}
case 274:
#line 1205 "objc/objc-parse.y"
{ yyval.dsptype = yyvsp[0].dsptype; ;
break;}
case 278:
#line 1240 "objc/objc-parse.y"
{ OBJC_NEED_RAW_IDENTIFIER (1);
yyval.tstype.kind = ctsk_resword;
yyval.tstype.spec = yyvsp[0].ttype; ;
break;}
case 281:
#line 1252 "objc/objc-parse.y"
{
yyval.tstype.kind = ctsk_typedef;
yyval.tstype.spec = lookup_name (yyvsp[0].ttype); ;
break;}
case 282:
#line 1257 "objc/objc-parse.y"
{ yyval.tstype.kind = ctsk_objc;
yyval.tstype.spec = objc_get_protocol_qualified_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 283:
#line 1260 "objc/objc-parse.y"
{ yyval.tstype.kind = ctsk_objc;
yyval.tstype.spec = objc_get_protocol_qualified_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 284:
#line 1266 "objc/objc-parse.y"
{ yyval.tstype.kind = ctsk_objc;
yyval.tstype.spec = objc_get_protocol_qualified_type (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 285:
#line 1269 "objc/objc-parse.y"
{ skip_evaluation--;
in_typeof--;
if (TREE_CODE (yyvsp[-1].exprtype.value) == COMPONENT_REF
&& DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[-1].exprtype.value, 1)))
error ("%<typeof%> applied to a bit-field");
yyval.tstype.kind = ctsk_typeof;
yyval.tstype.spec = TREE_TYPE (yyvsp[-1].exprtype.value);
pop_maybe_used (variably_modified_type_p (yyval.tstype.spec,
NULL_TREE)); ;
break;}
case 286:
#line 1279 "objc/objc-parse.y"
{ skip_evaluation--;
in_typeof--;
yyval.tstype.kind = ctsk_typeof;
yyval.tstype.spec = groktypename (yyvsp[-1].typenametype);
pop_maybe_used (variably_modified_type_p (yyval.tstype.spec,
NULL_TREE)); ;
break;}
case 291:
#line 1301 "objc/objc-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].dtrtype, current_declspecs, true,
chainon (yyvsp[-1].ttype, all_prefix_attributes));
if (!yyval.ttype)
yyval.ttype = error_mark_node;
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;}
case 292:
#line 1308 "objc/objc-parse.y"
{ finish_init ();
if (yyvsp[-1].ttype != error_mark_node)
{
maybe_warn_string_init (TREE_TYPE (yyvsp[-1].ttype), yyvsp[0].exprtype);
finish_decl (yyvsp[-1].ttype, yyvsp[0].exprtype.value, yyvsp[-4].ttype);
}
;
break;}
case 293:
#line 1316 "objc/objc-parse.y"
{ tree d = start_decl (yyvsp[-2].dtrtype, current_declspecs, false,
chainon (yyvsp[0].ttype, all_prefix_attributes));
if (d)
finish_decl (d, NULL_TREE, yyvsp[-1].ttype);
;
break;}
case 294:
#line 1325 "objc/objc-parse.y"
{ yyval.ttype = start_decl (yyvsp[-3].dtrtype, current_declspecs, true,
chainon (yyvsp[-1].ttype, all_prefix_attributes));
if (!yyval.ttype)
yyval.ttype = error_mark_node;
start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
break;}
case 295:
#line 1332 "objc/objc-parse.y"
{ finish_init ();
if (yyvsp[-1].ttype != error_mark_node)
{
maybe_warn_string_init (TREE_TYPE (yyvsp[-1].ttype), yyvsp[0].exprtype);
finish_decl (yyvsp[-1].ttype, yyvsp[0].exprtype.value, yyvsp[-4].ttype);
}
;
break;}
case 296:
#line 1340 "objc/objc-parse.y"
{ tree d = start_decl (yyvsp[-2].dtrtype, current_declspecs, false,
chainon (yyvsp[0].ttype, all_prefix_attributes));
if (d)
finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
break;}
case 297:
#line 1349 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 298:
#line 1351 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 299:
#line 1356 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 300:
#line 1358 "objc/objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
break;}
case 301:
#line 1364 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[-3].ttype; ;
break;}
case 302:
#line 1366 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 303:
#line 1371 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 304:
#line 1373 "objc/objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 305:
#line 1378 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 306:
#line 1380 "objc/objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 307:
#line 1382 "objc/objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
break;}
case 308:
#line 1384 "objc/objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
break;}
case 309:
#line 1386 "objc/objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
break;}
case 316:
#line 1408 "objc/objc-parse.y"
{ yyval.exprtype = yyvsp[0].exprtype; ;
break;}
case 317:
#line 1410 "objc/objc-parse.y"
{ really_start_incremental_init (NULL_TREE); ;
break;}
case 318:
#line 1412 "objc/objc-parse.y"
{ yyval.exprtype = pop_init_level (0); ;
break;}
case 319:
#line 1414 "objc/objc-parse.y"
{ yyval.exprtype.value = error_mark_node; yyval.exprtype.original_code = ERROR_MARK; ;
break;}
case 320:
#line 1420 "objc/objc-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids empty initializer braces"); ;
break;}
case 324:
#line 1434 "objc/objc-parse.y"
{ if (pedantic && !flag_isoc99)
pedwarn ("ISO C90 forbids specifying subobject to initialize"); ;
break;}
case 325:
#line 1437 "objc/objc-parse.y"
{ if (pedantic)
pedwarn ("obsolete use of designated initializer without %<=%>"); ;
break;}
case 326:
#line 1440 "objc/objc-parse.y"
{ set_init_label (yyvsp[-1].ttype);
if (pedantic)
pedwarn ("obsolete use of designated initializer with %<:%>"); ;
break;}
case 327:
#line 1444 "objc/objc-parse.y"
{;
break;}
case 329:
#line 1450 "objc/objc-parse.y"
{ push_init_level (0); ;
break;}
case 330:
#line 1452 "objc/objc-parse.y"
{ process_init_element (pop_init_level (0)); ;
break;}
case 331:
#line 1454 "objc/objc-parse.y"
{ process_init_element (yyvsp[0].exprtype); ;
break;}
case 335:
#line 1465 "objc/objc-parse.y"
{ set_init_label (yyvsp[0].ttype); ;
break;}
case 337:
#line 1471 "objc/objc-parse.y"
{ set_init_index (yyvsp[-3].exprtype.value, yyvsp[-1].exprtype.value);
if (pedantic)
pedwarn ("ISO C forbids specifying range of elements to initialize"); ;
break;}
case 338:
#line 1475 "objc/objc-parse.y"
{ set_init_index (yyvsp[-1].exprtype.value, NULL_TREE); ;
break;}
case 339:
#line 1480 "objc/objc-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids nested functions");
push_function_context ();
if (!start_function (current_declspecs, yyvsp[0].dtrtype,
all_prefix_attributes))
{
pop_function_context ();
YYERROR1;
}
;
break;}
case 340:
#line 1492 "objc/objc-parse.y"
{ tree decl = current_function_decl;
DECL_SOURCE_LOCATION (decl) = yyvsp[0].location;
store_parm_decls (); ;
break;}
case 341:
#line 1501 "objc/objc-parse.y"
{ tree decl = current_function_decl;
add_stmt (yyvsp[0].ttype);
finish_function ();
pop_function_context ();
add_stmt (build_stmt (DECL_EXPR, decl)); ;
break;}
case 342:
#line 1510 "objc/objc-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids nested functions");
push_function_context ();
if (!start_function (current_declspecs, yyvsp[0].dtrtype,
all_prefix_attributes))
{
pop_function_context ();
YYERROR1;
}
;
break;}
case 343:
#line 1522 "objc/objc-parse.y"
{ tree decl = current_function_decl;
DECL_SOURCE_LOCATION (decl) = yyvsp[0].location;
store_parm_decls (); ;
break;}
case 344:
#line 1531 "objc/objc-parse.y"
{ tree decl = current_function_decl;
add_stmt (yyvsp[0].ttype);
finish_function ();
pop_function_context ();
add_stmt (build_stmt (DECL_EXPR, decl)); ;
break;}
case 347:
#line 1550 "objc/objc-parse.y"
{ yyval.dtrtype = yyvsp[-2].ttype ? build_attrs_declarator (yyvsp[-2].ttype, yyvsp[-1].dtrtype) : yyvsp[-1].dtrtype; ;
break;}
case 348:
#line 1552 "objc/objc-parse.y"
{ yyval.dtrtype = build_function_declarator (yyvsp[0].arginfotype, yyvsp[-2].dtrtype); ;
break;}
case 349:
#line 1554 "objc/objc-parse.y"
{ yyval.dtrtype = set_array_declarator_inner (yyvsp[0].dtrtype, yyvsp[-1].dtrtype, false); ;
break;}
case 350:
#line 1556 "objc/objc-parse.y"
{ yyval.dtrtype = make_pointer_declarator (yyvsp[-1].dsptype, yyvsp[0].dtrtype); ;
break;}
case 351:
#line 1558 "objc/objc-parse.y"
{ yyval.dtrtype = build_id_declarator (yyvsp[0].ttype); ;
break;}
case 354:
#line 1572 "objc/objc-parse.y"
{ yyval.dtrtype = build_function_declarator (yyvsp[0].arginfotype, yyvsp[-2].dtrtype); ;
break;}
case 355:
#line 1574 "objc/objc-parse.y"
{ yyval.dtrtype = set_array_declarator_inner (yyvsp[0].dtrtype, yyvsp[-1].dtrtype, false); ;
break;}
case 356:
#line 1576 "objc/objc-parse.y"
{ yyval.dtrtype = build_id_declarator (yyvsp[0].ttype); ;
break;}
case 357:
#line 1581 "objc/objc-parse.y"
{ yyval.dtrtype = build_function_declarator (yyvsp[0].arginfotype, yyvsp[-2].dtrtype); ;
break;}
case 358:
#line 1583 "objc/objc-parse.y"
{ yyval.dtrtype = set_array_declarator_inner (yyvsp[0].dtrtype, yyvsp[-1].dtrtype, false); ;
break;}
case 359:
#line 1585 "objc/objc-parse.y"
{ yyval.dtrtype = make_pointer_declarator (yyvsp[-1].dsptype, yyvsp[0].dtrtype); ;
break;}
case 360:
#line 1587 "objc/objc-parse.y"
{ yyval.dtrtype = make_pointer_declarator (yyvsp[-1].dsptype, yyvsp[0].dtrtype); ;
break;}
case 361:
#line 1589 "objc/objc-parse.y"
{ yyval.dtrtype = yyvsp[-2].ttype ? build_attrs_declarator (yyvsp[-2].ttype, yyvsp[-1].dtrtype) : yyvsp[-1].dtrtype; ;
break;}
case 362:
#line 1597 "objc/objc-parse.y"
{ yyval.dtrtype = build_function_declarator (yyvsp[0].arginfotype, yyvsp[-2].dtrtype); ;
break;}
case 363:
#line 1599 "objc/objc-parse.y"
{ yyval.dtrtype = yyvsp[-2].ttype ? build_attrs_declarator (yyvsp[-2].ttype, yyvsp[-1].dtrtype) : yyvsp[-1].dtrtype; ;
break;}
case 364:
#line 1601 "objc/objc-parse.y"
{ yyval.dtrtype = make_pointer_declarator (yyvsp[-1].dsptype, yyvsp[0].dtrtype); ;
break;}
case 365:
#line 1603 "objc/objc-parse.y"
{ yyval.dtrtype = set_array_declarator_inner (yyvsp[0].dtrtype, yyvsp[-1].dtrtype, false); ;
break;}
case 366:
#line 1605 "objc/objc-parse.y"
{ yyval.dtrtype = build_id_declarator (yyvsp[0].ttype); ;
break;}
case 367:
#line 1610 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 368:
#line 1612 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 369:
#line 1617 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 370:
#line 1619 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 371:
#line 1624 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 372:
#line 1626 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 373:
#line 1637 "objc/objc-parse.y"
{ yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
;
break;}
case 374:
#line 1641 "objc/objc-parse.y"
{ yyval.tstype.spec = finish_struct (yyvsp[-3].ttype, nreverse (yyvsp[-2].ttype),
chainon (yyvsp[-6].ttype, yyvsp[0].ttype));
yyval.tstype.kind = ctsk_tagdef; ;
break;}
case 375:
#line 1645 "objc/objc-parse.y"
{ yyval.tstype.spec = finish_struct (start_struct (RECORD_TYPE,
NULL_TREE),
nreverse (yyvsp[-2].ttype), chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
yyval.tstype.kind = ctsk_tagdef;
;
break;}
case 376:
#line 1651 "objc/objc-parse.y"
{ yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
break;}
case 377:
#line 1653 "objc/objc-parse.y"
{ yyval.tstype.spec = finish_struct (yyvsp[-3].ttype, nreverse (yyvsp[-2].ttype),
chainon (yyvsp[-6].ttype, yyvsp[0].ttype));
yyval.tstype.kind = ctsk_tagdef; ;
break;}
case 378:
#line 1657 "objc/objc-parse.y"
{ yyval.tstype.spec = finish_struct (start_struct (UNION_TYPE,
NULL_TREE),
nreverse (yyvsp[-2].ttype), chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
yyval.tstype.kind = ctsk_tagdef;
;
break;}
case 379:
#line 1663 "objc/objc-parse.y"
{ yyval.ttype = start_enum (yyvsp[-1].ttype); ;
break;}
case 380:
#line 1665 "objc/objc-parse.y"
{ yyval.tstype.spec = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
chainon (yyvsp[-7].ttype, yyvsp[0].ttype));
yyval.tstype.kind = ctsk_tagdef; ;
break;}
case 381:
#line 1669 "objc/objc-parse.y"
{ yyval.ttype = start_enum (NULL_TREE); ;
break;}
case 382:
#line 1671 "objc/objc-parse.y"
{ yyval.tstype.spec = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
chainon (yyvsp[-6].ttype, yyvsp[0].ttype));
yyval.tstype.kind = ctsk_tagdef; ;
break;}
case 383:
#line 1678 "objc/objc-parse.y"
{ yyval.tstype = parser_xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
break;}
case 384:
#line 1680 "objc/objc-parse.y"
{ yyval.tstype = parser_xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
break;}
case 385:
#line 1682 "objc/objc-parse.y"
{ yyval.tstype = parser_xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype);
if (pedantic && !COMPLETE_TYPE_P (yyval.tstype.spec))
pedwarn ("ISO C forbids forward references to %<enum%> types"); ;
break;}
case 389:
#line 1697 "objc/objc-parse.y"
{ if (pedantic && !flag_isoc99)
pedwarn ("comma at end of enumerator list"); ;
break;}
case 390:
#line 1715 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 391:
#line 1717 "objc/objc-parse.y"
{ yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype);
pedwarn ("no semicolon at end of struct or union"); ;
break;}
case 392:
#line 1722 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 393:
#line 1724 "objc/objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[-2].ttype); ;
break;}
case 394:
#line 1726 "objc/objc-parse.y"
{ if (pedantic)
pedwarn ("extra semicolon in struct or union specified"); ;
break;}
case 395:
#line 1730 "objc/objc-parse.y"
{ yyval.ttype = nreverse (objc_get_class_ivars (yyvsp[-1].ttype)); ;
break;}
case 396:
#line 1735 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
case 397:
#line 1738 "objc/objc-parse.y"
{
yyval.ttype = grokfield (build_id_declarator (NULL_TREE),
current_declspecs, NULL_TREE);
POP_DECLSPEC_STACK; ;
break;}
case 398:
#line 1746 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
POP_DECLSPEC_STACK; ;
break;}
case 399:
#line 1749 "objc/objc-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids member declarations with no members");
shadow_tag_warned (finish_declspecs (yyvsp[0].dsptype), pedantic);
yyval.ttype = NULL_TREE; ;
break;}
case 400:
#line 1754 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 401:
#line 1756 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype;
RESTORE_EXT_FLAGS (yyvsp[-1].itype); ;
break;}
case 403:
#line 1763 "objc/objc-parse.y"
{ TREE_CHAIN (yyvsp[0].ttype) = yyvsp[-3].ttype; yyval.ttype = yyvsp[0].ttype; ;
break;}
case 405:
#line 1769 "objc/objc-parse.y"
{ TREE_CHAIN (yyvsp[0].ttype) = yyvsp[-3].ttype; yyval.ttype = yyvsp[0].ttype; ;
break;}
case 406:
#line 1774 "objc/objc-parse.y"
{ yyval.ttype = grokfield (yyvsp[-1].dtrtype, current_declspecs, NULL_TREE);
decl_attributes (&yyval.ttype,
chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
case 407:
#line 1778 "objc/objc-parse.y"
{ yyval.ttype = grokfield (yyvsp[-3].dtrtype, current_declspecs, yyvsp[-1].exprtype.value);
decl_attributes (&yyval.ttype,
chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
case 408:
#line 1782 "objc/objc-parse.y"
{ yyval.ttype = grokfield (build_id_declarator (NULL_TREE),
current_declspecs, yyvsp[-1].exprtype.value);
decl_attributes (&yyval.ttype,
chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
case 409:
#line 1790 "objc/objc-parse.y"
{ yyval.ttype = grokfield (yyvsp[-1].dtrtype, current_declspecs, NULL_TREE);
decl_attributes (&yyval.ttype,
chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
case 410:
#line 1794 "objc/objc-parse.y"
{ yyval.ttype = grokfield (yyvsp[-3].dtrtype, current_declspecs, yyvsp[-1].exprtype.value);
decl_attributes (&yyval.ttype,
chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
case 411:
#line 1798 "objc/objc-parse.y"
{ yyval.ttype = grokfield (build_id_declarator (NULL_TREE),
current_declspecs, yyvsp[-1].exprtype.value);
decl_attributes (&yyval.ttype,
chainon (yyvsp[0].ttype, all_prefix_attributes), 0); ;
break;}
case 413:
#line 1810 "objc/objc-parse.y"
{ if (yyvsp[-2].ttype == error_mark_node)
yyval.ttype = yyvsp[-2].ttype;
else
TREE_CHAIN (yyvsp[0].ttype) = yyvsp[-2].ttype, yyval.ttype = yyvsp[0].ttype; ;
break;}
case 414:
#line 1815 "objc/objc-parse.y"
{ yyval.ttype = error_mark_node; ;
break;}
case 415:
#line 1821 "objc/objc-parse.y"
{ yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
break;}
case 416:
#line 1823 "objc/objc-parse.y"
{ yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].exprtype.value); ;
break;}
case 417:
#line 1828 "objc/objc-parse.y"
{ pending_xref_error ();
yyval.dsptype = finish_declspecs (yyvsp[0].dsptype); ;
break;}
case 418:
#line 1831 "objc/objc-parse.y"
{ yyval.typenametype = XOBNEW (&parser_obstack, struct c_type_name);
yyval.typenametype->specs = yyvsp[-1].dsptype;
yyval.typenametype->declarator = yyvsp[0].dtrtype; ;
break;}
case 419:
#line 1838 "objc/objc-parse.y"
{ yyval.dtrtype = build_id_declarator (NULL_TREE); ;
break;}
case 421:
#line 1844 "objc/objc-parse.y"
{ yyval.parmtype = build_c_parm (current_declspecs, all_prefix_attributes,
build_id_declarator (NULL_TREE)); ;
break;}
case 422:
#line 1847 "objc/objc-parse.y"
{ yyval.parmtype = build_c_parm (current_declspecs, all_prefix_attributes,
yyvsp[0].dtrtype); ;
break;}
case 423:
#line 1850 "objc/objc-parse.y"
{ yyval.parmtype = build_c_parm (current_declspecs,
chainon (yyvsp[0].ttype, all_prefix_attributes),
yyvsp[-1].dtrtype); ;
break;}
case 427:
#line 1863 "objc/objc-parse.y"
{ yyval.dtrtype = make_pointer_declarator (yyvsp[-1].dsptype, yyvsp[0].dtrtype); ;
break;}
case 428:
#line 1868 "objc/objc-parse.y"
{ yyval.dtrtype = make_pointer_declarator
(yyvsp[0].dsptype, build_id_declarator (NULL_TREE)); ;
break;}
case 429:
#line 1871 "objc/objc-parse.y"
{ yyval.dtrtype = make_pointer_declarator (yyvsp[-1].dsptype, yyvsp[0].dtrtype); ;
break;}
case 430:
#line 1876 "objc/objc-parse.y"
{ yyval.dtrtype = yyvsp[-2].ttype ? build_attrs_declarator (yyvsp[-2].ttype, yyvsp[-1].dtrtype) : yyvsp[-1].dtrtype; ;
break;}
case 431:
#line 1878 "objc/objc-parse.y"
{ yyval.dtrtype = build_function_declarator (yyvsp[0].arginfotype, yyvsp[-2].dtrtype); ;
break;}
case 432:
#line 1880 "objc/objc-parse.y"
{ yyval.dtrtype = set_array_declarator_inner (yyvsp[0].dtrtype, yyvsp[-1].dtrtype, true); ;
break;}
case 433:
#line 1882 "objc/objc-parse.y"
{ yyval.dtrtype = build_function_declarator
(yyvsp[0].arginfotype, build_id_declarator (NULL_TREE)); ;
break;}
case 434:
#line 1885 "objc/objc-parse.y"
{ yyval.dtrtype = set_array_declarator_inner
(yyvsp[0].dtrtype, build_id_declarator (NULL_TREE), true); ;
break;}
case 435:
#line 1893 "objc/objc-parse.y"
{ yyval.dtrtype = build_array_declarator (yyvsp[-1].exprtype.value, yyvsp[-2].dsptype, false, false); ;
break;}
case 436:
#line 1895 "objc/objc-parse.y"
{ yyval.dtrtype = build_array_declarator (NULL_TREE, yyvsp[-1].dsptype, false, false); ;
break;}
case 437:
#line 1897 "objc/objc-parse.y"
{ yyval.dtrtype = build_array_declarator (NULL_TREE, yyvsp[-2].dsptype, false, true); ;
break;}
case 438:
#line 1899 "objc/objc-parse.y"
{ yyval.dtrtype = build_array_declarator (yyvsp[-1].exprtype.value, yyvsp[-2].dsptype, true, false); ;
break;}
case 439:
#line 1902 "objc/objc-parse.y"
{ yyval.dtrtype = build_array_declarator (yyvsp[-1].exprtype.value, yyvsp[-3].dsptype, true, false); ;
break;}
case 442:
#line 1915 "objc/objc-parse.y"
{
error ("label at end of compound statement");
;
break;}
case 450:
#line 1932 "objc/objc-parse.y"
{
if ((pedantic && !flag_isoc99)
|| warn_declaration_after_statement)
pedwarn_c90 ("ISO C90 forbids mixed declarations and code");
;
break;}
case 465:
#line 1966 "objc/objc-parse.y"
{ yyval.ttype = c_begin_compound_stmt (flag_isoc99); ;
break;}
case 467:
#line 1974 "objc/objc-parse.y"
{ if (pedantic)
pedwarn ("ISO C forbids label declarations"); ;
break;}
case 470:
#line 1985 "objc/objc-parse.y"
{ tree link;
for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
{
tree label = declare_label (TREE_VALUE (link));
C_DECLARED_LABEL_FLAG (label) = 1;
add_stmt (build_stmt (DECL_EXPR, label));
}
;
break;}
case 471:
#line 1999 "objc/objc-parse.y"
{ add_stmt (yyvsp[0].ttype); ;
break;}
case 473:
#line 2003 "objc/objc-parse.y"
{ yyval.ttype = c_begin_compound_stmt (true); ;
break;}
case 478:
#line 2017 "objc/objc-parse.y"
{ if (cur_stmt_list == NULL)
{
error ("braced-group within expression allowed "
"only inside a function");
YYERROR;
}
yyval.ttype = c_begin_stmt_expr ();
;
break;}
case 479:
#line 2028 "objc/objc-parse.y"
{ yyval.ttype = c_end_compound_stmt (yyvsp[-1].ttype, true); ;
break;}
case 480:
#line 2036 "objc/objc-parse.y"
{ if (yychar == YYEMPTY)
yychar = YYLEX;
yyval.location = input_location; ;
break;}
case 483:
#line 2049 "objc/objc-parse.y"
{ yyval.ttype = c_end_compound_stmt (yyvsp[-2].ttype, flag_isoc99); ;
break;}
case 484:
#line 2054 "objc/objc-parse.y"
{
if (yyvsp[0].ttype && EXPR_P (yyvsp[0].ttype))
SET_EXPR_LOCATION (yyvsp[0].ttype, yyvsp[-1].location);
;
break;}
case 485:
#line 2072 "objc/objc-parse.y"
{ if (yyvsp[0].ttype) SET_EXPR_LOCATION (yyvsp[0].ttype, yyvsp[-1].location); ;
break;}
case 486:
#line 2076 "objc/objc-parse.y"
{ yyval.ttype = lang_hooks.truthvalue_conversion (yyvsp[0].exprtype.value);
if (EXPR_P (yyval.ttype))
SET_EXPR_LOCATION (yyval.ttype, yyvsp[-1].location); ;
break;}
case 487:
#line 2089 "objc/objc-parse.y"
{ yyval.ttype = c_end_compound_stmt (yyvsp[-2].ttype, flag_isoc99); ;
break;}
case 488:
#line 2094 "objc/objc-parse.y"
{ if (extra_warnings)
add_stmt (build (NOP_EXPR, NULL_TREE, NULL_TREE));
yyval.ttype = c_end_compound_stmt (yyvsp[-2].ttype, flag_isoc99); ;
break;}
case 490:
#line 2103 "objc/objc-parse.y"
{ c_finish_if_stmt (yyvsp[-6].location, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, true);
add_stmt (c_end_compound_stmt (yyvsp[-7].ttype, flag_isoc99)); ;
break;}
case 491:
#line 2107 "objc/objc-parse.y"
{ c_finish_if_stmt (yyvsp[-6].location, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, false);
add_stmt (c_end_compound_stmt (yyvsp[-7].ttype, flag_isoc99)); ;
break;}
case 492:
#line 2111 "objc/objc-parse.y"
{ c_finish_if_stmt (yyvsp[-4].location, yyvsp[-2].ttype, yyvsp[0].ttype, NULL, true);
add_stmt (c_end_compound_stmt (yyvsp[-5].ttype, flag_isoc99)); ;
break;}
case 493:
#line 2115 "objc/objc-parse.y"
{ c_finish_if_stmt (yyvsp[-4].location, yyvsp[-2].ttype, yyvsp[0].ttype, NULL, false);
add_stmt (c_end_compound_stmt (yyvsp[-5].ttype, flag_isoc99)); ;
break;}
case 494:
#line 2120 "objc/objc-parse.y"
{ yyval.ttype = c_break_label; c_break_label = NULL; ;
break;}
case 495:
#line 2124 "objc/objc-parse.y"
{ yyval.ttype = c_cont_label; c_cont_label = NULL; ;
break;}
case 496:
#line 2130 "objc/objc-parse.y"
{ c_finish_loop (yyvsp[-6].location, yyvsp[-4].ttype, NULL, yyvsp[0].ttype, c_break_label,
c_cont_label, true);
add_stmt (c_end_compound_stmt (yyvsp[-7].ttype, flag_isoc99));
c_break_label = yyvsp[-2].ttype; c_cont_label = yyvsp[-1].ttype; ;
break;}
case 497:
#line 2139 "objc/objc-parse.y"
{ yyval.ttype = c_break_label; c_break_label = yyvsp[-3].ttype; ;
break;}
case 498:
#line 2140 "objc/objc-parse.y"
{ yyval.ttype = c_cont_label; c_cont_label = yyvsp[-3].ttype; ;
break;}
case 499:
#line 2142 "objc/objc-parse.y"
{ c_finish_loop (yyvsp[-10].location, yyvsp[-2].ttype, NULL, yyvsp[-7].ttype, yyvsp[-5].ttype,
yyvsp[-4].ttype, false);
add_stmt (c_end_compound_stmt (yyvsp[-11].ttype, flag_isoc99)); ;
break;}
case 500:
#line 2149 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 501:
#line 2151 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[0].exprtype.value; ;
break;}
case 502:
#line 2156 "objc/objc-parse.y"
{ c_finish_expr_stmt (yyvsp[-1].ttype); ;
break;}
case 503:
#line 2158 "objc/objc-parse.y"
{ check_for_loop_decls (); ;
break;}
case 504:
#line 2162 "objc/objc-parse.y"
{ if (yyvsp[0].ttype)
{
yyval.ttype = lang_hooks.truthvalue_conversion (yyvsp[0].ttype);
if (EXPR_P (yyval.ttype))
SET_EXPR_LOCATION (yyval.ttype, yyvsp[-1].location);
}
else
yyval.ttype = NULL;
;
break;}
case 505:
#line 2174 "objc/objc-parse.y"
{ yyval.ttype = c_process_expr_stmt (yyvsp[0].ttype); ;
break;}
case 506:
#line 2181 "objc/objc-parse.y"
{ c_finish_loop (yyvsp[-7].location, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[0].ttype, c_break_label,
c_cont_label, true);
add_stmt (c_end_compound_stmt (yyvsp[-10].ttype, flag_isoc99));
c_break_label = yyvsp[-2].ttype; c_cont_label = yyvsp[-1].ttype; ;
break;}
case 507:
#line 2189 "objc/objc-parse.y"
{ yyval.ttype = c_start_case (yyvsp[-1].exprtype.value); ;
break;}
case 508:
#line 2191 "objc/objc-parse.y"
{ c_finish_case (yyvsp[0].ttype);
if (c_break_label)
add_stmt (build (LABEL_EXPR, void_type_node,
c_break_label));
c_break_label = yyvsp[-1].ttype;
add_stmt (c_end_compound_stmt (yyvsp[-6].ttype, flag_isoc99)); ;
break;}
case 509:
#line 2202 "objc/objc-parse.y"
{ yyval.ttype = c_finish_expr_stmt (yyvsp[-1].exprtype.value); ;
break;}
case 510:
#line 2204 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 511:
#line 2206 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 512:
#line 2208 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 513:
#line 2210 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 514:
#line 2212 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 515:
#line 2214 "objc/objc-parse.y"
{ yyval.ttype = c_finish_bc_stmt (&c_break_label, true); ;
break;}
case 516:
#line 2216 "objc/objc-parse.y"
{ yyval.ttype = c_finish_bc_stmt (&c_cont_label, false); ;
break;}
case 517:
#line 2218 "objc/objc-parse.y"
{ yyval.ttype = c_finish_return (NULL_TREE); ;
break;}
case 518:
#line 2220 "objc/objc-parse.y"
{ yyval.ttype = c_finish_return (yyvsp[-1].exprtype.value); ;
break;}
case 520:
#line 2223 "objc/objc-parse.y"
{ yyval.ttype = c_finish_goto_label (yyvsp[-1].ttype); ;
break;}
case 521:
#line 2225 "objc/objc-parse.y"
{ yyval.ttype = c_finish_goto_ptr (yyvsp[-1].exprtype.value); ;
break;}
case 522:
#line 2227 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 523:
#line 2229 "objc/objc-parse.y"
{ yyval.ttype = objc_build_throw_stmt (yyvsp[-1].exprtype.value); ;
break;}
case 524:
#line 2231 "objc/objc-parse.y"
{ yyval.ttype = objc_build_throw_stmt (NULL_TREE); ;
break;}
case 525:
#line 2233 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 526:
#line 2235 "objc/objc-parse.y"
{ objc_build_synchronized (yyvsp[-4].location, yyvsp[-2].exprtype.value, yyvsp[0].ttype); yyval.ttype = NULL_TREE; ;
break;}
case 527:
#line 2240 "objc/objc-parse.y"
{ objc_begin_catch_clause (grokparm (yyvsp[-1].parmtype)); ;
break;}
case 528:
#line 2245 "objc/objc-parse.y"
{ objc_finish_catch_clause (); ;
break;}
case 529:
#line 2247 "objc/objc-parse.y"
{ objc_finish_catch_clause (); ;
break;}
case 532:
#line 2257 "objc/objc-parse.y"
{ objc_begin_try_stmt (yyvsp[-1].location, yyvsp[0].ttype); ;
break;}
case 534:
#line 2263 "objc/objc-parse.y"
{ objc_build_finally_clause (yyvsp[-1].location, yyvsp[0].ttype); ;
break;}
case 535:
#line 2268 "objc/objc-parse.y"
{ objc_finish_try_stmt (); ;
break;}
case 536:
#line 2270 "objc/objc-parse.y"
{ objc_finish_try_stmt (); ;
break;}
case 537:
#line 2276 "objc/objc-parse.y"
{ add_stmt (yyvsp[0].ttype); yyval.ttype = NULL_TREE; ;
break;}
case 539:
#line 2285 "objc/objc-parse.y"
{ yyval.ttype = do_case (yyvsp[-1].exprtype.value, NULL_TREE); ;
break;}
case 540:
#line 2287 "objc/objc-parse.y"
{ yyval.ttype = do_case (yyvsp[-3].exprtype.value, yyvsp[-1].exprtype.value); ;
break;}
case 541:
#line 2289 "objc/objc-parse.y"
{ yyval.ttype = do_case (NULL_TREE, NULL_TREE); ;
break;}
case 542:
#line 2291 "objc/objc-parse.y"
{ tree label = define_label (yyvsp[-2].location, yyvsp[-3].ttype);
if (label)
{
decl_attributes (&label, yyvsp[0].ttype, 0);
yyval.ttype = add_stmt (build_stmt (LABEL_EXPR, label));
}
else
yyval.ttype = NULL_TREE;
;
break;}
case 543:
#line 2309 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[-2].ttype; ;
break;}
case 544:
#line 2315 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 546:
#line 2322 "objc/objc-parse.y"
{ assemble_asm (yyvsp[-1].ttype); ;
break;}
case 547:
#line 2324 "objc/objc-parse.y"
{;
break;}
case 548:
#line 2332 "objc/objc-parse.y"
{ yyval.ttype = build_asm_stmt (yyvsp[-6].ttype, yyvsp[-3].ttype); ;
break;}
case 549:
#line 2338 "objc/objc-parse.y"
{ yyval.ttype = build_asm_expr (yyvsp[0].ttype, 0, 0, 0, true); ;
break;}
case 550:
#line 2341 "objc/objc-parse.y"
{ yyval.ttype = build_asm_expr (yyvsp[-2].ttype, yyvsp[0].ttype, 0, 0, false); ;
break;}
case 551:
#line 2344 "objc/objc-parse.y"
{ yyval.ttype = build_asm_expr (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, 0, false); ;
break;}
case 552:
#line 2347 "objc/objc-parse.y"
{ yyval.ttype = build_asm_expr (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, false); ;
break;}
case 553:
#line 2354 "objc/objc-parse.y"
{ yyval.ttype = 0; ;
break;}
case 554:
#line 2356 "objc/objc-parse.y"
{ if (yyvsp[0].ttype != ridpointers[RID_VOLATILE])
{
warning ("%E qualifier ignored on asm", yyvsp[0].ttype);
yyval.ttype = 0;
}
else
yyval.ttype = yyvsp[0].ttype;
;
break;}
case 555:
#line 2369 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 558:
#line 2376 "objc/objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
break;}
case 559:
#line 2382 "objc/objc-parse.y"
{ yyval.ttype = build_tree_list (build_tree_list (NULL_TREE, yyvsp[-5].ttype),
yyvsp[-2].exprtype.value); ;
break;}
case 560:
#line 2386 "objc/objc-parse.y"
{ yyvsp[-7].ttype = build_string (IDENTIFIER_LENGTH (yyvsp[-7].ttype),
IDENTIFIER_POINTER (yyvsp[-7].ttype));
yyval.ttype = build_tree_list (build_tree_list (yyvsp[-7].ttype, yyvsp[-5].ttype), yyvsp[-2].exprtype.value); ;
break;}
case 561:
#line 2393 "objc/objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
break;}
case 562:
#line 2395 "objc/objc-parse.y"
{ yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
break;}
case 563:
#line 2401 "objc/objc-parse.y"
{ if (TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (yyvsp[0].ttype)))
!= char_type_node)
{
error ("wide string literal in %<asm%>");
yyval.ttype = build_string (1, "");
}
else
yyval.ttype = yyvsp[0].ttype; ;
break;}
case 564:
#line 2412 "objc/objc-parse.y"
{ c_lex_string_translate = 0; ;
break;}
case 565:
#line 2416 "objc/objc-parse.y"
{ c_lex_string_translate = 1; ;
break;}
case 566:
#line 2427 "objc/objc-parse.y"
{ push_scope ();
declare_parm_level (); ;
break;}
case 567:
#line 2430 "objc/objc-parse.y"
{ yyval.arginfotype = yyvsp[0].arginfotype;
pop_scope (); ;
break;}
case 569:
#line 2437 "objc/objc-parse.y"
{ mark_forward_parm_decls (); ;
break;}
case 570:
#line 2439 "objc/objc-parse.y"
{ ;
break;}
case 571:
#line 2442 "objc/objc-parse.y"
{ yyval.arginfotype = yyvsp[0].arginfotype; ;
break;}
case 572:
#line 2444 "objc/objc-parse.y"
{ yyval.arginfotype = XOBNEW (&parser_obstack, struct c_arg_info);
yyval.arginfotype->parms = 0;
yyval.arginfotype->tags = 0;
yyval.arginfotype->types = 0;
yyval.arginfotype->others = 0; ;
break;}
case 573:
#line 2454 "objc/objc-parse.y"
{ yyval.arginfotype = XOBNEW (&parser_obstack, struct c_arg_info);
yyval.arginfotype->parms = 0;
yyval.arginfotype->tags = 0;
yyval.arginfotype->types = 0;
yyval.arginfotype->others = 0; ;
break;}
case 574:
#line 2460 "objc/objc-parse.y"
{ yyval.arginfotype = XOBNEW (&parser_obstack, struct c_arg_info);
yyval.arginfotype->parms = 0;
yyval.arginfotype->tags = 0;
yyval.arginfotype->others = 0;
yyval.arginfotype->types = error_mark_node;
error ("ISO C requires a named argument before %<...%>");
;
break;}
case 575:
#line 2469 "objc/objc-parse.y"
{ yyval.arginfotype = get_parm_info (false); ;
break;}
case 576:
#line 2471 "objc/objc-parse.y"
{ yyval.arginfotype = get_parm_info (true); ;
break;}
case 577:
#line 2476 "objc/objc-parse.y"
{ push_parm_decl (yyvsp[0].parmtype); ;
break;}
case 578:
#line 2478 "objc/objc-parse.y"
{ push_parm_decl (yyvsp[0].parmtype); ;
break;}
case 579:
#line 2485 "objc/objc-parse.y"
{ yyval.parmtype = build_c_parm (current_declspecs,
chainon (yyvsp[0].ttype, all_prefix_attributes), yyvsp[-1].dtrtype);
POP_DECLSPEC_STACK; ;
break;}
case 580:
#line 2489 "objc/objc-parse.y"
{ yyval.parmtype = build_c_parm (current_declspecs,
chainon (yyvsp[0].ttype, all_prefix_attributes), yyvsp[-1].dtrtype);
POP_DECLSPEC_STACK; ;
break;}
case 581:
#line 2493 "objc/objc-parse.y"
{ yyval.parmtype = yyvsp[0].parmtype;
POP_DECLSPEC_STACK; ;
break;}
case 582:
#line 2496 "objc/objc-parse.y"
{ yyval.parmtype = build_c_parm (current_declspecs,
chainon (yyvsp[0].ttype, all_prefix_attributes), yyvsp[-1].dtrtype);
POP_DECLSPEC_STACK; ;
break;}
case 583:
#line 2501 "objc/objc-parse.y"
{ yyval.parmtype = yyvsp[0].parmtype;
POP_DECLSPEC_STACK; ;
break;}
case 584:
#line 2509 "objc/objc-parse.y"
{ yyval.parmtype = build_c_parm (current_declspecs,
chainon (yyvsp[0].ttype, all_prefix_attributes), yyvsp[-1].dtrtype);
POP_DECLSPEC_STACK; ;
break;}
case 585:
#line 2513 "objc/objc-parse.y"
{ yyval.parmtype = build_c_parm (current_declspecs,
chainon (yyvsp[0].ttype, all_prefix_attributes), yyvsp[-1].dtrtype);
POP_DECLSPEC_STACK; ;
break;}
case 586:
#line 2517 "objc/objc-parse.y"
{ yyval.parmtype = yyvsp[0].parmtype;
POP_DECLSPEC_STACK; ;
break;}
case 587:
#line 2520 "objc/objc-parse.y"
{ yyval.parmtype = build_c_parm (current_declspecs,
chainon (yyvsp[0].ttype, all_prefix_attributes), yyvsp[-1].dtrtype);
POP_DECLSPEC_STACK; ;
break;}
case 588:
#line 2525 "objc/objc-parse.y"
{ yyval.parmtype = yyvsp[0].parmtype;
POP_DECLSPEC_STACK; ;
break;}
case 589:
#line 2531 "objc/objc-parse.y"
{ prefix_attributes = chainon (prefix_attributes, yyvsp[-3].ttype);
all_prefix_attributes = prefix_attributes; ;
break;}
case 590:
#line 2540 "objc/objc-parse.y"
{ push_scope ();
declare_parm_level (); ;
break;}
case 591:
#line 2543 "objc/objc-parse.y"
{ yyval.arginfotype = yyvsp[0].arginfotype;
pop_scope (); ;
break;}
case 593:
#line 2550 "objc/objc-parse.y"
{ yyval.arginfotype = XOBNEW (&parser_obstack, struct c_arg_info);
yyval.arginfotype->parms = 0;
yyval.arginfotype->tags = 0;
yyval.arginfotype->types = yyvsp[-1].ttype;
yyval.arginfotype->others = 0;
if (yyvsp[-3].ttype != 0)
YYERROR1;
;
break;}
case 594:
#line 2565 "objc/objc-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 595:
#line 2567 "objc/objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 596:
#line 2573 "objc/objc-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 597:
#line 2575 "objc/objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 598:
#line 2580 "objc/objc-parse.y"
{ yyval.itype = SAVE_EXT_FLAGS ();
pedantic = 0;
warn_pointer_arith = 0;
warn_traditional = 0;
flag_iso = 0; ;
break;}
case 604:
#line 2596 "objc/objc-parse.y"
{
objc_finish_implementation ();
;
break;}
case 605:
#line 2604 "objc/objc-parse.y"
{ yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
break;}
case 606:
#line 2606 "objc/objc-parse.y"
{ yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
break;}
case 607:
#line 2611 "objc/objc-parse.y"
{
objc_declare_class (yyvsp[-1].ttype);
;
break;}
case 608:
#line 2618 "objc/objc-parse.y"
{
objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype);
;
break;}
case 609:
#line 2624 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[0].ttype; ;
break;}
case 610:
#line 2625 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 613:
#line 2635 "objc/objc-parse.y"
{
objc_start_class_interface (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 614:
#line 2639 "objc/objc-parse.y"
{
objc_continue_interface ();
;
break;}
case 615:
#line 2643 "objc/objc-parse.y"
{
objc_finish_interface ();
;
break;}
case 616:
#line 2648 "objc/objc-parse.y"
{
objc_start_class_implementation (yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 617:
#line 2652 "objc/objc-parse.y"
{
objc_continue_implementation ();
;
break;}
case 618:
#line 2657 "objc/objc-parse.y"
{
objc_start_category_interface (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
;
break;}
case 619:
#line 2661 "objc/objc-parse.y"
{
objc_finish_interface ();
;
break;}
case 620:
#line 2666 "objc/objc-parse.y"
{
objc_start_category_implementation (yyvsp[-3].ttype, yyvsp[-1].ttype);
;
break;}
case 621:
#line 2673 "objc/objc-parse.y"
{
objc_pq_context = 1;
objc_start_protocol (yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 622:
#line 2678 "objc/objc-parse.y"
{
objc_pq_context = 0;
objc_finish_interface ();
;
break;}
case 623:
#line 2686 "objc/objc-parse.y"
{
objc_declare_protocols (yyvsp[-1].ttype);
;
break;}
case 624:
#line 2693 "objc/objc-parse.y"
{
yyval.ttype = NULL_TREE;
;
break;}
case 626:
#line 2701 "objc/objc-parse.y"
{
if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR)
yyval.ttype = yyvsp[-1].ttype;
else
YYERROR1;
;
break;}
case 630:
#line 2716 "objc/objc-parse.y"
{ objc_set_visibility (2); ;
break;}
case 631:
#line 2717 "objc/objc-parse.y"
{ objc_set_visibility (0); ;
break;}
case 632:
#line 2718 "objc/objc-parse.y"
{ objc_set_visibility (1); ;
break;}
case 635:
#line 2725 "objc/objc-parse.y"
{
if (pedantic)
pedwarn ("extra semicolon in struct or union specified");
;
break;}
case 636:
#line 2733 "objc/objc-parse.y"
{
tree ivar = nreverse (yyvsp[0].ttype);
for (; ivar; ivar = TREE_CHAIN (ivar))
objc_add_instance_variable (copy_node (ivar));
;
break;}
case 638:
#line 2746 "objc/objc-parse.y"
{
if (pedantic)
pedwarn ("extra semicolon in method definition specified");
;
break;}
case 641:
#line 2759 "objc/objc-parse.y"
{
objc_set_method_type (yyvsp[0].code);
objc_pq_context = 1;
;
break;}
case 642:
#line 2764 "objc/objc-parse.y"
{
objc_pq_context = 0;
objc_start_method_definition (yyvsp[-1].ttype);
;
break;}
case 643:
#line 2769 "objc/objc-parse.y"
{
objc_finish_method_definition (current_function_decl);
;
break;}
case 646:
#line 2781 "objc/objc-parse.y"
{ yyval.ttype = NULL_TREE; ;
break;}
case 650:
#line 2791 "objc/objc-parse.y"
{
objc_set_method_type (yyvsp[0].code);
objc_pq_context = 1;
;
break;}
case 651:
#line 2797 "objc/objc-parse.y"
{
objc_pq_context = 0;
objc_add_method_declaration (yyvsp[0].ttype);
;
break;}
case 653:
#line 2807 "objc/objc-parse.y"
{
yyval.ttype = objc_build_method_signature (yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
;
break;}
case 654:
#line 2812 "objc/objc-parse.y"
{
yyval.ttype = objc_build_method_signature (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
;
break;}
case 655:
#line 2817 "objc/objc-parse.y"
{
yyval.ttype = objc_build_method_signature (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 656:
#line 2822 "objc/objc-parse.y"
{
yyval.ttype = objc_build_method_signature (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 657:
#line 2832 "objc/objc-parse.y"
{
TREE_OVERFLOW (yyval.ttype) = yyvsp[0].itype;
;
break;}
case 658:
#line 2839 "objc/objc-parse.y"
{
yyval.ttype = make_node (TREE_LIST);
;
break;}
case 659:
#line 2843 "objc/objc-parse.y"
{
yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE,
grokparm (yyvsp[0].parmtype)));
;
break;}
case 660:
#line 2851 "objc/objc-parse.y"
{
yyval.itype = 0;
;
break;}
case 661:
#line 2855 "objc/objc-parse.y"
{
yyval.itype = 1;
;
break;}
case 664:
#line 2868 "objc/objc-parse.y"
{
yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 692:
#line 2893 "objc/objc-parse.y"
{
yyval.ttype = chainon (yyvsp[-1].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype));
;
break;}
case 693:
#line 2897 "objc/objc-parse.y"
{
yyval.ttype = NULL_TREE;
;
break;}
case 694:
#line 2904 "objc/objc-parse.y"
{
yyval.ttype = build_tree_list (yyvsp[-1].ttype, groktypename (yyvsp[0].typenametype));
;
break;}
case 695:
#line 2908 "objc/objc-parse.y"
{
yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
;
break;}
case 696:
#line 2915 "objc/objc-parse.y"
{
yyval.ttype = objc_build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
;
break;}
case 697:
#line 2920 "objc/objc-parse.y"
{
yyval.ttype = objc_build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
;
break;}
case 698:
#line 2925 "objc/objc-parse.y"
{
yyval.ttype = objc_build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype);
;
break;}
case 699:
#line 2930 "objc/objc-parse.y"
{
yyval.ttype = objc_build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype);
;
break;}
case 703:
#line 2943 "objc/objc-parse.y"
{
yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 704:
#line 2951 "objc/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 705:
#line 2963 "objc/objc-parse.y"
{
yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
;
break;}
case 706:
#line 2967 "objc/objc-parse.y"
{
yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
;
break;}
case 707:
#line 2974 "objc/objc-parse.y"
{ yyval.ttype = yyvsp[0].exprtype.value; ;
break;}
case 708:
#line 2976 "objc/objc-parse.y"
{
yyval.ttype = objc_get_class_reference (yyvsp[0].ttype);
;
break;}
case 709:
#line 2980 "objc/objc-parse.y"
{
yyval.ttype = objc_get_class_reference (yyvsp[0].ttype);
;
break;}
case 710:
#line 2987 "objc/objc-parse.y"
{ yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
break;}
case 714:
#line 2998 "objc/objc-parse.y"
{
yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
;
break;}
case 715:
#line 3005 "objc/objc-parse.y"
{
yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE);
;
break;}
case 716:
#line 3009 "objc/objc-parse.y"
{
yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE);
;
break;}
case 717:
#line 3016 "objc/objc-parse.y"
{
yyval.ttype = yyvsp[-1].ttype;
;
break;}
case 718:
#line 3023 "objc/objc-parse.y"
{
yyval.ttype = yyvsp[-1].ttype;
;
break;}
case 719:
#line 3032 "objc/objc-parse.y"
{
yyval.ttype = groktypename (yyvsp[-1].typenametype);
;
break;}
}
#line 705 "/usr/share/bison/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
#if YYLSP_NEEDED
yylsp -= yylen;
#endif
#if YYDEBUG
if (yydebug)
{
short *yyssp1 = yyss - 1;
YYFPRINTF (stderr, "state stack now");
while (yyssp1 != yyssp)
YYFPRINTF (stderr, " %d", *++yyssp1);
YYFPRINTF (stderr, "\n");
}
#endif
*++yyvsp = yyval;
#if YYLSP_NEEDED
*++yylsp = yyloc;
#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)
{
YYSIZE_T yysize = 0;
char *yymsg;
int yyx, yycount;
yycount = 0;
for (yyx = yyn < 0 ? -yyn : 0;
yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
if (yycheck[yyx + yyn] == yyx)
yysize += yystrlen (yytname[yyx]) + 15, yycount++;
yysize += yystrlen ("parse error, unexpected ") + 1;
yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
yymsg = (char *) YYSTACK_ALLOC (yysize);
if (yymsg != 0)
{
char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
if (yycount < 5)
{
yycount = 0;
for (yyx = yyn < 0 ? -yyn : 0;
yyx < (int) (sizeof (yytname) / sizeof (char *));
yyx++)
if (yycheck[yyx + yyn] == yyx)
{
const char *yyq = ! yycount ? ", expecting " : " or ";
yyp = yystpcpy (yyp, yyq);
yyp = yystpcpy (yyp, yytname[yyx]);
yycount++;
}
}
yyerror (yymsg);
YYSTACK_FREE (yymsg);
}
else
yyerror ("parse error; also virtual memory exhausted");
}
else
#endif
yyerror ("parse error");
}
goto yyerrlab1;
yyerrlab1:
if (yyerrstatus == 3)
{
if (yychar == YYEOF)
YYABORT;
YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
yychar, yytname[yychar1]));
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;
#if YYLSP_NEEDED
yylsp--;
#endif
#if YYDEBUG
if (yydebug)
{
short *yyssp1 = yyss - 1;
YYFPRINTF (stderr, "Error: state stack now");
while (yyssp1 != yyssp)
YYFPRINTF (stderr, " %d", *++yyssp1);
YYFPRINTF (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;
YYDPRINTF ((stderr, "Shifting error token, "));
*++yyvsp = yylval;
#if YYLSP_NEEDED
*++yylsp = yylloc;
#endif
yystate = yyn;
goto yynewstate;
yyacceptlab:
yyresult = 0;
goto yyreturn;
yyabortlab:
yyresult = 1;
goto yyreturn;
yyoverflowlab:
yyerror ("parser stack overflow");
yyresult = 2;
yyreturn:
#ifndef yyoverflow
if (yyss != yyssa)
YYSTACK_FREE (yyss);
#endif
return yyresult;
}
#line 3037 "objc/objc-parse.y"
static enum cpp_ttype last_token;
struct resword
{
const char *word;
ENUM_BITFIELD(rid) rid : 16;
unsigned int disable : 16;
};
#define D_C89 0x01
#define D_EXT 0x02
#define D_EXT89 0x04
#define D_OBJC 0x08
static const struct resword reswords[] =
{
{ "_Bool", RID_BOOL, 0 },
{ "_Complex", RID_COMPLEX, 0 },
{ "__FUNCTION__", RID_FUNCTION_NAME, 0 },
{ "__PRETTY_FUNCTION__", RID_PRETTY_FUNCTION_NAME, 0 },
{ "__alignof", RID_ALIGNOF, 0 },
{ "__alignof__", RID_ALIGNOF, 0 },
{ "__asm", RID_ASM, 0 },
{ "__asm__", RID_ASM, 0 },
{ "__attribute", RID_ATTRIBUTE, 0 },
{ "__attribute__", RID_ATTRIBUTE, 0 },
{ "__builtin_choose_expr", RID_CHOOSE_EXPR, 0 },
{ "__builtin_offsetof", RID_OFFSETOF, 0 },
{ "__builtin_types_compatible_p", RID_TYPES_COMPATIBLE_P, 0 },
{ "__builtin_va_arg", RID_VA_ARG, 0 },
{ "__complex", RID_COMPLEX, 0 },
{ "__complex__", RID_COMPLEX, 0 },
{ "__const", RID_CONST, 0 },
{ "__const__", RID_CONST, 0 },
{ "__extension__", RID_EXTENSION, 0 },
{ "__func__", RID_C99_FUNCTION_NAME, 0 },
{ "__imag", RID_IMAGPART, 0 },
{ "__imag__", RID_IMAGPART, 0 },
{ "__inline", RID_INLINE, 0 },
{ "__inline__", RID_INLINE, 0 },
{ "__label__", RID_LABEL, 0 },
{ "__real", RID_REALPART, 0 },
{ "__real__", RID_REALPART, 0 },
{ "__restrict", RID_RESTRICT, 0 },
{ "__restrict__", RID_RESTRICT, 0 },
{ "__signed", RID_SIGNED, 0 },
{ "__signed__", RID_SIGNED, 0 },
{ "__thread", RID_THREAD, 0 },
{ "__typeof", RID_TYPEOF, 0 },
{ "__typeof__", RID_TYPEOF, 0 },
{ "__volatile", RID_VOLATILE, 0 },
{ "__volatile__", RID_VOLATILE, 0 },
{ "asm", RID_ASM, D_EXT },
{ "auto", RID_AUTO, 0 },
{ "break", RID_BREAK, 0 },
{ "case", RID_CASE, 0 },
{ "char", RID_CHAR, 0 },
{ "const", RID_CONST, 0 },
{ "continue", RID_CONTINUE, 0 },
{ "default", RID_DEFAULT, 0 },
{ "do", RID_DO, 0 },
{ "double", RID_DOUBLE, 0 },
{ "else", RID_ELSE, 0 },
{ "enum", RID_ENUM, 0 },
{ "extern", RID_EXTERN, 0 },
{ "float", RID_FLOAT, 0 },
{ "for", RID_FOR, 0 },
{ "goto", RID_GOTO, 0 },
{ "if", RID_IF, 0 },
{ "inline", RID_INLINE, D_EXT89 },
{ "int", RID_INT, 0 },
{ "long", RID_LONG, 0 },
{ "register", RID_REGISTER, 0 },
{ "restrict", RID_RESTRICT, D_C89 },
{ "return", RID_RETURN, 0 },
{ "short", RID_SHORT, 0 },
{ "signed", RID_SIGNED, 0 },
{ "sizeof", RID_SIZEOF, 0 },
{ "static", RID_STATIC, 0 },
{ "struct", RID_STRUCT, 0 },
{ "switch", RID_SWITCH, 0 },
{ "typedef", RID_TYPEDEF, 0 },
{ "typeof", RID_TYPEOF, D_EXT },
{ "union", RID_UNION, 0 },
{ "unsigned", RID_UNSIGNED, 0 },
{ "void", RID_VOID, 0 },
{ "volatile", RID_VOLATILE, 0 },
{ "while", RID_WHILE, 0 },
{ "class", RID_AT_CLASS, D_OBJC },
{ "compatibility_alias", RID_AT_ALIAS, D_OBJC },
{ "defs", RID_AT_DEFS, D_OBJC },
{ "encode", RID_AT_ENCODE, D_OBJC },
{ "end", RID_AT_END, D_OBJC },
{ "implementation", RID_AT_IMPLEMENTATION, D_OBJC },
{ "interface", RID_AT_INTERFACE, D_OBJC },
{ "private", RID_AT_PRIVATE, D_OBJC },
{ "protected", RID_AT_PROTECTED, D_OBJC },
{ "protocol", RID_AT_PROTOCOL, D_OBJC },
{ "public", RID_AT_PUBLIC, D_OBJC },
{ "selector", RID_AT_SELECTOR, D_OBJC },
{ "throw", RID_AT_THROW, D_OBJC },
{ "try", RID_AT_TRY, D_OBJC },
{ "catch", RID_AT_CATCH, D_OBJC },
{ "finally", RID_AT_FINALLY, D_OBJC },
{ "synchronized", RID_AT_SYNCHRONIZED, D_OBJC },
{ "bycopy", RID_BYCOPY, D_OBJC },
{ "byref", RID_BYREF, D_OBJC },
{ "in", RID_IN, D_OBJC },
{ "inout", RID_INOUT, D_OBJC },
{ "oneway", RID_ONEWAY, D_OBJC },
{ "out", RID_OUT, D_OBJC },
};
#define N_reswords (sizeof reswords / sizeof (struct resword))
static const short rid_to_yy[RID_MAX] =
{
STATIC,
TYPESPEC,
TYPESPEC,
TYPE_QUAL,
SCSPEC,
SCSPEC,
SCSPEC,
TYPESPEC,
SCSPEC,
TYPE_QUAL,
TYPESPEC,
SCSPEC,
TYPE_QUAL,
TYPESPEC,
SCSPEC,
0,
0,
0,
0,
0,
OBJC_TYPE_QUAL,
OBJC_TYPE_QUAL,
OBJC_TYPE_QUAL,
OBJC_TYPE_QUAL,
OBJC_TYPE_QUAL,
OBJC_TYPE_QUAL,
TYPESPEC,
TYPESPEC,
TYPESPEC,
TYPESPEC,
TYPESPEC,
ENUM,
STRUCT,
UNION,
IF,
ELSE,
WHILE,
DO,
FOR,
SWITCH,
CASE,
DEFAULT,
BREAK,
CONTINUE,
RETURN,
GOTO,
SIZEOF,
ASM_KEYWORD,
TYPEOF,
ALIGNOF,
ATTRIBUTE,
VA_ARG,
EXTENSION,
IMAGPART,
REALPART,
LABEL,
CHOOSE_EXPR,
TYPES_COMPATIBLE_P,
FUNC_NAME,
FUNC_NAME,
FUNC_NAME,
TYPESPEC,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
OFFSETOF,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
AT_ENCODE,
AT_END,
AT_CLASS,
AT_ALIAS,
AT_DEFS,
AT_PRIVATE,
AT_PROTECTED,
AT_PUBLIC,
AT_PROTOCOL,
AT_SELECTOR,
AT_THROW,
AT_TRY,
AT_CATCH,
AT_FINALLY,
AT_SYNCHRONIZED,
AT_INTERFACE,
AT_IMPLEMENTATION
};
static void
init_reswords (void)
{
unsigned int i;
tree id;
int mask = (flag_isoc99 ? 0 : D_C89)
| (flag_no_asm ? (flag_isoc99 ? D_EXT : D_EXT|D_EXT89) : 0);
if (!c_dialect_objc ())
mask |= D_OBJC;
ridpointers = GGC_CNEWVEC (tree, (int) RID_MAX);
for (i = 0; i < N_reswords; i++)
{
if (reswords[i].disable & mask)
continue;
id = get_identifier (reswords[i].word);
C_RID_CODE (id) = reswords[i].rid;
C_IS_RESERVED_WORD (id) = 1;
ridpointers [(int) reswords[i].rid] = id;
}
}
#define NAME(type) cpp_type2name (type)
static void
yyerror (const char *msgid)
{
c_parse_error (msgid, last_token, yylval.ttype);
}
static int
yylexname (void)
{
tree decl;
int objc_force_identifier = objc_need_raw_identifier;
OBJC_NEED_RAW_IDENTIFIER (0);
if (C_IS_RESERVED_WORD (yylval.ttype))
{
enum rid rid_code = C_RID_CODE (yylval.ttype);
if (!OBJC_IS_AT_KEYWORD (rid_code)
&& (!OBJC_IS_PQ_KEYWORD (rid_code) || objc_pq_context))
{
yylval.ttype = ridpointers[(int) rid_code];
return rid_to_yy[(int) rid_code];
}
}
decl = lookup_name (yylval.ttype);
if (decl)
{
if (TREE_CODE (decl) == TYPE_DECL)
return TYPENAME;
}
else
{
tree objc_interface_decl = objc_is_class_name (yylval.ttype);
if (objc_interface_decl
&& (global_bindings_p ()
|| (!objc_force_identifier && !decl)))
{
yylval.ttype = objc_interface_decl;
return CLASSNAME;
}
}
return IDENTIFIER;
}
static inline int
_yylex (void)
{
get_next:
last_token = c_lex (&yylval.ttype);
switch (last_token)
{
case CPP_EQ: return '=';
case CPP_NOT: return '!';
case CPP_GREATER: yylval.code = GT_EXPR; return ARITHCOMPARE;
case CPP_LESS: yylval.code = LT_EXPR; return ARITHCOMPARE;
case CPP_PLUS: yylval.code = PLUS_EXPR; return '+';
case CPP_MINUS: yylval.code = MINUS_EXPR; return '-';
case CPP_MULT: yylval.code = MULT_EXPR; return '*';
case CPP_DIV: yylval.code = TRUNC_DIV_EXPR; return '/';
case CPP_MOD: yylval.code = TRUNC_MOD_EXPR; return '%';
case CPP_AND: yylval.code = BIT_AND_EXPR; return '&';
case CPP_OR: yylval.code = BIT_IOR_EXPR; return '|';
case CPP_XOR: yylval.code = BIT_XOR_EXPR; return '^';
case CPP_RSHIFT: yylval.code = RSHIFT_EXPR; return RSHIFT;
case CPP_LSHIFT: yylval.code = LSHIFT_EXPR; return LSHIFT;
case CPP_COMPL: return '~';
case CPP_AND_AND: return ANDAND;
case CPP_OR_OR: return OROR;
case CPP_QUERY: return '?';
case CPP_OPEN_PAREN: return '(';
case CPP_EQ_EQ: yylval.code = EQ_EXPR; return EQCOMPARE;
case CPP_NOT_EQ: yylval.code = NE_EXPR; return EQCOMPARE;
case CPP_GREATER_EQ:yylval.code = GE_EXPR; return ARITHCOMPARE;
case CPP_LESS_EQ: yylval.code = LE_EXPR; return ARITHCOMPARE;
case CPP_PLUS_EQ: yylval.code = PLUS_EXPR; return ASSIGN;
case CPP_MINUS_EQ: yylval.code = MINUS_EXPR; return ASSIGN;
case CPP_MULT_EQ: yylval.code = MULT_EXPR; return ASSIGN;
case CPP_DIV_EQ: yylval.code = TRUNC_DIV_EXPR; return ASSIGN;
case CPP_MOD_EQ: yylval.code = TRUNC_MOD_EXPR; return ASSIGN;
case CPP_AND_EQ: yylval.code = BIT_AND_EXPR; return ASSIGN;
case CPP_OR_EQ: yylval.code = BIT_IOR_EXPR; return ASSIGN;
case CPP_XOR_EQ: yylval.code = BIT_XOR_EXPR; return ASSIGN;
case CPP_RSHIFT_EQ: yylval.code = RSHIFT_EXPR; return ASSIGN;
case CPP_LSHIFT_EQ: yylval.code = LSHIFT_EXPR; return ASSIGN;
case CPP_OPEN_SQUARE: return '[';
case CPP_CLOSE_SQUARE: return ']';
case CPP_OPEN_BRACE: return '{';
case CPP_CLOSE_BRACE: return '}';
case CPP_ELLIPSIS: return ELLIPSIS;
case CPP_PLUS_PLUS: return PLUSPLUS;
case CPP_MINUS_MINUS: return MINUSMINUS;
case CPP_DEREF: return POINTSAT;
case CPP_DOT: return '.';
case CPP_COLON: OBJC_NEED_RAW_IDENTIFIER (0); return ':';
case CPP_COMMA: OBJC_NEED_RAW_IDENTIFIER (0); return ',';
case CPP_CLOSE_PAREN: OBJC_NEED_RAW_IDENTIFIER (0); return ')';
case CPP_SEMICOLON: OBJC_NEED_RAW_IDENTIFIER (0); return ';';
case CPP_EOF:
return 0;
case CPP_NAME:
return yylexname ();
case CPP_AT_NAME:
return rid_to_yy [(int) C_RID_CODE (yylval.ttype)];
case CPP_NUMBER:
case CPP_CHAR:
case CPP_WCHAR:
return CONSTANT;
case CPP_STRING:
case CPP_WSTRING:
return STRING;
case CPP_OBJC_STRING:
return OBJC_STRING;
case CPP_SCOPE:
case CPP_DEREF_STAR:
case CPP_DOT_STAR:
case CPP_MIN_EQ:
case CPP_MAX_EQ:
case CPP_MIN:
case CPP_MAX:
case CPP_HASH:
case CPP_PASTE:
error ("syntax error at %qs token", NAME(last_token));
goto get_next;
default:
abort ();
}
}
static int
yylex (void)
{
int r;
timevar_push (TV_LEX);
r = _yylex();
timevar_pop (TV_LEX);
return r;
}
static void
yyprint (FILE *file, int yychar, YYSTYPE yyl)
{
tree t = yyl.ttype;
fprintf (file, " [%s]", NAME(last_token));
switch (yychar)
{
case IDENTIFIER:
case TYPENAME:
case TYPESPEC:
case TYPE_QUAL:
case SCSPEC:
case STATIC:
if (IDENTIFIER_POINTER (t))
fprintf (file, " '%s'", IDENTIFIER_POINTER (t));
break;
case CONSTANT:
fprintf (file, " %s", GET_MODE_NAME (TYPE_MODE (TREE_TYPE (t))));
if (TREE_CODE (t) == INTEGER_CST)
{
fputs (" ", file);
fprintf (file, HOST_WIDE_INT_PRINT_DOUBLE_HEX,
TREE_INT_CST_HIGH (t), TREE_INT_CST_LOW (t));
}
break;
}
}
void
c_parse_file (void)
{
yyparse ();
if (malloced_yyss)
{
free (malloced_yyss);
free (malloced_yyvs);
malloced_yyss = 0;
}
}
#ifdef __XGETTEXT__
const char d1[] = N_("syntax error");
const char d2[] = N_("parse error");
const char d3[] = N_("syntax error; also virtual memory exhausted");
const char d4[] = N_("parse error; also virtual memory exhausted");
const char d5[] = N_("syntax error: cannot back up");
const char d6[] = N_("parse error: cannot back up");
#endif
#include "gt-c-parse.h"