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