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