|
|
1.1 root 1:
1.1.1.6 root 2: /* A Bison parser, made from objc-parse.y with Bison version GNU Bison version 1.22
3: */
1.1 root 4:
5: #define YYBISON 1 /* Identify Bison output. */
6:
7: #define IDENTIFIER 258
8: #define TYPENAME 259
9: #define SCSPEC 260
10: #define TYPESPEC 261
11: #define TYPE_QUAL 262
12: #define CONSTANT 263
13: #define STRING 264
14: #define ELLIPSIS 265
15: #define SIZEOF 266
16: #define ENUM 267
17: #define STRUCT 268
18: #define UNION 269
19: #define IF 270
20: #define ELSE 271
21: #define WHILE 272
22: #define DO 273
23: #define FOR 274
24: #define SWITCH 275
25: #define CASE 276
26: #define DEFAULT 277
27: #define BREAK 278
28: #define CONTINUE 279
29: #define RETURN 280
30: #define GOTO 281
1.1.1.2 root 31: #define ASM_KEYWORD 282
1.1 root 32: #define TYPEOF 283
33: #define ALIGNOF 284
34: #define ALIGN 285
35: #define ATTRIBUTE 286
36: #define EXTENSION 287
37: #define LABEL 288
1.1.1.5 root 38: #define REALPART 289
39: #define IMAGPART 290
40: #define ASSIGN 291
41: #define OROR 292
42: #define ANDAND 293
43: #define EQCOMPARE 294
44: #define ARITHCOMPARE 295
45: #define LSHIFT 296
46: #define RSHIFT 297
47: #define UNARY 298
48: #define PLUSPLUS 299
49: #define MINUSMINUS 300
50: #define HYPERUNARY 301
51: #define POINTSAT 302
52: #define INTERFACE 303
53: #define IMPLEMENTATION 304
54: #define END 305
55: #define SELECTOR 306
56: #define DEFS 307
57: #define ENCODE 308
58: #define CLASSNAME 309
59: #define PUBLIC 310
60: #define PRIVATE 311
61: #define PROTECTED 312
62: #define PROTOCOL 313
63: #define OBJECTNAME 314
64: #define CLASS 315
65: #define ALIAS 316
66: #define OBJC_STRING 317
1.1 root 67:
1.1.1.4 root 68: #line 31 "objc-parse.y"
1.1 root 69:
70: #include <stdio.h>
71: #include <errno.h>
72: #include <setjmp.h>
73:
74: #include "config.h"
75: #include "tree.h"
76: #include "input.h"
77: #include "c-lex.h"
78: #include "c-tree.h"
79: #include "flags.h"
80:
1.1.1.4 root 81: #ifdef MULTIBYTE_CHARS
82: #include <stdlib.h>
83: #include <locale.h>
84: #endif
85:
1.1.1.5 root 86: #include "objc-act.h"
87:
88: /* Since parsers are distinct for each language, put the language string
89: definition here. */
90: char *language_string = "GNU Obj-C";
1.1 root 91:
92: #ifndef errno
93: extern int errno;
94: #endif
95:
96: void yyerror ();
97:
98: /* Like YYERROR but do call yyerror. */
99: #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
100:
101: /* Cause the `yydebug' variable to be defined. */
102: #define YYDEBUG 1
103:
1.1.1.5 root 104: #line 69 "objc-parse.y"
1.1 root 105: typedef union {long itype; tree ttype; enum tree_code code;
106: char *filename; int lineno; } YYSTYPE;
1.1.1.7 ! root 107: #line 191 "objc-parse.y"
1.1 root 108:
109: /* Number of statements (loosely speaking) seen so far. */
110: static int stmt_count;
111:
112: /* Input file and line number of the end of the body of last simple_if;
113: used by the stmt-rule immediately after simple_if returns. */
114: static char *if_stmt_file;
115: static int if_stmt_line;
116:
117: /* List of types and structure classes of the current declaration. */
118: static tree current_declspecs;
119:
120: /* Stack of saved values of current_declspecs. */
121: static tree declspec_stack;
122:
123: /* 1 if we explained undeclared var errors. */
124: static int undeclared_variable_notice;
125:
126: /* Objective-C specific information */
127:
128: tree objc_interface_context;
129: tree objc_implementation_context;
130: tree objc_method_context;
131: tree objc_ivar_chain;
132: tree objc_ivar_context;
133: enum tree_code objc_inherit_code;
134: int objc_receiver_context;
135: int objc_public_flag;
136:
1.1.1.4 root 137:
1.1 root 138: /* Tell yyparse how to print a token's value, if yydebug is set. */
139:
140: #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
141: extern void yyprint ();
142:
143: #ifndef YYLTYPE
144: typedef
145: struct yyltype
146: {
147: int timestamp;
148: int first_line;
149: int first_column;
150: int last_line;
151: int last_column;
152: char *text;
153: }
154: yyltype;
155:
156: #define YYLTYPE yyltype
157: #endif
158:
159: #include <stdio.h>
160:
1.1.1.6 root 161: #ifndef __cplusplus
1.1 root 162: #ifndef __STDC__
163: #define const
164: #endif
1.1.1.6 root 165: #endif
1.1 root 166:
167:
168:
1.1.1.7 ! root 169: #define YYFINAL 880
1.1 root 170: #define YYFLAG -32768
1.1.1.5 root 171: #define YYNTBASE 85
1.1 root 172:
1.1.1.7 ! root 173: #define YYTRANSLATE(x) ((unsigned)(x) <= 317 ? yytranslate[x] : 291)
1.1 root 174:
175: static const char yytranslate[] = { 0,
176: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
177: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
178: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.5 root 179: 2, 2, 81, 2, 2, 2, 53, 44, 2, 60,
180: 77, 51, 49, 82, 50, 59, 52, 2, 2, 2,
181: 2, 2, 2, 2, 2, 2, 2, 39, 78, 2,
182: 37, 2, 38, 2, 2, 2, 2, 2, 2, 2,
1.1 root 183: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
184: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.5 root 185: 61, 2, 84, 43, 2, 2, 2, 2, 2, 2,
1.1 root 186: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
187: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1.1.1.5 root 188: 2, 2, 83, 42, 79, 80, 2, 2, 2, 2,
1.1 root 189: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
190: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
191: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
192: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
193: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
194: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
195: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
196: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
197: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
198: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
199: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
200: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
201: 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
202: 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
203: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1.1.1.5 root 204: 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
205: 36, 40, 41, 45, 46, 47, 48, 54, 55, 56,
206: 57, 58, 62, 63, 64, 65, 66, 67, 68, 69,
207: 70, 71, 72, 73, 74, 75, 76
1.1 root 208: };
209:
1.1.1.6 root 210: #if YYDEBUG != 0
1.1 root 211: static const short yyprhs[] = { 0,
212: 0, 1, 3, 4, 7, 8, 12, 14, 16, 18,
213: 24, 28, 33, 38, 41, 44, 47, 50, 52, 53,
214: 54, 62, 67, 68, 69, 77, 82, 83, 84, 91,
215: 95, 97, 99, 101, 103, 105, 107, 109, 111, 113,
1.1.1.5 root 216: 115, 117, 119, 120, 122, 124, 128, 130, 133, 134,
217: 138, 141, 144, 147, 152, 155, 160, 163, 166, 168,
1.1.1.6 root 218: 173, 174, 182, 184, 188, 192, 196, 200, 204, 208,
219: 212, 216, 220, 224, 228, 232, 236, 240, 246, 250,
220: 254, 256, 258, 260, 264, 268, 269, 274, 279, 284,
221: 288, 292, 295, 298, 300, 302, 304, 306, 308, 310,
222: 313, 315, 318, 319, 321, 324, 328, 330, 332, 335,
223: 338, 343, 348, 351, 354, 358, 360, 362, 365, 368,
224: 369, 374, 379, 383, 387, 390, 393, 396, 400, 401,
225: 404, 407, 409, 411, 414, 417, 420, 424, 425, 428,
226: 430, 432, 434, 437, 440, 445, 450, 452, 454, 456,
227: 458, 462, 464, 468, 469, 474, 475, 482, 486, 487,
1.1.1.7 ! root 228: 494, 498, 499, 501, 503, 506, 513, 515, 519, 520,
! 229: 522, 527, 534, 539, 541, 543, 545, 547, 549, 550,
! 230: 555, 557, 558, 561, 563, 567, 569, 570, 575, 577,
! 231: 578, 583, 584, 590, 591, 595, 596, 600, 602, 604,
! 232: 608, 612, 617, 621, 625, 627, 629, 633, 638, 642,
! 233: 646, 648, 652, 656, 660, 665, 669, 671, 672, 679,
! 234: 684, 687, 688, 695, 700, 703, 704, 712, 713, 720,
! 235: 723, 724, 726, 727, 729, 731, 734, 735, 739, 742,
! 236: 747, 751, 753, 757, 759, 761, 763, 767, 772, 779,
! 237: 785, 787, 791, 793, 795, 799, 802, 805, 806, 808,
! 238: 810, 813, 814, 817, 821, 825, 828, 832, 837, 841,
! 239: 844, 848, 851, 853, 856, 859, 860, 862, 865, 866,
! 240: 867, 869, 871, 874, 878, 880, 883, 886, 893, 899,
! 241: 905, 908, 911, 916, 917, 922, 923, 924, 928, 933,
! 242: 937, 939, 941, 943, 945, 948, 949, 954, 956, 960,
! 243: 961, 962, 970, 976, 979, 980, 981, 982, 995, 996,
! 244: 1003, 1006, 1009, 1012, 1016, 1023, 1032, 1043, 1056, 1060,
! 245: 1065, 1067, 1069, 1070, 1077, 1081, 1087, 1090, 1093, 1094,
! 246: 1096, 1097, 1099, 1100, 1102, 1104, 1108, 1113, 1115, 1119,
! 247: 1120, 1123, 1126, 1127, 1132, 1135, 1136, 1138, 1140, 1144,
! 248: 1146, 1150, 1153, 1156, 1159, 1162, 1165, 1166, 1169, 1171,
! 249: 1174, 1176, 1180, 1182, 1186, 1188, 1190, 1192, 1194, 1196,
! 250: 1198, 1200, 1204, 1208, 1213, 1214, 1215, 1226, 1227, 1234,
! 251: 1235, 1236, 1249, 1250, 1259, 1260, 1267, 1270, 1271, 1280,
! 252: 1285, 1286, 1296, 1302, 1303, 1310, 1311, 1315, 1319, 1321,
! 253: 1323, 1325, 1327, 1328, 1332, 1335, 1339, 1343, 1345, 1346,
! 254: 1348, 1352, 1354, 1358, 1361, 1362, 1363, 1364, 1372, 1373,
! 255: 1374, 1375, 1383, 1384, 1385, 1388, 1390, 1392, 1395, 1396,
! 256: 1400, 1402, 1404, 1405, 1406, 1412, 1413, 1414, 1420, 1425,
! 257: 1427, 1433, 1436, 1437, 1440, 1441, 1443, 1445, 1447, 1450,
! 258: 1453, 1458, 1461, 1464, 1466, 1470, 1472, 1474, 1476, 1477,
! 259: 1480, 1481, 1485, 1487, 1489, 1492, 1494, 1496, 1498, 1500,
! 260: 1502, 1504, 1506, 1508, 1510, 1512, 1514, 1516, 1518, 1520,
! 261: 1522, 1524, 1526, 1528, 1530, 1532, 1534, 1536, 1538, 1540,
! 262: 1542, 1549, 1553, 1559, 1562, 1564, 1566, 1568, 1571, 1573,
! 263: 1577, 1580, 1582, 1584, 1585, 1586, 1593, 1595, 1597, 1599,
! 264: 1602, 1605, 1607, 1612, 1617
1.1 root 265: };
266:
267: static const short yyrhs[] = { -1,
1.1.1.5 root 268: 86, 0, 0, 87, 89, 0, 0, 86, 88, 89,
1.1.1.7 ! root 269: 0, 91, 0, 90, 0, 223, 0, 27, 60, 100,
1.1.1.6 root 270: 77, 78, 0, 118, 128, 78, 0, 122, 118, 128,
271: 78, 0, 120, 118, 127, 78, 0, 122, 78, 0,
272: 120, 78, 0, 1, 78, 0, 1, 79, 0, 78,
1.1.1.7 ! root 273: 0, 0, 0, 120, 118, 152, 92, 112, 93, 182,
! 274: 0, 120, 118, 152, 1, 0, 0, 0, 122, 118,
! 275: 155, 94, 112, 95, 182, 0, 122, 118, 155, 1,
! 276: 0, 0, 0, 118, 155, 96, 112, 97, 182, 0,
! 277: 118, 155, 1, 0, 3, 0, 4, 0, 73, 0,
1.1.1.5 root 278: 68, 0, 44, 0, 50, 0, 49, 0, 55, 0,
279: 56, 0, 80, 0, 81, 0, 102, 0, 0, 102,
1.1.1.6 root 280: 0, 107, 0, 102, 82, 107, 0, 108, 0, 51,
1.1.1.5 root 281: 105, 0, 0, 32, 104, 105, 0, 99, 105, 0,
1.1.1.7 ! root 282: 41, 98, 0, 11, 103, 0, 11, 60, 170, 77,
! 283: 0, 29, 103, 0, 29, 60, 170, 77, 0, 34,
! 284: 105, 0, 35, 105, 0, 103, 0, 60, 170, 77,
! 285: 105, 0, 0, 60, 170, 77, 83, 106, 142, 79,
1.1.1.6 root 286: 0, 105, 0, 107, 49, 107, 0, 107, 50, 107,
287: 0, 107, 51, 107, 0, 107, 52, 107, 0, 107,
288: 53, 107, 0, 107, 47, 107, 0, 107, 48, 107,
289: 0, 107, 46, 107, 0, 107, 45, 107, 0, 107,
290: 44, 107, 0, 107, 42, 107, 0, 107, 43, 107,
291: 0, 107, 41, 107, 0, 107, 40, 107, 0, 107,
1.1.1.7 ! root 292: 38, 206, 39, 107, 0, 107, 37, 107, 0, 107,
1.1.1.6 root 293: 36, 107, 0, 3, 0, 8, 0, 110, 0, 60,
294: 100, 77, 0, 60, 1, 77, 0, 0, 60, 109,
1.1.1.7 ! root 295: 183, 77, 0, 108, 60, 101, 77, 0, 108, 61,
1.1.1.6 root 296: 100, 84, 0, 108, 59, 98, 0, 108, 58, 98,
1.1.1.7 ! root 297: 0, 108, 55, 0, 108, 56, 0, 282, 0, 288,
! 298: 0, 289, 0, 290, 0, 111, 0, 9, 0, 110,
1.1.1.6 root 299: 9, 0, 76, 0, 111, 76, 0, 0, 114, 0,
1.1.1.7 ! root 300: 114, 10, 0, 188, 189, 115, 0, 113, 0, 177,
! 301: 0, 114, 113, 0, 113, 177, 0, 120, 118, 127,
1.1.1.6 root 302: 78, 0, 122, 118, 128, 78, 0, 120, 78, 0,
1.1.1.7 ! root 303: 122, 78, 0, 188, 189, 119, 0, 116, 0, 177,
! 304: 0, 117, 116, 0, 116, 177, 0, 0, 120, 118,
1.1.1.6 root 305: 127, 78, 0, 122, 118, 128, 78, 0, 120, 118,
1.1.1.7 ! root 306: 148, 0, 122, 118, 150, 0, 120, 78, 0, 122,
1.1.1.6 root 307: 78, 0, 125, 121, 0, 122, 125, 121, 0, 0,
308: 121, 126, 0, 121, 5, 0, 7, 0, 5, 0,
1.1.1.7 ! root 309: 122, 7, 0, 122, 5, 0, 125, 124, 0, 172,
! 310: 125, 124, 0, 0, 124, 126, 0, 6, 0, 156,
! 311: 0, 4, 0, 68, 239, 0, 73, 239, 0, 28,
! 312: 60, 100, 77, 0, 28, 60, 170, 77, 0, 6,
! 313: 0, 7, 0, 156, 0, 130, 0, 127, 82, 130,
1.1.1.6 root 314: 0, 132, 0, 128, 82, 130, 0, 0, 27, 60,
1.1.1.7 ! root 315: 110, 77, 0, 0, 152, 129, 134, 37, 131, 140,
! 316: 0, 152, 129, 134, 0, 0, 155, 129, 134, 37,
! 317: 133, 140, 0, 155, 129, 134, 0, 0, 135, 0,
! 318: 136, 0, 135, 136, 0, 31, 60, 60, 137, 77,
! 319: 77, 0, 138, 0, 137, 82, 138, 0, 0, 139,
! 320: 0, 139, 60, 3, 77, 0, 139, 60, 3, 82,
! 321: 102, 77, 0, 139, 60, 102, 77, 0, 98, 0,
! 322: 5, 0, 6, 0, 7, 0, 107, 0, 0, 83,
! 323: 141, 142, 79, 0, 1, 0, 0, 143, 161, 0,
! 324: 144, 0, 143, 82, 144, 0, 107, 0, 0, 83,
! 325: 145, 142, 79, 0, 1, 0, 0, 98, 39, 146,
! 326: 144, 0, 0, 59, 98, 37, 147, 144, 0, 0,
! 327: 152, 149, 183, 0, 0, 155, 151, 183, 0, 153,
! 328: 0, 155, 0, 60, 153, 77, 0, 153, 60, 218,
! 329: 0, 153, 61, 100, 84, 0, 153, 61, 84, 0,
! 330: 51, 173, 153, 0, 4, 0, 73, 0, 154, 60,
! 331: 218, 0, 154, 61, 100, 84, 0, 154, 61, 84,
! 332: 0, 51, 173, 154, 0, 4, 0, 155, 60, 218,
! 333: 0, 60, 155, 77, 0, 51, 173, 155, 0, 155,
! 334: 61, 100, 84, 0, 155, 61, 84, 0, 3, 0,
! 335: 0, 13, 98, 83, 157, 163, 79, 0, 13, 83,
! 336: 163, 79, 0, 13, 98, 0, 0, 14, 98, 83,
! 337: 158, 163, 79, 0, 14, 83, 163, 79, 0, 14,
! 338: 98, 0, 0, 12, 98, 83, 159, 168, 162, 79,
! 339: 0, 0, 12, 83, 160, 168, 162, 79, 0, 12,
! 340: 98, 0, 0, 82, 0, 0, 82, 0, 164, 0,
! 341: 164, 165, 0, 0, 164, 165, 78, 0, 164, 78,
! 342: 0, 66, 60, 68, 77, 0, 123, 118, 166, 0,
! 343: 123, 0, 172, 118, 166, 0, 172, 0, 1, 0,
! 344: 167, 0, 166, 82, 167, 0, 188, 189, 152, 134,
! 345: 0, 188, 189, 152, 39, 107, 134, 0, 188, 189,
! 346: 39, 107, 134, 0, 169, 0, 168, 82, 169, 0,
! 347: 1, 0, 98, 0, 98, 37, 107, 0, 123, 171,
! 348: 0, 172, 171, 0, 0, 174, 0, 7, 0, 172,
! 349: 7, 0, 0, 173, 7, 0, 60, 174, 77, 0,
! 350: 51, 173, 174, 0, 51, 173, 0, 174, 60, 211,
! 351: 0, 174, 61, 100, 84, 0, 174, 61, 84, 0,
! 352: 60, 211, 0, 61, 100, 84, 0, 61, 84, 0,
! 353: 191, 0, 175, 191, 0, 175, 177, 0, 0, 175,
! 354: 0, 1, 78, 0, 0, 0, 180, 0, 181, 0,
! 355: 180, 181, 0, 33, 222, 78, 0, 183, 0, 1,
! 356: 183, 0, 83, 79, 0, 83, 178, 179, 117, 176,
! 357: 79, 0, 83, 178, 179, 1, 79, 0, 83, 178,
! 358: 179, 175, 79, 0, 185, 190, 0, 185, 1, 0,
! 359: 15, 60, 100, 77, 0, 0, 18, 187, 190, 17,
! 360: 0, 0, 0, 188, 189, 193, 0, 188, 189, 204,
! 361: 190, 0, 188, 189, 192, 0, 193, 0, 204, 0,
! 362: 183, 0, 201, 0, 100, 78, 0, 0, 184, 16,
! 363: 194, 190, 0, 184, 0, 184, 16, 1, 0, 0,
! 364: 0, 17, 195, 60, 100, 77, 196, 190, 0, 186,
! 365: 60, 100, 77, 78, 0, 186, 1, 0, 0, 0,
! 366: 0, 19, 60, 206, 78, 197, 206, 78, 198, 206,
! 367: 77, 199, 190, 0, 0, 20, 60, 100, 77, 200,
! 368: 190, 0, 23, 78, 0, 24, 78, 0, 25, 78,
! 369: 0, 25, 100, 78, 0, 27, 205, 60, 100, 77,
! 370: 78, 0, 27, 205, 60, 100, 39, 207, 77, 78,
! 371: 0, 27, 205, 60, 100, 39, 207, 39, 207, 77,
! 372: 78, 0, 27, 205, 60, 100, 39, 207, 39, 207,
! 373: 39, 210, 77, 78, 0, 26, 98, 78, 0, 26,
! 374: 51, 100, 78, 0, 78, 0, 202, 0, 0, 19,
! 375: 60, 108, 77, 203, 190, 0, 21, 107, 39, 0,
! 376: 21, 107, 10, 107, 39, 0, 22, 39, 0, 98,
! 377: 39, 0, 0, 7, 0, 0, 100, 0, 0, 208,
! 378: 0, 209, 0, 208, 82, 209, 0, 9, 60, 100,
! 379: 77, 0, 110, 0, 210, 82, 110, 0, 0, 212,
! 380: 213, 0, 215, 77, 0, 0, 216, 78, 214, 213,
! 381: 0, 1, 77, 0, 0, 10, 0, 216, 0, 216,
! 382: 82, 10, 0, 217, 0, 216, 82, 217, 0, 120,
! 383: 154, 0, 120, 155, 0, 120, 171, 0, 122, 155,
! 384: 0, 122, 171, 0, 0, 219, 220, 0, 213, 0,
! 385: 221, 77, 0, 3, 0, 221, 82, 3, 0, 98,
! 386: 0, 222, 82, 98, 0, 227, 0, 225, 0, 226,
! 387: 0, 237, 0, 246, 0, 64, 0, 98, 0, 224,
! 388: 82, 98, 0, 74, 224, 78, 0, 75, 98, 98,
! 389: 78, 0, 0, 0, 62, 98, 239, 83, 228, 240,
! 390: 79, 229, 253, 64, 0, 0, 62, 98, 239, 230,
! 391: 253, 64, 0, 0, 0, 62, 98, 39, 98, 239,
! 392: 83, 231, 240, 79, 232, 253, 64, 0, 0, 62,
! 393: 98, 39, 98, 239, 233, 253, 64, 0, 0, 63,
! 394: 98, 83, 234, 240, 79, 0, 63, 98, 0, 0,
! 395: 63, 98, 39, 98, 83, 235, 240, 79, 0, 63,
! 396: 98, 39, 98, 0, 0, 62, 98, 60, 98, 77,
! 397: 239, 236, 253, 64, 0, 63, 98, 60, 98, 77,
! 398: 0, 0, 72, 98, 239, 238, 253, 64, 0, 0,
! 399: 46, 224, 46, 0, 240, 241, 242, 0, 242, 0,
! 400: 70, 0, 71, 0, 69, 0, 0, 242, 243, 78,
! 401: 0, 242, 78, 0, 123, 118, 244, 0, 172, 118,
! 402: 244, 0, 1, 0, 0, 245, 0, 244, 82, 245,
! 403: 0, 152, 0, 152, 39, 107, 0, 39, 107, 0,
! 404: 0, 0, 0, 49, 247, 263, 248, 264, 249, 182,
! 405: 0, 0, 0, 0, 50, 250, 263, 251, 264, 252,
! 406: 182, 0, 0, 0, 254, 255, 0, 258, 0, 90,
! 407: 0, 255, 258, 0, 0, 255, 256, 90, 0, 78,
! 408: 0, 1, 0, 0, 0, 49, 259, 263, 260, 257,
! 409: 0, 0, 0, 50, 261, 263, 262, 257, 0, 60,
! 410: 170, 77, 272, 0, 272, 0, 60, 170, 77, 273,
! 411: 270, 0, 273, 270, 0, 0, 78, 265, 0, 0,
! 412: 266, 0, 267, 0, 177, 0, 266, 267, 0, 267,
! 413: 177, 0, 120, 118, 268, 78, 0, 120, 78, 0,
! 414: 122, 78, 0, 269, 0, 268, 82, 269, 0, 154,
! 415: 0, 155, 0, 171, 0, 0, 82, 10, 0, 0,
! 416: 82, 271, 215, 0, 274, 0, 276, 0, 273, 276,
! 417: 0, 3, 0, 4, 0, 73, 0, 275, 0, 12,
! 418: 0, 13, 0, 14, 0, 15, 0, 16, 0, 17,
! 419: 0, 18, 0, 19, 0, 20, 0, 21, 0, 22,
! 420: 0, 23, 0, 24, 0, 25, 0, 26, 0, 27,
! 421: 0, 11, 0, 28, 0, 29, 0, 6, 0, 7,
! 422: 0, 274, 39, 60, 170, 77, 98, 0, 274, 39,
! 423: 98, 0, 39, 60, 170, 77, 98, 0, 39, 98,
! 424: 0, 274, 0, 278, 0, 280, 0, 278, 280, 0,
! 425: 102, 0, 274, 39, 279, 0, 39, 279, 0, 100,
! 426: 0, 68, 0, 0, 0, 61, 283, 281, 284, 277,
! 427: 84, 0, 274, 0, 286, 0, 287, 0, 286, 287,
! 428: 0, 274, 39, 0, 39, 0, 65, 60, 285, 77,
! 429: 0, 72, 60, 98, 77, 0, 67, 60, 170, 77,
! 430: 0
1.1 root 431: };
432:
1.1.1.6 root 433: #endif
434:
1.1 root 435: #if YYDEBUG != 0
436: static const short yyrline[] = { 0,
1.1.1.7 ! root 437: 228, 233, 247, 249, 249, 250, 252, 254, 255, 256,
! 438: 266, 272, 274, 276, 278, 280, 281, 282, 287, 293,
! 439: 295, 296, 298, 303, 305, 306, 308, 313, 315, 316,
! 440: 320, 322, 323, 324, 327, 329, 331, 333, 335, 337,
! 441: 339, 343, 347, 350, 353, 356, 360, 362, 365, 368,
! 442: 371, 375, 401, 406, 408, 410, 412, 414, 418, 420,
! 443: 423, 427, 454, 456, 458, 460, 462, 464, 466, 468,
! 444: 470, 472, 474, 476, 478, 480, 482, 484, 486, 489,
! 445: 495, 655, 656, 658, 664, 666, 680, 703, 705, 707,
! 446: 719, 733, 735, 737, 739, 741, 743, 745, 750, 752,
! 447: 758, 760, 764, 766, 767, 777, 782, 784, 785, 786,
! 448: 789, 794, 798, 801, 809, 814, 816, 817, 818, 825,
! 449: 833, 838, 842, 846, 850, 852, 860, 863, 867, 869,
! 450: 871, 882, 886, 888, 891, 904, 907, 911, 913, 921,
! 451: 922, 923, 927, 929, 931, 933, 939, 940, 941, 944,
! 452: 946, 949, 951, 954, 957, 963, 970, 973, 979, 986,
! 453: 989, 996, 999, 1003, 1006, 1010, 1015, 1018, 1022, 1025,
! 454: 1027, 1030, 1033, 1040, 1042, 1043, 1044, 1049, 1051, 1056,
! 455: 1064, 1069, 1073, 1076, 1078, 1083, 1086, 1088, 1090, 1094,
! 456: 1097, 1097, 1100, 1102, 1119, 1123, 1140, 1147, 1149, 1154,
! 457: 1157, 1162, 1164, 1166, 1168, 1169, 1177, 1183, 1185, 1187,
! 458: 1189, 1195, 1201, 1203, 1205, 1207, 1209, 1212, 1217, 1221,
! 459: 1224, 1226, 1228, 1230, 1233, 1235, 1238, 1241, 1244, 1247,
! 460: 1251, 1253, 1256, 1258, 1262, 1265, 1270, 1272, 1274, 1278,
! 461: 1302, 1308, 1313, 1318, 1323, 1327, 1329, 1333, 1337, 1341,
! 462: 1351, 1353, 1355, 1360, 1363, 1367, 1370, 1374, 1377, 1380,
! 463: 1383, 1387, 1390, 1394, 1398, 1400, 1402, 1404, 1406, 1408,
! 464: 1410, 1412, 1420, 1422, 1423, 1426, 1428, 1431, 1434, 1447,
! 465: 1449, 1454, 1456, 1459, 1473, 1476, 1479, 1481, 1489, 1497,
! 466: 1508, 1513, 1516, 1529, 1537, 1541, 1545, 1549, 1555, 1559,
! 467: 1564, 1566, 1577, 1580, 1581, 1598, 1603, 1606, 1618, 1620,
! 468: 1630, 1640, 1641, 1649, 1652, 1664, 1668, 1685, 1695, 1704,
! 469: 1709, 1714, 1719, 1723, 1727, 1738, 1745, 1752, 1759, 1770,
! 470: 1774, 1777, 1782, 1805, 1839, 1864, 1893, 1908, 1919, 1923,
! 471: 1927, 1930, 1935, 1937, 1940, 1942, 1946, 1951, 1954, 1960,
! 472: 1965, 1970, 1972, 1981, 1982, 1988, 1990, 2000, 2002, 2006,
! 473: 2009, 2015, 2018, 2020, 2022, 2024, 2031, 2036, 2041, 2043,
! 474: 2052, 2055, 2060, 2063, 2069, 2071, 2072, 2073, 2074, 2075,
! 475: 2089, 2092, 2096, 2102, 2108, 2115, 2120, 2126, 2133, 2139,
! 476: 2145, 2150, 2156, 2163, 2169, 2175, 2181, 2189, 2195, 2201,
! 477: 2209, 2216, 2222, 2231, 2238, 2246, 2251, 2260, 2262, 2265,
! 478: 2267, 2268, 2271, 2276, 2277, 2294, 2300, 2305, 2309, 2312,
! 479: 2313, 2316, 2324, 2330, 2339, 2349, 2356, 2360, 2365, 2374,
! 480: 2381, 2385, 2395, 2397, 2398, 2400, 2402, 2403, 2404, 2405,
! 481: 2407, 2409, 2412, 2418, 2423, 2423, 2428, 2432, 2434, 2440,
! 482: 2445, 2450, 2459, 2461, 2467, 2469, 2472, 2474, 2475, 2476,
! 483: 2479, 2482, 2484, 2488, 2491, 2498, 2501, 2503, 2507, 2512,
! 484: 2517, 2522, 2529, 2533, 2536, 2542, 2544, 2545, 2546, 2549,
! 485: 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560,
! 486: 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2569,
! 487: 2572, 2578, 2583, 2588, 2594, 2596, 2599, 2601, 2608, 2620,
! 488: 2625, 2631, 2633, 2639, 2643, 2644, 2650, 2652, 2655, 2657,
! 489: 2663, 2668, 2674, 2681, 2690
1.1 root 490: };
491:
492: static const char * const yytname[] = { "$","error","$illegal.","IDENTIFIER",
493: "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
494: "ENUM","STRUCT","UNION","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
1.1.1.2 root 495: "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","ALIGN",
1.1.1.5 root 496: "ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","ASSIGN","'='","'?'","':'",
497: "OROR","ANDAND","'|'","'^'","'&'","EQCOMPARE","ARITHCOMPARE","LSHIFT","RSHIFT",
498: "'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY","POINTSAT",
499: "'.'","'('","'['","INTERFACE","IMPLEMENTATION","END","SELECTOR","DEFS","ENCODE",
500: "CLASSNAME","PUBLIC","PRIVATE","PROTECTED","PROTOCOL","OBJECTNAME","CLASS","ALIAS",
501: "OBJC_STRING","')'","';'","'}'","'~'","'!'","','","'{'","']'","program","extdefs",
502: "@1","@2","extdef","datadef","fndef","@3","@4","@5","@6","@7","@8","identifier",
1.1.1.6 root 503: "unop","expr","exprlist","nonnull_exprlist","unary_expr","@9","cast_expr","@10",
504: "expr_no_commas","primary","@11","string","objc_string","xdecls","lineno_datadecl",
505: "datadecls","datadecl","lineno_decl","decls","setspecs","decl","typed_declspecs",
506: "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
507: "typespecqual_reserved","initdecls","notype_initdecls","maybeasm","initdcl",
1.1.1.7 ! root 508: "@12","notype_initdcl","@13","maybe_attribute","attributes","attribute","attribute_list",
! 509: "attrib","any_word","init","@14","initlist_maybe_comma","initlist1","initelt",
! 510: "@15","@16","@17","nested_function","@18","notype_nested_function","@19","declarator",
! 511: "after_type_declarator","parm_declarator","notype_declarator","structsp","@20",
! 512: "@21","@22","@23","maybecomma","maybecomma_warn","component_decl_list","component_decl_list2",
! 513: "component_decl","components","component_declarator","enumlist","enumerator",
! 514: "typename","absdcl","nonempty_type_quals","type_quals","absdcl1","stmts","xstmts",
! 515: "errstmt","pushlevel","maybe_label_decls","label_decls","label_decl","compstmt_or_error",
! 516: "compstmt","simple_if","if_prefix","do_stmt_start","@24","save_filename","save_lineno",
! 517: "lineno_labeled_stmt","lineno_stmt_or_label","stmt_or_label","stmt","@25","@26",
! 518: "@27","@28","@29","@30","@31","all_iter_stmt","all_iter_stmt_simple","@32","label",
! 519: "maybe_type_qual","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
! 520: "asm_clobbers","parmlist","@33","parmlist_1","@34","parmlist_2","parms","parm",
! 521: "parmlist_or_identifiers","@35","parmlist_or_identifiers_1","identifiers","identifiers_or_typenames",
! 522: "objcdef","identifier_list","classdecl","aliasdecl","classdef","@36","@37","@38",
! 523: "@39","@40","@41","@42","@43","@44","protocoldef","@45","protocolrefs","ivar_decl_list",
! 524: "visibility_spec","ivar_decls","ivar_decl","ivars","ivar_declarator","methoddef",
! 525: "@46","@47","@48","@49","@50","@51","methodprotolist","@52","methodprotolist2",
! 526: "@53","semi_or_error","methodproto","@54","@55","@56","@57","methoddecl","optarglist",
! 527: "myxdecls","mydecls","mydecl","myparms","myparm","optparmlist","@58","unaryselector",
! 528: "keywordselector","selector","reservedwords","keyworddecl","messageargs","keywordarglist",
! 529: "keywordexpr","keywordarg","receiver","objcmessageexpr","@59","@60","selectorarg",
! 530: "keywordnamelist","keywordname","objcselectorexpr","objcprotocolexpr","objcencodeexpr",
! 531: ""
1.1 root 532: };
533: #endif
534:
535: static const short yyr1[] = { 0,
1.1.1.5 root 536: 85, 85, 87, 86, 88, 86, 89, 89, 89, 89,
537: 90, 90, 90, 90, 90, 90, 90, 90, 92, 93,
538: 91, 91, 94, 95, 91, 91, 96, 97, 91, 91,
539: 98, 98, 98, 98, 99, 99, 99, 99, 99, 99,
540: 99, 100, 101, 101, 102, 102, 103, 103, 104, 103,
541: 103, 103, 103, 103, 103, 103, 103, 103, 105, 105,
1.1.1.6 root 542: 106, 105, 107, 107, 107, 107, 107, 107, 107, 107,
543: 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
544: 108, 108, 108, 108, 108, 109, 108, 108, 108, 108,
545: 108, 108, 108, 108, 108, 108, 108, 108, 110, 110,
546: 111, 111, 112, 112, 112, 113, 114, 114, 114, 114,
547: 115, 115, 115, 115, 116, 117, 117, 117, 117, 118,
548: 119, 119, 119, 119, 119, 119, 120, 120, 121, 121,
549: 121, 122, 122, 122, 122, 123, 123, 124, 124, 125,
550: 125, 125, 125, 125, 125, 125, 126, 126, 126, 127,
551: 127, 128, 128, 129, 129, 131, 130, 130, 133, 132,
1.1.1.7 ! root 552: 132, 134, 134, 135, 135, 136, 137, 137, 138, 138,
! 553: 138, 138, 138, 139, 139, 139, 139, 140, 141, 140,
! 554: 140, 142, 142, 143, 143, 144, 145, 144, 144, 146,
! 555: 144, 147, 144, 149, 148, 151, 150, 152, 152, 153,
! 556: 153, 153, 153, 153, 153, 153, 154, 154, 154, 154,
! 557: 154, 155, 155, 155, 155, 155, 155, 157, 156, 156,
! 558: 156, 158, 156, 156, 156, 159, 156, 160, 156, 156,
! 559: 161, 161, 162, 162, 163, 163, 164, 164, 164, 164,
! 560: 165, 165, 165, 165, 165, 166, 166, 167, 167, 167,
! 561: 168, 168, 168, 169, 169, 170, 170, 171, 171, 172,
! 562: 172, 173, 173, 174, 174, 174, 174, 174, 174, 174,
! 563: 174, 174, 175, 175, 175, 176, 176, 177, 178, 179,
! 564: 179, 180, 180, 181, 182, 182, 183, 183, 183, 183,
! 565: 184, 184, 185, 187, 186, 188, 189, 190, 190, 191,
! 566: 192, 192, 193, 193, 193, 194, 193, 193, 193, 195,
! 567: 196, 193, 193, 193, 197, 198, 199, 193, 200, 193,
! 568: 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
! 569: 193, 201, 203, 202, 204, 204, 204, 204, 205, 205,
! 570: 206, 206, 207, 207, 208, 208, 209, 210, 210, 212,
! 571: 211, 213, 214, 213, 213, 215, 215, 215, 215, 216,
! 572: 216, 217, 217, 217, 217, 217, 219, 218, 220, 220,
! 573: 221, 221, 222, 222, 223, 223, 223, 223, 223, 223,
! 574: 224, 224, 225, 226, 228, 229, 227, 230, 227, 231,
! 575: 232, 227, 233, 227, 234, 227, 227, 235, 227, 227,
! 576: 236, 227, 227, 238, 237, 239, 239, 240, 240, 241,
! 577: 241, 241, 242, 242, 242, 243, 243, 243, 244, 244,
! 578: 244, 245, 245, 245, 247, 248, 249, 246, 250, 251,
! 579: 252, 246, 253, 254, 253, 255, 255, 255, 256, 255,
! 580: 257, 257, 259, 260, 258, 261, 262, 258, 263, 263,
! 581: 263, 263, 264, 264, 265, 265, 266, 266, 266, 266,
! 582: 267, 267, 267, 268, 268, 269, 269, 269, 270, 270,
! 583: 271, 270, 272, 273, 273, 274, 274, 274, 274, 275,
! 584: 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
! 585: 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
! 586: 276, 276, 276, 276, 277, 277, 278, 278, 279, 280,
! 587: 280, 281, 281, 283, 284, 282, 285, 285, 286, 286,
! 588: 287, 287, 288, 289, 290
1.1 root 589: };
590:
591: static const short yyr2[] = { 0,
592: 0, 1, 0, 2, 0, 3, 1, 1, 1, 5,
593: 3, 4, 4, 2, 2, 2, 2, 1, 0, 0,
594: 7, 4, 0, 0, 7, 4, 0, 0, 6, 3,
595: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1.1.1.5 root 596: 1, 1, 0, 1, 1, 3, 1, 2, 0, 3,
597: 2, 2, 2, 4, 2, 4, 2, 2, 1, 4,
1.1.1.6 root 598: 0, 7, 1, 3, 3, 3, 3, 3, 3, 3,
599: 3, 3, 3, 3, 3, 3, 3, 5, 3, 3,
600: 1, 1, 1, 3, 3, 0, 4, 4, 4, 3,
601: 3, 2, 2, 1, 1, 1, 1, 1, 1, 2,
602: 1, 2, 0, 1, 2, 3, 1, 1, 2, 2,
603: 4, 4, 2, 2, 3, 1, 1, 2, 2, 0,
604: 4, 4, 3, 3, 2, 2, 2, 3, 0, 2,
605: 2, 1, 1, 2, 2, 2, 3, 0, 2, 1,
606: 1, 1, 2, 2, 4, 4, 1, 1, 1, 1,
607: 3, 1, 3, 0, 4, 0, 6, 3, 0, 6,
1.1.1.7 ! root 608: 3, 0, 1, 1, 2, 6, 1, 3, 0, 1,
! 609: 4, 6, 4, 1, 1, 1, 1, 1, 0, 4,
! 610: 1, 0, 2, 1, 3, 1, 0, 4, 1, 0,
! 611: 4, 0, 5, 0, 3, 0, 3, 1, 1, 3,
! 612: 3, 4, 3, 3, 1, 1, 3, 4, 3, 3,
! 613: 1, 3, 3, 3, 4, 3, 1, 0, 6, 4,
! 614: 2, 0, 6, 4, 2, 0, 7, 0, 6, 2,
! 615: 0, 1, 0, 1, 1, 2, 0, 3, 2, 4,
! 616: 3, 1, 3, 1, 1, 1, 3, 4, 6, 5,
! 617: 1, 3, 1, 1, 3, 2, 2, 0, 1, 1,
! 618: 2, 0, 2, 3, 3, 2, 3, 4, 3, 2,
! 619: 3, 2, 1, 2, 2, 0, 1, 2, 0, 0,
! 620: 1, 1, 2, 3, 1, 2, 2, 6, 5, 5,
! 621: 2, 2, 4, 0, 4, 0, 0, 3, 4, 3,
! 622: 1, 1, 1, 1, 2, 0, 4, 1, 3, 0,
! 623: 0, 7, 5, 2, 0, 0, 0, 12, 0, 6,
! 624: 2, 2, 2, 3, 6, 8, 10, 12, 3, 4,
! 625: 1, 1, 0, 6, 3, 5, 2, 2, 0, 1,
! 626: 0, 1, 0, 1, 1, 3, 4, 1, 3, 0,
! 627: 2, 2, 0, 4, 2, 0, 1, 1, 3, 1,
! 628: 3, 2, 2, 2, 2, 2, 0, 2, 1, 2,
! 629: 1, 3, 1, 3, 1, 1, 1, 1, 1, 1,
! 630: 1, 3, 3, 4, 0, 0, 10, 0, 6, 0,
! 631: 0, 12, 0, 8, 0, 6, 2, 0, 8, 4,
! 632: 0, 9, 5, 0, 6, 0, 3, 3, 1, 1,
! 633: 1, 1, 0, 3, 2, 3, 3, 1, 0, 1,
! 634: 3, 1, 3, 2, 0, 0, 0, 7, 0, 0,
! 635: 0, 7, 0, 0, 2, 1, 1, 2, 0, 3,
! 636: 1, 1, 0, 0, 5, 0, 0, 5, 4, 1,
! 637: 5, 2, 0, 2, 0, 1, 1, 1, 2, 2,
! 638: 4, 2, 2, 1, 3, 1, 1, 1, 0, 2,
! 639: 0, 3, 1, 1, 2, 1, 1, 1, 1, 1,
1.1 root 640: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
641: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1.1.1.7 ! root 642: 6, 3, 5, 2, 1, 1, 1, 2, 1, 3,
! 643: 2, 1, 1, 0, 0, 6, 1, 1, 1, 2,
! 644: 2, 1, 4, 4, 4
1.1 root 645: };
646:
647: static const short yydefact[] = { 3,
1.1.1.6 root 648: 5, 0, 0, 0, 142, 133, 140, 132, 0, 0,
1.1.1.7 ! root 649: 0, 0, 0, 425, 429, 0, 0, 380, 406, 0,
! 650: 406, 0, 0, 18, 4, 8, 7, 0, 120, 120,
! 651: 129, 141, 9, 376, 377, 375, 378, 379, 6, 16,
! 652: 17, 31, 32, 34, 33, 228, 230, 237, 221, 237,
! 653: 225, 0, 0, 0, 0, 406, 397, 0, 143, 406,
! 654: 144, 381, 0, 0, 217, 262, 0, 0, 152, 0,
! 655: 15, 0, 135, 134, 14, 0, 129, 127, 0, 226,
! 656: 0, 0, 0, 218, 0, 222, 81, 82, 99, 0,
1.1.1.5 root 657: 0, 49, 0, 0, 0, 35, 37, 36, 0, 38,
1.1.1.7 ! root 658: 39, 0, 514, 0, 0, 0, 101, 40, 41, 0,
1.1.1.6 root 659: 0, 42, 59, 63, 45, 47, 83, 98, 94, 95,
1.1.1.7 ! root 660: 96, 97, 260, 0, 258, 138, 0, 258, 476, 477,
! 661: 499, 500, 496, 480, 481, 482, 483, 484, 485, 486,
! 662: 487, 488, 489, 490, 491, 492, 493, 494, 495, 497,
! 663: 498, 0, 0, 478, 426, 450, 469, 473, 479, 474,
! 664: 430, 0, 0, 388, 0, 0, 395, 0, 404, 383,
! 665: 0, 0, 0, 0, 11, 0, 30, 0, 367, 0,
! 666: 0, 162, 205, 262, 0, 206, 0, 150, 0, 198,
! 667: 199, 0, 0, 128, 131, 147, 148, 130, 149, 253,
! 668: 254, 233, 251, 0, 0, 220, 245, 239, 120, 236,
! 669: 120, 237, 224, 237, 0, 53, 0, 55, 0, 57,
! 670: 58, 52, 48, 0, 0, 0, 0, 0, 0, 0,
! 671: 0, 51, 0, 0, 0, 0, 341, 0, 0, 0,
1.1 root 672: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.7 ! root 673: 0, 92, 93, 0, 0, 43, 0, 100, 102, 145,
! 674: 262, 350, 0, 256, 259, 136, 146, 261, 138, 257,
! 675: 0, 504, 0, 453, 471, 452, 0, 475, 0, 453,
! 676: 406, 0, 385, 434, 400, 0, 413, 407, 434, 382,
! 677: 384, 263, 214, 213, 153, 154, 0, 212, 0, 216,
! 678: 0, 0, 28, 0, 296, 108, 297, 0, 161, 163,
! 679: 164, 0, 0, 13, 0, 22, 0, 162, 367, 0,
! 680: 12, 26, 0, 0, 234, 0, 233, 0, 296, 238,
! 681: 296, 0, 0, 0, 0, 50, 85, 84, 279, 0,
! 682: 0, 513, 512, 515, 522, 517, 0, 518, 519, 0,
! 683: 0, 10, 46, 80, 79, 342, 0, 77, 76, 74,
! 684: 75, 73, 72, 71, 69, 70, 64, 65, 66, 67,
! 685: 68, 91, 90, 0, 44, 0, 266, 0, 270, 0,
! 686: 272, 0, 350, 0, 139, 137, 0, 0, 0, 427,
! 687: 470, 356, 0, 502, 431, 393, 406, 413, 0, 0,
! 688: 398, 403, 0, 0, 0, 0, 0, 371, 357, 258,
! 689: 258, 369, 0, 358, 360, 368, 0, 215, 278, 0,
! 690: 110, 105, 109, 0, 0, 159, 165, 204, 200, 151,
! 691: 20, 158, 201, 203, 0, 24, 255, 252, 229, 0,
! 692: 240, 241, 246, 297, 243, 219, 223, 54, 56, 287,
! 693: 280, 87, 61, 60, 0, 521, 523, 0, 520, 525,
! 694: 524, 0, 88, 89, 265, 264, 351, 271, 267, 269,
! 695: 0, 0, 449, 469, 120, 0, 458, 454, 456, 0,
! 696: 0, 472, 358, 0, 0, 390, 434, 401, 0, 389,
! 697: 443, 446, 437, 0, 120, 120, 439, 436, 413, 412,
! 698: 410, 411, 396, 413, 418, 415, 120, 120, 0, 405,
! 699: 155, 355, 211, 262, 350, 362, 363, 364, 262, 365,
! 700: 366, 352, 353, 0, 370, 0, 0, 29, 285, 106,
! 701: 120, 120, 169, 0, 0, 156, 202, 0, 227, 296,
! 702: 0, 0, 0, 281, 282, 0, 0, 505, 0, 506,
! 703: 507, 78, 268, 503, 451, 462, 258, 463, 459, 460,
! 704: 428, 0, 432, 413, 0, 434, 386, 0, 0, 154,
! 705: 0, 0, 0, 438, 0, 0, 419, 419, 414, 266,
! 706: 367, 0, 266, 0, 359, 361, 372, 286, 113, 0,
! 707: 114, 0, 175, 176, 177, 174, 0, 167, 170, 181,
! 708: 179, 178, 160, 21, 0, 25, 247, 0, 162, 373,
! 709: 0, 0, 0, 296, 0, 117, 297, 273, 283, 189,
! 710: 81, 0, 187, 0, 186, 0, 231, 184, 509, 511,
! 711: 0, 516, 0, 508, 466, 467, 468, 0, 464, 501,
! 712: 0, 394, 0, 434, 444, 447, 440, 399, 0, 422,
! 713: 416, 420, 417, 210, 207, 209, 0, 354, 0, 0,
! 714: 0, 169, 0, 0, 157, 162, 0, 248, 284, 0,
! 715: 289, 119, 118, 0, 0, 290, 275, 297, 274, 0,
! 716: 0, 0, 190, 62, 0, 183, 510, 461, 258, 391,
! 717: 402, 0, 0, 0, 424, 0, 0, 208, 111, 112,
! 718: 166, 168, 81, 0, 0, 250, 162, 374, 288, 0,
! 719: 142, 0, 310, 294, 0, 0, 0, 0, 0, 0,
! 720: 0, 0, 339, 406, 406, 331, 0, 0, 115, 120,
! 721: 120, 303, 308, 0, 0, 300, 301, 304, 332, 302,
! 722: 192, 0, 0, 185, 465, 434, 387, 442, 441, 445,
! 723: 448, 423, 421, 171, 0, 173, 180, 249, 0, 0,
! 724: 296, 341, 0, 0, 337, 321, 322, 323, 0, 0,
! 725: 0, 340, 0, 338, 305, 125, 0, 126, 0, 0,
! 726: 292, 297, 291, 314, 0, 0, 188, 191, 0, 0,
! 727: 0, 0, 0, 47, 0, 0, 0, 335, 324, 0,
! 728: 329, 0, 0, 123, 154, 0, 124, 154, 309, 296,
! 729: 0, 0, 193, 392, 172, 293, 0, 295, 333, 315,
! 730: 319, 0, 330, 0, 121, 0, 122, 0, 307, 298,
! 731: 296, 0, 311, 296, 341, 296, 336, 343, 0, 195,
! 732: 197, 299, 313, 296, 334, 0, 320, 0, 0, 344,
! 733: 345, 325, 312, 316, 0, 343, 0, 0, 341, 0,
! 734: 0, 326, 346, 0, 347, 0, 0, 317, 348, 0,
! 735: 327, 296, 0, 0, 318, 328, 349, 0, 0, 0
1.1 root 736: };
737:
1.1.1.7 ! root 738: static const short yydefgoto[] = { 878,
! 739: 1, 2, 3, 25, 26, 27, 317, 535, 323, 538,
! 740: 181, 420, 624, 110, 356, 374, 112, 113, 219, 114,
! 741: 546, 115, 116, 226, 117, 118, 303, 304, 305, 530,
! 742: 613, 614, 28, 729, 410, 78, 411, 125, 266, 31,
! 743: 198, 187, 68, 182, 188, 605, 69, 534, 309, 310,
! 744: 311, 597, 598, 599, 603, 664, 626, 627, 628, 682,
! 745: 743, 786, 804, 826, 807, 828, 296, 190, 635, 191,
! 746: 32, 212, 214, 204, 79, 686, 326, 82, 83, 210,
! 747: 442, 443, 202, 203, 127, 637, 128, 173, 265, 615,
! 748: 675, 306, 451, 543, 544, 545, 528, 529, 733, 734,
! 749: 735, 761, 782, 424, 783, 618, 736, 737, 810, 760,
! 750: 844, 835, 859, 872, 836, 738, 739, 834, 740, 773,
! 751: 357, 849, 850, 851, 870, 379, 380, 412, 584, 413,
! 752: 414, 415, 298, 299, 416, 417, 611, 33, 63, 34,
! 753: 35, 36, 398, 644, 284, 564, 746, 487, 287, 499,
! 754: 566, 37, 289, 59, 403, 504, 404, 509, 651, 652,
! 755: 38, 54, 274, 481, 55, 280, 485, 399, 400, 497,
! 756: 573, 750, 498, 568, 693, 569, 694, 155, 390, 478,
! 757: 479, 480, 638, 639, 276, 392, 156, 157, 158, 159,
! 758: 160, 549, 550, 630, 551, 344, 119, 228, 455, 347,
! 759: 348, 349, 120, 121, 122
1.1 root 760: };
761:
1.1.1.7 ! root 762: static const short yypact[] = { 143,
! 763: 154, 2699, 2699, 322,-32768,-32768,-32768,-32768, 57, 102,
! 764: 106, 71, 111,-32768,-32768, 192, 192,-32768, 141, 192,
! 765: 141, 192, 192,-32768,-32768,-32768,-32768, 224, 112, 674,
1.1.1.5 root 766: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.7 ! root 767: -32768,-32768,-32768,-32768,-32768,-32768, 120, 153, 155, 153,
! 768: 176, 2450, 2285, 2943, 2943, 37, 40, 192,-32768, 141,
! 769: -32768,-32768, 26, 192,-32768,-32768, 224, 191,-32768, 230,
! 770: -32768, 189,-32768,-32768,-32768, 224,-32768, 722, 177,-32768,
! 771: 233, 231, 1721,-32768, 237,-32768,-32768,-32768,-32768, 2484,
! 772: 2539,-32768, 2450, 2450, 192,-32768,-32768,-32768, 2450,-32768,
! 773: -32768, 1308,-32768, 265, 271, 277,-32768,-32768,-32768, 2450,
! 774: 291, 324,-32768,-32768, 3217, 755, 344, 297,-32768,-32768,
! 775: -32768,-32768,-32768, 338, 335,-32768, 343, 3079,-32768,-32768,
1.1 root 776: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
777: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.7 ! root 778: -32768, 331, 432,-32768,-32768,-32768, 2251, 384,-32768,-32768,
! 779: -32768, 192, 192, 375, 192, 192,-32768, 25,-32768,-32768,
! 780: 192, 353, 499, 17,-32768, 189,-32768, 421,-32768, 1712,
! 781: 633, 456,-32768,-32768, 189,-32768, 223,-32768, 1636, 381,
! 782: 391, 264, 539, 722,-32768,-32768,-32768,-32768,-32768,-32768,
! 783: 453, 412,-32768, 177, 431,-32768,-32768,-32768, 436, 423,
! 784: 2139, 153,-32768, 153, 1308,-32768, 1308,-32768, 2450,-32768,
! 785: -32768,-32768,-32768, 434, 441, 471, 462, 2340, 2972, 432,
! 786: 192,-32768, 478, 2450, 2450, 2450, 2450, 2450, 2450, 2450,
! 787: 2450, 2450, 2450, 2450, 2450, 2450, 2450, 2450, 2450, 2450,
! 788: 2450,-32768,-32768, 192, 192, 2450, 2450,-32768,-32768,-32768,
! 789: -32768, 335, 1772,-32768, 467, 629,-32768,-32768,-32768,-32768,
! 790: 432,-32768, 484, 480, 555,-32768, 384,-32768, 410, 480,
! 791: 141, 491,-32768, 510, 494, 508,-32768,-32768, 510,-32768,
! 792: -32768,-32768, 391,-32768,-32768, 567, 589,-32768, 583,-32768,
! 793: 522, 535,-32768, 449, 64,-32768,-32768, 554, 579, 456,
! 794: -32768, 131, 35,-32768, 189,-32768, 633, 456,-32768, 1832,
! 795: -32768,-32768, 633, 2450, 192, 540, 412, 541,-32768,-32768,
! 796: -32768, 544, 547, 543, 553,-32768,-32768,-32768, 550, 556,
! 797: 2170,-32768,-32768,-32768,-32768, 592, 571, 2972,-32768, 572,
! 798: 575,-32768, 3217, 3217, 3217,-32768, 605, 1282, 1440, 1520,
! 799: 2256, 2638, 2705, 2234, 552, 552, 415, 415,-32768,-32768,
! 800: -32768,-32768,-32768, 576, 324, 570, 234, 227,-32768, 2827,
! 801: -32768, 573,-32768, 1892,-32768, 629, 582, 3011, 670,-32768,
! 802: -32768, 3096, 432,-32768,-32768, 581, 141,-32768, 601, 2775,
! 803: -32768,-32768, 378, 2651, 603, 59, 591,-32768,-32768, 367,
! 804: 3068,-32768, 593, 301,-32768,-32768, 10,-32768,-32768, 54,
! 805: -32768,-32768,-32768, 3161, 612,-32768,-32768, 381,-32768,-32768,
! 806: -32768, 648,-32768,-32768, 606,-32768, 3217,-32768,-32768, 614,
! 807: -32768, 618,-32768,-32768, 618,-32768,-32768,-32768,-32768,-32768,
! 808: 671,-32768,-32768,-32768, 3040,-32768,-32768, 592,-32768,-32768,
! 809: -32768, 2450,-32768,-32768, 467,-32768,-32768,-32768,-32768,-32768,
! 810: 621, 192,-32768, 2251, 630, 2845,-32768,-32768, 3161, 780,
! 811: 54,-32768, 627, 637, 54,-32768, 510,-32768, 403,-32768,
! 812: -32768,-32768,-32768, 224, 112, 674, 228,-32768,-32768,-32768,
! 813: -32768,-32768,-32768,-32768,-32768,-32768,-32768, 2364, 639,-32768,
! 814: -32768,-32768,-32768,-32768, 60, 487, 391,-32768,-32768, 391,
! 815: -32768,-32768,-32768, 3144,-32768, 719, 471,-32768,-32768,-32768,
! 816: 647, 2864, 249, 1627, 54,-32768,-32768, 54,-32768,-32768,
! 817: 260, 192, 903, 671,-32768, 1389, 2450, 687, 653, 3040,
! 818: -32768, 1361,-32768,-32768,-32768,-32768, 367,-32768,-32768,-32768,
! 819: -32768, 192,-32768,-32768, 667, 510,-32768, 2943, 2943, 172,
! 820: 189, 224, 2794,-32768, 454, 2668, 276, 276,-32768, 279,
! 821: -32768, 1952, 374, 2827,-32768,-32768,-32768,-32768,-32768, 189,
! 822: -32768, 224,-32768,-32768,-32768,-32768, 90,-32768, 672,-32768,
! 823: -32768, 3217,-32768,-32768, 1627,-32768,-32768, 2450, 50,-32768,
! 824: 312, 501, 817, 660, 984,-32768,-32768,-32768,-32768,-32768,
! 825: 702, 192,-32768, 705, 3217, 666, 664,-32768, 324,-32768,
! 826: 2450,-32768, 687,-32768, 487, 391,-32768, 315,-32768,-32768,
! 827: 502,-32768, 684, 510,-32768,-32768,-32768,-32768, 2450, 710,
! 828: 669,-32768, 669, 487,-32768,-32768, 676,-32768, 329, 334,
! 829: 677, 249, 2573, 1389,-32768, 726, 2450,-32768,-32768, 192,
! 830: -32768,-32768,-32768, 1065, 679,-32768,-32768,-32768,-32768, 2034,
! 831: 718, 1389,-32768,-32768, 1470,-32768,-32768,-32768, 367,-32768,
! 832: -32768, 697, 61, 61, 3217, 2450, 276,-32768,-32768,-32768,
! 833: -32768,-32768, 169, 220, 703,-32768, 726,-32768,-32768, 2115,
! 834: 749, 729,-32768,-32768, 730, 731, 2450, 756, 721, 724,
! 835: 2395, 418, 789, 47, 235,-32768, 758, 727,-32768, 728,
! 836: 2875,-32768, 784, 1146, 66,-32768,-32768,-32768,-32768,-32768,
! 837: -32768, 738, 1551,-32768,-32768, 510,-32768,-32768,-32768,-32768,
! 838: -32768, 3217,-32768,-32768, 2450,-32768,-32768,-32768, 2450, 747,
! 839: -32768, 2450, 2450, 3199,-32768,-32768,-32768,-32768, 741, 2450,
! 840: 769,-32768, 767,-32768,-32768,-32768, 189,-32768, 224, 1227,
! 841: -32768,-32768,-32768,-32768, 2450, 1551,-32768,-32768, 745, 232,
! 842: 773, 2450, 837, 636, 777, 779, 2450,-32768,-32768, 782,
! 843: -32768, 2450, 348,-32768, 58, 411,-32768, 481,-32768,-32768,
! 844: 2115, 785,-32768,-32768,-32768,-32768, 787,-32768,-32768,-32768,
! 845: -32768, 3154,-32768, 41,-32768, 471,-32768, 471,-32768,-32768,
! 846: -32768, 791,-32768,-32768, 2450,-32768,-32768, 848, 792,-32768,
! 847: -32768,-32768,-32768,-32768,-32768, 793,-32768, 805, 74, 794,
! 848: -32768,-32768,-32768,-32768, 2450, 848, 796, 848, 2450, 798,
! 849: 149,-32768,-32768, 802,-32768, 589, 803,-32768, 344, 246,
! 850: -32768,-32768, 808, 589,-32768,-32768, 344, 880, 883,-32768
1.1 root 851: };
852:
853: static const short yypgoto[] = {-32768,
1.1.1.7 ! root 854: -32768,-32768,-32768, 884, -360,-32768,-32768,-32768,-32768,-32768,
! 855: -32768,-32768, -7,-32768, -52,-32768, -226, 518,-32768, -35,
! 856: -32768, 116, 126,-32768, -283,-32768, -116, 586,-32768,-32768,
! 857: 278,-32768, -11,-32768, 9, 822, 19, -66, 625, -1,
! 858: -218, -554, -56, -181, -138,-32768,-32768,-32768, -290,-32768,
! 859: 595,-32768, 239,-32768, 298,-32768, -591,-32768, -629,-32768,
! 860: -32768,-32768,-32768,-32768,-32768,-32768, -65, -139, -363, -23,
! 861: -41,-32768,-32768,-32768,-32768,-32768, 607, 16,-32768,-32768,
! 862: 588, 393, 732, 615, -69, -26, -57, -145, -208, 325,
! 863: -32768, -272,-32768,-32768,-32768, 397, -352, -201,-32768,-32768,
! 864: -32768,-32768, -111, -402, -712, -525,-32768, 132,-32768,-32768,
! 865: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 134,-32768,
! 866: -693, 86,-32768, 88,-32768, 565,-32768, -345,-32768, 557,
! 867: 558, 427, -285,-32768,-32768,-32768,-32768,-32768, 897,-32768,
1.1 root 868: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.7 ! root 869: -32768,-32768,-32768, -15, -355,-32768, 452,-32768, 379, 263,
! 870: -32768,-32768,-32768,-32768,-32768,-32768,-32768, -266,-32768,-32768,
! 871: -32768, 267, 465,-32768,-32768,-32768,-32768, -31, 685,-32768,
! 872: -32768, 488,-32768, 280, 492,-32768, 584, 585, -126,-32768,
! 873: -130,-32768,-32768, 346, 424,-32768,-32768,-32768,-32768,-32768,
! 874: -32768, 632,-32768,-32768,-32768
1.1 root 875: };
876:
877:
1.1.1.7 ! root 878: #define YYLAST 3270
1.1 root 879:
880:
1.1.1.5 root 881: static const short yytable[] = { 111,
1.1.1.7 ! root 882: 124, 47, 49, 51, 70, 61, 189, 318, 56, 57,
! 883: 29, 29, 60, 406, 62, 64, 209, 72, 76, 192,
! 884: 30, 30, 405, 161, 340, 211, 278, 432, 77, 375,
! 885: 277, 421, 227, 433, 467, 659, 199, 295, 312, 493,
! 886: 164, 541, 489, 174, 169, 313, 516, 385, 793, 225,
! 887: 62, 126, 193, 378, 527, 744, 172, 220, 221, 42,
! 888: 43, 748, 65, 223, -104, 85, 784, 258, 795, 307,
! 889: 288, 201, 705, 422, 232, 162, 179, 180, 165, 838,
! 890: 308, 126, 58, 273, 178, -34, 525, 222, 667, 679,
! 891: 742, 526, 58, 294, 319, 320, 163, 829, 264, 166,
! 892: 126, 270, 346, 170, 42, 43, 171, 171, 42, 43,
! 893: 519, 429, 856, 788, 318, 377, 477, 839, 842, 515,
! 894: 263, 845, 167, 847, 44, 785, 269, 301, 561, 45,
! 895: 52, 853, 563, 65, 183, 511, 339, 292, 749, 46,
! 896: -194, 846, -1, 575, 272, 334, -104, 335, 679, 293,
! 897: 857, 126, 199, -2, 281, 282, 813, 285, 286, 875,
! 898: 350, 174, 225, 290, 225, 864, 661, 385, 465, 44,
! 899: 53, 662, 428, 44, 45, 343, 430, 200, 45, 42,
! 900: 43, 184, 604, 336, 48, 606, 58, 866, 50, 71,
! 901: 185, 65, 183, 307, 42, 43, 201, 329, 178, 331,
! 902: 431, 387, 80, 186, 376, 307, 436, 560, 641, 269,
! 903: 382, 307, 647, 126, 680, 126, 654, 444, 81, 444,
! 904: 565, 458, 803, 351, 199, 867, 65, 332, 126, 333,
! 905: 177, 179, 180, -27, -27, -27, -27, 84, 658, 184,
! 906: 292, -27, -27, -27, 44, 754, 372, 373, 185, 45,
! 907: 755, 42, 43, 593, 594, 595, 178, -27, 86, 44,
! 908: -154, 186, 65, 183, 45, 396, -154, 435, 175, 126,
! 909: 616, 394, 176, -33, 66, 710, 491, 492, 65, 183,
! 910: 58, 65, 513, 67, 261, 292, 383, 384, 293, 179,
! 911: 180, -435, 205, 262, 263, 655, 756, -27, 608, 643,
! 912: 314, 234, -27, 466, 315, 454, 378, -154, 815, 206,
! 913: 184, -154, -27, 234, 649, 213, 44, 201, 668, 185,
! 914: 629, 45, 873, 484, 229, 588, 184, 874, 548, 514,
! 915: 230, 471, 186, 42, 43, 185, 231, 507, 515, 263,
! 916: 672, 321, 677, 278, 199, 176, 508, 277, 186, 353,
! 917: 354, 355, 258, 358, 359, 360, 361, 362, 363, 364,
! 918: 365, 366, 367, 368, 369, 370, 371, 233, 580, 65,
! 919: 513, 465, 259, 583, 465, 706, 65, 692, 523, 811,
! 920: 292, 488, 524, 518, 521, 261, 517, 520, 494, 669,
! 921: 271, 126, 688, 670, 262, 263, 689, 475, 44, 40,
! 922: 41, 677, 126, 45, 629, 234, 699, 476, 495, 77,
! 923: 315, 700, 42, 43, 260, 176, 758, 514, 496, 267,
! 924: 42, 43, 279, 633, 519, 825, 515, 263, 444, 315,
! 925: 291, 617, 531, 515, 263, 5, 704, 7, 123, 437,
! 926: 319, 320, 532, 9, 10, 11, 500, 501, 502, 302,
! 927: 179, 180, -107, -107, -107, -107, 503, 283, -107, 13,
! 928: -107, -107, -107, 557, 554, 249, 250, 251, 770, 393,
! 929: 570, 500, 501, 502, 77, 609, -107, 44, 732, 789,
! 930: 297, 567, 45, 571, 572, 44, 308, 475, 827, 324,
! 931: 45, 174, 176, 325, 77, 577, 578, 476, 328, 19,
! 932: 330, 65, 617, 678, 21, 292, 269, 178, 732, 507,
! 933: 337, 650, 650, -242, -242, 192, -107, 338, 508, 590,
! 934: 592, -107, 500, 501, 502, 596, 383, 384, 790, 657,
! 935: 77, -107, 648, 636, 610, 660, 645, 646, 341, 322,
! 936: 179, 180, -23, -23, -23, -23, 581, 582, 570, 66,
! 937: -23, -23, -23, 339, 640, 352, 293, 389, 67, 293,
! 938: 388, 494, 678, -196, 391, 178, -23, 397, 570, -154,
! 939: 500, 501, 502, -433, 126, -154, 401, 552, 419, 671,
! 940: 690, 495, 869, 407, 402, 408, 5, 6, 7, 8,
! 941: 877, 496, 409, 178, 9, 10, 11, 89, 179, 180,
! 942: 247, 248, 249, 250, 251, 418, -23, 216, 218, 732,
! 943: 13, -23, 419, 425, 681, 426, -154, 441, 439, 448,
! 944: -154, -23, 446, 318, 840, 447, 841, 728, 450, 449,
! 945: 456, 650, 452, 302, 196, 197, -296, -296, -296, -296,
! 946: 9, 10, 11, 462, -296, -296, -296, 457, 460, 602,
! 947: 19, 461, 463, 464, 596, 21, 468, 728, 472, -356,
! 948: -296, 625, 708, 486, 490, 636, 510, 512, 769, 522,
! 949: 302, 533, 727, 5, 6, 7, 8, 5, 73, 7,
! 950: 74, 9, 10, 11, 536, 9, 10, 11, 730, 537,
! 951: 252, 253, 539, 254, 255, 256, 257, 13, 731, 540,
! 952: -296, 13, 727, 542, 553, -296, 791, 556, 524, 61,
! 953: 796, 805, 819, 562, 771, -103, 579, 800, 777, 779,
! 954: 602, 587, 806, 666, 589, 631, 195, 196, 197, 77,
! 955: 642, 663, 812, 9, 10, 11, 632, 19, -276, 817,
! 956: -31, 19, 21, 683, 684, 685, 21, 691, 696, 824,
! 957: 697, 75, -455, 701, 741, 808, 308, 709, 728, 698,
! 958: 747, 235, 236, 237, 695, 238, 239, 240, 241, 242,
! 959: 243, 244, 245, 246, 247, 248, 249, 250, 251, 625,
! 960: 302, 757, 707, -457, -457, -457, -457, -32, 759, 762,
! 961: 763, -457, -457, -457, 765, 772, 774, 625, 766, 780,
! 962: 625, 767, 860, 727, 775, 776, 792, -457, 814, 252,
! 963: 253, 752, 254, 255, 256, 257, 787, 302, 799, -116,
! 964: -116, -116, -116, -116, -116, -116, 802, -116, -116, -116,
! 965: -116, -116, 764, -116, -116, -116, -116, -116, -116, -116,
! 966: -116, -116, -116, -116, -116, -116, 801, -457, -116, 816,
! 967: -116, -116, -457, 818, 820, 821, 848, -116, 625, 823,
! 968: -116, 832, -457, 833, 855, -116, -116, -116, 843, 852,
! 969: 854, -116, -116, 862, 865, 858, -116, -116, 868, 879,
! 970: 871, -116, 880, -116, -116, 876, 39, 794, -116, -116,
! 971: 423, 673, -116, 386, -116, -116, -116, -116, 194, -116,
! 972: 702, 625, 665, 612, 427, -296, -296, -296, -296, -296,
! 973: -296, -296, 822, -296, -296, -296, -296, -296, 445, -296,
! 974: -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
! 975: -296, -296, 607, 440, -296, 327, -296, -296, 674, 438,
! 976: 619, 861, 830, -296, 831, 863, -296, 469, 482, 483,
! 977: 586, -296, -296, -296, 168, 576, 653, -296, -296, 753,
! 978: 751, 574, -296, -296, 395, 555, 559, -296, 745, -296,
! 979: -296, 473, 474, 634, -296, -296, 687, 0, -296, 459,
! 980: -296, 0, -296, -296, 302, -296, -296, -296, 0, 0,
! 981: 0, -296, -296, 0, -296, 0, 0, 0, -296, 0,
! 982: -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
! 983: -296, 0, -296, 0, 0, -296, 0, -296, -296, 0,
! 984: 0, 0, 0, 0, -296, 0, 0, -296, 0, 0,
! 985: 0, 0, -296, -296, -296, 0, 0, 0, -296, -296,
! 986: 0, 0, 0, -296, -296, 0, 0, 0, -296, 0,
! 987: -296, -296, 0, 0, 0, -296, -296, 0, 0, -296,
! 988: 0, -296, 676, -296, -296, 302, -296, -296, -296, 0,
! 989: 0, 0, -296, -296, 0, -296, 0, 0, 0, -296,
! 990: 0, -296, -296, -296, -296, -296, -296, -296, -296, -296,
! 991: -296, -296, 0, -296, 0, 0, -296, 0, -296, -296,
! 992: 0, 0, 0, 0, 0, -296, 0, 0, -296, 0,
! 993: 0, 0, 0, -296, -296, -296, 0, 0, 0, -296,
! 994: -296, 0, 0, 0, -296, -296, 0, 0, 0, -296,
! 995: 0, -296, -296, 0, 0, 0, -296, -296, 0, 0,
! 996: -296, 0, -296, -277, -296, -296, 781, -296, -296, -296,
! 997: 0, 0, 0, -296, -296, 0, -296, 0, 0, 0,
! 998: -296, 0, -296, -296, -296, -296, -296, -296, -296, -296,
! 999: -296, -296, -296, 0, -296, 0, 0, -296, 0, -296,
! 1000: -296, 0, 0, 0, 0, 0, -296, 0, 0, -296,
! 1001: 0, 0, 0, 0, -296, -296, -296, 0, 0, 0,
! 1002: -296, -296, 0, 0, 0, -296, -296, 0, 0, 0,
! 1003: -296, 0, -296, -296, 0, 0, 0, -296, -296, 0,
! 1004: 0, -296, 0, -296, 0, -296, -296, 809, -296, -306,
! 1005: -306, 0, 0, 0, -306, -306, 0, -306, 0, 0,
! 1006: 0, -306, 0, -306, -306, -306, -306, -306, -306, -306,
! 1007: -306, -306, -306, -306, 0, -306, 0, 0, -306, 0,
! 1008: -306, -306, 0, 0, 0, 0, 0, -306, 0, 0,
! 1009: -306, 0, 0, 0, 0, -306, -306, -306, 0, 0,
! 1010: 0, -306, -306, 0, 0, 0, -306, -306, 0, 0,
! 1011: 0, -306, 0, -306, -306, 0, 0, 0, -306, -306,
! 1012: 0, 0, -306, 0, -306, 0, -306, -306, 224, -306,
1.1.1.6 root 1013: 87, 5, 0, 7, 123, 88, 89, 0, 90, 9,
1.1.1.7 ! root 1014: 10, 11, 239, 240, 241, 242, 243, 244, 245, 246,
! 1015: 247, 248, 249, 250, 251, 13, 91, 0, 0, 92,
1.1.1.6 root 1016: 0, 93, 94, 0, 0, 0, 0, 0, 95, 0,
1017: 0, 96, 0, 0, 0, 0, 97, 98, 99, 0,
1018: 0, 0, 100, 101, 0, 0, 0, 102, 103, 0,
1019: 0, 0, 104, 0, 105, 19, 0, 0, 0, 106,
1.1.1.7 ! root 1020: 21, 0, 0, 107, 0, 0, 0, 108, 109, 620,
! 1021: -86, 621, 43, 0, 0, 0, 88, 89, 237, 90,
! 1022: 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
! 1023: 248, 249, 250, 251, 0, 0, 0, 91, 0, 0,
1.1.1.5 root 1024: 92, 0, 93, 94, 0, 0, 0, 0, 0, 95,
1025: 0, 0, 96, 0, 0, 0, 0, 97, 98, 99,
1.1.1.7 ! root 1026: 0, 0, 0, 100, 101, 0, 0, 622, 102, 103,
1.1.1.6 root 1027: 0, 0, 0, 104, 0, 105, 44, 0, 0, 0,
1.1.1.7 ! root 1028: 106, 45, 0, 0, 107, 0, 0, -182, 108, 109,
! 1029: 620, 623, 621, 43, 0, 0, 0, 88, 89, 0,
! 1030: 90, 240, 241, 242, 243, 244, 245, 246, 247, 248,
! 1031: 249, 250, 251, 0, 0, 0, 0, 0, 91, 0,
1.1.1.5 root 1032: 0, 92, 0, 93, 94, 0, 0, 0, 0, 0,
1033: 95, 0, 0, 96, 0, 0, 0, 0, 97, 98,
1.1.1.7 ! root 1034: 99, 0, 0, 0, 100, 101, 0, 0, 622, 102,
1.1.1.5 root 1035: 103, 0, 0, 0, 104, 0, 105, 44, 0, 0,
1.1.1.7 ! root 1036: 0, 106, 45, 0, 0, 107, 0, 0, -232, 108,
! 1037: 109, 620, 623, 621, 43, 0, 0, 0, 88, 89,
! 1038: 0, 90, 241, 242, 243, 244, 245, 246, 247, 248,
! 1039: 249, 250, 251, 0, 0, 0, 0, 0, 0, 91,
1.1.1.5 root 1040: 0, 0, 92, 0, 93, 94, 0, 0, 0, 0,
1041: 0, 95, 0, 0, 96, 0, 0, 0, 0, 97,
1.1.1.7 ! root 1042: 98, 99, 0, 0, 0, 100, 101, 0, 0, 622,
1.1.1.5 root 1043: 102, 103, 0, 0, 0, 104, 0, 105, 44, 0,
1.1.1.7 ! root 1044: 0, 0, 106, 45, 0, 0, 107, 600, 0, 87,
! 1045: 108, 109, 0, 623, 88, 89, 316, 90, 0, -19,
! 1046: -19, -19, -19, 0, 0, 0, 0, -19, -19, -19,
1.1.1.6 root 1047: 0, 0, 0, 0, 0, 91, 0, 0, 92, 0,
1.1.1.7 ! root 1048: 93, 94, 178, -19, 0, 0, -154, 95, 0, 0,
1.1.1.6 root 1049: 96, 0, -154, 0, 0, 97, 98, 99, 0, 0,
1050: 0, 100, 101, 0, 0, 0, 102, 103, 0, 0,
1.1.1.7 ! root 1051: 0, 104, 0, 105, 0, 0, 0, 0, 106, 0,
! 1052: 0, 0, 107, -19, 0, 0, 108, 109, -19, 601,
! 1053: 0, 0, 0, -154, 87, 0, 0, -154, -19, 88,
! 1054: 89, 207, 90, 0, 5, 0, 7, 123, 0, 0,
! 1055: 0, 0, 9, 10, 11, 0, 0, 0, 0, 0,
! 1056: 91, 0, 0, 92, 0, 93, 94, 0, 13, 0,
! 1057: 0, 0, 95, 0, 0, 96, 0, 0, 0, 0,
! 1058: 97, 98, 99, 0, 0, 0, 100, 101, 0, 0,
! 1059: 0, 102, 103, 0, 87, 0, 104, 0, 105, 88,
! 1060: 89, 0, 90, 106, 0, 0, 0, 107, 19, 0,
! 1061: 0, 108, 109, 21, 0, 300, 0, 0, 208, -235,
1.1.1.5 root 1062: 91, 0, 0, 92, 0, 93, 94, 0, 0, 0,
1063: 0, 0, 95, 0, 0, 96, 0, 0, 0, 0,
1064: 97, 98, 99, 0, 0, 0, 100, 101, 0, 0,
1.1.1.7 ! root 1065: 0, 102, 103, 0, 87, 0, 104, 0, 105, 88,
! 1066: 89, 0, 90, 106, 0, 0, 0, 107, 0, 0,
! 1067: 0, 108, 109, 0, 0, 381, 0, 0, 0, 0,
! 1068: 91, 0, 0, 92, 0, 93, 94, 0, 0, 0,
! 1069: 0, 0, 95, 0, 0, 96, 0, 0, 0, 0,
! 1070: 97, 98, 99, 0, 0, 0, 100, 101, 0, 0,
! 1071: 0, 102, 103, 0, 87, 0, 104, 0, 105, 88,
! 1072: 89, 0, 90, 106, 0, 0, 0, 107, 0, 0,
! 1073: 0, 108, 109, 0, 0, 434, 0, 0, 0, 0,
! 1074: 91, 0, 0, 92, 0, 93, 94, 0, 0, 0,
! 1075: 0, 0, 95, 0, 0, 96, 0, 0, 0, 0,
! 1076: 97, 98, 99, 0, 0, 0, 100, 101, 0, 0,
! 1077: 0, 102, 103, 0, 87, 0, 104, 0, 105, 88,
! 1078: 89, 0, 90, 106, 0, 0, 0, 107, 0, 0,
! 1079: 0, 108, 109, 0, 0, 470, 0, 0, 0, 0,
! 1080: 91, 0, 0, 92, 0, 93, 94, 0, 0, 0,
! 1081: 0, 0, 95, 0, 0, 96, 0, 0, 0, 0,
! 1082: 97, 98, 99, 0, 0, 0, 100, 101, 0, 0,
! 1083: 0, 102, 103, 0, 0, 0, 104, 0, 105, 0,
! 1084: 0, 0, 0, 106, 0, 0, 0, 107, 0, 0,
! 1085: 0, 108, 109, 0, 0, 656, 621, 711, 6, 7,
! 1086: 8, 88, 89, 0, 90, 9, 10, 11, 712, 0,
! 1087: 713, 714, 715, 716, 717, 718, 719, 720, 721, 722,
! 1088: 723, 13, 91, 0, 0, 92, 0, 93, 94, 0,
! 1089: 0, 0, 0, 0, 95, 0, 0, 96, 0, 0,
! 1090: 0, 0, 97, 98, 99, 0, 0, 0, 100, 101,
! 1091: 0, 0, 0, 102, 103, 0, 0, 0, 104, 0,
! 1092: 105, 724, 0, 0, 0, 106, 725, 0, 0, 107,
! 1093: 0, 726, 0, 108, 109, 0, 339, 621, 43, 0,
! 1094: 0, 0, 88, 89, 0, 90, 0, 0, 0, 712,
! 1095: 0, 713, 714, 715, 716, 717, 718, 719, 720, 721,
! 1096: 722, 723, 5, 91, 7, 268, 92, 0, 93, 94,
! 1097: 9, 10, 11, 0, 0, 95, 0, 0, 96, 0,
! 1098: 0, 0, 0, 97, 98, 99, 13, 0, 0, 100,
! 1099: 101, 0, 87, 0, 102, 103, 0, 88, 89, 104,
! 1100: 90, 105, 44, 0, 0, 0, 106, 45, 0, 0,
! 1101: 107, 0, 726, 0, 108, 109, 0, 339, 91, 0,
! 1102: 0, 92, 0, 93, 94, 0, 19, 0, 0, 0,
! 1103: 95, 21, 0, 96, 0, 0, -244, -244, 97, 98,
! 1104: 99, 0, 0, 0, 100, 101, 0, 0, 0, 102,
! 1105: 103, 0, 0, 0, 104, 0, 105, 0, 0, 0,
! 1106: 0, 106, 0, 0, 0, 107, 0, 0, 0, 108,
! 1107: 109, 0, 453, 129, 130, 0, 131, 132, 0, 0,
! 1108: 0, 133, 134, 135, 136, 137, 138, 139, 140, 141,
! 1109: 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
! 1110: 245, 246, 247, 248, 249, 250, 251, 87, 5, 152,
! 1111: 7, 123, 88, 89, 0, 90, 9, 10, 11, 242,
! 1112: 243, 244, 245, 246, 247, 248, 249, 250, 251, 0,
! 1113: 0, 0, 13, 91, 0, 0, 92, 0, 93, 94,
! 1114: 0, 0, 0, 154, 0, 95, 0, 0, 96, 0,
! 1115: 0, 0, 275, 97, 98, 99, 0, 0, 0, 100,
! 1116: 101, 0, 87, 0, 102, 103, 0, 88, 89, 104,
! 1117: 90, 105, 19, 0, 0, 0, 106, 21, 0, 0,
! 1118: 107, 0, 0, 0, 108, 109, 0, 5, 91, 7,
! 1119: 268, 92, 0, 93, 94, 9, 10, 11, 0, 0,
! 1120: 95, 0, 0, 96, 0, 0, 0, 0, 97, 98,
! 1121: 99, 13, 0, 0, 100, 101, 0, 87, 0, 102,
! 1122: 103, 0, 88, 89, 104, 90, 105, 342, 0, 0,
! 1123: 0, 106, 0, 0, 0, 107, 0, 0, 0, 108,
! 1124: 109, 0, 0, 91, 0, 0, 92, 0, 93, 94,
! 1125: 0, 19, 0, 0, 0, 95, 21, 0, 96, 0,
! 1126: 0, 0, 0, 97, 98, 99, 0, 0, 0, 100,
! 1127: 101, 0, 87, 0, 102, 103, 0, 88, 89, 104,
! 1128: 90, 105, 0, 0, 0, 0, 106, 0, 0, 0,
! 1129: 107, 0, 768, 0, 108, 109, 0, 0, 91, 0,
! 1130: 0, 92, 0, 93, 94, 0, 87, 0, 0, 0,
! 1131: 95, 88, 89, 96, 90, 0, 0, 0, 97, 98,
! 1132: 99, 0, 0, 0, 100, 101, 0, 0, 0, 102,
! 1133: 103, 0, 91, 0, 104, 92, 105, 93, 94, 0,
! 1134: 0, 106, 0, 0, 95, 107, 0, 96, 0, 108,
! 1135: 109, 0, 97, 98, 99, 0, 0, 0, 100, 101,
! 1136: 0, 87, 0, 215, 103, 0, 88, 89, 104, 90,
! 1137: 105, 0, 0, 0, 0, 106, 0, 0, 0, 107,
! 1138: 0, 0, 0, 108, 109, 0, 0, 91, 0, 0,
! 1139: 92, 0, 93, 94, 0, 703, 0, 0, 0, 95,
! 1140: 88, 89, 96, 90, 0, 0, 0, 97, 98, 99,
! 1141: 0, 0, 0, 100, 101, 0, 0, 0, 217, 103,
! 1142: 0, 91, 0, 104, 92, 105, 93, 94, 0, 0,
! 1143: 106, 0, 0, 95, 107, 0, 96, 0, 108, 109,
1.1.1.6 root 1144: 0, 97, 98, 99, 0, 0, 0, 100, 101, 0,
1.1.1.7 ! root 1145: 0, 0, 102, 103, 0, 0, 0, 104, 0, 105,
1.1.1.6 root 1146: 0, 0, 0, 0, 106, 0, 0, 0, 107, 0,
1.1.1.7 ! root 1147: 0, 505, 108, 109, 5, 0, 7, 123, 0, 0,
! 1148: 0, 0, 9, 10, 11, 0, 0, 0, 505, 0,
! 1149: 0, 5, 0, 7, 123, 0, 0, 0, 13, 9,
! 1150: 10, 11, 243, 244, 245, 246, 247, 248, 249, 250,
! 1151: 251, 0, 0, 0, 0, 13, 0, 0, 0, 4,
! 1152: 0, -120, 5, 6, 7, 8, 0, 0, 0, 0,
! 1153: 9, 10, 11, 0, 0, 0, 0, 0, 19, -409,
! 1154: -409, -409, 0, 21, 0, 12, 13, 0, 506, -409,
! 1155: 0, 0, 0, 0, 0, 19, -408, -408, -408, 0,
! 1156: 21, 0, 0, 0, 0, 506, -408, 14, 15, -120,
! 1157: 244, 245, 246, 247, 248, 249, 250, 251, -120, 0,
! 1158: 16, 17, 18, 0, 0, 0, 19, 0, 0, 0,
! 1159: 20, 21, 22, 23, 0, 4, 24, -120, 5, 6,
! 1160: 7, 8, 0, 0, 0, 0, 9, 10, 11, 0,
! 1161: 0, 0, 0, 0, 4, 0, -120, 5, 6, 7,
! 1162: 8, 0, 13, 0, 0, 9, 10, 11, 0, 0,
1.1.1.6 root 1163: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1.1.1.7 ! root 1164: 0, 13, 0, 491, 492, -120, 0, 407, 0, 0,
! 1165: 5, 6, 7, 8, -120, 0, 409, 0, 9, 10,
! 1166: 11, 0, 19, 0, -120, 0, 0, 21, 5, 73,
! 1167: 7, 74, 24, -120, 13, 0, 9, 10, 11, 0,
! 1168: 0, 19, 0, 0, 0, 0, 21, 5, 73, 7,
! 1169: 74, 24, 13, 0, 0, 9, 10, 11, 5, 73,
! 1170: 7, 74, 0, 0, 0, 0, 9, 10, 11, 0,
! 1171: 0, 13, 0, 0, 19, 0, 0, 0, 0, 21,
! 1172: 0, 0, 13, -356, 0, 0, 0, 0, 0, 0,
! 1173: 0, 0, 19, 0, 0, 0, 0, 21, 0, 0,
! 1174: 0, 0, 558, 0, 0, 0, 0, 0, 0, 0,
! 1175: 0, 19, 0, 0, 0, 0, 21, 0, 0, 0,
! 1176: 0, 591, 19, 0, 0, 129, 130, 21, 131, 132,
! 1177: 0, 0, 778, 133, 134, 135, 136, 137, 138, 139,
! 1178: 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
! 1179: 150, 151, 0, 0, 129, 130, 0, 131, 132, 0,
! 1180: 0, 152, 133, 134, 135, 136, 137, 138, 139, 140,
! 1181: 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
! 1182: 151, 0, 153, 0, 0, 0, 0, 0, 0, 0,
! 1183: 345, 0, 0, 129, 130, 154, 131, 132, 0, 0,
! 1184: 0, 133, 134, 135, 136, 137, 138, 139, 140, 141,
! 1185: 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
! 1186: 0, 0, 129, 130, 154, 131, 132, 0, 0, 152,
! 1187: 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
! 1188: 143, 144, 145, 146, 147, 148, 149, 150, 151, 0,
! 1189: 65, 5, 73, 7, 74, 0, 0, 0, 547, 9,
! 1190: 10, 11, 5, 154, 7, 268, 0, 0, 0, 0,
! 1191: 9, 10, 11, 0, 0, 13, 0, 0, 0, 5,
! 1192: 6, 7, 8, 0, 0, 409, 13, 9, 10, 11,
! 1193: 0, 0, 154, 0, 0, 0, 0, 0, 519, 0,
! 1194: 0, 0, 0, 13, 0, 0, 0, 515, 263, 261,
! 1195: 0, 0, 0, 0, 0, 19, 0, 0, 262, 263,
! 1196: 21, 0, 0, 0, 0, 0, 19, 5, 6, 7,
! 1197: 8, 21, 0, 585, 0, 9, 10, 11, 0, 0,
! 1198: 0, 0, 0, 19, 5, 6, 7, 8, 21, 0,
! 1199: 0, 13, 9, 10, 11, 0, 0, 0, 0, 0,
! 1200: 0, 0, 0, 0, 0, 0, 0, 0, 13, 235,
! 1201: 236, 237, 837, 238, 239, 240, 241, 242, 243, 244,
! 1202: 245, 246, 247, 248, 249, 250, 251, 0, 797, 0,
! 1203: 0, 19, 0, 0, 0, 0, 21, 0, 0, 0,
! 1204: 0, 0, 0, 0, 0, 0, 0, 0, 19, 0,
! 1205: 0, 0, 0, 21, 235, 236, 237, 798, 238, 239,
1.1.1.6 root 1206: 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1.1.1.7 ! root 1207: 250, 251, 235, 236, 237, 0, 238, 239, 240, 241,
! 1208: 242, 243, 244, 245, 246, 247, 248, 249, 250, 251
1.1 root 1209: };
1210:
1.1.1.5 root 1211: static const short yycheck[] = { 52,
1.1.1.7 ! root 1212: 53, 9, 10, 11, 28, 21, 72, 189, 16, 17,
! 1213: 2, 3, 20, 297, 22, 23, 83, 29, 30, 76,
! 1214: 2, 3, 289, 55, 226, 83, 157, 318, 30, 256,
! 1215: 157, 304, 102, 319, 380, 590, 78, 176, 184, 400,
! 1216: 56, 444, 398, 67, 60, 185, 410, 266, 761, 102,
! 1217: 58, 53, 76, 262, 1, 685, 64, 93, 94, 3,
! 1218: 4, 1, 3, 99, 1, 50, 1, 9, 762, 181,
! 1219: 46, 79, 664, 10, 110, 39, 60, 61, 39, 39,
! 1220: 31, 83, 46, 153, 27, 39, 77, 95, 39, 615,
! 1221: 682, 82, 46, 77, 60, 61, 60, 810, 125, 60,
! 1222: 102, 128, 229, 78, 3, 4, 82, 82, 3, 4,
! 1223: 51, 77, 39, 743, 296, 261, 389, 77, 831, 60,
! 1224: 61, 834, 83, 836, 68, 60, 128, 180, 481, 73,
! 1225: 60, 844, 485, 3, 4, 77, 83, 7, 78, 83,
! 1226: 83, 835, 0, 499, 152, 215, 83, 217, 674, 173,
! 1227: 77, 153, 194, 0, 162, 163, 786, 165, 166, 872,
! 1228: 230, 185, 215, 171, 217, 859, 77, 386, 377, 68,
! 1229: 60, 82, 312, 68, 73, 228, 315, 1, 73, 3,
! 1230: 4, 51, 535, 219, 83, 538, 46, 39, 83, 78,
! 1231: 60, 3, 4, 305, 3, 4, 204, 209, 27, 211,
! 1232: 317, 271, 83, 73, 257, 317, 323, 480, 564, 211,
! 1233: 263, 323, 573, 215, 617, 217, 580, 329, 66, 331,
! 1234: 487, 348, 777, 231, 266, 77, 3, 212, 230, 214,
! 1235: 1, 60, 61, 4, 5, 6, 7, 83, 584, 51,
! 1236: 7, 12, 13, 14, 68, 77, 254, 255, 60, 73,
! 1237: 82, 3, 4, 5, 6, 7, 27, 28, 83, 68,
! 1238: 31, 73, 3, 4, 73, 281, 37, 320, 78, 271,
! 1239: 543, 279, 82, 39, 51, 678, 49, 50, 3, 4,
! 1240: 46, 3, 4, 60, 51, 7, 60, 61, 312, 60,
! 1241: 61, 64, 60, 60, 61, 581, 77, 68, 39, 566,
! 1242: 78, 82, 73, 77, 82, 341, 515, 78, 77, 79,
! 1243: 51, 82, 83, 82, 39, 79, 68, 325, 609, 60,
! 1244: 547, 73, 77, 393, 60, 527, 51, 82, 455, 51,
! 1245: 60, 384, 73, 3, 4, 60, 60, 404, 60, 61,
! 1246: 613, 78, 615, 474, 386, 82, 404, 474, 73, 234,
! 1247: 235, 236, 9, 238, 239, 240, 241, 242, 243, 244,
! 1248: 245, 246, 247, 248, 249, 250, 251, 77, 514, 3,
! 1249: 4, 580, 76, 519, 583, 666, 3, 644, 78, 782,
! 1250: 7, 397, 82, 410, 411, 51, 410, 411, 400, 78,
! 1251: 60, 393, 78, 82, 60, 61, 82, 389, 68, 78,
! 1252: 79, 674, 404, 73, 631, 82, 78, 389, 400, 411,
! 1253: 82, 78, 3, 4, 77, 82, 707, 51, 400, 77,
! 1254: 3, 4, 39, 550, 51, 78, 60, 61, 540, 82,
! 1255: 78, 543, 424, 60, 61, 4, 663, 6, 7, 324,
! 1256: 60, 61, 424, 12, 13, 14, 69, 70, 71, 1,
! 1257: 60, 61, 4, 5, 6, 7, 79, 83, 10, 28,
! 1258: 12, 13, 14, 475, 472, 51, 52, 53, 51, 60,
! 1259: 494, 69, 70, 71, 476, 541, 28, 68, 680, 746,
! 1260: 60, 79, 73, 495, 496, 68, 31, 479, 78, 37,
! 1261: 73, 515, 82, 82, 496, 507, 508, 479, 68, 68,
! 1262: 78, 3, 614, 615, 73, 7, 508, 27, 710, 576,
! 1263: 77, 577, 578, 78, 79, 572, 68, 77, 576, 531,
! 1264: 532, 73, 69, 70, 71, 533, 60, 61, 755, 582,
! 1265: 532, 83, 79, 557, 542, 592, 568, 569, 77, 1,
! 1266: 60, 61, 4, 5, 6, 7, 60, 61, 572, 51,
! 1267: 12, 13, 14, 83, 562, 78, 580, 78, 60, 583,
! 1268: 77, 573, 674, 83, 10, 27, 28, 77, 592, 31,
! 1269: 69, 70, 71, 64, 576, 37, 83, 462, 78, 79,
! 1270: 79, 573, 866, 1, 77, 3, 4, 5, 6, 7,
! 1271: 874, 573, 10, 27, 12, 13, 14, 9, 60, 61,
! 1272: 49, 50, 51, 52, 53, 84, 68, 90, 91, 811,
! 1273: 28, 73, 78, 60, 622, 37, 78, 77, 79, 77,
! 1274: 82, 83, 79, 805, 826, 79, 828, 680, 79, 77,
! 1275: 39, 697, 77, 1, 6, 7, 4, 5, 6, 7,
! 1276: 12, 13, 14, 39, 12, 13, 14, 77, 77, 534,
! 1277: 68, 77, 77, 84, 662, 73, 84, 710, 77, 77,
! 1278: 28, 546, 670, 83, 64, 689, 64, 77, 721, 77,
! 1279: 1, 60, 680, 4, 5, 6, 7, 4, 5, 6,
! 1280: 7, 12, 13, 14, 37, 12, 13, 14, 680, 84,
! 1281: 55, 56, 79, 58, 59, 60, 61, 28, 680, 82,
! 1282: 68, 28, 710, 33, 84, 73, 759, 78, 82, 725,
! 1283: 763, 777, 77, 77, 722, 83, 78, 770, 730, 731,
! 1284: 605, 3, 779, 608, 78, 39, 5, 6, 7, 731,
! 1285: 64, 60, 785, 12, 13, 14, 84, 68, 79, 792,
! 1286: 39, 68, 73, 39, 79, 82, 73, 64, 39, 802,
! 1287: 82, 78, 83, 77, 37, 779, 31, 79, 811, 84,
! 1288: 64, 36, 37, 38, 649, 40, 41, 42, 43, 44,
! 1289: 45, 46, 47, 48, 49, 50, 51, 52, 53, 664,
! 1290: 1, 79, 667, 4, 5, 6, 7, 39, 60, 60,
! 1291: 60, 12, 13, 14, 39, 7, 39, 682, 78, 16,
! 1292: 685, 78, 855, 811, 78, 78, 60, 28, 64, 55,
! 1293: 56, 696, 58, 59, 60, 61, 79, 1, 78, 3,
! 1294: 4, 5, 6, 7, 8, 9, 60, 11, 12, 13,
! 1295: 14, 15, 717, 17, 18, 19, 20, 21, 22, 23,
! 1296: 24, 25, 26, 27, 28, 29, 78, 68, 32, 77,
! 1297: 34, 35, 73, 17, 78, 77, 9, 41, 743, 78,
! 1298: 44, 77, 83, 77, 60, 49, 50, 51, 78, 78,
! 1299: 78, 55, 56, 78, 77, 82, 60, 61, 77, 0,
! 1300: 78, 65, 0, 67, 68, 78, 3, 762, 72, 73,
! 1301: 305, 614, 76, 269, 78, 79, 80, 81, 77, 83,
! 1302: 662, 786, 605, 1, 310, 3, 4, 5, 6, 7,
! 1303: 8, 9, 797, 11, 12, 13, 14, 15, 331, 17,
1.1.1.5 root 1304: 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1.1.1.7 ! root 1305: 28, 29, 540, 327, 32, 204, 34, 35, 614, 325,
! 1306: 544, 856, 811, 41, 811, 858, 44, 383, 392, 392,
! 1307: 524, 49, 50, 51, 58, 504, 578, 55, 56, 697,
! 1308: 694, 497, 60, 61, 280, 474, 479, 65, 689, 67,
! 1309: 68, 388, 388, 550, 72, 73, 631, -1, 76, 348,
! 1310: 78, -1, 80, 81, 1, 83, 3, 4, -1, -1,
! 1311: -1, 8, 9, -1, 11, -1, -1, -1, 15, -1,
1.1.1.4 root 1312: 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1.1.1.7 ! root 1313: 27, -1, 29, -1, -1, 32, -1, 34, 35, -1,
! 1314: -1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
1.1.1.6 root 1315: -1, -1, 49, 50, 51, -1, -1, -1, 55, 56,
1316: -1, -1, -1, 60, 61, -1, -1, -1, 65, -1,
1.1.1.5 root 1317: 67, 68, -1, -1, -1, 72, 73, -1, -1, 76,
1.1.1.6 root 1318: -1, 78, 79, 80, 81, 1, 83, 3, 4, -1,
1.1.1.4 root 1319: -1, -1, 8, 9, -1, 11, -1, -1, -1, 15,
1.1.1.5 root 1320: -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1321: 26, 27, -1, 29, -1, -1, 32, -1, 34, 35,
1322: -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
1323: -1, -1, -1, 49, 50, 51, -1, -1, -1, 55,
1324: 56, -1, -1, -1, 60, 61, -1, -1, -1, 65,
1325: -1, 67, 68, -1, -1, -1, 72, 73, -1, -1,
1326: 76, -1, 78, 79, 80, 81, 1, 83, 3, 4,
1327: -1, -1, -1, 8, 9, -1, 11, -1, -1, -1,
1328: 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
1329: 25, 26, 27, -1, 29, -1, -1, 32, -1, 34,
1330: 35, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1331: -1, -1, -1, -1, 49, 50, 51, -1, -1, -1,
1332: 55, 56, -1, -1, -1, 60, 61, -1, -1, -1,
1333: 65, -1, 67, 68, -1, -1, -1, 72, 73, -1,
1.1.1.6 root 1334: -1, 76, -1, 78, -1, 80, 81, 1, 83, 3,
1.1 root 1335: 4, -1, -1, -1, 8, 9, -1, 11, -1, -1,
1336: -1, 15, -1, 17, 18, 19, 20, 21, 22, 23,
1337: 24, 25, 26, 27, -1, 29, -1, -1, 32, -1,
1.1.1.5 root 1338: 34, 35, -1, -1, -1, -1, -1, 41, -1, -1,
1339: 44, -1, -1, -1, -1, 49, 50, 51, -1, -1,
1340: -1, 55, 56, -1, -1, -1, 60, 61, -1, -1,
1341: -1, 65, -1, 67, 68, -1, -1, -1, 72, 73,
1342: -1, -1, 76, -1, 78, -1, 80, 81, 1, 83,
1.1.1.6 root 1343: 3, 4, -1, 6, 7, 8, 9, -1, 11, 12,
1344: 13, 14, 41, 42, 43, 44, 45, 46, 47, 48,
1345: 49, 50, 51, 52, 53, 28, 29, -1, -1, 32,
1.1.1.5 root 1346: -1, 34, 35, -1, -1, -1, -1, -1, 41, -1,
1347: -1, 44, -1, -1, -1, -1, 49, 50, 51, -1,
1348: -1, -1, 55, 56, -1, -1, -1, 60, 61, -1,
1349: -1, -1, 65, -1, 67, 68, -1, -1, -1, 72,
1.1.1.6 root 1350: 73, -1, -1, 76, -1, -1, -1, 80, 81, 1,
1351: 83, 3, 4, -1, -1, -1, 8, 9, 38, 11,
1352: 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1353: 50, 51, 52, 53, -1, -1, -1, 29, -1, -1,
1.1.1.5 root 1354: 32, -1, 34, 35, -1, -1, -1, -1, -1, 41,
1355: -1, -1, 44, -1, -1, -1, -1, 49, 50, 51,
1.1.1.6 root 1356: -1, -1, -1, 55, 56, -1, -1, 59, 60, 61,
1.1.1.5 root 1357: -1, -1, -1, 65, -1, 67, 68, -1, -1, -1,
1.1.1.6 root 1358: 72, 73, -1, -1, 76, -1, -1, 79, 80, 81,
1359: 1, 83, 3, 4, -1, -1, -1, 8, 9, -1,
1360: 11, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1361: 51, 52, 53, -1, -1, -1, -1, -1, 29, -1,
1.1.1.5 root 1362: -1, 32, -1, 34, 35, -1, -1, -1, -1, -1,
1363: 41, -1, -1, 44, -1, -1, -1, -1, 49, 50,
1.1.1.6 root 1364: 51, -1, -1, -1, 55, 56, -1, -1, 59, 60,
1.1.1.5 root 1365: 61, -1, -1, -1, 65, -1, 67, 68, -1, -1,
1366: -1, 72, 73, -1, -1, 76, -1, -1, 79, 80,
1367: 81, 1, 83, 3, 4, -1, -1, -1, 8, 9,
1.1.1.6 root 1368: -1, 11, 43, 44, 45, 46, 47, 48, 49, 50,
1369: 51, 52, 53, -1, -1, -1, -1, -1, -1, 29,
1.1.1.5 root 1370: -1, -1, 32, -1, 34, 35, -1, -1, -1, -1,
1371: -1, 41, -1, -1, 44, -1, -1, -1, -1, 49,
1.1.1.6 root 1372: 50, 51, -1, -1, -1, 55, 56, -1, -1, 59,
1.1.1.5 root 1373: 60, 61, -1, -1, -1, 65, -1, 67, 68, -1,
1.1.1.6 root 1374: -1, -1, 72, 73, -1, -1, 76, 1, -1, 3,
1375: 80, 81, -1, 83, 8, 9, 1, 11, -1, 4,
1376: 5, 6, 7, -1, -1, -1, -1, 12, 13, 14,
1377: -1, -1, -1, -1, -1, 29, -1, -1, 32, -1,
1378: 34, 35, 27, 28, -1, -1, 31, 41, -1, -1,
1379: 44, -1, 37, -1, -1, 49, 50, 51, -1, -1,
1380: -1, 55, 56, -1, -1, -1, 60, 61, -1, -1,
1.1.1.7 ! root 1381: -1, 65, -1, 67, -1, -1, -1, -1, 72, -1,
1.1.1.6 root 1382: -1, -1, 76, 68, -1, -1, 80, 81, 73, 83,
1.1.1.7 ! root 1383: -1, -1, -1, 78, 3, -1, -1, 82, 83, 8,
! 1384: 9, 1, 11, -1, 4, -1, 6, 7, -1, -1,
! 1385: -1, -1, 12, 13, 14, -1, -1, -1, -1, -1,
! 1386: 29, -1, -1, 32, -1, 34, 35, -1, 28, -1,
! 1387: -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
! 1388: 49, 50, 51, -1, -1, -1, 55, 56, -1, -1,
! 1389: -1, 60, 61, -1, 3, -1, 65, -1, 67, 8,
! 1390: 9, -1, 11, 72, -1, -1, -1, 76, 68, -1,
! 1391: -1, 80, 81, 73, -1, 84, -1, -1, 78, 79,
1.1.1.5 root 1392: 29, -1, -1, 32, -1, 34, 35, -1, -1, -1,
1393: -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1394: 49, 50, 51, -1, -1, -1, 55, 56, -1, -1,
1.1.1.7 ! root 1395: -1, 60, 61, -1, 3, -1, 65, -1, 67, 8,
! 1396: 9, -1, 11, 72, -1, -1, -1, 76, -1, -1,
! 1397: -1, 80, 81, -1, -1, 84, -1, -1, -1, -1,
! 1398: 29, -1, -1, 32, -1, 34, 35, -1, -1, -1,
! 1399: -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
! 1400: 49, 50, 51, -1, -1, -1, 55, 56, -1, -1,
! 1401: -1, 60, 61, -1, 3, -1, 65, -1, 67, 8,
! 1402: 9, -1, 11, 72, -1, -1, -1, 76, -1, -1,
! 1403: -1, 80, 81, -1, -1, 84, -1, -1, -1, -1,
! 1404: 29, -1, -1, 32, -1, 34, 35, -1, -1, -1,
! 1405: -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
! 1406: 49, 50, 51, -1, -1, -1, 55, 56, -1, -1,
! 1407: -1, 60, 61, -1, 3, -1, 65, -1, 67, 8,
! 1408: 9, -1, 11, 72, -1, -1, -1, 76, -1, -1,
! 1409: -1, 80, 81, -1, -1, 84, -1, -1, -1, -1,
! 1410: 29, -1, -1, 32, -1, 34, 35, -1, -1, -1,
! 1411: -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
! 1412: 49, 50, 51, -1, -1, -1, 55, 56, -1, -1,
! 1413: -1, 60, 61, -1, -1, -1, 65, -1, 67, -1,
! 1414: -1, -1, -1, 72, -1, -1, -1, 76, -1, -1,
! 1415: -1, 80, 81, -1, -1, 84, 3, 4, 5, 6,
! 1416: 7, 8, 9, -1, 11, 12, 13, 14, 15, -1,
! 1417: 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
! 1418: 27, 28, 29, -1, -1, 32, -1, 34, 35, -1,
! 1419: -1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
! 1420: -1, -1, 49, 50, 51, -1, -1, -1, 55, 56,
! 1421: -1, -1, -1, 60, 61, -1, -1, -1, 65, -1,
! 1422: 67, 68, -1, -1, -1, 72, 73, -1, -1, 76,
! 1423: -1, 78, -1, 80, 81, -1, 83, 3, 4, -1,
! 1424: -1, -1, 8, 9, -1, 11, -1, -1, -1, 15,
! 1425: -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
! 1426: 26, 27, 4, 29, 6, 7, 32, -1, 34, 35,
! 1427: 12, 13, 14, -1, -1, 41, -1, -1, 44, -1,
! 1428: -1, -1, -1, 49, 50, 51, 28, -1, -1, 55,
! 1429: 56, -1, 3, -1, 60, 61, -1, 8, 9, 65,
! 1430: 11, 67, 68, -1, -1, -1, 72, 73, -1, -1,
! 1431: 76, -1, 78, -1, 80, 81, -1, 83, 29, -1,
! 1432: -1, 32, -1, 34, 35, -1, 68, -1, -1, -1,
! 1433: 41, 73, -1, 44, -1, -1, 78, 79, 49, 50,
! 1434: 51, -1, -1, -1, 55, 56, -1, -1, -1, 60,
! 1435: 61, -1, -1, -1, 65, -1, 67, -1, -1, -1,
! 1436: -1, 72, -1, -1, -1, 76, -1, -1, -1, 80,
! 1437: 81, -1, 83, 3, 4, -1, 6, 7, -1, -1,
! 1438: -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
! 1439: 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
! 1440: 47, 48, 49, 50, 51, 52, 53, 3, 4, 39,
! 1441: 6, 7, 8, 9, -1, 11, 12, 13, 14, 44,
! 1442: 45, 46, 47, 48, 49, 50, 51, 52, 53, -1,
! 1443: -1, -1, 28, 29, -1, -1, 32, -1, 34, 35,
! 1444: -1, -1, -1, 73, -1, 41, -1, -1, 44, -1,
! 1445: -1, -1, 82, 49, 50, 51, -1, -1, -1, 55,
! 1446: 56, -1, 3, -1, 60, 61, -1, 8, 9, 65,
! 1447: 11, 67, 68, -1, -1, -1, 72, 73, -1, -1,
! 1448: 76, -1, -1, -1, 80, 81, -1, 4, 29, 6,
! 1449: 7, 32, -1, 34, 35, 12, 13, 14, -1, -1,
! 1450: 41, -1, -1, 44, -1, -1, -1, -1, 49, 50,
! 1451: 51, 28, -1, -1, 55, 56, -1, 3, -1, 60,
! 1452: 61, -1, 8, 9, 65, 11, 67, 68, -1, -1,
! 1453: -1, 72, -1, -1, -1, 76, -1, -1, -1, 80,
! 1454: 81, -1, -1, 29, -1, -1, 32, -1, 34, 35,
! 1455: -1, 68, -1, -1, -1, 41, 73, -1, 44, -1,
! 1456: -1, -1, -1, 49, 50, 51, -1, -1, -1, 55,
! 1457: 56, -1, 3, -1, 60, 61, -1, 8, 9, 65,
! 1458: 11, 67, -1, -1, -1, -1, 72, -1, -1, -1,
! 1459: 76, -1, 78, -1, 80, 81, -1, -1, 29, -1,
! 1460: -1, 32, -1, 34, 35, -1, 3, -1, -1, -1,
! 1461: 41, 8, 9, 44, 11, -1, -1, -1, 49, 50,
! 1462: 51, -1, -1, -1, 55, 56, -1, -1, -1, 60,
! 1463: 61, -1, 29, -1, 65, 32, 67, 34, 35, -1,
! 1464: -1, 72, -1, -1, 41, 76, -1, 44, -1, 80,
! 1465: 81, -1, 49, 50, 51, -1, -1, -1, 55, 56,
! 1466: -1, 3, -1, 60, 61, -1, 8, 9, 65, 11,
! 1467: 67, -1, -1, -1, -1, 72, -1, -1, -1, 76,
! 1468: -1, -1, -1, 80, 81, -1, -1, 29, -1, -1,
! 1469: 32, -1, 34, 35, -1, 3, -1, -1, -1, 41,
! 1470: 8, 9, 44, 11, -1, -1, -1, 49, 50, 51,
! 1471: -1, -1, -1, 55, 56, -1, -1, -1, 60, 61,
! 1472: -1, 29, -1, 65, 32, 67, 34, 35, -1, -1,
! 1473: 72, -1, -1, 41, 76, -1, 44, -1, 80, 81,
1.1.1.6 root 1474: -1, 49, 50, 51, -1, -1, -1, 55, 56, -1,
1.1.1.7 ! root 1475: -1, -1, 60, 61, -1, -1, -1, 65, -1, 67,
1.1.1.6 root 1476: -1, -1, -1, -1, 72, -1, -1, -1, 76, -1,
1.1.1.7 ! root 1477: -1, 1, 80, 81, 4, -1, 6, 7, -1, -1,
! 1478: -1, -1, 12, 13, 14, -1, -1, -1, 1, -1,
! 1479: -1, 4, -1, 6, 7, -1, -1, -1, 28, 12,
! 1480: 13, 14, 45, 46, 47, 48, 49, 50, 51, 52,
! 1481: 53, -1, -1, -1, -1, 28, -1, -1, -1, 1,
! 1482: -1, 3, 4, 5, 6, 7, -1, -1, -1, -1,
! 1483: 12, 13, 14, -1, -1, -1, -1, -1, 68, 69,
! 1484: 70, 71, -1, 73, -1, 27, 28, -1, 78, 79,
! 1485: -1, -1, -1, -1, -1, 68, 69, 70, 71, -1,
! 1486: 73, -1, -1, -1, -1, 78, 79, 49, 50, 51,
! 1487: 46, 47, 48, 49, 50, 51, 52, 53, 60, -1,
! 1488: 62, 63, 64, -1, -1, -1, 68, -1, -1, -1,
! 1489: 72, 73, 74, 75, -1, 1, 78, 3, 4, 5,
1.1.1.6 root 1490: 6, 7, -1, -1, -1, -1, 12, 13, 14, -1,
1.1.1.7 ! root 1491: -1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
! 1492: 7, -1, 28, -1, -1, 12, 13, 14, -1, -1,
1.1.1.6 root 1493: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1.1.1.7 ! root 1494: -1, 28, -1, 49, 50, 51, -1, 1, -1, -1,
! 1495: 4, 5, 6, 7, 60, -1, 10, -1, 12, 13,
! 1496: 14, -1, 68, -1, 51, -1, -1, 73, 4, 5,
! 1497: 6, 7, 78, 60, 28, -1, 12, 13, 14, -1,
! 1498: -1, 68, -1, -1, -1, -1, 73, 4, 5, 6,
! 1499: 7, 78, 28, -1, -1, 12, 13, 14, 4, 5,
! 1500: 6, 7, -1, -1, -1, -1, 12, 13, 14, -1,
! 1501: -1, 28, -1, -1, 68, -1, -1, -1, -1, 73,
! 1502: -1, -1, 28, 77, -1, -1, -1, -1, -1, -1,
! 1503: -1, -1, 68, -1, -1, -1, -1, 73, -1, -1,
! 1504: -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
! 1505: -1, 68, -1, -1, -1, -1, 73, -1, -1, -1,
! 1506: -1, 78, 68, -1, -1, 3, 4, 73, 6, 7,
! 1507: -1, -1, 78, 11, 12, 13, 14, 15, 16, 17,
! 1508: 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
! 1509: 28, 29, -1, -1, 3, 4, -1, 6, 7, -1,
! 1510: -1, 39, 11, 12, 13, 14, 15, 16, 17, 18,
! 1511: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
! 1512: 29, -1, 60, -1, -1, -1, -1, -1, -1, -1,
! 1513: 39, -1, -1, 3, 4, 73, 6, 7, -1, -1,
! 1514: -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
! 1515: 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
! 1516: -1, -1, 3, 4, 73, 6, 7, -1, -1, 39,
! 1517: 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
! 1518: 21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
! 1519: 3, 4, 5, 6, 7, -1, -1, -1, 39, 12,
! 1520: 13, 14, 4, 73, 6, 7, -1, -1, -1, -1,
! 1521: 12, 13, 14, -1, -1, 28, -1, -1, -1, 4,
! 1522: 5, 6, 7, -1, -1, 10, 28, 12, 13, 14,
! 1523: -1, -1, 73, -1, -1, -1, -1, -1, 51, -1,
! 1524: -1, -1, -1, 28, -1, -1, -1, 60, 61, 51,
! 1525: -1, -1, -1, -1, -1, 68, -1, -1, 60, 61,
! 1526: 73, -1, -1, -1, -1, -1, 68, 4, 5, 6,
! 1527: 7, 73, -1, 10, -1, 12, 13, 14, -1, -1,
! 1528: -1, -1, -1, 68, 4, 5, 6, 7, 73, -1,
! 1529: -1, 28, 12, 13, 14, -1, -1, -1, -1, -1,
! 1530: -1, -1, -1, -1, -1, -1, -1, -1, 28, 36,
! 1531: 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
! 1532: 47, 48, 49, 50, 51, 52, 53, -1, 10, -1,
! 1533: -1, 68, -1, -1, -1, -1, 73, -1, -1, -1,
! 1534: -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
! 1535: -1, -1, -1, 73, 36, 37, 38, 39, 40, 41,
! 1536: 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
! 1537: 52, 53, 36, 37, 38, -1, 40, 41, 42, 43,
! 1538: 44, 45, 46, 47, 48, 49, 50, 51, 52, 53
1.1 root 1539: };
1540: /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
1.1.1.6 root 1541: #line 3 "/usr/local/lib/bison.simple"
1.1 root 1542:
1543: /* Skeleton output parser for bison,
1544: Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
1545:
1546: This program is free software; you can redistribute it and/or modify
1547: it under the terms of the GNU General Public License as published by
1548: the Free Software Foundation; either version 1, or (at your option)
1549: any later version.
1550:
1551: This program is distributed in the hope that it will be useful,
1552: but WITHOUT ANY WARRANTY; without even the implied warranty of
1553: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1554: GNU General Public License for more details.
1555:
1556: You should have received a copy of the GNU General Public License
1557: along with this program; if not, write to the Free Software
1558: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
1559:
1560:
1561: #ifndef alloca
1562: #ifdef __GNUC__
1563: #define alloca __builtin_alloca
1564: #else /* not GNU C. */
1.1.1.6 root 1565: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
1.1 root 1566: #include <alloca.h>
1567: #else /* not sparc */
1568: #if defined (MSDOS) && !defined (__TURBOC__)
1569: #include <malloc.h>
1570: #else /* not MSDOS, or __TURBOC__ */
1571: #if defined(_AIX)
1572: #include <malloc.h>
1573: #pragma alloca
1.1.1.6 root 1574: #else /* not MSDOS, __TURBOC__, or _AIX */
1575: #ifdef __hpux
1576: #ifdef __cplusplus
1577: extern "C" {
1578: void *alloca (unsigned int);
1579: };
1580: #else /* not __cplusplus */
1581: void *alloca ();
1582: #endif /* not __cplusplus */
1583: #endif /* __hpux */
1.1 root 1584: #endif /* not _AIX */
1585: #endif /* not MSDOS, or __TURBOC__ */
1586: #endif /* not sparc. */
1587: #endif /* not GNU C. */
1588: #endif /* alloca not defined. */
1589:
1590: /* This is the parser code that is written into each bison parser
1591: when the %semantic_parser declaration is not specified in the grammar.
1592: It was written by Richard Stallman by simplifying the hairy parser
1593: used when %semantic_parser is specified. */
1594:
1595: /* Note: there must be only one dollar sign in this file.
1596: It is replaced by the list of actions, each action
1597: as one case of the switch. */
1598:
1599: #define yyerrok (yyerrstatus = 0)
1600: #define yyclearin (yychar = YYEMPTY)
1601: #define YYEMPTY -2
1602: #define YYEOF 0
1603: #define YYACCEPT return(0)
1604: #define YYABORT return(1)
1605: #define YYERROR goto yyerrlab1
1606: /* Like YYERROR except do call yyerror.
1607: This remains here temporarily to ease the
1608: transition to the new meaning of YYERROR, for GCC.
1609: Once GCC version 2 has supplanted version 1, this can go. */
1610: #define YYFAIL goto yyerrlab
1611: #define YYRECOVERING() (!!yyerrstatus)
1612: #define YYBACKUP(token, value) \
1613: do \
1614: if (yychar == YYEMPTY && yylen == 1) \
1615: { yychar = (token), yylval = (value); \
1616: yychar1 = YYTRANSLATE (yychar); \
1617: YYPOPSTACK; \
1618: goto yybackup; \
1619: } \
1620: else \
1621: { yyerror ("syntax error: cannot back up"); YYERROR; } \
1622: while (0)
1623:
1624: #define YYTERROR 1
1625: #define YYERRCODE 256
1626:
1627: #ifndef YYPURE
1628: #define YYLEX yylex()
1629: #endif
1630:
1631: #ifdef YYPURE
1632: #ifdef YYLSP_NEEDED
1633: #define YYLEX yylex(&yylval, &yylloc)
1634: #else
1635: #define YYLEX yylex(&yylval)
1636: #endif
1637: #endif
1638:
1639: /* If nonreentrant, generate the variables here */
1640:
1641: #ifndef YYPURE
1642:
1643: int yychar; /* the lookahead symbol */
1644: YYSTYPE yylval; /* the semantic value of the */
1645: /* lookahead symbol */
1646:
1647: #ifdef YYLSP_NEEDED
1648: YYLTYPE yylloc; /* location data for the lookahead */
1649: /* symbol */
1650: #endif
1651:
1652: int yynerrs; /* number of parse errors so far */
1653: #endif /* not YYPURE */
1654:
1655: #if YYDEBUG != 0
1656: int yydebug; /* nonzero means print parse trace */
1657: /* Since this is uninitialized, it does not stop multiple parsers
1658: from coexisting. */
1659: #endif
1660:
1661: /* YYINITDEPTH indicates the initial size of the parser's stacks */
1662:
1663: #ifndef YYINITDEPTH
1664: #define YYINITDEPTH 200
1665: #endif
1666:
1667: /* YYMAXDEPTH is the maximum size the stacks can grow to
1668: (effective only if the built-in stack extension method is used). */
1669:
1670: #if YYMAXDEPTH == 0
1671: #undef YYMAXDEPTH
1672: #endif
1673:
1674: #ifndef YYMAXDEPTH
1675: #define YYMAXDEPTH 10000
1676: #endif
1.1.1.6 root 1677:
1678: /* Prevent warning if -Wstrict-prototypes. */
1679: #ifdef __GNUC__
1680: int yyparse (void);
1681: #endif
1.1 root 1682:
1683: #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
1684: #define __yy_bcopy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
1685: #else /* not GNU C or C++ */
1686: #ifndef __cplusplus
1687:
1688: /* This is the most reliable way to avoid incompatibilities
1689: in available built-in functions on various systems. */
1690: static void
1691: __yy_bcopy (from, to, count)
1692: char *from;
1693: char *to;
1694: int count;
1695: {
1696: register char *f = from;
1697: register char *t = to;
1698: register int i = count;
1699:
1700: while (i-- > 0)
1701: *t++ = *f++;
1702: }
1703:
1704: #else /* __cplusplus */
1705:
1706: /* This is the most reliable way to avoid incompatibilities
1707: in available built-in functions on various systems. */
1708: static void
1709: __yy_bcopy (char *from, char *to, int count)
1710: {
1711: register char *f = from;
1712: register char *t = to;
1713: register int i = count;
1714:
1715: while (i-- > 0)
1716: *t++ = *f++;
1717: }
1718:
1719: #endif
1720: #endif
1721:
1.1.1.6 root 1722: #line 184 "/usr/local/lib/bison.simple"
1723:
1724: /* The user can define YYPARSE_PARAM as the name of an argument to be passed
1725: into yyparse. The argument should have type void *.
1726: It should actually point to an object.
1727: Grammar actions can access the variable by casting it
1728: to the proper pointer type. */
1729:
1730: #ifdef YYPARSE_PARAM
1731: #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
1732: #else
1733: #define YYPARSE_PARAM
1734: #define YYPARSE_PARAM_DECL
1735: #endif
1736:
1.1 root 1737: int
1.1.1.6 root 1738: yyparse(YYPARSE_PARAM)
1739: YYPARSE_PARAM_DECL
1.1 root 1740: {
1741: register int yystate;
1742: register int yyn;
1743: register short *yyssp;
1744: register YYSTYPE *yyvsp;
1745: int yyerrstatus; /* number of tokens to shift before error messages enabled */
1.1.1.6 root 1746: int yychar1 = 0; /* lookahead token as an internal (translated) token number */
1.1 root 1747:
1748: short yyssa[YYINITDEPTH]; /* the state stack */
1749: YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
1750:
1751: short *yyss = yyssa; /* refer to the stacks thru separate pointers */
1752: YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
1753:
1754: #ifdef YYLSP_NEEDED
1755: YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
1756: YYLTYPE *yyls = yylsa;
1757: YYLTYPE *yylsp;
1758:
1.1.1.3 root 1759: #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
1.1 root 1760: #else
1.1.1.3 root 1761: #define YYPOPSTACK (yyvsp--, yyssp--)
1.1 root 1762: #endif
1763:
1764: int yystacksize = YYINITDEPTH;
1765:
1766: #ifdef YYPURE
1767: int yychar;
1768: YYSTYPE yylval;
1769: int yynerrs;
1770: #ifdef YYLSP_NEEDED
1771: YYLTYPE yylloc;
1772: #endif
1773: #endif
1774:
1775: YYSTYPE yyval; /* the variable used to return */
1776: /* semantic values from the action */
1777: /* routines */
1778:
1779: int yylen;
1780:
1781: #if YYDEBUG != 0
1782: if (yydebug)
1783: fprintf(stderr, "Starting parse\n");
1784: #endif
1785:
1786: yystate = 0;
1787: yyerrstatus = 0;
1788: yynerrs = 0;
1789: yychar = YYEMPTY; /* Cause a token to be read. */
1790:
1791: /* Initialize stack pointers.
1792: Waste one element of value and location stack
1.1.1.6 root 1793: so that they stay on the same level as the state stack.
1794: The wasted elements are never initialized. */
1.1 root 1795:
1796: yyssp = yyss - 1;
1797: yyvsp = yyvs;
1798: #ifdef YYLSP_NEEDED
1799: yylsp = yyls;
1800: #endif
1801:
1802: /* Push a new state, which is found in yystate . */
1803: /* In all cases, when you get here, the value and location stacks
1804: have just been pushed. so pushing a state here evens the stacks. */
1805: yynewstate:
1806:
1807: *++yyssp = yystate;
1808:
1809: if (yyssp >= yyss + yystacksize - 1)
1810: {
1811: /* Give user a chance to reallocate the stack */
1812: /* Use copies of these so that the &'s don't force the real ones into memory. */
1813: YYSTYPE *yyvs1 = yyvs;
1814: short *yyss1 = yyss;
1815: #ifdef YYLSP_NEEDED
1816: YYLTYPE *yyls1 = yyls;
1817: #endif
1818:
1819: /* Get the current used size of the three stacks, in elements. */
1820: int size = yyssp - yyss + 1;
1821:
1822: #ifdef yyoverflow
1823: /* Each stack pointer address is followed by the size of
1824: the data in use in that stack, in bytes. */
1.1.1.6 root 1825: #ifdef YYLSP_NEEDED
1826: /* This used to be a conditional around just the two extra args,
1827: but that might be undefined if yyoverflow is a macro. */
1.1 root 1828: yyoverflow("parser stack overflow",
1829: &yyss1, size * sizeof (*yyssp),
1830: &yyvs1, size * sizeof (*yyvsp),
1831: &yyls1, size * sizeof (*yylsp),
1832: &yystacksize);
1.1.1.6 root 1833: #else
1834: yyoverflow("parser stack overflow",
1835: &yyss1, size * sizeof (*yyssp),
1836: &yyvs1, size * sizeof (*yyvsp),
1837: &yystacksize);
1838: #endif
1.1 root 1839:
1840: yyss = yyss1; yyvs = yyvs1;
1841: #ifdef YYLSP_NEEDED
1842: yyls = yyls1;
1843: #endif
1844: #else /* no yyoverflow */
1845: /* Extend the stack our own way. */
1846: if (yystacksize >= YYMAXDEPTH)
1847: {
1848: yyerror("parser stack overflow");
1849: return 2;
1850: }
1851: yystacksize *= 2;
1852: if (yystacksize > YYMAXDEPTH)
1853: yystacksize = YYMAXDEPTH;
1854: yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
1855: __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
1856: yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
1857: __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
1858: #ifdef YYLSP_NEEDED
1859: yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
1860: __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
1861: #endif
1862: #endif /* no yyoverflow */
1863:
1864: yyssp = yyss + size - 1;
1865: yyvsp = yyvs + size - 1;
1866: #ifdef YYLSP_NEEDED
1867: yylsp = yyls + size - 1;
1868: #endif
1869:
1870: #if YYDEBUG != 0
1871: if (yydebug)
1872: fprintf(stderr, "Stack size increased to %d\n", yystacksize);
1873: #endif
1874:
1875: if (yyssp >= yyss + yystacksize - 1)
1876: YYABORT;
1877: }
1878:
1879: #if YYDEBUG != 0
1880: if (yydebug)
1881: fprintf(stderr, "Entering state %d\n", yystate);
1882: #endif
1883:
1.1.1.6 root 1884: goto yybackup;
1.1 root 1885: yybackup:
1886:
1887: /* Do appropriate processing given the current state. */
1888: /* Read a lookahead token if we need one and don't already have one. */
1889: /* yyresume: */
1890:
1891: /* First try to decide what to do without reference to lookahead token. */
1892:
1893: yyn = yypact[yystate];
1894: if (yyn == YYFLAG)
1895: goto yydefault;
1896:
1897: /* Not known => get a lookahead token if don't already have one. */
1898:
1899: /* yychar is either YYEMPTY or YYEOF
1900: or a valid token in external form. */
1901:
1902: if (yychar == YYEMPTY)
1903: {
1904: #if YYDEBUG != 0
1905: if (yydebug)
1906: fprintf(stderr, "Reading a token: ");
1907: #endif
1908: yychar = YYLEX;
1909: }
1910:
1911: /* Convert token to internal form (in yychar1) for indexing tables with */
1912:
1913: if (yychar <= 0) /* This means end of input. */
1914: {
1915: yychar1 = 0;
1916: yychar = YYEOF; /* Don't call YYLEX any more */
1917:
1918: #if YYDEBUG != 0
1919: if (yydebug)
1920: fprintf(stderr, "Now at end of input.\n");
1921: #endif
1922: }
1923: else
1924: {
1925: yychar1 = YYTRANSLATE(yychar);
1926:
1927: #if YYDEBUG != 0
1928: if (yydebug)
1929: {
1930: fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
1931: /* Give the individual parser a way to print the precise meaning
1932: of a token, for further debugging info. */
1933: #ifdef YYPRINT
1934: YYPRINT (stderr, yychar, yylval);
1935: #endif
1936: fprintf (stderr, ")\n");
1937: }
1938: #endif
1939: }
1940:
1941: yyn += yychar1;
1942: if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
1943: goto yydefault;
1944:
1945: yyn = yytable[yyn];
1946:
1947: /* yyn is what to do for this token type in this state.
1948: Negative => reduce, -yyn is rule number.
1949: Positive => shift, yyn is new state.
1950: New state is final state => don't bother to shift,
1951: just return success.
1952: 0, or most negative number => error. */
1953:
1954: if (yyn < 0)
1955: {
1956: if (yyn == YYFLAG)
1957: goto yyerrlab;
1958: yyn = -yyn;
1959: goto yyreduce;
1960: }
1961: else if (yyn == 0)
1962: goto yyerrlab;
1963:
1964: if (yyn == YYFINAL)
1965: YYACCEPT;
1966:
1967: /* Shift the lookahead token. */
1968:
1969: #if YYDEBUG != 0
1970: if (yydebug)
1971: fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
1972: #endif
1973:
1974: /* Discard the token being shifted unless it is eof. */
1975: if (yychar != YYEOF)
1976: yychar = YYEMPTY;
1977:
1978: *++yyvsp = yylval;
1979: #ifdef YYLSP_NEEDED
1980: *++yylsp = yylloc;
1981: #endif
1982:
1983: /* count tokens shifted since error; after three, turn off error status. */
1984: if (yyerrstatus) yyerrstatus--;
1985:
1986: yystate = yyn;
1987: goto yynewstate;
1988:
1989: /* Do the default action for the current state. */
1990: yydefault:
1991:
1992: yyn = yydefact[yystate];
1993: if (yyn == 0)
1994: goto yyerrlab;
1995:
1996: /* Do a reduction. yyn is the number of a rule to reduce with. */
1997: yyreduce:
1998: yylen = yyr2[yyn];
1.1.1.6 root 1999: if (yylen > 0)
2000: yyval = yyvsp[1-yylen]; /* implement default value of the action */
1.1 root 2001:
2002: #if YYDEBUG != 0
2003: if (yydebug)
2004: {
2005: int i;
2006:
2007: fprintf (stderr, "Reducing via rule %d (line %d), ",
2008: yyn, yyrline[yyn]);
2009:
1.1.1.6 root 2010: /* Print the symbols being reduced, and their result. */
1.1 root 2011: for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
2012: fprintf (stderr, "%s ", yytname[yyrhs[i]]);
2013: fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
2014: }
2015: #endif
2016:
2017:
2018: switch (yyn) {
2019:
2020: case 1:
1.1.1.7 ! root 2021: #line 229 "objc-parse.y"
1.1 root 2022: { if (pedantic)
2023: pedwarn ("ANSI C forbids an empty source file");
1.1.1.4 root 2024: objc_finish ();
2025: ;
1.1 root 2026: break;}
2027: case 2:
1.1.1.7 ! root 2028: #line 234 "objc-parse.y"
1.1.1.4 root 2029: {
1.1.1.5 root 2030: /* In case there were missing closebraces,
2031: get us back to the global binding level. */
2032: while (! global_bindings_p ())
2033: poplevel (0, 0, 0);
1.1.1.4 root 2034: objc_finish ();
2035: ;
1.1 root 2036: break;}
2037: case 3:
1.1.1.7 ! root 2038: #line 248 "objc-parse.y"
1.1 root 2039: {yyval.ttype = NULL_TREE; ;
2040: break;}
2041: case 5:
1.1.1.7 ! root 2042: #line 249 "objc-parse.y"
1.1 root 2043: {yyval.ttype = NULL_TREE; ;
2044: break;}
2045: case 10:
1.1.1.7 ! root 2046: #line 257 "objc-parse.y"
1.1.1.4 root 2047: { STRIP_NOPS (yyvsp[-2].ttype);
2048: if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
2049: && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
2050: || TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
2051: assemble_asm (yyvsp[-2].ttype);
2052: else
2053: error ("argument of `asm' is not a constant string"); ;
1.1 root 2054: break;}
2055: case 11:
1.1.1.7 ! root 2056: #line 268 "objc-parse.y"
1.1 root 2057: { if (pedantic)
2058: error ("ANSI C forbids data definition with no type or storage class");
2059: else if (!flag_traditional)
2060: warning ("data definition has no type or storage class"); ;
2061: break;}
2062: case 12:
1.1.1.7 ! root 2063: #line 273 "objc-parse.y"
1.1 root 2064: {;
2065: break;}
2066: case 13:
1.1.1.7 ! root 2067: #line 275 "objc-parse.y"
1.1 root 2068: {;
2069: break;}
2070: case 14:
1.1.1.7 ! root 2071: #line 277 "objc-parse.y"
1.1.1.4 root 2072: { pedwarn ("empty declaration"); ;
1.1 root 2073: break;}
2074: case 15:
1.1.1.7 ! root 2075: #line 279 "objc-parse.y"
1.1 root 2076: { shadow_tag (yyvsp[-1].ttype); ;
2077: break;}
2078: case 18:
1.1.1.7 ! root 2079: #line 283 "objc-parse.y"
1.1 root 2080: { if (pedantic)
2081: pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
2082: break;}
2083: case 19:
1.1.1.7 ! root 2084: #line 289 "objc-parse.y"
1.1 root 2085: { if (! start_function (yyvsp[-2].ttype, yyvsp[0].ttype, 0))
2086: YYERROR1;
2087: reinit_parse_for_function (); ;
2088: break;}
2089: case 20:
1.1.1.7 ! root 2090: #line 293 "objc-parse.y"
1.1 root 2091: { store_parm_decls (); ;
2092: break;}
2093: case 21:
1.1.1.7 ! root 2094: #line 295 "objc-parse.y"
1.1 root 2095: { finish_function (0); ;
2096: break;}
2097: case 22:
1.1.1.7 ! root 2098: #line 297 "objc-parse.y"
1.1 root 2099: { ;
2100: break;}
2101: case 23:
1.1.1.7 ! root 2102: #line 299 "objc-parse.y"
1.1 root 2103: { if (! start_function (yyvsp[-2].ttype, yyvsp[0].ttype, 0))
2104: YYERROR1;
2105: reinit_parse_for_function (); ;
2106: break;}
2107: case 24:
1.1.1.7 ! root 2108: #line 303 "objc-parse.y"
1.1 root 2109: { store_parm_decls (); ;
2110: break;}
2111: case 25:
1.1.1.7 ! root 2112: #line 305 "objc-parse.y"
1.1 root 2113: { finish_function (0); ;
2114: break;}
2115: case 26:
1.1.1.7 ! root 2116: #line 307 "objc-parse.y"
1.1 root 2117: { ;
2118: break;}
2119: case 27:
1.1.1.7 ! root 2120: #line 309 "objc-parse.y"
1.1.1.4 root 2121: { if (! start_function (NULL_TREE, yyvsp[0].ttype, 0))
1.1 root 2122: YYERROR1;
2123: reinit_parse_for_function (); ;
2124: break;}
2125: case 28:
1.1.1.7 ! root 2126: #line 313 "objc-parse.y"
1.1 root 2127: { store_parm_decls (); ;
2128: break;}
2129: case 29:
1.1.1.7 ! root 2130: #line 315 "objc-parse.y"
1.1 root 2131: { finish_function (0); ;
2132: break;}
2133: case 30:
1.1.1.7 ! root 2134: #line 317 "objc-parse.y"
1.1 root 2135: { ;
2136: break;}
1.1.1.5 root 2137: case 35:
1.1.1.7 ! root 2138: #line 328 "objc-parse.y"
1.1 root 2139: { yyval.code = ADDR_EXPR; ;
2140: break;}
1.1.1.5 root 2141: case 36:
1.1.1.7 ! root 2142: #line 330 "objc-parse.y"
1.1 root 2143: { yyval.code = NEGATE_EXPR; ;
2144: break;}
1.1.1.5 root 2145: case 37:
1.1.1.7 ! root 2146: #line 332 "objc-parse.y"
1.1 root 2147: { yyval.code = CONVERT_EXPR; ;
2148: break;}
1.1.1.5 root 2149: case 38:
1.1.1.7 ! root 2150: #line 334 "objc-parse.y"
1.1 root 2151: { yyval.code = PREINCREMENT_EXPR; ;
2152: break;}
1.1.1.5 root 2153: case 39:
1.1.1.7 ! root 2154: #line 336 "objc-parse.y"
1.1 root 2155: { yyval.code = PREDECREMENT_EXPR; ;
2156: break;}
1.1.1.5 root 2157: case 40:
1.1.1.7 ! root 2158: #line 338 "objc-parse.y"
1.1 root 2159: { yyval.code = BIT_NOT_EXPR; ;
2160: break;}
1.1.1.5 root 2161: case 41:
1.1.1.7 ! root 2162: #line 340 "objc-parse.y"
1.1 root 2163: { yyval.code = TRUTH_NOT_EXPR; ;
2164: break;}
1.1.1.5 root 2165: case 42:
1.1.1.7 ! root 2166: #line 344 "objc-parse.y"
1.1 root 2167: { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
2168: break;}
1.1.1.5 root 2169: case 43:
1.1.1.7 ! root 2170: #line 349 "objc-parse.y"
1.1 root 2171: { yyval.ttype = NULL_TREE; ;
2172: break;}
1.1.1.5 root 2173: case 45:
1.1.1.7 ! root 2174: #line 355 "objc-parse.y"
1.1 root 2175: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
2176: break;}
1.1.1.5 root 2177: case 46:
1.1.1.7 ! root 2178: #line 357 "objc-parse.y"
1.1 root 2179: { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
2180: break;}
1.1.1.5 root 2181: case 48:
1.1.1.7 ! root 2182: #line 363 "objc-parse.y"
1.1 root 2183: { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
2184: break;}
1.1.1.5 root 2185: case 49:
1.1.1.7 ! root 2186: #line 366 "objc-parse.y"
1.1 root 2187: { yyvsp[0].itype = pedantic;
2188: pedantic = 0; ;
2189: break;}
1.1.1.5 root 2190: case 50:
1.1.1.7 ! root 2191: #line 369 "objc-parse.y"
1.1 root 2192: { yyval.ttype = yyvsp[0].ttype;
2193: pedantic = yyvsp[-2].itype; ;
2194: break;}
2195: case 51:
1.1.1.7 ! root 2196: #line 372 "objc-parse.y"
1.1.1.5 root 2197: { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
2198: overflow_warning (yyval.ttype); ;
1.1 root 2199: break;}
2200: case 52:
1.1.1.7 ! root 2201: #line 376 "objc-parse.y"
1.1.1.5 root 2202: { tree label = lookup_label (yyvsp[0].ttype);
2203: if (label == 0)
2204: yyval.ttype = null_pointer_node;
2205: else
2206: {
2207: TREE_USED (label) = 1;
2208: yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
2209: TREE_CONSTANT (yyval.ttype) = 1;
2210: }
2211: ;
2212: break;}
2213: case 53:
1.1.1.7 ! root 2214: #line 402 "objc-parse.y"
1.1 root 2215: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
2216: && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
2217: error ("`sizeof' applied to a bit-field");
2218: yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
2219: break;}
1.1.1.5 root 2220: case 54:
1.1.1.7 ! root 2221: #line 407 "objc-parse.y"
1.1 root 2222: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
2223: break;}
1.1.1.5 root 2224: case 55:
1.1.1.7 ! root 2225: #line 409 "objc-parse.y"
1.1 root 2226: { yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
2227: break;}
1.1.1.5 root 2228: case 56:
1.1.1.7 ! root 2229: #line 411 "objc-parse.y"
1.1 root 2230: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
2231: break;}
2232: case 57:
1.1.1.7 ! root 2233: #line 413 "objc-parse.y"
1.1.1.5 root 2234: { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
2235: break;}
2236: case 58:
1.1.1.7 ! root 2237: #line 415 "objc-parse.y"
1.1.1.5 root 2238: { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
2239: break;}
2240: case 60:
1.1.1.7 ! root 2241: #line 421 "objc-parse.y"
1.1 root 2242: { tree type = groktypename (yyvsp[-2].ttype);
2243: yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
2244: break;}
1.1.1.5 root 2245: case 61:
1.1.1.7 ! root 2246: #line 424 "objc-parse.y"
1.1.1.6 root 2247: { start_init (NULL_TREE, NULL, 0);
2248: yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
2249: really_start_incremental_init (yyvsp[-2].ttype); ;
2250: break;}
2251: case 62:
1.1.1.7 ! root 2252: #line 428 "objc-parse.y"
1.1.1.6 root 2253: { char *name;
2254: tree result = pop_init_level (0);
2255: tree type = yyvsp[-5].ttype;
2256: finish_init ();
2257:
1.1 root 2258: if (pedantic)
2259: pedwarn ("ANSI C forbids constructor expressions");
1.1.1.4 root 2260: if (TYPE_NAME (type) != 0)
2261: {
2262: if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
2263: name = IDENTIFIER_POINTER (TYPE_NAME (type));
2264: else
2265: name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
2266: }
2267: else
2268: name = "";
1.1.1.6 root 2269: yyval.ttype = result;
1.1 root 2270: if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
2271: {
2272: int failure = complete_array_type (type, yyval.ttype, 1);
2273: if (failure)
2274: abort ();
2275: }
2276: ;
2277: break;}
2278: case 64:
1.1.1.7 ! root 2279: #line 457 "objc-parse.y"
1.1 root 2280: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2281: break;}
2282: case 65:
1.1.1.7 ! root 2283: #line 459 "objc-parse.y"
1.1 root 2284: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2285: break;}
2286: case 66:
1.1.1.7 ! root 2287: #line 461 "objc-parse.y"
1.1 root 2288: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2289: break;}
2290: case 67:
1.1.1.7 ! root 2291: #line 463 "objc-parse.y"
1.1 root 2292: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2293: break;}
2294: case 68:
1.1.1.7 ! root 2295: #line 465 "objc-parse.y"
1.1 root 2296: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2297: break;}
2298: case 69:
1.1.1.7 ! root 2299: #line 467 "objc-parse.y"
1.1 root 2300: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2301: break;}
2302: case 70:
1.1.1.7 ! root 2303: #line 469 "objc-parse.y"
1.1 root 2304: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2305: break;}
2306: case 71:
1.1.1.7 ! root 2307: #line 471 "objc-parse.y"
1.1 root 2308: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2309: break;}
2310: case 72:
1.1.1.7 ! root 2311: #line 473 "objc-parse.y"
1.1.1.5 root 2312: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
1.1 root 2313: break;}
2314: case 73:
1.1.1.7 ! root 2315: #line 475 "objc-parse.y"
1.1.1.5 root 2316: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
1.1 root 2317: break;}
2318: case 74:
1.1.1.7 ! root 2319: #line 477 "objc-parse.y"
1.1.1.5 root 2320: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
1.1 root 2321: break;}
2322: case 75:
1.1.1.7 ! root 2323: #line 479 "objc-parse.y"
1.1.1.6 root 2324: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
1.1.1.5 root 2325: break;}
2326: case 76:
1.1.1.7 ! root 2327: #line 481 "objc-parse.y"
1.1.1.6 root 2328: { yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype); ;
1.1.1.5 root 2329: break;}
2330: case 77:
1.1.1.7 ! root 2331: #line 483 "objc-parse.y"
1.1.1.6 root 2332: { yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype); ;
1.1.1.5 root 2333: break;}
2334: case 78:
1.1.1.7 ! root 2335: #line 485 "objc-parse.y"
1.1.1.6 root 2336: { yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
2337: break;}
2338: case 79:
1.1.1.7 ! root 2339: #line 487 "objc-parse.y"
1.1.1.4 root 2340: { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
2341: C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
1.1 root 2342: break;}
1.1.1.6 root 2343: case 80:
1.1.1.7 ! root 2344: #line 490 "objc-parse.y"
1.1.1.4 root 2345: { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
1.1.1.5 root 2346: /* This inhibits warnings in truthvalue_conversion. */
2347: C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ;
1.1 root 2348: break;}
1.1.1.6 root 2349: case 81:
1.1.1.7 ! root 2350: #line 497 "objc-parse.y"
1.1 root 2351: {
2352: yyval.ttype = lastiddecl;
2353: if (!yyval.ttype || yyval.ttype == error_mark_node)
2354: {
2355: if (yychar == YYEMPTY)
2356: yychar = YYLEX;
2357: if (yychar == '(')
2358: {
1.1.1.5 root 2359: tree decl;
2360:
1.1 root 2361: if (objc_receiver_context
2362: && ! (objc_receiver_context
2363: && strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "super")))
2364: /* we have a message to super */
2365: yyval.ttype = get_super_receiver ();
2366: else if (objc_method_context
1.1.1.5 root 2367: && (decl = is_ivar (objc_ivar_chain, yyvsp[0].ttype)))
2368: {
2369: if (is_private (decl))
2370: yyval.ttype = error_mark_node;
2371: else
2372: yyval.ttype = build_ivar_reference (yyvsp[0].ttype);
2373: }
1.1 root 2374: else
2375: {
2376: /* Ordinary implicit function declaration. */
2377: yyval.ttype = implicitly_declare (yyvsp[0].ttype);
2378: assemble_external (yyval.ttype);
2379: TREE_USED (yyval.ttype) = 1;
2380: }
2381: }
2382: else if (current_function_decl == 0)
2383: {
1.1.1.5 root 2384: error ("`%s' undeclared here (not in a function)",
1.1 root 2385: IDENTIFIER_POINTER (yyvsp[0].ttype));
2386: yyval.ttype = error_mark_node;
2387: }
2388: else
2389: {
1.1.1.5 root 2390: tree decl;
2391:
1.1 root 2392: if (objc_receiver_context
1.1.1.4 root 2393: && ! strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "super"))
1.1 root 2394: /* we have a message to super */
2395: yyval.ttype = get_super_receiver ();
2396: else if (objc_method_context
1.1.1.5 root 2397: && (decl = is_ivar (objc_ivar_chain, yyvsp[0].ttype)))
2398: {
2399: if (is_private (decl))
2400: yyval.ttype = error_mark_node;
2401: else
2402: yyval.ttype = build_ivar_reference (yyvsp[0].ttype);
2403: }
1.1 root 2404: else
2405: {
2406: if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node
2407: || IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) != current_function_decl)
2408: {
2409: error ("`%s' undeclared (first use this function)",
2410: IDENTIFIER_POINTER (yyvsp[0].ttype));
2411:
2412: if (! undeclared_variable_notice)
2413: {
2414: error ("(Each undeclared identifier is reported only once");
2415: error ("for each function it appears in.)");
2416: undeclared_variable_notice = 1;
2417: }
2418: }
2419: yyval.ttype = error_mark_node;
2420: /* Prevent repeated error messages. */
2421: IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
2422: IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) = current_function_decl;
1.1.1.4 root 2423: }
1.1 root 2424: }
2425: }
1.1.1.4 root 2426: else if (TREE_TYPE (yyval.ttype) == error_mark_node)
2427: yyval.ttype = error_mark_node;
2428: else if (C_DECL_ANTICIPATED (yyval.ttype))
1.1 root 2429: {
1.1.1.4 root 2430: /* The first time we see a build-in function used,
2431: if it has not been declared. */
2432: C_DECL_ANTICIPATED (yyval.ttype) = 0;
2433: if (yychar == YYEMPTY)
2434: yychar = YYLEX;
2435: if (yychar == '(')
1.1 root 2436: {
1.1.1.4 root 2437: /* Omit the implicit declaration we
2438: would ordinarily do, so we don't lose
2439: the actual built in type.
2440: But print a diagnostic for the mismatch. */
2441: if (objc_method_context
2442: && is_ivar (objc_ivar_chain, yyvsp[0].ttype))
2443: error ("Instance variable `%s' implicitly declared as function",
2444: IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2445: else
2446: if (TREE_CODE (yyval.ttype) != FUNCTION_DECL)
2447: error ("`%s' implicitly declared as function",
2448: IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2449: else if ((TYPE_MODE (TREE_TYPE (TREE_TYPE (yyval.ttype)))
2450: != TYPE_MODE (integer_type_node))
2451: && (TREE_TYPE (TREE_TYPE (yyval.ttype))
2452: != void_type_node))
2453: pedwarn ("type mismatch in implicit declaration for built-in function `%s'",
2454: IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2455: /* If it really returns void, change that to int. */
2456: if (TREE_TYPE (TREE_TYPE (yyval.ttype)) == void_type_node)
2457: TREE_TYPE (yyval.ttype)
2458: = build_function_type (integer_type_node,
2459: TYPE_ARG_TYPES (TREE_TYPE (yyval.ttype)));
1.1 root 2460: }
1.1.1.4 root 2461: else
2462: pedwarn ("built-in function `%s' used without declaration",
2463: IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
2464:
2465: /* Do what we would ordinarily do when a fn is used. */
2466: assemble_external (yyval.ttype);
2467: TREE_USED (yyval.ttype) = 1;
2468: }
2469: else
2470: {
2471: assemble_external (yyval.ttype);
2472: TREE_USED (yyval.ttype) = 1;
1.1 root 2473: /* we have a definition - still check if iVariable */
2474:
2475: if (!objc_receiver_context
2476: || (objc_receiver_context
2477: && strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "super")))
2478: {
1.1.1.5 root 2479: tree decl;
2480:
1.1 root 2481: if (objc_method_context
1.1.1.5 root 2482: && (decl = is_ivar (objc_ivar_chain, yyvsp[0].ttype)))
1.1 root 2483: {
2484: if (IDENTIFIER_LOCAL_VALUE (yyvsp[0].ttype))
2485: warning ("local declaration of `%s' hides instance variable",
2486: IDENTIFIER_POINTER (yyvsp[0].ttype));
2487: else
1.1.1.5 root 2488: {
2489: if (is_private (decl))
2490: yyval.ttype = error_mark_node;
2491: else
2492: yyval.ttype = build_ivar_reference (yyvsp[0].ttype);
2493: }
1.1 root 2494: }
2495: }
2496: else /* we have a message to super */
2497: yyval.ttype = get_super_receiver ();
2498: }
2499:
2500: if (TREE_CODE (yyval.ttype) == CONST_DECL)
1.1.1.4 root 2501: {
2502: yyval.ttype = DECL_INITIAL (yyval.ttype);
2503: /* This is to prevent an enum whose value is 0
2504: from being considered a null pointer constant. */
2505: yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
2506: TREE_CONSTANT (yyval.ttype) = 1;
2507: }
1.1 root 2508: ;
2509: break;}
1.1.1.6 root 2510: case 83:
1.1.1.7 ! root 2511: #line 657 "objc-parse.y"
1.1 root 2512: { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
2513: break;}
1.1.1.6 root 2514: case 84:
1.1.1.7 ! root 2515: #line 659 "objc-parse.y"
1.1 root 2516: { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
2517: if (class == 'e' || class == '1'
2518: || class == '2' || class == '<')
2519: C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK);
2520: yyval.ttype = yyvsp[-1].ttype; ;
2521: break;}
1.1.1.6 root 2522: case 85:
1.1.1.7 ! root 2523: #line 665 "objc-parse.y"
1.1 root 2524: { yyval.ttype = error_mark_node; ;
2525: break;}
1.1.1.6 root 2526: case 86:
1.1.1.7 ! root 2527: #line 667 "objc-parse.y"
1.1 root 2528: { if (current_function_decl == 0)
2529: {
2530: error ("braced-group within expression allowed only inside a function");
2531: YYERROR;
2532: }
2533: /* We must force a BLOCK for this level
2534: so that, if it is not expanded later,
2535: there is a way to turn off the entire subtree of blocks
2536: that are contained in it. */
2537: keep_next_level ();
1.1.1.5 root 2538: push_iterator_stack ();
1.1 root 2539: push_label_level ();
2540: yyval.ttype = expand_start_stmt_expr (); ;
2541: break;}
1.1.1.6 root 2542: case 87:
1.1.1.7 ! root 2543: #line 681 "objc-parse.y"
1.1 root 2544: { tree rtl_exp;
2545: if (pedantic)
2546: pedwarn ("ANSI C forbids braced-groups within expressions");
1.1.1.5 root 2547: pop_iterator_stack ();
1.1 root 2548: pop_label_level ();
2549: rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
2550: /* The statements have side effects, so the group does. */
2551: TREE_SIDE_EFFECTS (rtl_exp) = 1;
2552:
1.1.1.6 root 2553: if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
2554: {
2555: /* Make a BIND_EXPR for the BLOCK already made. */
2556: yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
2557: NULL_TREE, rtl_exp, yyvsp[-1].ttype);
2558: /* Remove the block from the tree at this point.
2559: It gets put back at the proper place
2560: when the BIND_EXPR is expanded. */
2561: delete_block (yyvsp[-1].ttype);
2562: }
2563: else
2564: yyval.ttype = yyvsp[-1].ttype;
1.1 root 2565: ;
2566: break;}
1.1.1.6 root 2567: case 88:
1.1.1.7 ! root 2568: #line 704 "objc-parse.y"
1.1 root 2569: { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2570: break;}
1.1.1.6 root 2571: case 89:
1.1.1.7 ! root 2572: #line 706 "objc-parse.y"
1.1 root 2573: { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2574: break;}
1.1.1.6 root 2575: case 90:
1.1.1.7 ! root 2576: #line 708 "objc-parse.y"
1.1 root 2577: {
2578: if (doing_objc_thang)
2579: {
2580: if (is_public (yyvsp[-2].ttype, yyvsp[0].ttype))
2581: yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
2582: else
2583: yyval.ttype = error_mark_node;
2584: }
2585: else
1.1.1.4 root 2586: yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
1.1 root 2587: ;
2588: break;}
1.1.1.6 root 2589: case 91:
1.1.1.7 ! root 2590: #line 720 "objc-parse.y"
1.1 root 2591: {
1.1.1.4 root 2592: tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
1.1 root 2593:
2594: if (doing_objc_thang)
2595: {
1.1.1.4 root 2596: if (is_public (expr, yyvsp[0].ttype))
2597: yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
1.1 root 2598: else
2599: yyval.ttype = error_mark_node;
2600: }
2601: else
1.1.1.4 root 2602: yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
1.1 root 2603: ;
2604: break;}
1.1.1.6 root 2605: case 92:
1.1.1.7 ! root 2606: #line 734 "objc-parse.y"
1.1 root 2607: { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
2608: break;}
1.1.1.6 root 2609: case 93:
1.1.1.7 ! root 2610: #line 736 "objc-parse.y"
1.1 root 2611: { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
2612: break;}
1.1.1.6 root 2613: case 94:
1.1.1.7 ! root 2614: #line 738 "objc-parse.y"
1.1 root 2615: { yyval.ttype = build_message_expr (yyvsp[0].ttype); ;
2616: break;}
1.1.1.6 root 2617: case 95:
1.1.1.7 ! root 2618: #line 740 "objc-parse.y"
1.1 root 2619: { yyval.ttype = build_selector_expr (yyvsp[0].ttype); ;
2620: break;}
1.1.1.6 root 2621: case 96:
1.1.1.7 ! root 2622: #line 742 "objc-parse.y"
1.1.1.5 root 2623: { yyval.ttype = build_protocol_expr (yyvsp[0].ttype); ;
2624: break;}
1.1.1.6 root 2625: case 97:
1.1.1.7 ! root 2626: #line 744 "objc-parse.y"
1.1 root 2627: { yyval.ttype = build_encode_expr (yyvsp[0].ttype); ;
2628: break;}
1.1.1.6 root 2629: case 98:
1.1.1.7 ! root 2630: #line 746 "objc-parse.y"
1.1.1.5 root 2631: { yyval.ttype = build_objc_string_object (yyvsp[0].ttype); ;
2632: break;}
1.1.1.6 root 2633: case 100:
1.1.1.7 ! root 2634: #line 753 "objc-parse.y"
1.1 root 2635: { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
2636: break;}
1.1.1.6 root 2637: case 102:
1.1.1.7 ! root 2638: #line 761 "objc-parse.y"
1.1.1.5 root 2639: { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
2640: break;}
1.1.1.6 root 2641: case 105:
1.1.1.7 ! root 2642: #line 769 "objc-parse.y"
1.1 root 2643: { c_mark_varargs ();
2644: if (pedantic)
2645: pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
2646: break;}
1.1.1.6 root 2647: case 106:
1.1.1.7 ! root 2648: #line 779 "objc-parse.y"
1.1 root 2649: { ;
2650: break;}
1.1.1.6 root 2651: case 111:
1.1.1.7 ! root 2652: #line 791 "objc-parse.y"
1.1.1.4 root 2653: { current_declspecs = TREE_VALUE (declspec_stack);
2654: declspec_stack = TREE_CHAIN (declspec_stack);
2655: resume_momentary (yyvsp[-2].itype); ;
2656: break;}
1.1.1.6 root 2657: case 112:
1.1.1.7 ! root 2658: #line 795 "objc-parse.y"
1.1.1.4 root 2659: { current_declspecs = TREE_VALUE (declspec_stack);
2660: declspec_stack = TREE_CHAIN (declspec_stack);
2661: resume_momentary (yyvsp[-2].itype); ;
2662: break;}
1.1.1.6 root 2663: case 113:
1.1.1.7 ! root 2664: #line 799 "objc-parse.y"
1.1.1.4 root 2665: { shadow_tag_warned (yyvsp[-1].ttype, 1);
2666: pedwarn ("empty declaration"); ;
2667: break;}
1.1.1.6 root 2668: case 114:
1.1.1.7 ! root 2669: #line 802 "objc-parse.y"
1.1.1.4 root 2670: { pedwarn ("empty declaration"); ;
2671: break;}
1.1.1.6 root 2672: case 115:
1.1.1.7 ! root 2673: #line 811 "objc-parse.y"
1.1.1.4 root 2674: { ;
2675: break;}
1.1.1.6 root 2676: case 120:
1.1.1.7 ! root 2677: #line 826 "objc-parse.y"
1.1 root 2678: { yyval.itype = suspend_momentary ();
2679: pending_xref_error ();
1.1.1.4 root 2680: declspec_stack = tree_cons (NULL_TREE, current_declspecs,
1.1 root 2681: declspec_stack);
2682: current_declspecs = yyvsp[0].ttype; ;
2683: break;}
1.1.1.6 root 2684: case 121:
1.1.1.7 ! root 2685: #line 835 "objc-parse.y"
1.1 root 2686: { current_declspecs = TREE_VALUE (declspec_stack);
2687: declspec_stack = TREE_CHAIN (declspec_stack);
2688: resume_momentary (yyvsp[-2].itype); ;
2689: break;}
1.1.1.6 root 2690: case 122:
1.1.1.7 ! root 2691: #line 839 "objc-parse.y"
1.1 root 2692: { current_declspecs = TREE_VALUE (declspec_stack);
2693: declspec_stack = TREE_CHAIN (declspec_stack);
2694: resume_momentary (yyvsp[-2].itype); ;
2695: break;}
1.1.1.6 root 2696: case 123:
1.1.1.7 ! root 2697: #line 843 "objc-parse.y"
1.1 root 2698: { current_declspecs = TREE_VALUE (declspec_stack);
2699: declspec_stack = TREE_CHAIN (declspec_stack);
2700: resume_momentary (yyvsp[-1].itype); ;
2701: break;}
1.1.1.6 root 2702: case 124:
1.1.1.7 ! root 2703: #line 847 "objc-parse.y"
1.1 root 2704: { current_declspecs = TREE_VALUE (declspec_stack);
2705: declspec_stack = TREE_CHAIN (declspec_stack);
2706: resume_momentary (yyvsp[-1].itype); ;
2707: break;}
1.1.1.6 root 2708: case 125:
1.1.1.7 ! root 2709: #line 851 "objc-parse.y"
1.1 root 2710: { shadow_tag (yyvsp[-1].ttype); ;
2711: break;}
1.1.1.6 root 2712: case 126:
1.1.1.7 ! root 2713: #line 853 "objc-parse.y"
1.1 root 2714: { pedwarn ("empty declaration"); ;
2715: break;}
1.1.1.6 root 2716: case 127:
1.1.1.7 ! root 2717: #line 862 "objc-parse.y"
1.1 root 2718: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
2719: break;}
1.1.1.6 root 2720: case 128:
1.1.1.7 ! root 2721: #line 864 "objc-parse.y"
1.1 root 2722: { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
2723: break;}
1.1.1.6 root 2724: case 129:
1.1.1.7 ! root 2725: #line 868 "objc-parse.y"
1.1 root 2726: { yyval.ttype = NULL_TREE; ;
2727: break;}
1.1.1.6 root 2728: case 130:
1.1.1.7 ! root 2729: #line 870 "objc-parse.y"
1.1 root 2730: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
2731: break;}
1.1.1.6 root 2732: case 131:
1.1.1.7 ! root 2733: #line 872 "objc-parse.y"
1.1.1.4 root 2734: { if (extra_warnings)
2735: warning ("`%s' is not at beginning of declaration",
2736: IDENTIFIER_POINTER (yyvsp[0].ttype));
2737: yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
2738: break;}
1.1.1.6 root 2739: case 132:
1.1.1.7 ! root 2740: #line 884 "objc-parse.y"
1.1.1.4 root 2741: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
2742: TREE_STATIC (yyval.ttype) = 1; ;
1.1 root 2743: break;}
1.1.1.6 root 2744: case 133:
1.1.1.7 ! root 2745: #line 887 "objc-parse.y"
1.1 root 2746: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
2747: break;}
1.1.1.6 root 2748: case 134:
1.1.1.7 ! root 2749: #line 889 "objc-parse.y"
1.1.1.4 root 2750: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
2751: TREE_STATIC (yyval.ttype) = 1; ;
1.1 root 2752: break;}
1.1.1.6 root 2753: case 135:
1.1.1.7 ! root 2754: #line 892 "objc-parse.y"
1.1.1.4 root 2755: { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
2756: warning ("`%s' is not at beginning of declaration",
2757: IDENTIFIER_POINTER (yyvsp[0].ttype));
2758: yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
2759: TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
1.1 root 2760: break;}
1.1.1.6 root 2761: case 136:
1.1.1.7 ! root 2762: #line 906 "objc-parse.y"
1.1 root 2763: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
2764: break;}
1.1.1.6 root 2765: case 137:
1.1.1.7 ! root 2766: #line 908 "objc-parse.y"
1.1 root 2767: { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
2768: break;}
1.1.1.6 root 2769: case 138:
1.1.1.7 ! root 2770: #line 912 "objc-parse.y"
1.1 root 2771: { yyval.ttype = NULL_TREE; ;
2772: break;}
1.1.1.6 root 2773: case 139:
1.1.1.7 ! root 2774: #line 914 "objc-parse.y"
1.1 root 2775: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
2776: break;}
1.1.1.6 root 2777: case 142:
1.1.1.7 ! root 2778: #line 924 "objc-parse.y"
1.1.1.4 root 2779: { /* For a typedef name, record the meaning, not the name.
2780: In case of `foo foo, bar;'. */
2781: yyval.ttype = lookup_name (yyvsp[0].ttype); ;
2782: break;}
1.1.1.6 root 2783: case 143:
1.1.1.7 ! root 2784: #line 928 "objc-parse.y"
1.1.1.5 root 2785: { yyval.ttype = get_static_reference (yyvsp[-1].ttype, yyvsp[0].ttype); ;
2786: break;}
1.1.1.6 root 2787: case 144:
1.1.1.7 ! root 2788: #line 930 "objc-parse.y"
1.1.1.5 root 2789: { yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
1.1 root 2790: break;}
1.1.1.6 root 2791: case 145:
1.1.1.7 ! root 2792: #line 932 "objc-parse.y"
1.1.1.4 root 2793: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
1.1 root 2794: break;}
1.1.1.6 root 2795: case 146:
1.1.1.7 ! root 2796: #line 934 "objc-parse.y"
1.1.1.4 root 2797: { yyval.ttype = groktypename (yyvsp[-1].ttype); ;
1.1 root 2798: break;}
1.1.1.6 root 2799: case 154:
1.1.1.7 ! root 2800: #line 956 "objc-parse.y"
1.1 root 2801: { yyval.ttype = NULL_TREE; ;
2802: break;}
1.1.1.6 root 2803: case 155:
1.1.1.7 ! root 2804: #line 958 "objc-parse.y"
1.1 root 2805: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
2806: yyval.ttype = yyvsp[-1].ttype;
2807: ;
2808: break;}
1.1.1.5 root 2809: case 156:
1.1.1.7 ! root 2810: #line 965 "objc-parse.y"
1.1.1.6 root 2811: { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
2812: decl_attributes (yyval.ttype, yyvsp[-1].ttype);
2813: start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
1.1 root 2814: break;}
1.1.1.5 root 2815: case 157:
1.1.1.7 ! root 2816: #line 970 "objc-parse.y"
1.1.1.6 root 2817: { finish_init ();
2818: decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype);
2819: finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
2820: break;}
2821: case 158:
1.1.1.7 ! root 2822: #line 974 "objc-parse.y"
1.1 root 2823: { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
2824: decl_attributes (d, yyvsp[0].ttype);
2825: finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
2826: break;}
1.1.1.5 root 2827: case 159:
1.1.1.7 ! root 2828: #line 981 "objc-parse.y"
1.1.1.6 root 2829: { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
2830: decl_attributes (yyval.ttype, yyvsp[-1].ttype);
2831: start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
1.1 root 2832: break;}
1.1.1.5 root 2833: case 160:
1.1.1.7 ! root 2834: #line 986 "objc-parse.y"
1.1.1.6 root 2835: { finish_init ();
2836: decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype);
2837: finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
2838: break;}
2839: case 161:
1.1.1.7 ! root 2840: #line 990 "objc-parse.y"
1.1 root 2841: { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
2842: decl_attributes (d, yyvsp[0].ttype);
2843: finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
2844: break;}
1.1.1.6 root 2845: case 162:
1.1.1.7 ! root 2846: #line 998 "objc-parse.y"
1.1 root 2847: { yyval.ttype = NULL_TREE; ;
2848: break;}
1.1.1.6 root 2849: case 163:
1.1.1.7 ! root 2850: #line 1000 "objc-parse.y"
! 2851: { yyval.ttype = yyvsp[0].ttype; ;
1.1 root 2852: break;}
1.1.1.6 root 2853: case 164:
1.1.1.7 ! root 2854: #line 1005 "objc-parse.y"
! 2855: { yyval.ttype = yyvsp[0].ttype; ;
1.1 root 2856: break;}
1.1.1.6 root 2857: case 165:
1.1.1.7 ! root 2858: #line 1007 "objc-parse.y"
! 2859: { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
1.1 root 2860: break;}
1.1.1.6 root 2861: case 166:
1.1.1.7 ! root 2862: #line 1012 "objc-parse.y"
! 2863: { yyval.ttype = yyvsp[-2].ttype; ;
! 2864: break;}
! 2865: case 167:
! 2866: #line 1017 "objc-parse.y"
! 2867: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
1.1 root 2868: break;}
1.1.1.6 root 2869: case 168:
1.1.1.7 ! root 2870: #line 1019 "objc-parse.y"
! 2871: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
1.1.1.4 root 2872: break;}
1.1.1.6 root 2873: case 169:
1.1.1.7 ! root 2874: #line 1024 "objc-parse.y"
! 2875: { yyval.ttype = NULL_TREE; ;
1.1 root 2876: break;}
1.1.1.6 root 2877: case 170:
1.1.1.7 ! root 2878: #line 1026 "objc-parse.y"
! 2879: { yyval.ttype = yyvsp[0].ttype; ;
! 2880: break;}
! 2881: case 171:
! 2882: #line 1028 "objc-parse.y"
! 2883: { yyval.ttype = tree_cons (yyvsp[-3].ttype, NULL_TREE,
! 2884: build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
1.1 root 2885: break;}
1.1.1.5 root 2886: case 172:
1.1.1.7 ! root 2887: #line 1031 "objc-parse.y"
! 2888: { yyval.ttype = tree_cons (yyvsp[-5].ttype, NULL_TREE,
! 2889: tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
! 2890: break;}
! 2891: case 173:
! 2892: #line 1034 "objc-parse.y"
! 2893: { yyval.ttype = tree_cons (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
! 2894: break;}
! 2895: case 179:
! 2896: #line 1052 "objc-parse.y"
1.1.1.6 root 2897: { really_start_incremental_init (NULL_TREE);
2898: /* Note that the call to clear_momentary
2899: is in process_init_element. */
2900: push_momentary (); ;
1.1 root 2901: break;}
1.1.1.7 ! root 2902: case 180:
! 2903: #line 1057 "objc-parse.y"
1.1.1.6 root 2904: { yyval.ttype = pop_init_level (0);
1.1.1.7 ! root 2905: if (yyval.ttype == error_mark_node
! 2906: && ! (yychar == STRING || yychar == CONSTANT))
1.1.1.6 root 2907: pop_momentary ();
2908: else
2909: pop_momentary_nofree (); ;
1.1 root 2910: break;}
1.1.1.7 ! root 2911: case 181:
! 2912: #line 1065 "objc-parse.y"
1.1.1.6 root 2913: { yyval.ttype = error_mark_node; ;
1.1 root 2914: break;}
1.1.1.7 ! root 2915: case 182:
! 2916: #line 1071 "objc-parse.y"
1.1.1.6 root 2917: { if (pedantic)
2918: pedwarn ("ANSI C forbids empty initializer braces"); ;
2919: break;}
1.1.1.7 ! root 2920: case 186:
! 2921: #line 1085 "objc-parse.y"
1.1.1.6 root 2922: { process_init_element (yyvsp[0].ttype); ;
2923: break;}
1.1.1.7 ! root 2924: case 187:
! 2925: #line 1087 "objc-parse.y"
1.1.1.6 root 2926: { push_init_level (0); ;
2927: break;}
1.1.1.7 ! root 2928: case 188:
! 2929: #line 1089 "objc-parse.y"
1.1.1.6 root 2930: { process_init_element (pop_init_level (0)); ;
1.1 root 2931: break;}
1.1.1.7 ! root 2932: case 190:
! 2933: #line 1095 "objc-parse.y"
1.1.1.6 root 2934: { set_init_label (yyvsp[-1].ttype); ;
2935: break;}
1.1.1.7 ! root 2936: case 192:
! 2937: #line 1098 "objc-parse.y"
1.1.1.6 root 2938: { set_init_label (yyvsp[-1].ttype); ;
1.1 root 2939: break;}
1.1.1.7 ! root 2940: case 194:
! 2941: #line 1104 "objc-parse.y"
1.1 root 2942: { push_c_function_context ();
2943: if (! start_function (current_declspecs, yyvsp[0].ttype, 1))
2944: {
2945: pop_c_function_context ();
2946: YYERROR1;
2947: }
2948: reinit_parse_for_function ();
2949: store_parm_decls (); ;
2950: break;}
1.1.1.7 ! root 2951: case 195:
! 2952: #line 1119 "objc-parse.y"
1.1 root 2953: { finish_function (1);
2954: pop_c_function_context (); ;
2955: break;}
1.1.1.7 ! root 2956: case 196:
! 2957: #line 1125 "objc-parse.y"
1.1 root 2958: { push_c_function_context ();
2959: if (! start_function (current_declspecs, yyvsp[0].ttype, 1))
2960: {
2961: pop_c_function_context ();
2962: YYERROR1;
2963: }
2964: reinit_parse_for_function ();
2965: store_parm_decls (); ;
2966: break;}
1.1.1.7 ! root 2967: case 197:
! 2968: #line 1140 "objc-parse.y"
1.1 root 2969: { finish_function (1);
2970: pop_c_function_context (); ;
2971: break;}
1.1.1.7 ! root 2972: case 200:
! 2973: #line 1156 "objc-parse.y"
1.1 root 2974: { yyval.ttype = yyvsp[-1].ttype; ;
2975: break;}
1.1.1.7 ! root 2976: case 201:
! 2977: #line 1158 "objc-parse.y"
1.1 root 2978: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
2979: break;}
1.1.1.7 ! root 2980: case 202:
! 2981: #line 1163 "objc-parse.y"
1.1 root 2982: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2983: break;}
1.1.1.7 ! root 2984: case 203:
! 2985: #line 1165 "objc-parse.y"
1.1 root 2986: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
2987: break;}
1.1.1.7 ! root 2988: case 204:
! 2989: #line 1167 "objc-parse.y"
1.1 root 2990: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
2991: break;}
1.1.1.7 ! root 2992: case 207:
! 2993: #line 1179 "objc-parse.y"
1.1 root 2994: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
2995: break;}
1.1.1.7 ! root 2996: case 208:
! 2997: #line 1184 "objc-parse.y"
1.1 root 2998: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
2999: break;}
1.1.1.7 ! root 3000: case 209:
! 3001: #line 1186 "objc-parse.y"
1.1 root 3002: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
3003: break;}
1.1.1.7 ! root 3004: case 210:
! 3005: #line 1188 "objc-parse.y"
1.1 root 3006: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3007: break;}
1.1.1.7 ! root 3008: case 212:
! 3009: #line 1197 "objc-parse.y"
1.1 root 3010: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
3011: break;}
1.1.1.7 ! root 3012: case 213:
! 3013: #line 1202 "objc-parse.y"
1.1 root 3014: { yyval.ttype = yyvsp[-1].ttype; ;
3015: break;}
1.1.1.7 ! root 3016: case 214:
! 3017: #line 1204 "objc-parse.y"
1.1 root 3018: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3019: break;}
1.1.1.7 ! root 3020: case 215:
! 3021: #line 1206 "objc-parse.y"
1.1 root 3022: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3023: break;}
1.1.1.7 ! root 3024: case 216:
! 3025: #line 1208 "objc-parse.y"
1.1 root 3026: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
3027: break;}
1.1.1.7 ! root 3028: case 218:
! 3029: #line 1214 "objc-parse.y"
1.1 root 3030: { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
3031: /* Start scope of tag before parsing components. */
3032: ;
3033: break;}
1.1.1.7 ! root 3034: case 219:
! 3035: #line 1218 "objc-parse.y"
1.1 root 3036: { yyval.ttype = finish_struct (yyvsp[-2].ttype, yyvsp[-1].ttype);
3037: /* Really define the structure. */
3038: ;
3039: break;}
1.1.1.7 ! root 3040: case 220:
! 3041: #line 1222 "objc-parse.y"
1.1 root 3042: { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
3043: yyvsp[-1].ttype); ;
3044: break;}
1.1.1.7 ! root 3045: case 221:
! 3046: #line 1225 "objc-parse.y"
1.1 root 3047: { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
3048: break;}
1.1.1.7 ! root 3049: case 222:
! 3050: #line 1227 "objc-parse.y"
1.1 root 3051: { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
3052: break;}
1.1.1.7 ! root 3053: case 223:
! 3054: #line 1229 "objc-parse.y"
1.1 root 3055: { yyval.ttype = finish_struct (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
3056: break;}
1.1.1.7 ! root 3057: case 224:
! 3058: #line 1231 "objc-parse.y"
1.1 root 3059: { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
3060: yyvsp[-1].ttype); ;
3061: break;}
1.1.1.7 ! root 3062: case 225:
! 3063: #line 1234 "objc-parse.y"
1.1 root 3064: { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
3065: break;}
1.1.1.7 ! root 3066: case 226:
! 3067: #line 1236 "objc-parse.y"
1.1 root 3068: { yyvsp[0].itype = suspend_momentary ();
3069: yyval.ttype = start_enum (yyvsp[-1].ttype); ;
3070: break;}
1.1.1.7 ! root 3071: case 227:
! 3072: #line 1239 "objc-parse.y"
1.1 root 3073: { yyval.ttype = finish_enum (yyvsp[-3].ttype, nreverse (yyvsp[-2].ttype));
3074: resume_momentary (yyvsp[-4].itype); ;
3075: break;}
1.1.1.7 ! root 3076: case 228:
! 3077: #line 1242 "objc-parse.y"
1.1 root 3078: { yyvsp[0].itype = suspend_momentary ();
3079: yyval.ttype = start_enum (NULL_TREE); ;
3080: break;}
1.1.1.7 ! root 3081: case 229:
! 3082: #line 1245 "objc-parse.y"
1.1 root 3083: { yyval.ttype = finish_enum (yyvsp[-3].ttype, nreverse (yyvsp[-2].ttype));
3084: resume_momentary (yyvsp[-4].itype); ;
3085: break;}
1.1.1.7 ! root 3086: case 230:
! 3087: #line 1248 "objc-parse.y"
1.1 root 3088: { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
3089: break;}
1.1.1.7 ! root 3090: case 234:
! 3091: #line 1259 "objc-parse.y"
1.1 root 3092: { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
3093: break;}
1.1.1.7 ! root 3094: case 235:
! 3095: #line 1264 "objc-parse.y"
1.1 root 3096: { yyval.ttype = yyvsp[0].ttype; ;
3097: break;}
1.1.1.7 ! root 3098: case 236:
! 3099: #line 1266 "objc-parse.y"
1.1 root 3100: { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
1.1.1.4 root 3101: pedwarn ("no semicolon at end of struct or union"); ;
1.1 root 3102: break;}
1.1.1.7 ! root 3103: case 237:
! 3104: #line 1271 "objc-parse.y"
1.1 root 3105: { yyval.ttype = NULL_TREE; ;
3106: break;}
1.1.1.7 ! root 3107: case 238:
! 3108: #line 1273 "objc-parse.y"
1.1 root 3109: { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
3110: break;}
1.1.1.7 ! root 3111: case 239:
! 3112: #line 1275 "objc-parse.y"
1.1 root 3113: { if (pedantic)
1.1.1.4 root 3114: pedwarn ("extra semicolon in struct or union specified"); ;
1.1 root 3115: break;}
1.1.1.7 ! root 3116: case 240:
! 3117: #line 1279 "objc-parse.y"
1.1.1.5 root 3118: {
3119: tree interface = lookup_interface (yyvsp[-1].ttype);
3120:
3121: if (interface)
3122: yyval.ttype = get_class_ivars (interface);
3123: else
3124: {
3125: error ("Cannot find interface declaration for `%s'",
3126: IDENTIFIER_POINTER (yyvsp[-1].ttype));
3127: yyval.ttype = NULL_TREE;
3128: }
3129: ;
1.1 root 3130: break;}
1.1.1.7 ! root 3131: case 241:
! 3132: #line 1304 "objc-parse.y"
1.1 root 3133: { yyval.ttype = yyvsp[0].ttype;
3134: current_declspecs = TREE_VALUE (declspec_stack);
3135: declspec_stack = TREE_CHAIN (declspec_stack);
3136: resume_momentary (yyvsp[-1].itype); ;
3137: break;}
1.1.1.7 ! root 3138: case 242:
! 3139: #line 1309 "objc-parse.y"
1.1 root 3140: { if (pedantic)
3141: pedwarn ("ANSI C forbids member declarations with no members");
3142: shadow_tag(yyvsp[0].ttype);
3143: yyval.ttype = NULL_TREE; ;
3144: break;}
1.1.1.7 ! root 3145: case 243:
! 3146: #line 1314 "objc-parse.y"
1.1 root 3147: { yyval.ttype = yyvsp[0].ttype;
3148: current_declspecs = TREE_VALUE (declspec_stack);
3149: declspec_stack = TREE_CHAIN (declspec_stack);
3150: resume_momentary (yyvsp[-1].itype); ;
3151: break;}
1.1.1.7 ! root 3152: case 244:
! 3153: #line 1319 "objc-parse.y"
1.1 root 3154: { if (pedantic)
3155: pedwarn ("ANSI C forbids member declarations with no members");
3156: shadow_tag(yyvsp[0].ttype);
3157: yyval.ttype = NULL_TREE; ;
3158: break;}
1.1.1.7 ! root 3159: case 245:
! 3160: #line 1324 "objc-parse.y"
1.1 root 3161: { yyval.ttype = NULL_TREE; ;
3162: break;}
1.1.1.7 ! root 3163: case 247:
! 3164: #line 1330 "objc-parse.y"
1.1 root 3165: { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3166: break;}
1.1.1.7 ! root 3167: case 248:
! 3168: #line 1335 "objc-parse.y"
1.1 root 3169: { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
3170: decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
3171: break;}
1.1.1.7 ! root 3172: case 249:
! 3173: #line 1339 "objc-parse.y"
1.1 root 3174: { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
3175: decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
3176: break;}
1.1.1.7 ! root 3177: case 250:
! 3178: #line 1342 "objc-parse.y"
1.1.1.5 root 3179: { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
3180: decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1 root 3181: break;}
1.1.1.7 ! root 3182: case 252:
! 3183: #line 1354 "objc-parse.y"
1.1 root 3184: { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
3185: break;}
1.1.1.7 ! root 3186: case 253:
! 3187: #line 1356 "objc-parse.y"
! 3188: { yyval.ttype = error_mark_node; ;
! 3189: break;}
! 3190: case 254:
! 3191: #line 1362 "objc-parse.y"
1.1 root 3192: { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
3193: break;}
1.1.1.7 ! root 3194: case 255:
! 3195: #line 1364 "objc-parse.y"
1.1 root 3196: { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3197: break;}
1.1.1.7 ! root 3198: case 256:
! 3199: #line 1369 "objc-parse.y"
1.1 root 3200: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3201: break;}
1.1.1.7 ! root 3202: case 257:
! 3203: #line 1371 "objc-parse.y"
1.1 root 3204: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3205: break;}
1.1.1.7 ! root 3206: case 258:
! 3207: #line 1376 "objc-parse.y"
1.1 root 3208: { yyval.ttype = NULL_TREE; ;
3209: break;}
1.1.1.7 ! root 3210: case 260:
! 3211: #line 1382 "objc-parse.y"
1.1 root 3212: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
3213: break;}
1.1.1.7 ! root 3214: case 261:
! 3215: #line 1384 "objc-parse.y"
1.1 root 3216: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3217: break;}
1.1.1.7 ! root 3218: case 262:
! 3219: #line 1389 "objc-parse.y"
1.1 root 3220: { yyval.ttype = NULL_TREE; ;
3221: break;}
1.1.1.7 ! root 3222: case 263:
! 3223: #line 1391 "objc-parse.y"
1.1 root 3224: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
3225: break;}
1.1.1.7 ! root 3226: case 264:
! 3227: #line 1396 "objc-parse.y"
1.1 root 3228: { yyval.ttype = yyvsp[-1].ttype; ;
3229: break;}
1.1.1.7 ! root 3230: case 265:
! 3231: #line 1399 "objc-parse.y"
1.1 root 3232: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3233: break;}
1.1.1.7 ! root 3234: case 266:
! 3235: #line 1401 "objc-parse.y"
1.1 root 3236: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
3237: break;}
1.1.1.7 ! root 3238: case 267:
! 3239: #line 1403 "objc-parse.y"
1.1 root 3240: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
3241: break;}
1.1.1.7 ! root 3242: case 268:
! 3243: #line 1405 "objc-parse.y"
1.1 root 3244: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3245: break;}
1.1.1.7 ! root 3246: case 269:
! 3247: #line 1407 "objc-parse.y"
1.1 root 3248: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
3249: break;}
1.1.1.7 ! root 3250: case 270:
! 3251: #line 1409 "objc-parse.y"
1.1 root 3252: { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
3253: break;}
1.1.1.7 ! root 3254: case 271:
! 3255: #line 1411 "objc-parse.y"
1.1 root 3256: { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
3257: break;}
1.1.1.7 ! root 3258: case 272:
! 3259: #line 1413 "objc-parse.y"
1.1 root 3260: { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
3261: break;}
1.1.1.7 ! root 3262: case 279:
! 3263: #line 1435 "objc-parse.y"
1.1 root 3264: { emit_line_note (input_filename, lineno);
3265: pushlevel (0);
3266: clear_last_expr ();
3267: push_momentary ();
3268: expand_start_bindings (0);
3269: if (objc_method_context)
1.1.1.4 root 3270: add_objc_decls ();
3271: ;
1.1 root 3272: break;}
1.1.1.7 ! root 3273: case 281:
! 3274: #line 1450 "objc-parse.y"
1.1 root 3275: { if (pedantic)
3276: pedwarn ("ANSI C forbids label declarations"); ;
3277: break;}
1.1.1.7 ! root 3278: case 284:
! 3279: #line 1461 "objc-parse.y"
1.1 root 3280: { tree link;
3281: for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
3282: {
3283: tree label = shadow_label (TREE_VALUE (link));
3284: C_DECLARED_LABEL_FLAG (label) = 1;
3285: declare_nonlocal_label (label);
3286: }
3287: ;
3288: break;}
1.1.1.7 ! root 3289: case 285:
! 3290: #line 1475 "objc-parse.y"
1.1 root 3291: {;
3292: break;}
1.1.1.7 ! root 3293: case 287:
! 3294: #line 1480 "objc-parse.y"
1.1 root 3295: { yyval.ttype = convert (void_type_node, integer_zero_node); ;
3296: break;}
1.1.1.7 ! root 3297: case 288:
! 3298: #line 1482 "objc-parse.y"
1.1 root 3299: { emit_line_note (input_filename, lineno);
3300: expand_end_bindings (getdecls (), 1, 0);
3301: yyval.ttype = poplevel (1, 1, 0);
1.1.1.7 ! root 3302: if (yychar == CONSTANT || yychar == STRING)
! 3303: pop_momentary_nofree ();
! 3304: else
! 3305: pop_momentary (); ;
1.1 root 3306: break;}
1.1.1.7 ! root 3307: case 289:
! 3308: #line 1490 "objc-parse.y"
1.1 root 3309: { emit_line_note (input_filename, lineno);
3310: expand_end_bindings (getdecls (), kept_level_p (), 0);
3311: yyval.ttype = poplevel (kept_level_p (), 0, 0);
1.1.1.7 ! root 3312: if (yychar == CONSTANT || yychar == STRING)
! 3313: pop_momentary_nofree ();
! 3314: else
! 3315: pop_momentary (); ;
1.1 root 3316: break;}
1.1.1.7 ! root 3317: case 290:
! 3318: #line 1498 "objc-parse.y"
1.1 root 3319: { emit_line_note (input_filename, lineno);
3320: expand_end_bindings (getdecls (), kept_level_p (), 0);
3321: yyval.ttype = poplevel (kept_level_p (), 0, 0);
1.1.1.7 ! root 3322: if (yychar == CONSTANT || yychar == STRING)
! 3323: pop_momentary_nofree ();
! 3324: else
! 3325: pop_momentary (); ;
1.1 root 3326: break;}
1.1.1.7 ! root 3327: case 293:
! 3328: #line 1518 "objc-parse.y"
1.1 root 3329: { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
3330: expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0);
1.1.1.6 root 3331: yyval.itype = stmt_count;
1.1 root 3332: if_stmt_file = yyvsp[-5].filename;
3333: if_stmt_line = yyvsp[-4].lineno;
3334: position_after_white_space (); ;
3335: break;}
1.1.1.7 ! root 3336: case 294:
! 3337: #line 1531 "objc-parse.y"
1.1.1.4 root 3338: { stmt_count++;
3339: emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
3340: /* See comment in `while' alternative, above. */
3341: emit_nop ();
3342: expand_start_loop_continue_elsewhere (1);
3343: position_after_white_space (); ;
3344: break;}
1.1.1.7 ! root 3345: case 295:
! 3346: #line 1538 "objc-parse.y"
1.1.1.4 root 3347: { expand_loop_continue_here (); ;
3348: break;}
1.1.1.7 ! root 3349: case 296:
! 3350: #line 1542 "objc-parse.y"
1.1 root 3351: { yyval.filename = input_filename; ;
3352: break;}
1.1.1.7 ! root 3353: case 297:
! 3354: #line 1546 "objc-parse.y"
1.1 root 3355: { yyval.lineno = lineno; ;
3356: break;}
1.1.1.7 ! root 3357: case 298:
! 3358: #line 1551 "objc-parse.y"
1.1 root 3359: { ;
3360: break;}
1.1.1.7 ! root 3361: case 299:
! 3362: #line 1556 "objc-parse.y"
1.1.1.4 root 3363: { ;
3364: break;}
1.1.1.7 ! root 3365: case 300:
! 3366: #line 1561 "objc-parse.y"
1.1.1.4 root 3367: { ;
3368: break;}
1.1.1.7 ! root 3369: case 302:
! 3370: #line 1567 "objc-parse.y"
1.1.1.4 root 3371: { int next;
3372: position_after_white_space ();
3373: next = getc (finput);
3374: ungetc (next, finput);
3375: if (pedantic && next == '}')
3376: pedwarn ("ANSI C forbids label at end of compound statement");
3377: ;
3378: break;}
1.1.1.7 ! root 3379: case 303:
! 3380: #line 1579 "objc-parse.y"
1.1 root 3381: { stmt_count++; ;
3382: break;}
1.1.1.7 ! root 3383: case 305:
! 3384: #line 1582 "objc-parse.y"
1.1 root 3385: { stmt_count++;
3386: emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
1.1.1.6 root 3387: /* It appears that this should not be done--that a non-lvalue array
3388: shouldn't get an error if the value isn't used.
3389: Section 3.2.2.1 says that an array lvalue gets converted to a pointer
3390: if it appears as a top-level expression,
3391: but says nothing about non-lvalue arrays. */
3392: #if 0
3393: /* Call default_conversion to get an error
3394: on referring to a register array if pedantic. */
3395: if (TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == ARRAY_TYPE
3396: || TREE_CODE (TREE_TYPE (yyvsp[-1].ttype)) == FUNCTION_TYPE)
3397: yyvsp[-1].ttype = default_conversion (yyvsp[-1].ttype);
3398: #endif
1.1.1.5 root 3399: iterator_expand (yyvsp[-1].ttype);
1.1 root 3400: clear_momentary (); ;
3401: break;}
1.1.1.7 ! root 3402: case 306:
! 3403: #line 1599 "objc-parse.y"
1.1 root 3404: { expand_start_else ();
3405: yyvsp[-1].itype = stmt_count;
3406: position_after_white_space (); ;
3407: break;}
1.1.1.7 ! root 3408: case 307:
! 3409: #line 1603 "objc-parse.y"
1.1 root 3410: { expand_end_cond ();
3411: if (extra_warnings && stmt_count == yyvsp[-3].itype)
3412: warning ("empty body in an else-statement"); ;
3413: break;}
1.1.1.7 ! root 3414: case 308:
! 3415: #line 1607 "objc-parse.y"
1.1 root 3416: { expand_end_cond ();
1.1.1.6 root 3417: /* This warning is here instead of in simple_if, because we
3418: do not want a warning if an empty if is followed by an
1.1.1.7 ! root 3419: else statement. Increment stmt_count so we don't
! 3420: give a second error if this is a nested `if'. */
! 3421: if (extra_warnings && stmt_count++ == yyvsp[0].itype)
1.1 root 3422: warning_with_file_and_line (if_stmt_file, if_stmt_line,
3423: "empty body in an if-statement"); ;
3424: break;}
1.1.1.7 ! root 3425: case 309:
! 3426: #line 1619 "objc-parse.y"
1.1.1.4 root 3427: { expand_end_cond (); ;
3428: break;}
1.1.1.7 ! root 3429: case 310:
! 3430: #line 1621 "objc-parse.y"
1.1.1.4 root 3431: { stmt_count++;
1.1 root 3432: emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
1.1.1.4 root 3433: /* The emit_nop used to come before emit_line_note,
3434: but that made the nop seem like part of the preceding line.
3435: And that was confusing when the preceding line was
3436: inside of an if statement and was not really executed.
3437: I think it ought to work to put the nop after the line number.
3438: We will see. --rms, July 15, 1991. */
3439: emit_nop (); ;
1.1 root 3440: break;}
1.1.1.7 ! root 3441: case 311:
! 3442: #line 1631 "objc-parse.y"
1.1.1.4 root 3443: { /* Don't start the loop till we have succeeded
3444: in parsing the end test. This is to make sure
3445: that we end every loop we start. */
3446: expand_start_loop (1);
3447: emit_line_note (input_filename, lineno);
3448: expand_exit_loop_if_false (NULL_PTR,
3449: truthvalue_conversion (yyvsp[-1].ttype));
1.1 root 3450: position_after_white_space (); ;
3451: break;}
1.1.1.7 ! root 3452: case 312:
! 3453: #line 1640 "objc-parse.y"
1.1 root 3454: { expand_end_loop (); ;
3455: break;}
1.1.1.7 ! root 3456: case 313:
! 3457: #line 1643 "objc-parse.y"
1.1 root 3458: { emit_line_note (input_filename, lineno);
1.1.1.4 root 3459: expand_exit_loop_if_false (NULL_PTR,
3460: truthvalue_conversion (yyvsp[-2].ttype));
1.1 root 3461: expand_end_loop ();
3462: clear_momentary (); ;
3463: break;}
1.1.1.7 ! root 3464: case 314:
! 3465: #line 1650 "objc-parse.y"
1.1.1.4 root 3466: { expand_end_loop ();
3467: clear_momentary (); ;
3468: break;}
1.1.1.7 ! root 3469: case 315:
! 3470: #line 1654 "objc-parse.y"
1.1.1.4 root 3471: { stmt_count++;
1.1 root 3472: emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
1.1.1.4 root 3473: /* See comment in `while' alternative, above. */
3474: emit_nop ();
1.1 root 3475: if (yyvsp[-1].ttype) c_expand_expr_stmt (yyvsp[-1].ttype);
1.1.1.4 root 3476: /* Next step is to call expand_start_loop_continue_elsewhere,
3477: but wait till after we parse the entire for (...).
3478: Otherwise, invalid input might cause us to call that
3479: fn without calling expand_end_loop. */
3480: ;
1.1 root 3481: break;}
1.1.1.7 ! root 3482: case 316:
! 3483: #line 1666 "objc-parse.y"
1.1.1.4 root 3484: { yyvsp[0].lineno = lineno;
3485: yyval.filename = input_filename; ;
1.1 root 3486: break;}
1.1.1.7 ! root 3487: case 317:
! 3488: #line 1669 "objc-parse.y"
1.1.1.4 root 3489: {
3490: /* Start the loop. Doing this after parsing
3491: all the expressions ensures we will end the loop. */
3492: expand_start_loop_continue_elsewhere (1);
3493: /* Emit the end-test, with a line number. */
3494: emit_line_note (yyvsp[-2].filename, yyvsp[-3].lineno);
3495: if (yyvsp[-4].ttype)
3496: expand_exit_loop_if_false (NULL_PTR,
3497: truthvalue_conversion (yyvsp[-4].ttype));
3498: /* Don't let the tree nodes for $9 be discarded by
3499: clear_momentary during the parsing of the next stmt. */
3500: push_momentary ();
3501: yyvsp[-3].lineno = lineno;
1.1.1.5 root 3502: yyvsp[-2].filename = input_filename;
3503: position_after_white_space (); ;
1.1 root 3504: break;}
1.1.1.7 ! root 3505: case 318:
! 3506: #line 1685 "objc-parse.y"
1.1.1.4 root 3507: { /* Emit the increment expression, with a line number. */
3508: emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno);
1.1 root 3509: expand_loop_continue_here ();
3510: if (yyvsp[-3].ttype)
3511: c_expand_expr_stmt (yyvsp[-3].ttype);
1.1.1.7 ! root 3512: if (yychar == CONSTANT || yychar == STRING)
! 3513: pop_momentary_nofree ();
! 3514: else
! 3515: pop_momentary ();
1.1 root 3516: expand_end_loop (); ;
3517: break;}
1.1.1.7 ! root 3518: case 319:
! 3519: #line 1696 "objc-parse.y"
1.1 root 3520: { stmt_count++;
3521: emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
3522: c_expand_start_case (yyvsp[-1].ttype);
3523: /* Don't let the tree nodes for $3 be discarded by
3524: clear_momentary during the parsing of the next stmt. */
3525: push_momentary ();
3526: position_after_white_space (); ;
3527: break;}
1.1.1.7 ! root 3528: case 320:
! 3529: #line 1704 "objc-parse.y"
1.1 root 3530: { expand_end_case (yyvsp[-3].ttype);
1.1.1.7 ! root 3531: if (yychar == CONSTANT || yychar == STRING)
! 3532: pop_momentary_nofree ();
! 3533: else
! 3534: pop_momentary (); ;
1.1 root 3535: break;}
1.1.1.7 ! root 3536: case 321:
! 3537: #line 1710 "objc-parse.y"
1.1.1.4 root 3538: { stmt_count++;
3539: emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
3540: if ( ! expand_exit_something ())
3541: error ("break statement not within loop or switch"); ;
3542: break;}
1.1.1.7 ! root 3543: case 322:
! 3544: #line 1715 "objc-parse.y"
1.1.1.4 root 3545: { stmt_count++;
3546: emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
3547: if (! expand_continue_loop (NULL_PTR))
3548: error ("continue statement not within a loop"); ;
3549: break;}
1.1.1.7 ! root 3550: case 323:
! 3551: #line 1720 "objc-parse.y"
1.1.1.4 root 3552: { stmt_count++;
3553: emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
3554: c_expand_return (NULL_TREE); ;
3555: break;}
1.1.1.7 ! root 3556: case 324:
! 3557: #line 1724 "objc-parse.y"
1.1.1.4 root 3558: { stmt_count++;
3559: emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
3560: c_expand_return (yyvsp[-1].ttype); ;
3561: break;}
1.1.1.7 ! root 3562: case 325:
! 3563: #line 1728 "objc-parse.y"
1.1.1.4 root 3564: { stmt_count++;
3565: emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
3566: STRIP_NOPS (yyvsp[-2].ttype);
3567: if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
3568: && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
3569: || TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
3570: expand_asm (yyvsp[-2].ttype);
3571: else
3572: error ("argument of `asm' is not a constant string"); ;
3573: break;}
1.1.1.7 ! root 3574: case 326:
! 3575: #line 1739 "objc-parse.y"
1.1.1.4 root 3576: { stmt_count++;
3577: emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
3578: c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
3579: yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
3580: input_filename, lineno); ;
3581: break;}
1.1.1.7 ! root 3582: case 327:
! 3583: #line 1746 "objc-parse.y"
1.1.1.4 root 3584: { stmt_count++;
3585: emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
3586: c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
3587: yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
3588: input_filename, lineno); ;
3589: break;}
1.1.1.7 ! root 3590: case 328:
! 3591: #line 1754 "objc-parse.y"
1.1.1.4 root 3592: { stmt_count++;
3593: emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
3594: c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
3595: yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
3596: input_filename, lineno); ;
3597: break;}
1.1.1.7 ! root 3598: case 329:
! 3599: #line 1760 "objc-parse.y"
1.1.1.4 root 3600: { tree decl;
3601: stmt_count++;
3602: emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
3603: decl = lookup_label (yyvsp[-1].ttype);
3604: if (decl != 0)
3605: {
3606: TREE_USED (decl) = 1;
3607: expand_goto (decl);
3608: }
3609: ;
3610: break;}
1.1.1.7 ! root 3611: case 330:
! 3612: #line 1771 "objc-parse.y"
1.1.1.4 root 3613: { stmt_count++;
3614: emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
3615: expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
3616: break;}
1.1.1.7 ! root 3617: case 333:
! 3618: #line 1784 "objc-parse.y"
1.1.1.5 root 3619: {
3620: /* The value returned by this action is */
3621: /* 1 if everything is OK */
3622: /* 0 in case of error or already bound iterator */
3623:
3624: yyval.itype = 0;
3625: if (TREE_CODE (yyvsp[-1].ttype) != VAR_DECL)
3626: error ("invalid `for (ITERATOR)' syntax");
1.1.1.6 root 3627: else if (! ITERATOR_P (yyvsp[-1].ttype))
1.1.1.5 root 3628: error ("`%s' is not an iterator",
3629: IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
3630: else if (ITERATOR_BOUND_P (yyvsp[-1].ttype))
3631: error ("`for (%s)' inside expansion of same iterator",
3632: IDENTIFIER_POINTER (DECL_NAME (yyvsp[-1].ttype)));
3633: else
3634: {
3635: yyval.itype = 1;
3636: iterator_for_loop_start (yyvsp[-1].ttype);
3637: }
3638: ;
3639: break;}
1.1.1.7 ! root 3640: case 334:
! 3641: #line 1805 "objc-parse.y"
1.1.1.5 root 3642: {
3643: if (yyvsp[-1].itype)
3644: iterator_for_loop_end (yyvsp[-3].ttype);
3645: ;
3646: break;}
1.1.1.7 ! root 3647: case 335:
! 3648: #line 1840 "objc-parse.y"
1.1 root 3649: { register tree value = check_case_value (yyvsp[-1].ttype);
3650: register tree label
3651: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
3652:
3653: stmt_count++;
3654:
3655: if (value != error_mark_node)
3656: {
3657: tree duplicate;
1.1.1.6 root 3658: int success = pushcase (value, convert_and_check,
3659: label, &duplicate);
1.1 root 3660: if (success == 1)
3661: error ("case label not within a switch statement");
3662: else if (success == 2)
3663: {
3664: error ("duplicate case value");
3665: error_with_decl (duplicate, "this is the first entry for that value");
3666: }
3667: else if (success == 3)
3668: warning ("case value out of range");
3669: else if (success == 5)
3670: error ("case label within scope of cleanup or variable array");
3671: }
3672: position_after_white_space (); ;
3673: break;}
1.1.1.7 ! root 3674: case 336:
! 3675: #line 1865 "objc-parse.y"
1.1 root 3676: { register tree value1 = check_case_value (yyvsp[-3].ttype);
3677: register tree value2 = check_case_value (yyvsp[-1].ttype);
3678: register tree label
3679: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
3680:
3681: stmt_count++;
3682:
3683: if (value1 != error_mark_node && value2 != error_mark_node)
3684: {
3685: tree duplicate;
1.1.1.6 root 3686: int success = pushcase_range (value1, value2,
3687: convert_and_check, label,
1.1 root 3688: &duplicate);
3689: if (success == 1)
3690: error ("case label not within a switch statement");
3691: else if (success == 2)
3692: {
3693: error ("duplicate case value");
1.1.1.4 root 3694: error_with_decl (duplicate, "this is the first entry for that value");
1.1 root 3695: }
3696: else if (success == 3)
3697: warning ("case value out of range");
3698: else if (success == 4)
3699: warning ("empty case range");
3700: else if (success == 5)
3701: error ("case label within scope of cleanup or variable array");
3702: }
3703: position_after_white_space (); ;
3704: break;}
1.1.1.7 ! root 3705: case 337:
! 3706: #line 1894 "objc-parse.y"
1.1 root 3707: {
3708: tree duplicate;
3709: register tree label
3710: = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
1.1.1.6 root 3711: int success = pushcase (NULL_TREE, 0, label, &duplicate);
1.1 root 3712: stmt_count++;
3713: if (success == 1)
3714: error ("default label not within a switch statement");
3715: else if (success == 2)
3716: {
3717: error ("multiple default labels in one switch");
1.1.1.4 root 3718: error_with_decl (duplicate, "this is the first default label");
1.1 root 3719: }
3720: position_after_white_space (); ;
3721: break;}
1.1.1.7 ! root 3722: case 338:
! 3723: #line 1909 "objc-parse.y"
1.1 root 3724: { tree label = define_label (input_filename, lineno, yyvsp[-1].ttype);
3725: stmt_count++;
3726: emit_nop ();
3727: if (label)
3728: expand_label (label);
3729: position_after_white_space (); ;
3730: break;}
1.1.1.7 ! root 3731: case 339:
! 3732: #line 1921 "objc-parse.y"
1.1.1.6 root 3733: { emit_line_note (input_filename, lineno);
3734: yyval.ttype = NULL_TREE; ;
1.1 root 3735: break;}
1.1.1.7 ! root 3736: case 340:
! 3737: #line 1924 "objc-parse.y"
1.1.1.4 root 3738: { emit_line_note (input_filename, lineno); ;
1.1 root 3739: break;}
1.1.1.7 ! root 3740: case 341:
! 3741: #line 1929 "objc-parse.y"
1.1 root 3742: { yyval.ttype = NULL_TREE; ;
3743: break;}
1.1.1.7 ! root 3744: case 343:
! 3745: #line 1936 "objc-parse.y"
1.1 root 3746: { yyval.ttype = NULL_TREE; ;
3747: break;}
1.1.1.7 ! root 3748: case 346:
! 3749: #line 1943 "objc-parse.y"
1.1 root 3750: { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
3751: break;}
1.1.1.7 ! root 3752: case 347:
! 3753: #line 1948 "objc-parse.y"
1.1 root 3754: { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
3755: break;}
1.1.1.7 ! root 3756: case 348:
! 3757: #line 1953 "objc-parse.y"
1.1 root 3758: { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
3759: break;}
1.1.1.7 ! root 3760: case 349:
! 3761: #line 1955 "objc-parse.y"
1.1 root 3762: { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
3763: break;}
1.1.1.7 ! root 3764: case 350:
! 3765: #line 1961 "objc-parse.y"
1.1 root 3766: { pushlevel (0);
1.1.1.4 root 3767: clear_parm_order ();
1.1 root 3768: declare_parm_level (0); ;
3769: break;}
1.1.1.7 ! root 3770: case 351:
! 3771: #line 1965 "objc-parse.y"
1.1 root 3772: { yyval.ttype = yyvsp[0].ttype;
3773: parmlist_tags_warning ();
3774: poplevel (0, 0, 0); ;
3775: break;}
1.1.1.7 ! root 3776: case 353:
! 3777: #line 1973 "objc-parse.y"
1.1.1.4 root 3778: { tree parm;
3779: if (pedantic)
3780: pedwarn ("ANSI C forbids forward parameter declarations");
3781: /* Mark the forward decls as such. */
3782: for (parm = getdecls (); parm; parm = TREE_CHAIN (parm))
3783: TREE_ASM_WRITTEN (parm) = 1;
3784: clear_parm_order (); ;
1.1 root 3785: break;}
1.1.1.7 ! root 3786: case 354:
! 3787: #line 1981 "objc-parse.y"
1.1.1.4 root 3788: { yyval.ttype = yyvsp[0].ttype; ;
1.1 root 3789: break;}
1.1.1.7 ! root 3790: case 355:
! 3791: #line 1983 "objc-parse.y"
1.1 root 3792: { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
3793: break;}
1.1.1.7 ! root 3794: case 356:
! 3795: #line 1989 "objc-parse.y"
1.1 root 3796: { yyval.ttype = get_parm_info (0); ;
3797: break;}
1.1.1.7 ! root 3798: case 357:
! 3799: #line 1991 "objc-parse.y"
1.1.1.4 root 3800: { yyval.ttype = get_parm_info (0);
1.1.1.7 ! root 3801: /* Gcc used to allow this as an extension. However, it does
! 3802: not work for all targets, and thus has been disabled.
! 3803: Also, since func (...) and func () are indistinguishable,
! 3804: it caused problems with the code in expand_builtin which
! 3805: tries to verify that BUILT_IN_NEXT_ARG is being used
! 3806: correctly. */
! 3807: error ("ANSI C requires a named argument before `...'");
1.1.1.4 root 3808: ;
3809: break;}
1.1.1.7 ! root 3810: case 358:
! 3811: #line 2001 "objc-parse.y"
1.1 root 3812: { yyval.ttype = get_parm_info (1); ;
3813: break;}
1.1.1.7 ! root 3814: case 359:
! 3815: #line 2003 "objc-parse.y"
1.1 root 3816: { yyval.ttype = get_parm_info (0); ;
3817: break;}
1.1.1.7 ! root 3818: case 360:
! 3819: #line 2008 "objc-parse.y"
1.1 root 3820: { push_parm_decl (yyvsp[0].ttype); ;
3821: break;}
1.1.1.7 ! root 3822: case 361:
! 3823: #line 2010 "objc-parse.y"
1.1 root 3824: { push_parm_decl (yyvsp[0].ttype); ;
3825: break;}
1.1.1.7 ! root 3826: case 362:
! 3827: #line 2017 "objc-parse.y"
1.1 root 3828: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype) ; ;
3829: break;}
1.1.1.7 ! root 3830: case 363:
! 3831: #line 2019 "objc-parse.y"
1.1 root 3832: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype) ; ;
3833: break;}
1.1.1.7 ! root 3834: case 364:
! 3835: #line 2021 "objc-parse.y"
1.1 root 3836: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3837: break;}
1.1.1.7 ! root 3838: case 365:
! 3839: #line 2023 "objc-parse.y"
1.1 root 3840: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype) ; ;
3841: break;}
1.1.1.7 ! root 3842: case 366:
! 3843: #line 2025 "objc-parse.y"
1.1 root 3844: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
3845: break;}
1.1.1.7 ! root 3846: case 367:
! 3847: #line 2032 "objc-parse.y"
1.1.1.4 root 3848: { pushlevel (0);
3849: clear_parm_order ();
3850: declare_parm_level (1); ;
3851: break;}
1.1.1.7 ! root 3852: case 368:
! 3853: #line 2036 "objc-parse.y"
1.1.1.4 root 3854: { yyval.ttype = yyvsp[0].ttype;
3855: parmlist_tags_warning ();
3856: poplevel (0, 0, 0); ;
3857: break;}
1.1.1.7 ! root 3858: case 370:
! 3859: #line 2044 "objc-parse.y"
1.1.1.4 root 3860: { tree t;
3861: for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
3862: if (TREE_VALUE (t) == NULL_TREE)
3863: error ("`...' in old-style identifier list");
3864: yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
3865: break;}
1.1.1.7 ! root 3866: case 371:
! 3867: #line 2054 "objc-parse.y"
1.1 root 3868: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
3869: break;}
1.1.1.7 ! root 3870: case 372:
! 3871: #line 2056 "objc-parse.y"
1.1 root 3872: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
3873: break;}
1.1.1.7 ! root 3874: case 373:
! 3875: #line 2062 "objc-parse.y"
1.1.1.4 root 3876: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
3877: break;}
1.1.1.7 ! root 3878: case 374:
! 3879: #line 2064 "objc-parse.y"
1.1.1.4 root 3880: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
3881: break;}
1.1.1.7 ! root 3882: case 380:
! 3883: #line 2076 "objc-parse.y"
1.1 root 3884: {
3885: if (objc_implementation_context)
3886: {
3887: finish_class (objc_implementation_context);
3888: objc_ivar_chain = NULL_TREE;
3889: objc_implementation_context = NULL_TREE;
3890: }
3891: else
3892: warning ("`@end' must appear in an implementation context");
3893: ;
3894: break;}
1.1.1.7 ! root 3895: case 381:
! 3896: #line 2091 "objc-parse.y"
1.1.1.5 root 3897: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
3898: break;}
1.1.1.7 ! root 3899: case 382:
! 3900: #line 2093 "objc-parse.y"
1.1.1.5 root 3901: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
3902: break;}
1.1.1.7 ! root 3903: case 383:
! 3904: #line 2098 "objc-parse.y"
1.1.1.5 root 3905: {
3906: objc_declare_class (yyvsp[-1].ttype);
3907: ;
3908: break;}
1.1.1.7 ! root 3909: case 384:
! 3910: #line 2104 "objc-parse.y"
1.1.1.5 root 3911: {
3912: objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype);
3913: ;
3914: break;}
1.1.1.7 ! root 3915: case 385:
! 3916: #line 2110 "objc-parse.y"
1.1 root 3917: {
3918: objc_interface_context = objc_ivar_context
1.1.1.5 root 3919: = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
1.1 root 3920: objc_public_flag = 0;
3921: ;
3922: break;}
1.1.1.7 ! root 3923: case 386:
! 3924: #line 2116 "objc-parse.y"
1.1 root 3925: {
3926: continue_class (objc_interface_context);
3927: ;
3928: break;}
1.1.1.7 ! root 3929: case 387:
! 3930: #line 2121 "objc-parse.y"
1.1 root 3931: {
3932: finish_class (objc_interface_context);
3933: objc_interface_context = NULL_TREE;
3934: ;
3935: break;}
1.1.1.7 ! root 3936: case 388:
! 3937: #line 2127 "objc-parse.y"
1.1 root 3938: {
3939: objc_interface_context
1.1.1.5 root 3940: = start_class (CLASS_INTERFACE_TYPE, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype);
1.1 root 3941: continue_class (objc_interface_context);
3942: ;
3943: break;}
1.1.1.7 ! root 3944: case 389:
! 3945: #line 2134 "objc-parse.y"
1.1 root 3946: {
3947: finish_class (objc_interface_context);
3948: objc_interface_context = NULL_TREE;
3949: ;
3950: break;}
1.1.1.7 ! root 3951: case 390:
! 3952: #line 2140 "objc-parse.y"
1.1 root 3953: {
3954: objc_interface_context = objc_ivar_context
1.1.1.5 root 3955: = start_class (CLASS_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype);
1.1 root 3956: objc_public_flag = 0;
3957: ;
3958: break;}
1.1.1.7 ! root 3959: case 391:
! 3960: #line 2146 "objc-parse.y"
1.1 root 3961: {
3962: continue_class (objc_interface_context);
3963: ;
3964: break;}
1.1.1.7 ! root 3965: case 392:
! 3966: #line 2151 "objc-parse.y"
1.1 root 3967: {
3968: finish_class (objc_interface_context);
3969: objc_interface_context = NULL_TREE;
3970: ;
3971: break;}
1.1.1.7 ! root 3972: case 393:
! 3973: #line 2157 "objc-parse.y"
1.1 root 3974: {
3975: objc_interface_context
1.1.1.5 root 3976: = start_class (CLASS_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
1.1 root 3977: continue_class (objc_interface_context);
3978: ;
3979: break;}
1.1.1.7 ! root 3980: case 394:
! 3981: #line 2164 "objc-parse.y"
1.1 root 3982: {
3983: finish_class (objc_interface_context);
3984: objc_interface_context = NULL_TREE;
3985: ;
3986: break;}
1.1.1.7 ! root 3987: case 395:
! 3988: #line 2170 "objc-parse.y"
1.1 root 3989: {
3990: objc_implementation_context = objc_ivar_context
1.1.1.5 root 3991: = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
1.1 root 3992: objc_public_flag = 0;
3993: ;
3994: break;}
1.1.1.7 ! root 3995: case 396:
! 3996: #line 2176 "objc-parse.y"
1.1 root 3997: {
3998: objc_ivar_chain
3999: = continue_class (objc_implementation_context);
4000: ;
4001: break;}
1.1.1.7 ! root 4002: case 397:
! 4003: #line 2182 "objc-parse.y"
1.1 root 4004: {
4005: objc_implementation_context
1.1.1.5 root 4006: = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[0].ttype, NULL_TREE, NULL_TREE);
1.1 root 4007: objc_ivar_chain
4008: = continue_class (objc_implementation_context);
4009: ;
4010: break;}
1.1.1.7 ! root 4011: case 398:
! 4012: #line 2190 "objc-parse.y"
1.1 root 4013: {
4014: objc_implementation_context = objc_ivar_context
1.1.1.5 root 4015: = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
1.1 root 4016: objc_public_flag = 0;
4017: ;
4018: break;}
1.1.1.7 ! root 4019: case 399:
! 4020: #line 2196 "objc-parse.y"
1.1 root 4021: {
4022: objc_ivar_chain
4023: = continue_class (objc_implementation_context);
4024: ;
4025: break;}
1.1.1.7 ! root 4026: case 400:
! 4027: #line 2202 "objc-parse.y"
1.1 root 4028: {
4029: objc_implementation_context
1.1.1.5 root 4030: = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
1.1 root 4031: objc_ivar_chain
4032: = continue_class (objc_implementation_context);
4033: ;
4034: break;}
1.1.1.7 ! root 4035: case 401:
! 4036: #line 2210 "objc-parse.y"
1.1 root 4037: {
4038: objc_interface_context
1.1.1.5 root 4039: = start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
1.1 root 4040: continue_class (objc_interface_context);
4041: ;
4042: break;}
1.1.1.7 ! root 4043: case 402:
! 4044: #line 2217 "objc-parse.y"
1.1 root 4045: {
4046: finish_class (objc_interface_context);
4047: objc_interface_context = NULL_TREE;
4048: ;
4049: break;}
1.1.1.7 ! root 4050: case 403:
! 4051: #line 2223 "objc-parse.y"
1.1 root 4052: {
4053: objc_implementation_context
1.1.1.5 root 4054: = start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
1.1 root 4055: objc_ivar_chain
4056: = continue_class (objc_implementation_context);
4057: ;
4058: break;}
1.1.1.7 ! root 4059: case 404:
! 4060: #line 2233 "objc-parse.y"
1.1.1.5 root 4061: {
4062: remember_protocol_qualifiers ();
4063: objc_interface_context
4064: = start_protocol(PROTOCOL_INTERFACE_TYPE, yyvsp[-1].ttype, yyvsp[0].ttype);
4065: ;
4066: break;}
1.1.1.7 ! root 4067: case 405:
! 4068: #line 2239 "objc-parse.y"
1.1.1.5 root 4069: {
4070: forget_protocol_qualifiers();
4071: finish_protocol(objc_interface_context);
4072: objc_interface_context = NULL_TREE;
4073: ;
4074: break;}
1.1.1.7 ! root 4075: case 406:
! 4076: #line 2248 "objc-parse.y"
1.1.1.5 root 4077: {
4078: yyval.ttype = NULL_TREE;
4079: ;
4080: break;}
1.1.1.7 ! root 4081: case 407:
! 4082: #line 2252 "objc-parse.y"
1.1.1.5 root 4083: {
4084: if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR)
4085: yyval.ttype = yyvsp[-1].ttype;
4086: else
4087: YYERROR1;
4088: ;
4089: break;}
1.1.1.7 ! root 4090: case 410:
! 4091: #line 2266 "objc-parse.y"
1.1.1.5 root 4092: { objc_public_flag = 2; ;
4093: break;}
1.1.1.7 ! root 4094: case 411:
! 4095: #line 2267 "objc-parse.y"
1.1.1.5 root 4096: { objc_public_flag = 0; ;
4097: break;}
1.1.1.7 ! root 4098: case 412:
! 4099: #line 2268 "objc-parse.y"
1.1 root 4100: { objc_public_flag = 1; ;
4101: break;}
1.1.1.7 ! root 4102: case 413:
! 4103: #line 2273 "objc-parse.y"
1.1 root 4104: {
4105: yyval.ttype = NULL_TREE;
4106: ;
4107: break;}
1.1.1.7 ! root 4108: case 415:
! 4109: #line 2278 "objc-parse.y"
1.1 root 4110: {
4111: if (pedantic)
1.1.1.5 root 4112: pedwarn ("extra semicolon in struct or union specified");
1.1 root 4113: ;
4114: break;}
1.1.1.7 ! root 4115: case 416:
! 4116: #line 2296 "objc-parse.y"
1.1 root 4117: {
4118: yyval.ttype = yyvsp[0].ttype;
4119: resume_momentary (yyvsp[-1].itype);
4120: ;
4121: break;}
1.1.1.7 ! root 4122: case 417:
! 4123: #line 2301 "objc-parse.y"
1.1 root 4124: {
4125: yyval.ttype = yyvsp[0].ttype;
4126: resume_momentary (yyvsp[-1].itype);
4127: ;
4128: break;}
1.1.1.7 ! root 4129: case 418:
! 4130: #line 2306 "objc-parse.y"
1.1 root 4131: { yyval.ttype = NULL_TREE; ;
4132: break;}
1.1.1.7 ! root 4133: case 419:
! 4134: #line 2311 "objc-parse.y"
1.1 root 4135: { yyval.ttype = NULL_TREE; ;
4136: break;}
1.1.1.7 ! root 4137: case 422:
! 4138: #line 2318 "objc-parse.y"
1.1 root 4139: {
4140: yyval.ttype = add_instance_variable (objc_ivar_context,
4141: objc_public_flag,
4142: yyvsp[0].ttype, current_declspecs,
4143: NULL_TREE);
4144: ;
4145: break;}
1.1.1.7 ! root 4146: case 423:
! 4147: #line 2325 "objc-parse.y"
1.1 root 4148: {
4149: yyval.ttype = add_instance_variable (objc_ivar_context,
4150: objc_public_flag,
4151: yyvsp[-2].ttype, current_declspecs, yyvsp[0].ttype);
4152: ;
4153: break;}
1.1.1.7 ! root 4154: case 424:
! 4155: #line 2331 "objc-parse.y"
1.1 root 4156: {
4157: yyval.ttype = add_instance_variable (objc_ivar_context,
4158: objc_public_flag,
4159: NULL_TREE,
4160: current_declspecs, yyvsp[0].ttype);
4161: ;
4162: break;}
1.1.1.7 ! root 4163: case 425:
! 4164: #line 2341 "objc-parse.y"
1.1 root 4165: {
1.1.1.5 root 4166: remember_protocol_qualifiers ();
1.1 root 4167: if (objc_implementation_context)
4168: objc_inherit_code = CLASS_METHOD_DECL;
4169: else
4170: fatal ("method definition not in class context");
4171: ;
4172: break;}
1.1.1.7 ! root 4173: case 426:
! 4174: #line 2349 "objc-parse.y"
1.1 root 4175: {
1.1.1.5 root 4176: forget_protocol_qualifiers ();
1.1 root 4177: add_class_method (objc_implementation_context, yyvsp[0].ttype);
4178: start_method_def (yyvsp[0].ttype);
4179: objc_method_context = yyvsp[0].ttype;
4180: ;
4181: break;}
1.1.1.7 ! root 4182: case 427:
! 4183: #line 2356 "objc-parse.y"
1.1 root 4184: {
4185: continue_method_def ();
4186: ;
4187: break;}
1.1.1.7 ! root 4188: case 428:
! 4189: #line 2360 "objc-parse.y"
1.1 root 4190: {
4191: finish_method_def ();
4192: objc_method_context = NULL_TREE;
4193: ;
4194: break;}
1.1.1.7 ! root 4195: case 429:
! 4196: #line 2366 "objc-parse.y"
1.1 root 4197: {
1.1.1.5 root 4198: remember_protocol_qualifiers ();
1.1 root 4199: if (objc_implementation_context)
4200: objc_inherit_code = INSTANCE_METHOD_DECL;
4201: else
4202: fatal ("method definition not in class context");
4203: ;
4204: break;}
1.1.1.7 ! root 4205: case 430:
! 4206: #line 2374 "objc-parse.y"
1.1 root 4207: {
1.1.1.5 root 4208: forget_protocol_qualifiers ();
1.1 root 4209: add_instance_method (objc_implementation_context, yyvsp[0].ttype);
4210: start_method_def (yyvsp[0].ttype);
4211: objc_method_context = yyvsp[0].ttype;
4212: ;
4213: break;}
1.1.1.7 ! root 4214: case 431:
! 4215: #line 2381 "objc-parse.y"
1.1 root 4216: {
4217: continue_method_def ();
4218: ;
4219: break;}
1.1.1.7 ! root 4220: case 432:
! 4221: #line 2385 "objc-parse.y"
1.1 root 4222: {
4223: finish_method_def ();
4224: objc_method_context = NULL_TREE;
4225: ;
4226: break;}
1.1.1.7 ! root 4227: case 434:
! 4228: #line 2397 "objc-parse.y"
1.1 root 4229: {yyval.ttype = NULL_TREE; ;
4230: break;}
1.1.1.7 ! root 4231: case 439:
! 4232: #line 2404 "objc-parse.y"
1.1 root 4233: {yyval.ttype = NULL_TREE; ;
4234: break;}
1.1.1.7 ! root 4235: case 443:
! 4236: #line 2414 "objc-parse.y"
1.1 root 4237: {
4238: objc_inherit_code = CLASS_METHOD_DECL;
4239: ;
4240: break;}
1.1.1.7 ! root 4241: case 444:
! 4242: #line 2418 "objc-parse.y"
1.1 root 4243: {
4244: add_class_method (objc_interface_context, yyvsp[0].ttype);
4245: ;
4246: break;}
1.1.1.7 ! root 4247: case 446:
! 4248: #line 2424 "objc-parse.y"
1.1 root 4249: {
4250: objc_inherit_code = INSTANCE_METHOD_DECL;
4251: ;
4252: break;}
1.1.1.7 ! root 4253: case 447:
! 4254: #line 2428 "objc-parse.y"
1.1 root 4255: {
4256: add_instance_method (objc_interface_context, yyvsp[0].ttype);
4257: ;
4258: break;}
1.1.1.7 ! root 4259: case 449:
! 4260: #line 2436 "objc-parse.y"
1.1 root 4261: {
4262: yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
4263: ;
4264: break;}
1.1.1.7 ! root 4265: case 450:
! 4266: #line 2441 "objc-parse.y"
1.1 root 4267: {
4268: yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE);
4269: ;
4270: break;}
1.1.1.7 ! root 4271: case 451:
! 4272: #line 2446 "objc-parse.y"
1.1 root 4273: {
4274: yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
4275: ;
4276: break;}
1.1.1.7 ! root 4277: case 452:
! 4278: #line 2451 "objc-parse.y"
1.1 root 4279: {
4280: yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype);
4281: ;
4282: break;}
1.1.1.7 ! root 4283: case 461:
! 4284: #line 2481 "objc-parse.y"
1.1 root 4285: { resume_momentary (yyvsp[-2].itype); ;
4286: break;}
1.1.1.7 ! root 4287: case 462:
! 4288: #line 2483 "objc-parse.y"
1.1 root 4289: { shadow_tag (yyvsp[-1].ttype); ;
4290: break;}
1.1.1.7 ! root 4291: case 463:
! 4292: #line 2485 "objc-parse.y"
1.1.1.4 root 4293: { pedwarn ("empty declaration"); ;
1.1 root 4294: break;}
1.1.1.7 ! root 4295: case 464:
! 4296: #line 2490 "objc-parse.y"
1.1 root 4297: { push_parm_decl (yyvsp[0].ttype); ;
4298: break;}
1.1.1.7 ! root 4299: case 465:
! 4300: #line 2492 "objc-parse.y"
1.1 root 4301: { push_parm_decl (yyvsp[0].ttype); ;
4302: break;}
1.1.1.7 ! root 4303: case 466:
! 4304: #line 2500 "objc-parse.y"
1.1 root 4305: { yyval.ttype = build_tree_list (current_declspecs, yyvsp[0].ttype) ; ;
4306: break;}
1.1.1.7 ! root 4307: case 467:
! 4308: #line 2502 "objc-parse.y"
1.1 root 4309: { yyval.ttype = build_tree_list (current_declspecs, yyvsp[0].ttype) ; ;
4310: break;}
1.1.1.7 ! root 4311: case 468:
! 4312: #line 2504 "objc-parse.y"
1.1 root 4313: { yyval.ttype = build_tree_list (current_declspecs, yyvsp[0].ttype) ; ;
4314: break;}
1.1.1.7 ! root 4315: case 469:
! 4316: #line 2509 "objc-parse.y"
1.1 root 4317: {
4318: yyval.ttype = NULL_TREE;
4319: ;
4320: break;}
1.1.1.7 ! root 4321: case 470:
! 4322: #line 2513 "objc-parse.y"
1.1 root 4323: {
4324: /* oh what a kludge! */
4325: yyval.ttype = (tree)1;
4326: ;
4327: break;}
1.1.1.7 ! root 4328: case 471:
! 4329: #line 2518 "objc-parse.y"
1.1 root 4330: {
4331: pushlevel (0);
4332: ;
4333: break;}
1.1.1.7 ! root 4334: case 472:
! 4335: #line 2522 "objc-parse.y"
1.1 root 4336: {
4337: /* returns a tree list node generated by get_parm_info */
4338: yyval.ttype = yyvsp[0].ttype;
4339: poplevel (0, 0, 0);
4340: ;
4341: break;}
1.1.1.7 ! root 4342: case 475:
! 4343: #line 2537 "objc-parse.y"
1.1 root 4344: {
4345: yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
4346: ;
4347: break;}
1.1.1.7 ! root 4348: case 480:
! 4349: #line 2550 "objc-parse.y"
1.1 root 4350: { yyval.ttype = get_identifier (token_buffer); ;
4351: break;}
1.1.1.7 ! root 4352: case 481:
! 4353: #line 2551 "objc-parse.y"
1.1 root 4354: { yyval.ttype = get_identifier (token_buffer); ;
4355: break;}
1.1.1.7 ! root 4356: case 482:
! 4357: #line 2552 "objc-parse.y"
1.1 root 4358: { yyval.ttype = get_identifier (token_buffer); ;
4359: break;}
1.1.1.7 ! root 4360: case 483:
! 4361: #line 2553 "objc-parse.y"
1.1 root 4362: { yyval.ttype = get_identifier (token_buffer); ;
4363: break;}
1.1.1.7 ! root 4364: case 484:
! 4365: #line 2554 "objc-parse.y"
1.1 root 4366: { yyval.ttype = get_identifier (token_buffer); ;
4367: break;}
1.1.1.7 ! root 4368: case 485:
! 4369: #line 2555 "objc-parse.y"
1.1 root 4370: { yyval.ttype = get_identifier (token_buffer); ;
4371: break;}
1.1.1.7 ! root 4372: case 486:
! 4373: #line 2556 "objc-parse.y"
1.1 root 4374: { yyval.ttype = get_identifier (token_buffer); ;
4375: break;}
1.1.1.7 ! root 4376: case 487:
! 4377: #line 2557 "objc-parse.y"
1.1 root 4378: { yyval.ttype = get_identifier (token_buffer); ;
4379: break;}
1.1.1.7 ! root 4380: case 488:
! 4381: #line 2558 "objc-parse.y"
1.1 root 4382: { yyval.ttype = get_identifier (token_buffer); ;
4383: break;}
1.1.1.7 ! root 4384: case 489:
! 4385: #line 2559 "objc-parse.y"
1.1 root 4386: { yyval.ttype = get_identifier (token_buffer); ;
4387: break;}
1.1.1.7 ! root 4388: case 490:
! 4389: #line 2560 "objc-parse.y"
1.1 root 4390: { yyval.ttype = get_identifier (token_buffer); ;
4391: break;}
1.1.1.7 ! root 4392: case 491:
! 4393: #line 2561 "objc-parse.y"
1.1 root 4394: { yyval.ttype = get_identifier (token_buffer); ;
4395: break;}
1.1.1.7 ! root 4396: case 492:
! 4397: #line 2562 "objc-parse.y"
1.1 root 4398: { yyval.ttype = get_identifier (token_buffer); ;
4399: break;}
1.1.1.7 ! root 4400: case 493:
! 4401: #line 2563 "objc-parse.y"
1.1 root 4402: { yyval.ttype = get_identifier (token_buffer); ;
4403: break;}
1.1.1.7 ! root 4404: case 494:
! 4405: #line 2564 "objc-parse.y"
1.1 root 4406: { yyval.ttype = get_identifier (token_buffer); ;
4407: break;}
1.1.1.7 ! root 4408: case 495:
! 4409: #line 2565 "objc-parse.y"
1.1 root 4410: { yyval.ttype = get_identifier (token_buffer); ;
4411: break;}
1.1.1.7 ! root 4412: case 496:
! 4413: #line 2566 "objc-parse.y"
1.1 root 4414: { yyval.ttype = get_identifier (token_buffer); ;
4415: break;}
1.1.1.7 ! root 4416: case 497:
! 4417: #line 2567 "objc-parse.y"
1.1 root 4418: { yyval.ttype = get_identifier (token_buffer); ;
4419: break;}
1.1.1.7 ! root 4420: case 498:
! 4421: #line 2568 "objc-parse.y"
1.1 root 4422: { yyval.ttype = get_identifier (token_buffer); ;
4423: break;}
1.1.1.7 ! root 4424: case 501:
! 4425: #line 2574 "objc-parse.y"
1.1 root 4426: {
4427: yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
4428: ;
4429: break;}
1.1.1.7 ! root 4430: case 502:
! 4431: #line 2579 "objc-parse.y"
1.1 root 4432: {
4433: yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
4434: ;
4435: break;}
1.1.1.7 ! root 4436: case 503:
! 4437: #line 2584 "objc-parse.y"
1.1 root 4438: {
4439: yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype);
4440: ;
4441: break;}
1.1.1.7 ! root 4442: case 504:
! 4443: #line 2589 "objc-parse.y"
1.1 root 4444: {
4445: yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype);
4446: ;
4447: break;}
1.1.1.7 ! root 4448: case 508:
! 4449: #line 2602 "objc-parse.y"
1.1 root 4450: {
4451: yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
4452: ;
4453: break;}
1.1.1.7 ! root 4454: case 509:
! 4455: #line 2610 "objc-parse.y"
1.1 root 4456: {
4457: if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE)
4458: /* just return the expr., remove a level of indirection */
4459: yyval.ttype = TREE_VALUE (yyvsp[0].ttype);
4460: else
4461: /* we have a comma expr., we will collapse later */
4462: yyval.ttype = yyvsp[0].ttype;
4463: ;
4464: break;}
1.1.1.7 ! root 4465: case 510:
! 4466: #line 2622 "objc-parse.y"
1.1 root 4467: {
4468: yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
4469: ;
4470: break;}
1.1.1.7 ! root 4471: case 511:
! 4472: #line 2626 "objc-parse.y"
1.1 root 4473: {
4474: yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
4475: ;
4476: break;}
1.1.1.7 ! root 4477: case 513:
! 4478: #line 2634 "objc-parse.y"
1.1 root 4479: {
4480: yyval.ttype = get_class_reference (yyvsp[0].ttype);
4481: ;
4482: break;}
1.1.1.7 ! root 4483: case 514:
! 4484: #line 2641 "objc-parse.y"
1.1 root 4485: { objc_receiver_context = 1; ;
4486: break;}
1.1.1.7 ! root 4487: case 515:
! 4488: #line 2643 "objc-parse.y"
1.1 root 4489: { objc_receiver_context = 0; ;
4490: break;}
1.1.1.7 ! root 4491: case 516:
! 4492: #line 2645 "objc-parse.y"
1.1 root 4493: {
4494: yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype);
4495: ;
4496: break;}
1.1.1.7 ! root 4497: case 520:
! 4498: #line 2658 "objc-parse.y"
1.1 root 4499: {
4500: yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
4501: ;
4502: break;}
1.1.1.7 ! root 4503: case 521:
! 4504: #line 2665 "objc-parse.y"
1.1 root 4505: {
4506: yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE);
4507: ;
4508: break;}
1.1.1.7 ! root 4509: case 522:
! 4510: #line 2669 "objc-parse.y"
1.1 root 4511: {
4512: yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE);
4513: ;
4514: break;}
1.1.1.7 ! root 4515: case 523:
! 4516: #line 2676 "objc-parse.y"
1.1 root 4517: {
4518: yyval.ttype = yyvsp[-1].ttype;
4519: ;
4520: break;}
1.1.1.7 ! root 4521: case 524:
! 4522: #line 2683 "objc-parse.y"
1.1.1.5 root 4523: {
4524: yyval.ttype = yyvsp[-1].ttype;
4525: ;
4526: break;}
1.1.1.7 ! root 4527: case 525:
! 4528: #line 2692 "objc-parse.y"
1.1 root 4529: {
4530: yyval.ttype = groktypename (yyvsp[-1].ttype);
4531: ;
4532: break;}
4533: }
4534: /* the action file gets copied in in place of this dollarsign */
1.1.1.6 root 4535: #line 480 "/usr/local/lib/bison.simple"
1.1 root 4536:
4537: yyvsp -= yylen;
4538: yyssp -= yylen;
4539: #ifdef YYLSP_NEEDED
4540: yylsp -= yylen;
4541: #endif
4542:
4543: #if YYDEBUG != 0
4544: if (yydebug)
4545: {
4546: short *ssp1 = yyss - 1;
4547: fprintf (stderr, "state stack now");
4548: while (ssp1 != yyssp)
4549: fprintf (stderr, " %d", *++ssp1);
4550: fprintf (stderr, "\n");
4551: }
4552: #endif
4553:
4554: *++yyvsp = yyval;
4555:
4556: #ifdef YYLSP_NEEDED
4557: yylsp++;
4558: if (yylen == 0)
4559: {
4560: yylsp->first_line = yylloc.first_line;
4561: yylsp->first_column = yylloc.first_column;
4562: yylsp->last_line = (yylsp-1)->last_line;
4563: yylsp->last_column = (yylsp-1)->last_column;
4564: yylsp->text = 0;
4565: }
4566: else
4567: {
4568: yylsp->last_line = (yylsp+yylen-1)->last_line;
4569: yylsp->last_column = (yylsp+yylen-1)->last_column;
4570: }
4571: #endif
4572:
4573: /* Now "shift" the result of the reduction.
4574: Determine what state that goes to,
4575: based on the state we popped back to
4576: and the rule number reduced by. */
4577:
4578: yyn = yyr1[yyn];
4579:
4580: yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
4581: if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
4582: yystate = yytable[yystate];
4583: else
4584: yystate = yydefgoto[yyn - YYNTBASE];
4585:
4586: goto yynewstate;
4587:
4588: yyerrlab: /* here on detecting error */
4589:
4590: if (! yyerrstatus)
4591: /* If not already recovering from an error, report this error. */
4592: {
4593: ++yynerrs;
4594:
4595: #ifdef YYERROR_VERBOSE
4596: yyn = yypact[yystate];
4597:
4598: if (yyn > YYFLAG && yyn < YYLAST)
4599: {
4600: int size = 0;
4601: char *msg;
4602: int x, count;
4603:
4604: count = 0;
1.1.1.6 root 4605: /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
4606: for (x = (yyn < 0 ? -yyn : 0);
4607: x < (sizeof(yytname) / sizeof(char *)); x++)
1.1 root 4608: if (yycheck[x + yyn] == x)
4609: size += strlen(yytname[x]) + 15, count++;
4610: msg = (char *) malloc(size + 15);
4611: if (msg != 0)
4612: {
4613: strcpy(msg, "parse error");
4614:
4615: if (count < 5)
4616: {
4617: count = 0;
1.1.1.6 root 4618: for (x = (yyn < 0 ? -yyn : 0);
4619: x < (sizeof(yytname) / sizeof(char *)); x++)
1.1 root 4620: if (yycheck[x + yyn] == x)
4621: {
4622: strcat(msg, count == 0 ? ", expecting `" : " or `");
4623: strcat(msg, yytname[x]);
4624: strcat(msg, "'");
4625: count++;
4626: }
4627: }
4628: yyerror(msg);
4629: free(msg);
4630: }
4631: else
4632: yyerror ("parse error; also virtual memory exceeded");
4633: }
4634: else
4635: #endif /* YYERROR_VERBOSE */
4636: yyerror("parse error");
4637: }
4638:
1.1.1.6 root 4639: goto yyerrlab1;
1.1 root 4640: yyerrlab1: /* here on error raised explicitly by an action */
4641:
4642: if (yyerrstatus == 3)
4643: {
4644: /* if just tried and failed to reuse lookahead token after an error, discard it. */
4645:
4646: /* return failure if at end of input */
4647: if (yychar == YYEOF)
4648: YYABORT;
4649:
4650: #if YYDEBUG != 0
4651: if (yydebug)
4652: fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
4653: #endif
4654:
4655: yychar = YYEMPTY;
4656: }
4657:
4658: /* Else will try to reuse lookahead token
4659: after shifting the error token. */
4660:
4661: yyerrstatus = 3; /* Each real token shifted decrements this */
4662:
4663: goto yyerrhandle;
4664:
4665: yyerrdefault: /* current state does not do anything special for the error token. */
4666:
4667: #if 0
4668: /* This is wrong; only states that explicitly want error tokens
4669: should shift them. */
4670: yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
4671: if (yyn) goto yydefault;
4672: #endif
4673:
4674: yyerrpop: /* pop the current state because it cannot handle the error token */
4675:
4676: if (yyssp == yyss) YYABORT;
4677: yyvsp--;
4678: yystate = *--yyssp;
4679: #ifdef YYLSP_NEEDED
4680: yylsp--;
4681: #endif
4682:
4683: #if YYDEBUG != 0
4684: if (yydebug)
4685: {
4686: short *ssp1 = yyss - 1;
4687: fprintf (stderr, "Error: state stack now");
4688: while (ssp1 != yyssp)
4689: fprintf (stderr, " %d", *++ssp1);
4690: fprintf (stderr, "\n");
4691: }
4692: #endif
4693:
4694: yyerrhandle:
4695:
4696: yyn = yypact[yystate];
4697: if (yyn == YYFLAG)
4698: goto yyerrdefault;
4699:
4700: yyn += YYTERROR;
4701: if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
4702: goto yyerrdefault;
4703:
4704: yyn = yytable[yyn];
4705: if (yyn < 0)
4706: {
4707: if (yyn == YYFLAG)
4708: goto yyerrpop;
4709: yyn = -yyn;
4710: goto yyreduce;
4711: }
4712: else if (yyn == 0)
4713: goto yyerrpop;
4714:
4715: if (yyn == YYFINAL)
4716: YYACCEPT;
4717:
4718: #if YYDEBUG != 0
4719: if (yydebug)
4720: fprintf(stderr, "Shifting error token, ");
4721: #endif
4722:
4723: *++yyvsp = yylval;
4724: #ifdef YYLSP_NEEDED
4725: *++yylsp = yylloc;
4726: #endif
4727:
4728: yystate = yyn;
4729: goto yynewstate;
4730: }
1.1.1.7 ! root 4731: #line 2697 "objc-parse.y"
1.1.1.4 root 4732:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.