home *** CD-ROM | disk | FTP | other *** search
-
- /* A Bison parser, made from c-parse.y with Bison version GNU Bison version 1.22
- */
-
- #define YYBISON 1 /* Identify Bison output. */
-
- #define IDENTIFIER 258
- #define TYPENAME 259
- #define SCSPEC 260
- #define TYPESPEC 261
- #define TYPE_QUAL 262
- #define CONSTANT 263
- #define STRING 264
- #define ELLIPSIS 265
- #define SIZEOF 266
- #define ENUM 267
- #define STRUCT 268
- #define UNION 269
- #define IF 270
- #define ELSE 271
- #define WHILE 272
- #define DO 273
- #define FOR 274
- #define SWITCH 275
- #define CASE 276
- #define DEFAULT 277
- #define BREAK 278
- #define CONTINUE 279
- #define RETURN 280
- #define GOTO 281
- #define ASM_KEYWORD 282
- #define TYPEOF 283
- #define ALIGNOF 284
- #define ALIGN 285
- #define ATTRIBUTE 286
- #define EXTENSION 287
- #define LABEL 288
- #define ASSIGN 289
- #define OROR 290
- #define ANDAND 291
- #define EQCOMPARE 292
- #define ARITHCOMPARE 293
- #define LSHIFT 294
- #define RSHIFT 295
- #define UNARY 296
- #define PLUSPLUS 297
- #define MINUSMINUS 298
- #define HYPERUNARY 299
- #define POINTSAT 300
- #define INTERFACE 301
- #define IMPLEMENTATION 302
- #define END 303
- #define SELECTOR 304
- #define DEFS 305
- #define ENCODE 306
- #define CLASSNAME 307
- #define PUBLIC 308
-
- #line 44 "c-parse.y"
-
- #include <stdio.h>
- #include <errno.h>
- #include <setjmp.h>
-
- #include "config.h"
- #include "tree.h"
- #include "input.h"
- #include "c-lex.h"
- #include "c-tree.h"
- #include "flags.h"
-
- #ifdef MULTIBYTE_CHARS
- #include <stdlib.h>
- #include <locale.h>
- #endif
-
-
- #ifndef errno
- extern int errno;
- #endif
-
- void yyerror ();
-
- /* Like YYERROR but do call yyerror. */
- #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
-
- /* Cause the `yydebug' variable to be defined. */
- #define YYDEBUG 1
-
- #line 77 "c-parse.y"
- typedef union {long itype; tree ttype; enum tree_code code;
- char *filename; int lineno; } YYSTYPE;
- #line 183 "c-parse.y"
-
- /* Number of statements (loosely speaking) seen so far. */
- static int stmt_count;
-
- /* Input file and line number of the end of the body of last simple_if;
- used by the stmt-rule immediately after simple_if returns. */
- static char *if_stmt_file;
- static int if_stmt_line;
-
- /* List of types and structure classes of the current declaration. */
- static tree current_declspecs;
-
- /* Stack of saved values of current_declspecs. */
- static tree declspec_stack;
-
- /* 1 if we explained undeclared var errors. */
- static int undeclared_variable_notice;
-
-
- /* Tell yyparse how to print a token's value, if yydebug is set. */
-
- #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
- extern void yyprint ();
-
- #ifndef YYLTYPE
- typedef
- struct yyltype
- {
- int timestamp;
- int first_line;
- int first_column;
- int last_line;
- int last_column;
- char *text;
- }
- yyltype;
-
- #define YYLTYPE yyltype
- #endif
-
- #include <stdio.h>
-
- #ifndef __cplusplus
- #ifndef __STDC__
- #define const
- #endif
- #endif
-
-
-
- #define YYFINAL 602
- #define YYFLAG -32768
- #define YYNTBASE 76
-
- #define YYTRANSLATE(x) ((unsigned)(x) <= 308 ? yytranslate[x] : 200)
-
- static const char yytranslate[] = { 0,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 72, 2, 2, 2, 51, 42, 2, 58,
- 68, 49, 47, 73, 48, 57, 50, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 37, 69, 2,
- 35, 2, 36, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 59, 2, 75, 41, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 74, 40, 70, 71, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 38,
- 39, 43, 44, 45, 46, 52, 53, 54, 55, 56,
- 60, 61, 62, 63, 64, 65, 66, 67
- };
-
- #if YYDEBUG != 0
- static const short yyprhs[] = { 0,
- 0, 1, 3, 4, 7, 8, 12, 14, 16, 22,
- 26, 31, 36, 39, 42, 45, 48, 50, 51, 52,
- 60, 65, 66, 67, 75, 80, 81, 82, 89, 93,
- 95, 97, 99, 101, 103, 105, 107, 109, 111, 113,
- 114, 116, 118, 122, 124, 127, 128, 132, 135, 138,
- 141, 146, 149, 154, 156, 161, 169, 171, 175, 179,
- 183, 187, 191, 195, 199, 203, 207, 211, 215, 219,
- 223, 227, 233, 237, 241, 243, 245, 247, 251, 255,
- 256, 261, 266, 271, 275, 279, 282, 285, 287, 290,
- 291, 293, 296, 300, 302, 304, 307, 310, 315, 320,
- 323, 326, 330, 332, 334, 337, 340, 341, 346, 351,
- 355, 359, 362, 365, 368, 372, 373, 376, 379, 381,
- 383, 386, 389, 392, 396, 397, 400, 402, 404, 406,
- 411, 416, 418, 420, 422, 424, 428, 430, 434, 435,
- 440, 441, 448, 452, 453, 460, 464, 465, 472, 474,
- 478, 480, 485, 490, 499, 501, 504, 508, 513, 515,
- 517, 521, 528, 537, 542, 549, 553, 559, 560, 564,
- 565, 569, 571, 573, 577, 581, 586, 590, 594, 596,
- 600, 605, 609, 613, 615, 619, 623, 627, 632, 636,
- 638, 639, 646, 651, 654, 655, 662, 667, 670, 671,
- 679, 680, 687, 690, 691, 693, 694, 696, 698, 701,
- 702, 706, 709, 713, 715, 719, 721, 723, 725, 729,
- 734, 741, 746, 748, 752, 754, 758, 761, 764, 765,
- 767, 769, 772, 773, 776, 780, 784, 787, 791, 796,
- 800, 803, 807, 810, 812, 815, 818, 819, 821, 824,
- 825, 826, 828, 830, 833, 837, 839, 842, 845, 852,
- 858, 864, 867, 870, 875, 876, 881, 882, 883, 887,
- 892, 896, 898, 900, 902, 905, 906, 911, 913, 917,
- 918, 919, 927, 933, 936, 937, 938, 939, 952, 953,
- 960, 963, 966, 969, 973, 980, 989, 1000, 1013, 1017,
- 1022, 1024, 1028, 1034, 1037, 1040, 1041, 1043, 1044, 1046,
- 1047, 1049, 1051, 1055, 1060, 1062, 1066, 1067, 1070, 1073,
- 1074, 1079, 1082, 1083, 1085, 1087, 1091, 1093, 1097, 1100,
- 1103, 1106, 1109, 1112, 1113, 1116, 1118, 1121, 1123, 1127,
- 1129
- };
-
- static const short yyrhs[] = { -1,
- 77, 0, 0, 78, 80, 0, 0, 77, 79, 80,
- 0, 82, 0, 81, 0, 27, 58, 91, 68, 69,
- 0, 107, 117, 69, 0, 111, 107, 117, 69, 0,
- 109, 107, 116, 69, 0, 111, 69, 0, 109, 69,
- 0, 1, 69, 0, 1, 70, 0, 69, 0, 0,
- 0, 109, 107, 132, 83, 101, 84, 162, 0, 109,
- 107, 132, 1, 0, 0, 0, 111, 107, 135, 85,
- 101, 86, 162, 0, 111, 107, 135, 1, 0, 0,
- 0, 107, 135, 87, 101, 88, 162, 0, 107, 135,
- 1, 0, 3, 0, 4, 0, 42, 0, 48, 0,
- 47, 0, 53, 0, 54, 0, 71, 0, 72, 0,
- 93, 0, 0, 93, 0, 97, 0, 93, 73, 97,
- 0, 98, 0, 49, 96, 0, 0, 32, 95, 96,
- 0, 90, 96, 0, 39, 89, 0, 11, 94, 0,
- 11, 58, 150, 68, 0, 29, 94, 0, 29, 58,
- 150, 68, 0, 94, 0, 58, 150, 68, 96, 0,
- 58, 150, 68, 74, 127, 141, 70, 0, 96, 0,
- 97, 47, 97, 0, 97, 48, 97, 0, 97, 49,
- 97, 0, 97, 50, 97, 0, 97, 51, 97, 0,
- 97, 45, 97, 0, 97, 46, 97, 0, 97, 44,
- 97, 0, 97, 43, 97, 0, 97, 42, 97, 0,
- 97, 40, 97, 0, 97, 41, 97, 0, 97, 39,
- 97, 0, 97, 38, 97, 0, 97, 36, 183, 37,
- 97, 0, 97, 35, 97, 0, 97, 34, 97, 0,
- 3, 0, 8, 0, 100, 0, 58, 91, 68, 0,
- 58, 1, 68, 0, 0, 58, 99, 163, 68, 0,
- 98, 58, 92, 68, 0, 98, 59, 91, 75, 0,
- 98, 57, 89, 0, 98, 56, 89, 0, 98, 53,
- 0, 98, 54, 0, 9, 0, 100, 9, 0, 0,
- 103, 0, 103, 10, 0, 168, 169, 104, 0, 102,
- 0, 157, 0, 103, 102, 0, 102, 157, 0, 109,
- 107, 116, 69, 0, 111, 107, 117, 69, 0, 109,
- 69, 0, 111, 69, 0, 168, 169, 108, 0, 105,
- 0, 157, 0, 106, 105, 0, 105, 157, 0, 0,
- 109, 107, 116, 69, 0, 111, 107, 117, 69, 0,
- 109, 107, 128, 0, 111, 107, 130, 0, 109, 69,
- 0, 111, 69, 0, 114, 110, 0, 111, 114, 110,
- 0, 0, 110, 115, 0, 110, 5, 0, 7, 0,
- 5, 0, 111, 7, 0, 111, 5, 0, 114, 113,
- 0, 152, 114, 113, 0, 0, 113, 115, 0, 6,
- 0, 136, 0, 4, 0, 28, 58, 91, 68, 0,
- 28, 58, 150, 68, 0, 6, 0, 7, 0, 136,
- 0, 119, 0, 116, 73, 119, 0, 121, 0, 117,
- 73, 119, 0, 0, 27, 58, 100, 68, 0, 0,
- 132, 118, 123, 35, 120, 126, 0, 132, 118, 123,
- 0, 0, 135, 118, 123, 35, 122, 126, 0, 135,
- 118, 123, 0, 0, 31, 58, 58, 124, 68, 68,
- 0, 125, 0, 124, 73, 125, 0, 3, 0, 3,
- 58, 3, 68, 0, 3, 58, 8, 68, 0, 3,
- 58, 3, 73, 8, 73, 8, 68, 0, 97, 0,
- 74, 70, 0, 74, 127, 70, 0, 74, 127, 73,
- 70, 0, 1, 0, 126, 0, 127, 73, 126, 0,
- 59, 97, 10, 97, 75, 126, 0, 127, 73, 59,
- 97, 10, 97, 75, 126, 0, 59, 97, 75, 126,
- 0, 127, 73, 59, 97, 75, 126, 0, 89, 37,
- 126, 0, 127, 73, 89, 37, 126, 0, 0, 132,
- 129, 163, 0, 0, 135, 131, 163, 0, 133, 0,
- 135, 0, 58, 133, 68, 0, 133, 58, 195, 0,
- 133, 59, 91, 75, 0, 133, 59, 75, 0, 49,
- 153, 133, 0, 4, 0, 134, 58, 195, 0, 134,
- 59, 91, 75, 0, 134, 59, 75, 0, 49, 153,
- 134, 0, 4, 0, 135, 58, 195, 0, 58, 135,
- 68, 0, 49, 153, 135, 0, 135, 59, 91, 75,
- 0, 135, 59, 75, 0, 3, 0, 0, 13, 89,
- 74, 137, 143, 70, 0, 13, 74, 143, 70, 0,
- 13, 89, 0, 0, 14, 89, 74, 138, 143, 70,
- 0, 14, 74, 143, 70, 0, 14, 89, 0, 0,
- 12, 89, 74, 139, 148, 142, 70, 0, 0, 12,
- 74, 140, 148, 142, 70, 0, 12, 89, 0, 0,
- 73, 0, 0, 73, 0, 144, 0, 144, 145, 0,
- 0, 144, 145, 69, 0, 144, 69, 0, 112, 107,
- 146, 0, 112, 0, 152, 107, 146, 0, 152, 0,
- 1, 0, 147, 0, 146, 73, 147, 0, 168, 169,
- 132, 123, 0, 168, 169, 132, 37, 97, 123, 0,
- 168, 169, 37, 97, 0, 149, 0, 148, 73, 149,
- 0, 89, 0, 89, 35, 97, 0, 112, 151, 0,
- 152, 151, 0, 0, 154, 0, 7, 0, 152, 7,
- 0, 0, 153, 7, 0, 58, 154, 68, 0, 49,
- 153, 154, 0, 49, 153, 0, 154, 58, 188, 0,
- 154, 59, 91, 75, 0, 154, 59, 75, 0, 58,
- 188, 0, 59, 91, 75, 0, 59, 75, 0, 171,
- 0, 155, 171, 0, 155, 157, 0, 0, 155, 0,
- 1, 69, 0, 0, 0, 160, 0, 161, 0, 160,
- 161, 0, 33, 199, 69, 0, 163, 0, 1, 163,
- 0, 74, 70, 0, 74, 158, 159, 106, 156, 70,
- 0, 74, 158, 159, 1, 70, 0, 74, 158, 159,
- 155, 70, 0, 165, 170, 0, 165, 1, 0, 15,
- 58, 91, 68, 0, 0, 18, 167, 170, 17, 0,
- 0, 0, 168, 169, 173, 0, 168, 169, 181, 170,
- 0, 168, 169, 172, 0, 173, 0, 181, 0, 163,
- 0, 91, 69, 0, 0, 164, 16, 174, 170, 0,
- 164, 0, 164, 16, 1, 0, 0, 0, 17, 175,
- 58, 91, 68, 176, 170, 0, 166, 58, 91, 68,
- 69, 0, 166, 1, 0, 0, 0, 0, 19, 58,
- 183, 69, 177, 183, 69, 178, 183, 68, 179, 170,
- 0, 0, 20, 58, 91, 68, 180, 170, 0, 23,
- 69, 0, 24, 69, 0, 25, 69, 0, 25, 91,
- 69, 0, 27, 182, 58, 91, 68, 69, 0, 27,
- 182, 58, 91, 37, 184, 68, 69, 0, 27, 182,
- 58, 91, 37, 184, 37, 184, 68, 69, 0, 27,
- 182, 58, 91, 37, 184, 37, 184, 37, 187, 68,
- 69, 0, 26, 89, 69, 0, 26, 49, 91, 69,
- 0, 69, 0, 21, 91, 37, 0, 21, 91, 10,
- 91, 37, 0, 22, 37, 0, 89, 37, 0, 0,
- 7, 0, 0, 91, 0, 0, 185, 0, 186, 0,
- 185, 73, 186, 0, 9, 58, 91, 68, 0, 100,
- 0, 187, 73, 100, 0, 0, 189, 190, 0, 192,
- 68, 0, 0, 193, 69, 191, 190, 0, 1, 68,
- 0, 0, 10, 0, 193, 0, 193, 73, 10, 0,
- 194, 0, 193, 73, 194, 0, 109, 134, 0, 109,
- 135, 0, 109, 151, 0, 111, 135, 0, 111, 151,
- 0, 0, 196, 197, 0, 190, 0, 198, 68, 0,
- 3, 0, 198, 73, 3, 0, 89, 0, 199, 73,
- 89, 0
- };
-
- #endif
-
- #if YYDEBUG != 0
- static const short yyrline[] = { 0,
- 209, 213, 222, 224, 224, 225, 227, 229, 230, 240,
- 246, 248, 250, 252, 254, 255, 256, 261, 267, 269,
- 270, 272, 277, 279, 280, 282, 287, 289, 290, 294,
- 296, 299, 301, 303, 305, 307, 309, 311, 315, 319,
- 322, 325, 328, 332, 334, 337, 340, 343, 346, 366,
- 371, 373, 375, 379, 381, 384, 409, 411, 413, 415,
- 417, 419, 421, 423, 425, 427, 429, 431, 433, 435,
- 437, 439, 441, 444, 449, 550, 551, 553, 559, 561,
- 574, 591, 593, 595, 599, 605, 607, 612, 614, 618,
- 620, 621, 631, 636, 638, 639, 640, 643, 648, 652,
- 655, 663, 668, 670, 671, 672, 679, 687, 692, 696,
- 700, 704, 706, 714, 717, 721, 723, 725, 736, 740,
- 742, 745, 758, 761, 765, 767, 775, 776, 777, 781,
- 783, 789, 790, 791, 794, 796, 799, 801, 804, 807,
- 813, 818, 820, 826, 831, 833, 840, 843, 848, 850,
- 855, 867, 877, 888, 906, 908, 912, 914, 916, 922,
- 925, 928, 932, 937, 939, 941, 943, 947, 964, 968,
- 985, 992, 994, 999, 1002, 1007, 1009, 1011, 1013, 1021,
- 1027, 1029, 1031, 1033, 1039, 1045, 1047, 1049, 1051, 1053,
- 1056, 1061, 1065, 1068, 1070, 1072, 1074, 1077, 1079, 1082,
- 1085, 1088, 1091, 1095, 1097, 1100, 1102, 1106, 1109, 1114,
- 1116, 1118, 1132, 1138, 1143, 1148, 1153, 1157, 1159, 1163,
- 1167, 1171, 1180, 1182, 1187, 1190, 1194, 1197, 1201, 1204,
- 1207, 1210, 1214, 1217, 1221, 1225, 1227, 1229, 1231, 1233,
- 1235, 1237, 1239, 1247, 1249, 1250, 1253, 1255, 1258, 1261,
- 1272, 1274, 1279, 1281, 1284, 1298, 1301, 1304, 1306, 1311,
- 1316, 1324, 1329, 1332, 1345, 1353, 1357, 1361, 1365, 1371,
- 1375, 1380, 1382, 1393, 1396, 1401, 1406, 1409, 1417, 1419,
- 1429, 1439, 1440, 1448, 1451, 1463, 1467, 1483, 1490, 1499,
- 1501, 1506, 1511, 1515, 1519, 1530, 1537, 1544, 1551, 1562,
- 1566, 1573, 1597, 1625, 1640, 1651, 1654, 1658, 1661, 1666,
- 1668, 1671, 1673, 1677, 1682, 1685, 1691, 1696, 1701, 1703,
- 1712, 1713, 1719, 1721, 1726, 1728, 1732, 1735, 1741, 1744,
- 1746, 1748, 1750, 1757, 1762, 1767, 1769, 1778, 1781, 1786,
- 1789
- };
-
- static const char * const yytname[] = { "$","error","$illegal.","IDENTIFIER",
- "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
- "ENUM","STRUCT","UNION","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
- "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","ALIGN",
- "ATTRIBUTE","EXTENSION","LABEL","ASSIGN","'='","'?'","':'","OROR","ANDAND","'|'",
- "'^'","'&'","EQCOMPARE","ARITHCOMPARE","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
- "'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY","POINTSAT","'.'","'('","'['",
- "INTERFACE","IMPLEMENTATION","END","SELECTOR","DEFS","ENCODE","CLASSNAME","PUBLIC",
- "')'","';'","'}'","'~'","'!'","','","'{'","']'","program","extdefs","@1","@2",
- "extdef","datadef","fndef","@3","@4","@5","@6","@7","@8","identifier","unop",
- "expr","exprlist","nonnull_exprlist","unary_expr","@9","cast_expr","expr_no_commas",
- "primary","@10","string","xdecls","lineno_datadecl","datadecls","datadecl","lineno_decl",
- "decls","setspecs","decl","typed_declspecs","reserved_declspecs","declmods",
- "typed_typespecs","reserved_typespecquals","typespec","typespecqual_reserved",
- "initdecls","notype_initdecls","maybeasm","initdcl","@11","notype_initdcl","@12",
- "maybe_attribute","attribute_list","attrib","init","initlist","nested_function",
- "@13","notype_nested_function","@14","declarator","after_type_declarator","parm_declarator",
- "notype_declarator","structsp","@15","@16","@17","@18","maybecomma","maybecomma_warn",
- "component_decl_list","component_decl_list2","component_decl","components","component_declarator",
- "enumlist","enumerator","typename","absdcl","nonempty_type_quals","type_quals",
- "absdcl1","stmts","xstmts","errstmt","pushlevel","maybe_label_decls","label_decls",
- "label_decl","compstmt_or_error","compstmt","simple_if","if_prefix","do_stmt_start",
- "@19","save_filename","save_lineno","lineno_labeled_stmt","lineno_stmt_or_label",
- "stmt_or_label","stmt","@20","@21","@22","@23","@24","@25","@26","label","maybe_type_qual",
- "xexpr","asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
- "@27","parmlist_1","@28","parmlist_2","parms","parm","parmlist_or_identifiers",
- "@29","parmlist_or_identifiers_1","identifiers","identifiers_or_typenames",""
- };
- #endif
-
- static const short yyr1[] = { 0,
- 76, 76, 78, 77, 79, 77, 80, 80, 80, 81,
- 81, 81, 81, 81, 81, 81, 81, 83, 84, 82,
- 82, 85, 86, 82, 82, 87, 88, 82, 82, 89,
- 89, 90, 90, 90, 90, 90, 90, 90, 91, 92,
- 92, 93, 93, 94, 94, 95, 94, 94, 94, 94,
- 94, 94, 94, 96, 96, 96, 97, 97, 97, 97,
- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
- 97, 97, 97, 97, 98, 98, 98, 98, 98, 99,
- 98, 98, 98, 98, 98, 98, 98, 100, 100, 101,
- 101, 101, 102, 103, 103, 103, 103, 104, 104, 104,
- 104, 105, 106, 106, 106, 106, 107, 108, 108, 108,
- 108, 108, 108, 109, 109, 110, 110, 110, 111, 111,
- 111, 111, 112, 112, 113, 113, 114, 114, 114, 114,
- 114, 115, 115, 115, 116, 116, 117, 117, 118, 118,
- 120, 119, 119, 122, 121, 121, 123, 123, 124, 124,
- 125, 125, 125, 125, 126, 126, 126, 126, 126, 127,
- 127, 127, 127, 127, 127, 127, 127, 129, 128, 131,
- 130, 132, 132, 133, 133, 133, 133, 133, 133, 134,
- 134, 134, 134, 134, 135, 135, 135, 135, 135, 135,
- 137, 136, 136, 136, 138, 136, 136, 136, 139, 136,
- 140, 136, 136, 141, 141, 142, 142, 143, 143, 144,
- 144, 144, 145, 145, 145, 145, 145, 146, 146, 147,
- 147, 147, 148, 148, 149, 149, 150, 150, 151, 151,
- 152, 152, 153, 153, 154, 154, 154, 154, 154, 154,
- 154, 154, 154, 155, 155, 155, 156, 156, 157, 158,
- 159, 159, 160, 160, 161, 162, 162, 163, 163, 163,
- 163, 164, 164, 165, 167, 166, 168, 169, 170, 170,
- 171, 172, 172, 173, 173, 174, 173, 173, 173, 175,
- 176, 173, 173, 173, 177, 178, 179, 173, 180, 173,
- 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
- 173, 181, 181, 181, 181, 182, 182, 183, 183, 184,
- 184, 185, 185, 186, 187, 187, 189, 188, 190, 191,
- 190, 190, 192, 192, 192, 192, 193, 193, 194, 194,
- 194, 194, 194, 196, 195, 197, 197, 198, 198, 199,
- 199
- };
-
- static const short yyr2[] = { 0,
- 0, 1, 0, 2, 0, 3, 1, 1, 5, 3,
- 4, 4, 2, 2, 2, 2, 1, 0, 0, 7,
- 4, 0, 0, 7, 4, 0, 0, 6, 3, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
- 1, 1, 3, 1, 2, 0, 3, 2, 2, 2,
- 4, 2, 4, 1, 4, 7, 1, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 5, 3, 3, 1, 1, 1, 3, 3, 0,
- 4, 4, 4, 3, 3, 2, 2, 1, 2, 0,
- 1, 2, 3, 1, 1, 2, 2, 4, 4, 2,
- 2, 3, 1, 1, 2, 2, 0, 4, 4, 3,
- 3, 2, 2, 2, 3, 0, 2, 2, 1, 1,
- 2, 2, 2, 3, 0, 2, 1, 1, 1, 4,
- 4, 1, 1, 1, 1, 3, 1, 3, 0, 4,
- 0, 6, 3, 0, 6, 3, 0, 6, 1, 3,
- 1, 4, 4, 8, 1, 2, 3, 4, 1, 1,
- 3, 6, 8, 4, 6, 3, 5, 0, 3, 0,
- 3, 1, 1, 3, 3, 4, 3, 3, 1, 3,
- 4, 3, 3, 1, 3, 3, 3, 4, 3, 1,
- 0, 6, 4, 2, 0, 6, 4, 2, 0, 7,
- 0, 6, 2, 0, 1, 0, 1, 1, 2, 0,
- 3, 2, 3, 1, 3, 1, 1, 1, 3, 4,
- 6, 4, 1, 3, 1, 3, 2, 2, 0, 1,
- 1, 2, 0, 2, 3, 3, 2, 3, 4, 3,
- 2, 3, 2, 1, 2, 2, 0, 1, 2, 0,
- 0, 1, 1, 2, 3, 1, 2, 2, 6, 5,
- 5, 2, 2, 4, 0, 4, 0, 0, 3, 4,
- 3, 1, 1, 1, 2, 0, 4, 1, 3, 0,
- 0, 7, 5, 2, 0, 0, 0, 12, 0, 6,
- 2, 2, 2, 3, 6, 8, 10, 12, 3, 4,
- 1, 3, 5, 2, 2, 0, 1, 0, 1, 0,
- 1, 1, 3, 4, 1, 3, 0, 2, 2, 0,
- 4, 2, 0, 1, 1, 3, 1, 3, 2, 2,
- 2, 2, 2, 0, 2, 1, 2, 1, 3, 1,
- 3
- };
-
- static const short yydefact[] = { 3,
- 5, 0, 0, 0, 129, 120, 127, 119, 0, 0,
- 0, 0, 0, 17, 4, 8, 7, 0, 107, 107,
- 116, 128, 6, 15, 16, 30, 31, 201, 203, 210,
- 194, 210, 198, 0, 0, 190, 233, 0, 0, 137,
- 0, 14, 0, 122, 121, 13, 0, 116, 114, 0,
- 199, 0, 0, 191, 0, 195, 75, 76, 88, 0,
- 0, 46, 0, 32, 34, 33, 0, 35, 36, 0,
- 37, 38, 0, 0, 39, 54, 57, 42, 44, 77,
- 231, 0, 229, 125, 0, 229, 0, 0, 10, 0,
- 29, 0, 334, 0, 0, 147, 179, 233, 0, 0,
- 135, 0, 172, 173, 0, 0, 115, 118, 132, 133,
- 117, 134, 225, 206, 223, 0, 193, 217, 212, 107,
- 209, 107, 210, 197, 210, 0, 50, 0, 52, 0,
- 49, 45, 0, 0, 0, 0, 48, 0, 0, 0,
- 0, 308, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 86, 87, 0, 0,
- 40, 0, 89, 130, 233, 317, 0, 227, 230, 123,
- 131, 232, 125, 228, 234, 187, 186, 138, 139, 0,
- 185, 0, 189, 0, 0, 27, 0, 267, 95, 268,
- 0, 146, 0, 0, 12, 0, 21, 0, 147, 334,
- 0, 11, 25, 0, 0, 207, 0, 206, 267, 211,
- 267, 0, 0, 0, 0, 47, 79, 78, 250, 0,
- 0, 9, 43, 74, 73, 309, 0, 71, 70, 68,
- 69, 67, 66, 65, 63, 64, 58, 59, 60, 61,
- 62, 85, 84, 0, 41, 0, 237, 0, 241, 0,
- 243, 0, 317, 0, 126, 124, 0, 0, 338, 324,
- 229, 229, 336, 0, 325, 327, 335, 0, 188, 249,
- 0, 97, 92, 96, 0, 0, 144, 178, 174, 136,
- 19, 143, 175, 177, 0, 23, 226, 224, 202, 0,
- 213, 218, 268, 215, 192, 196, 51, 53, 258, 251,
- 81, 0, 55, 0, 82, 83, 236, 235, 318, 242,
- 238, 240, 0, 140, 322, 184, 233, 317, 329, 330,
- 331, 233, 332, 333, 319, 320, 0, 337, 0, 0,
- 28, 256, 93, 107, 107, 0, 0, 0, 141, 176,
- 0, 200, 267, 0, 0, 0, 252, 253, 159, 75,
- 0, 0, 0, 155, 160, 204, 72, 239, 237, 334,
- 0, 237, 0, 326, 328, 339, 257, 100, 0, 101,
- 0, 151, 0, 149, 145, 20, 0, 24, 219, 0,
- 147, 340, 0, 0, 0, 267, 0, 104, 268, 244,
- 254, 0, 156, 0, 0, 0, 0, 183, 180, 182,
- 0, 321, 0, 0, 139, 0, 0, 0, 142, 222,
- 0, 220, 255, 0, 260, 106, 105, 0, 0, 261,
- 246, 268, 245, 0, 0, 0, 157, 0, 166, 0,
- 0, 161, 56, 181, 98, 99, 0, 0, 148, 150,
- 147, 341, 259, 0, 129, 0, 280, 265, 0, 0,
- 0, 0, 0, 0, 0, 0, 306, 301, 0, 0,
- 102, 107, 107, 274, 278, 0, 0, 271, 272, 273,
- 0, 164, 158, 0, 0, 152, 0, 153, 221, 0,
- 0, 267, 308, 0, 0, 304, 291, 292, 293, 0,
- 0, 0, 307, 0, 305, 275, 112, 0, 113, 0,
- 0, 263, 268, 262, 284, 0, 0, 0, 0, 167,
- 0, 0, 0, 0, 0, 0, 0, 302, 294, 0,
- 299, 0, 0, 110, 139, 0, 111, 139, 279, 267,
- 0, 0, 162, 0, 165, 0, 264, 0, 266, 285,
- 289, 0, 300, 0, 108, 0, 109, 0, 277, 269,
- 267, 0, 0, 0, 281, 308, 267, 303, 310, 0,
- 169, 171, 270, 283, 163, 154, 267, 0, 290, 0,
- 0, 311, 312, 295, 282, 286, 0, 310, 0, 0,
- 308, 0, 0, 296, 313, 0, 314, 0, 0, 287,
- 315, 0, 297, 267, 0, 0, 288, 298, 316, 0,
- 0, 0
- };
-
- static const short yydefgoto[] = { 600,
- 1, 2, 3, 15, 16, 17, 198, 338, 204, 341,
- 95, 271, 113, 73, 226, 244, 75, 76, 130, 77,
- 78, 79, 135, 80, 186, 187, 188, 333, 385, 386,
- 18, 461, 261, 49, 262, 83, 170, 21, 111, 100,
- 39, 96, 101, 377, 40, 337, 192, 373, 374, 355,
- 356, 524, 546, 527, 548, 179, 103, 319, 104, 22,
- 123, 125, 116, 50, 397, 207, 52, 53, 121, 291,
- 292, 114, 115, 85, 168, 86, 87, 169, 387, 419,
- 189, 300, 346, 347, 348, 331, 332, 465, 466, 467,
- 482, 503, 275, 504, 390, 468, 469, 530, 481, 567,
- 556, 581, 594, 557, 470, 494, 227, 571, 572, 573,
- 592, 249, 250, 263, 363, 264, 265, 266, 181, 182,
- 267, 268, 383
- };
-
- static const short yypact[] = { 78,
- 87, 1917, 1917, 222,-32768,-32768,-32768,-32768, 44, 48,
- 60, 86, 92,-32768,-32768,-32768,-32768, 135, 31, 735,
- -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 105,-32768,
- 142,-32768, 155, 1807, 1732,-32768,-32768, 135, 163,-32768,
- 464,-32768, 145,-32768,-32768,-32768, 135,-32768, 293, 204,
- -32768, 177, 372,-32768, 179,-32768,-32768,-32768,-32768, 1834,
- 1861,-32768, 204,-32768,-32768,-32768, 1807,-32768,-32768, 309,
- -32768,-32768, 1807, 184, 213,-32768,-32768, 2091, 488, 246,
- -32768, 189, 17,-32768, 235, 431, 50, 138,-32768, 145,
- -32768, 243,-32768, 1333, 392, 277,-32768,-32768, 145, 185,
- -32768, 1326, 294, 343, 262, 1255, 293,-32768,-32768,-32768,
- -32768,-32768, 279, 238,-32768, 204,-32768,-32768,-32768, 342,
- 250, 944,-32768,-32768,-32768, 309,-32768, 309,-32768, 1807,
- -32768,-32768, 268, 271, 256, 274,-32768, 275, 1807, 1807,
- 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807, 1807,
- 1807, 1807, 1807, 1807, 1807, 1807,-32768,-32768, 204, 204,
- 1807, 1807,-32768,-32768,-32768, 17, 1381,-32768, 349, 282,
- -32768,-32768,-32768,-32768,-32768, 343,-32768,-32768, 332, 352,
- -32768, 501,-32768, 307, 300,-32768, 159, 40,-32768,-32768,
- 316, 357, 207, 154,-32768, 145,-32768, 392, 277,-32768,
- 1416,-32768,-32768, 392, 1807, 204, 333, 238,-32768,-32768,
- -32768, 345, 348, 354, 358,-32768,-32768,-32768, 359, 394,
- 1679,-32768, 2091, 2091, 2091,-32768, 340, 1907, 1505, 1990,
- 570, 648, 720, 791, 233, 233, 338, 338,-32768,-32768,
- -32768,-32768,-32768, 396, 213, 388, 88, 167,-32768, 1057,
- -32768, 398,-32768, 1451,-32768, 282, 28, 399,-32768,-32768,
- 103, 2016,-32768, 413, 276,-32768,-32768, 0,-32768,-32768,
- 42,-32768,-32768,-32768, 1132, 424,-32768, 294,-32768,-32768,
- -32768, 450,-32768,-32768, 411,-32768, 2091,-32768,-32768, 417,
- 420,-32768,-32768, 420,-32768,-32768,-32768,-32768,-32768, 461,
- -32768, 1192,-32768, 1807,-32768,-32768, 349,-32768,-32768,-32768,
- -32768,-32768, 421,-32768,-32768,-32768,-32768, 133, 355, 343,
- -32768,-32768, 343,-32768,-32768,-32768, 879,-32768, 495, 256,
- -32768,-32768,-32768, 432, 807, 506, 1246, 42,-32768,-32768,
- 42,-32768,-32768, 391, 204, 632, 461,-32768,-32768, 473,
- 1807, 976, 475, 2091,-32768, 443, 1166,-32768, 182,-32768,
- 1486, 202, 1057,-32768,-32768,-32768,-32768,-32768, 145,-32768,
- 135, 459, 108,-32768,-32768,-32768, 1246,-32768,-32768, 1807,
- 51,-32768, 281, 378, 553, 451, 704,-32768,-32768,-32768,
- -32768, 1949,-32768, 125, 1246, 1048, 454, 355,-32768,-32768,
- 445,-32768, 291, 297, 22, 215, 457, 506,-32768, 2091,
- 1807,-32768,-32768, 204,-32768,-32768,-32768, 776, 458,-32768,
- -32768,-32768,-32768, 1559, 1807, 1246,-32768, 1120,-32768, 1807,
- 490,-32768,-32768,-32768,-32768,-32768, 170, 462,-32768,-32768,
- 2070,-32768,-32768, 1631, 494, 474,-32768,-32768, 477, 478,
- 1807, 502, 471, 481, 1759, 66, 545,-32768, 518, 514,
- -32768, 515, 1128,-32768, 547, 848, 53,-32768,-32768,-32768,
- 2011,-32768,-32768, 1967, 1246,-32768, 578,-32768,-32768, 1807,
- 529,-32768, 1807, 1807, 52,-32768,-32768,-32768,-32768, 519,
- 1807, 520,-32768, 532,-32768,-32768,-32768, 145,-32768, 135,
- 920,-32768,-32768,-32768,-32768, 1807, 1246, 1807, 1246,-32768,
- 521, 523, 1807, 576, 527, 531, 1807,-32768,-32768, 528,
- -32768, 1807, 299,-32768, 19, 302,-32768, 116,-32768,-32768,
- 1631, 535,-32768, 2049,-32768, 596,-32768, 537,-32768,-32768,
- -32768, 571,-32768, 18,-32768, 256,-32768, 256,-32768,-32768,
- -32768, 540, 1246, 542,-32768, 1807,-32768,-32768, 617, 559,
- -32768,-32768,-32768,-32768,-32768,-32768,-32768, 560,-32768, 584,
- 30, 561,-32768,-32768,-32768,-32768, 1807, 617, 579, 617,
- 1807, 594, 37,-32768,-32768, 595,-32768, 352, 597,-32768,
- 246, 171,-32768,-32768, 598, 352,-32768,-32768, 246, 665,
- 668,-32768
- };
-
- static const short yypgoto[] = {-32768,
- -32768,-32768,-32768, 666,-32768,-32768,-32768,-32768,-32768,-32768,
- -32768,-32768, -5,-32768, -34,-32768, 509, 395,-32768, -33,
- 123,-32768,-32768, -164, -139, 484,-32768,-32768, 287,-32768,
- -10,-32768, 10, 627, 12, 624, 505, -9, -132, -339,
- -39, -95, -57,-32768,-32768,-32768, -182,-32768, 280, -305,
- 330,-32768,-32768,-32768,-32768, -40, -64, 324, -16, -28,
- -32768,-32768,-32768,-32768,-32768, 476, 7,-32768,-32768, 489,
- 344, 573, 496, -25, -61, 656, -80, -138, 325,-32768,
- -168,-32768,-32768,-32768, 363, -111, -115,-32768,-32768,-32768,
- -32768, -53, -269, -426, -261,-32768, 183,-32768,-32768,-32768,
- -32768,-32768,-32768,-32768, 186,-32768, -454, 140,-32768, 136,
- -32768, 467,-32768, -223,-32768,-32768,-32768, 405, -177,-32768,
- -32768,-32768,-32768
- };
-
-
- #define YYLAST 2142
-
-
- static const short yytable[] = { 74,
- 82, 41, 102, 29, 31, 33, 199, 105, 43, 47,
- 48, 19, 19, 20, 20, 257, 282, 193, 272, 220,
- 112, 88, 283, 344, 174, 84, 309, 248, 515, 403,
- 106, 375, 178, 132, 194, 134, 163, 255, 55, 137,
- -91, 190, 330, 84, 136, 92, 26, 27, 92, 273,
- 26, 27, 36, 505, 559, 514, 175, 131, 281, 184,
- 84, 517, 26, 27, 286, 165, 578, 328, 26, 27,
- 176, 409, 329, 588, 166, 167, 173, -1, 112, 93,
- 94, 191, 88, 199, 247, 560, -2, 411, 518, 429,
- 432, 134, -168, 134, 175, 314, 216, 579, 37, 42,
- 214, 568, 215, 549, 589, 36, 316, 38, 307, 209,
- 506, 211, 173, -91, 491, 219, 84, 28, 84, 424,
- 472, 30, 432, 255, 563, 423, 586, 246, 278, 212,
- 569, 213, 252, 32, 190, 36, 165, 36, 280, 402,
- 575, 112, 92, 34, 190, 166, 167, 36, 97, 35,
- 190, 317, 444, 242, 243, 293, 423, 293, 523, 185,
- 318, 167, -94, -94, -94, -94, 285, 597, -94, 510,
- -94, -94, -94, 93, 94, 407, 176, 388, 51, 248,
- 408, 322, 399, 37, 36, 316, -94, 303, 175, -170,
- 318, 167, 38, 98, 427, 93, 94, 428, 412, 321,
- 324, 533, 99, 535, 36, 177, 26, 27, 175, 36,
- 97, 200, 201, 175, 367, 54, 416, 437, 421, 313,
- 307, 279, 438, 307, 253, 254, 376, 112, 56, 378,
- 317, 89, -94, 531, 308, 90, 359, 476, 595, 318,
- 167, 362, 477, 596, 320, 323, 117, 565, 124, 421,
- 322, 138, 48, 195, 163, 98, 164, 196, 479, 318,
- 167, 223, 224, 225, 99, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 152,
- 153, 154, 155, 156, 334, 139, 335, 109, 110, 293,
- 24, 25, 389, 9, 10, 11, 353, 108, 109, 110,
- 180, 88, 171, 381, 9, 10, 11, 191, 464, 133,
- 206, 57, 5, 205, 7, 81, 58, 59, 210, 60,
- 9, 10, 11, 369, 371, 48, 401, 287, 464, 219,
- 202, 404, 389, 422, 90, 217, 13, 61, 218, 382,
- 62, 221, 176, 222, 326, 176, 353, 63, 327, 413,
- 64, 200, 201, 414, 405, 65, 66, 67, 92, 435,
- 59, 68, 69, 196, 422, 436, 70, 545, 270, 90,
- 547, 196, 118, 276, 90, 5, 304, 7, 81, 71,
- 72, 269, -80, 9, 10, 11, 154, 155, 156, 460,
- 431, 277, 185, 36, 97, -267, -267, -267, -267, 13,
- 93, 94, 289, -267, -267, -267, 253, 254, 442, 460,
- -214, -214, 360, 361, 295, 464, 485, 296, 459, -267,
- 490, 297, 431, 591, 354, 298, 357, 380, 299, 199,
- 561, 599, 562, 462, 5, 463, 7, 172, 459, 98,
- 119, -208, 9, 10, 11, 512, 270, 415, 99, 516,
- 492, 498, 500, 48, 127, 129, 520, 525, 13, 354,
- 526, 301, 306, 305, 91, -90, 315, -26, -26, -26,
- -26, 532, 310, 392, 354, -26, -26, -26, 538, 165,
- 325, 336, 542, 528, 339, 340, 342, 544, 166, 167,
- 92, -26, 343, 345, -139, 358, 460, 366, -139, 354,
- 368, 258, 410, 259, 5, 6, 7, 8, 372, -30,
- 260, 395, 9, 10, 11, 396, 406, 354, 354, 434,
- -247, 93, 94, 433, 439, 459, 475, 443, 13, 478,
- -31, 480, -139, 441, 483, 484, -139, -26, 486, 487,
- 157, 158, 582, 159, 160, 161, 162, 471, 354, 488,
- 354, 493, 474, 185, 495, -103, -103, -103, -103, -103,
- -103, -103, 501, -103, -103, -103, -103, -103, -323, -103,
- -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
- -103, -103, 496, 497, -103, 511, 513, 519, 521, 522,
- 537, -103, 539, 536, -103, 540, 543, 354, 541, -103,
- -103, -103, 552, 554, 555, -103, -103, 558, 564, 566,
- -103, 147, 148, 149, 150, 151, 152, 153, 154, 155,
- 156, -103, -103, -103, -103, 570, -103, 574, 576, 354,
- 534, 354, 384, 580, -267, -267, -267, -267, -267, -267,
- -267, 577, -267, -267, -267, -267, -267, 584, -267, -267,
- -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
- -267, 587, 590, -267, 601, 593, 598, 602, 23, 245,
- -267, 274, 417, -267, 107, 354, 120, 256, -267, -267,
- -267, 394, 398, 290, -267, -267, 379, 440, 208, -267,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 294,
- -267, 288, -267, -267, 185, -267, -267, -267, 122, 391,
- 418, -267, -267, 550, -267, 585, 551, 583, -267, 311,
- -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
- -267, 365, -267, 0, 0, -267, 0, 0, 5, 44,
- 7, 45, -267, 0, 0, -267, 9, 10, 11, 0,
- -267, -267, -267, 0, 0, 0, -267, -267, 0, 0,
- 0, -267, 13, 149, 150, 151, 152, 153, 154, 155,
- 156, 0, -267, 420, -267, -267, 185, -267, -267, -267,
- 0, 0, 0, -267, -267, 0, -267, 0, 0, 0,
- -267, 0, -267, -267, -267, -267, -267, -267, -267, -267,
- -267, -267, -267, 46, -267, 0, 0, -267, 0, 0,
- 5, 44, 7, 45, -267, 0, 0, -267, 9, 10,
- 11, 0, -267, -267, -267, 0, 0, 0, -267, -267,
- 0, 0, 0, -267, 13, 150, 151, 152, 153, 154,
- 155, 156, 0, 0, -267, -248, -267, -267, 502, -267,
- -267, -267, 0, 0, 0, -267, -267, 0, -267, 0,
- 0, 0, -267, 0, -267, -267, -267, -267, -267, -267,
- -267, -267, -267, -267, -267, 370, -267, 0, 0, -267,
- 0, 0, 5, 6, 7, 8, -267, 0, 364, -267,
- 9, 10, 11, 0, -267, -267, -267, 0, 0, 0,
- -267, -267, 0, 0, 0, -267, 13, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, -267, 0, -267, -267,
- 529, -267, -276, -276, 0, 0, 0, -276, -276, 0,
- -276, 0, 0, 0, -276, 0, -276, -276, -276, -276,
- -276, -276, -276, -276, -276, -276, -276, 5, -276, 7,
- 172, -276, 0, 0, 0, 9, 10, 11, -276, 0,
- 0, -276, 0, 0, 0, 0, -276, -276, -276, 0,
- 0, 13, -276, -276, 0, 0, 349, -276, 350, 27,
- 0, 0, 0, 58, 59, 0, 60, 0, -276, 0,
- -276, -276, 0, -276, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 61, 0, 0, 62, 0, 0,
- 0, 0, -216, -216, 63, 0, 0, 64, 0, 0,
- 0, 0, 65, 66, 67, 0, 0, 0, 68, 69,
- 0, 0, 0, 70, 351, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 393, 71, 72, 349, 352,
- 350, 27, 0, 0, 0, 58, 59, 258, 60, 0,
- 5, 6, 7, 8, 0, 0, 260, 0, 9, 10,
- 11, 0, 0, 0, 0, 0, 61, 0, 0, 62,
- 0, 0, 0, 0, 13, 0, 63, 0, 0, 64,
- 0, 0, 0, 0, 65, 66, 67, 0, 0, 0,
- 68, 69, 0, 0, 0, 70, 430, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -205, 71, 72,
- 349, 352, 350, 27, -323, 0, 0, 58, 59, 0,
- 60, 5, 44, 7, 45, 5, 6, 7, 8, 9,
- 10, 11, 0, 9, 10, 11, 0, 0, 61, 0,
- 0, 62, 0, 0, 0, 13, 0, 0, 63, 13,
- 0, 64, 0, 0, 0, 0, 65, 66, 67, 0,
- 0, 0, 68, 69, 0, 0, 0, 70, 430, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 473,
- 71, 72, 349, 352, 350, 27, 499, 0, 0, 58,
- 59, 142, 60, 143, 144, 145, 146, 147, 148, 149,
- 150, 151, 152, 153, 154, 155, 156, 0, 0, 0,
- 61, 0, 0, 62, 0, 0, 0, 0, 0, 0,
- 63, 0, 0, 64, 0, 0, 0, 0, 65, 66,
- 67, 0, 0, 0, 68, 69, 349, 0, 57, 70,
- 351, 0, 0, 58, 59, 203, 60, 0, -22, -22,
- -22, -22, 71, 72, 0, 352, -22, -22, -22, 0,
- 0, 0, 0, 0, 61, 0, 0, 62, 0, 0,
- 0, 92, -22, 0, 63, -139, 0, 64, 0, -139,
- 0, 0, 65, 66, 67, 0, 0, 0, 68, 69,
- 0, 0, 0, 70, 0, 0, 0, 0, 0, 0,
- 0, 0, 93, 94, 0, 0, 71, 72, 0, 352,
- 0, 0, 0, -139, 0, 0, 197, -139, -22, -18,
- -18, -18, -18, 0, 0, 57, 0, -18, -18, -18,
- 58, 59, 0, 60, 0, 0, 0, 0, 0, 0,
- 0, 0, 92, -18, 0, 0, -139, 0, 0, 0,
- -139, 61, 0, 0, 62, 0, 0, 0, 0, 0,
- 0, 63, 0, 0, 64, 0, 0, 0, 0, 65,
- 66, 67, 0, 57, 0, 68, 69, 0, 58, 59,
- 70, 60, 0, 0, -139, 0, 0, 0, -139, -18,
- 0, 0, 0, 71, 72, 0, 0, 183, 0, 61,
- 0, 0, 62, 0, 0, 0, 0, 0, 57, 63,
- 0, 0, 64, 58, 59, 0, 60, 65, 66, 67,
- 0, 0, 0, 68, 69, 0, 0, 0, 70, 0,
- 0, 0, 0, 0, 61, 0, 0, 62, 0, 0,
- 0, 71, 72, 57, 63, 251, 0, 64, 58, 59,
- 0, 60, 65, 66, 67, 0, 0, 0, 68, 69,
- 0, 0, 0, 70, 0, 0, 0, 0, 0, 61,
- 0, 0, 62, 0, 0, 0, 71, 72, 57, 63,
- 284, 0, 64, 58, 59, 0, 60, 65, 66, 67,
- 0, 0, 0, 68, 69, 0, 0, 0, 70, 0,
- 0, 0, 0, 0, 61, 0, 0, 62, 0, 0,
- 0, 71, 72, 0, 63, 312, 0, 64, 0, 0,
- 0, 0, 65, 66, 67, 0, 0, 0, 68, 69,
- 0, 0, 0, 70, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 71, 72, 0, 0,
- 400, 350, 445, 6, 7, 8, 58, 59, 0, 60,
- 9, 10, 11, 446, 0, 447, 448, 449, 450, 451,
- 452, 453, 454, 455, 456, 457, 13, 61, 0, 0,
- 62, 0, 0, 0, 0, 0, 0, 63, 0, 0,
- 64, 0, 0, 0, 0, 65, 66, 67, 0, 0,
- 0, 68, 69, 0, 0, 0, 70, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 458, 0, 71,
- 72, 0, 219, 350, 27, 0, 0, 0, 58, 59,
- 0, 60, 0, 0, 0, 446, 0, 447, 448, 449,
- 450, 451, 452, 453, 454, 455, 456, 457, 0, 61,
- 0, 0, 62, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 64, 0, 0, 0, 0, 65, 66, 67,
- 0, 57, 0, 68, 69, 0, 58, 59, 70, 60,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 458,
- 0, 71, 72, 0, 219, 0, 0, 61, 0, 0,
- 62, 0, 0, 0, 0, 0, 0, 63, 0, 0,
- 64, 0, 0, 0, 0, 65, 66, 67, 0, 0,
- 0, 68, 69, 0, 57, 5, 70, 7, 81, 58,
- 59, 0, 60, 9, 10, 11, 0, 0, 0, 71,
- 72, 0, 302, 0, 0, 0, 0, 0, 0, 13,
- 61, 57, 0, 62, 0, 0, 58, 59, 0, 60,
- 63, 0, 0, 64, 0, 0, 0, 0, 65, 66,
- 67, 0, 0, 0, 68, 69, 0, 61, 0, 70,
- 62, 0, 0, 0, 0, 0, 0, 63, 0, 0,
- 64, 0, 71, 72, 0, 65, 66, 67, 0, 57,
- 0, 68, 69, 0, 58, 59, 70, 60, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 489, 0, 71,
- 72, 0, 0, 0, 0, 61, 57, 0, 62, 0,
- 0, 58, 59, 0, 60, 63, 0, 0, 64, 0,
- 0, 0, 0, 65, 66, 67, 0, 0, 0, 68,
- 69, 0, 61, 57, 70, 62, 0, 0, 58, 59,
- 0, 60, 63, 0, 0, 64, 0, 71, 72, 0,
- 65, 66, 67, 0, 0, 0, 68, 69, 0, 61,
- 0, 126, 62, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 64, 0, 71, 72, 0, 65, 66, 67,
- 0, 0, 0, 68, 69, 0, 0, 4, 128, -107,
- 5, 6, 7, 8, 0, 0, 0, 0, 9, 10,
- 11, 71, 72, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 12, 13, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 425, 0,
- 0, 0, 0, 0, 0, -107, 0, 0, 0, 0,
- 0, 0, 0, 0, -107, 0, 508, 0, 0, 0,
- 0, 0, 140, 141, 142, 14, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 140, 141, 142, 0, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 36, 5,
- 44, 7, 45, 426, 0, 0, 0, 9, 10, 11,
- 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
- 156, 509, 0, 13, 140, 141, 142, 0, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 0, 0, 322, 0, 0, 0, 0, 0,
- 0, 0, 0, 318, 167, 0, 0, 0, 0, 0,
- 0, 0, 140, 141, 142, 507, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 191, 0, 0, 140, 141, 142, 0, 143, 144, 145,
- 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
- 156, 0, 0, 553, 140, 141, 142, 0, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156
- };
-
- static const short yycheck[] = { 34,
- 35, 18, 43, 9, 10, 11, 102, 47, 19, 20,
- 20, 2, 3, 2, 3, 180, 199, 98, 187, 135,
- 49, 38, 200, 293, 86, 35, 250, 166, 483, 369,
- 47, 337, 90, 67, 99, 70, 9, 170, 32, 73,
- 1, 95, 1, 53, 70, 27, 3, 4, 27, 10,
- 3, 4, 3, 1, 37, 482, 7, 63, 198, 94,
- 70, 10, 3, 4, 204, 49, 37, 68, 3, 4,
- 87, 377, 73, 37, 58, 59, 86, 0, 107, 58,
- 59, 31, 99, 179, 165, 68, 0, 37, 37, 395,
- 396, 126, 74, 128, 7, 68, 130, 68, 49, 69,
- 126, 556, 128, 530, 68, 3, 4, 58, 247, 120,
- 58, 122, 122, 74, 49, 74, 126, 74, 128, 389,
- 426, 74, 428, 256, 551, 387, 581, 162, 193, 123,
- 557, 125, 167, 74, 188, 3, 49, 3, 196, 363,
- 567, 170, 27, 58, 198, 58, 59, 3, 4, 58,
- 204, 49, 422, 159, 160, 209, 418, 211, 498, 1,
- 58, 59, 4, 5, 6, 7, 201, 594, 10, 475,
- 12, 13, 14, 58, 59, 68, 193, 346, 74, 318,
- 73, 49, 360, 49, 3, 4, 28, 221, 7, 74,
- 58, 59, 58, 49, 70, 58, 59, 73, 381, 261,
- 262, 507, 58, 509, 3, 68, 3, 4, 7, 3,
- 4, 58, 59, 7, 330, 74, 385, 3, 387, 254,
- 359, 68, 8, 362, 58, 59, 338, 256, 74, 341,
- 49, 69, 74, 503, 68, 73, 317, 68, 68, 58,
- 59, 322, 73, 73, 261, 262, 70, 553, 70, 418,
- 49, 68, 262, 69, 9, 49, 68, 73, 441, 58,
- 59, 139, 140, 141, 58, 143, 144, 145, 146, 147,
- 148, 149, 150, 151, 152, 153, 154, 155, 156, 47,
- 48, 49, 50, 51, 275, 73, 275, 6, 7, 343,
- 69, 70, 346, 12, 13, 14, 302, 5, 6, 7,
- 58, 318, 68, 344, 12, 13, 14, 31, 424, 1,
- 73, 3, 4, 35, 6, 7, 8, 9, 69, 11,
- 12, 13, 14, 334, 335, 335, 361, 205, 444, 74,
- 69, 371, 386, 387, 73, 68, 28, 29, 68, 345,
- 32, 68, 359, 69, 69, 362, 352, 39, 73, 69,
- 42, 58, 59, 73, 371, 47, 48, 49, 27, 69,
- 9, 53, 54, 73, 418, 69, 58, 69, 69, 73,
- 69, 73, 1, 58, 73, 4, 37, 6, 7, 71,
- 72, 75, 74, 12, 13, 14, 49, 50, 51, 424,
- 396, 35, 1, 3, 4, 4, 5, 6, 7, 28,
- 58, 59, 70, 12, 13, 14, 58, 59, 414, 444,
- 69, 70, 58, 59, 70, 531, 451, 70, 424, 28,
- 455, 68, 428, 588, 302, 68, 304, 37, 70, 525,
- 546, 596, 548, 424, 4, 424, 6, 7, 444, 49,
- 69, 70, 12, 13, 14, 480, 69, 70, 58, 484,
- 456, 462, 463, 463, 60, 61, 491, 498, 28, 337,
- 500, 68, 75, 68, 1, 74, 68, 4, 5, 6,
- 7, 506, 75, 351, 352, 12, 13, 14, 513, 49,
- 68, 58, 517, 500, 35, 75, 70, 522, 58, 59,
- 27, 28, 73, 33, 31, 75, 531, 3, 35, 377,
- 69, 1, 380, 3, 4, 5, 6, 7, 3, 37,
- 10, 37, 12, 13, 14, 73, 58, 395, 396, 75,
- 70, 58, 59, 70, 68, 531, 37, 70, 28, 68,
- 37, 58, 69, 411, 58, 58, 73, 74, 37, 69,
- 53, 54, 577, 56, 57, 58, 59, 425, 426, 69,
- 428, 7, 430, 1, 37, 3, 4, 5, 6, 7,
- 8, 9, 16, 11, 12, 13, 14, 15, 68, 17,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
- 28, 29, 69, 69, 32, 8, 58, 69, 69, 58,
- 68, 39, 17, 73, 42, 69, 69, 475, 68, 47,
- 48, 49, 68, 8, 68, 53, 54, 37, 69, 68,
- 58, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 69, 70, 71, 72, 9, 74, 69, 69, 507,
- 508, 509, 1, 73, 3, 4, 5, 6, 7, 8,
- 9, 58, 11, 12, 13, 14, 15, 69, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 68, 68, 32, 0, 69, 69, 0, 3, 161,
- 39, 188, 386, 42, 48, 553, 53, 173, 47, 48,
- 49, 352, 359, 208, 53, 54, 343, 408, 116, 58,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 211,
- 69, 206, 71, 72, 1, 74, 3, 4, 53, 347,
- 386, 8, 9, 531, 11, 580, 531, 578, 15, 253,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 327, 29, -1, -1, 32, -1, -1, 4, 5,
- 6, 7, 39, -1, -1, 42, 12, 13, 14, -1,
- 47, 48, 49, -1, -1, -1, 53, 54, -1, -1,
- -1, 58, 28, 44, 45, 46, 47, 48, 49, 50,
- 51, -1, 69, 70, 71, 72, 1, 74, 3, 4,
- -1, -1, -1, 8, 9, -1, 11, -1, -1, -1,
- 15, -1, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 69, 29, -1, -1, 32, -1, -1,
- 4, 5, 6, 7, 39, -1, -1, 42, 12, 13,
- 14, -1, 47, 48, 49, -1, -1, -1, 53, 54,
- -1, -1, -1, 58, 28, 45, 46, 47, 48, 49,
- 50, 51, -1, -1, 69, 70, 71, 72, 1, 74,
- 3, 4, -1, -1, -1, 8, 9, -1, 11, -1,
- -1, -1, 15, -1, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 69, 29, -1, -1, 32,
- -1, -1, 4, 5, 6, 7, 39, -1, 10, 42,
- 12, 13, 14, -1, 47, 48, 49, -1, -1, -1,
- 53, 54, -1, -1, -1, 58, 28, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 69, -1, 71, 72,
- 1, 74, 3, 4, -1, -1, -1, 8, 9, -1,
- 11, -1, -1, -1, 15, -1, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 4, 29, 6,
- 7, 32, -1, -1, -1, 12, 13, 14, 39, -1,
- -1, 42, -1, -1, -1, -1, 47, 48, 49, -1,
- -1, 28, 53, 54, -1, -1, 1, 58, 3, 4,
- -1, -1, -1, 8, 9, -1, 11, -1, 69, -1,
- 71, 72, -1, 74, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 29, -1, -1, 32, -1, -1,
- -1, -1, 69, 70, 39, -1, -1, 42, -1, -1,
- -1, -1, 47, 48, 49, -1, -1, -1, 53, 54,
- -1, -1, -1, 58, 59, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 70, 71, 72, 1, 74,
- 3, 4, -1, -1, -1, 8, 9, 1, 11, -1,
- 4, 5, 6, 7, -1, -1, 10, -1, 12, 13,
- 14, -1, -1, -1, -1, -1, 29, -1, -1, 32,
- -1, -1, -1, -1, 28, -1, 39, -1, -1, 42,
- -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
- 53, 54, -1, -1, -1, 58, 59, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 70, 71, 72,
- 1, 74, 3, 4, 68, -1, -1, 8, 9, -1,
- 11, 4, 5, 6, 7, 4, 5, 6, 7, 12,
- 13, 14, -1, 12, 13, 14, -1, -1, 29, -1,
- -1, 32, -1, -1, -1, 28, -1, -1, 39, 28,
- -1, 42, -1, -1, -1, -1, 47, 48, 49, -1,
- -1, -1, 53, 54, -1, -1, -1, 58, 59, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
- 71, 72, 1, 74, 3, 4, 69, -1, -1, 8,
- 9, 36, 11, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, -1, -1, -1,
- 29, -1, -1, 32, -1, -1, -1, -1, -1, -1,
- 39, -1, -1, 42, -1, -1, -1, -1, 47, 48,
- 49, -1, -1, -1, 53, 54, 1, -1, 3, 58,
- 59, -1, -1, 8, 9, 1, 11, -1, 4, 5,
- 6, 7, 71, 72, -1, 74, 12, 13, 14, -1,
- -1, -1, -1, -1, 29, -1, -1, 32, -1, -1,
- -1, 27, 28, -1, 39, 31, -1, 42, -1, 35,
- -1, -1, 47, 48, 49, -1, -1, -1, 53, 54,
- -1, -1, -1, 58, -1, -1, -1, -1, -1, -1,
- -1, -1, 58, 59, -1, -1, 71, 72, -1, 74,
- -1, -1, -1, 69, -1, -1, 1, 73, 74, 4,
- 5, 6, 7, -1, -1, 3, -1, 12, 13, 14,
- 8, 9, -1, 11, -1, -1, -1, -1, -1, -1,
- -1, -1, 27, 28, -1, -1, 31, -1, -1, -1,
- 35, 29, -1, -1, 32, -1, -1, -1, -1, -1,
- -1, 39, -1, -1, 42, -1, -1, -1, -1, 47,
- 48, 49, -1, 3, -1, 53, 54, -1, 8, 9,
- 58, 11, -1, -1, 69, -1, -1, -1, 73, 74,
- -1, -1, -1, 71, 72, -1, -1, 75, -1, 29,
- -1, -1, 32, -1, -1, -1, -1, -1, 3, 39,
- -1, -1, 42, 8, 9, -1, 11, 47, 48, 49,
- -1, -1, -1, 53, 54, -1, -1, -1, 58, -1,
- -1, -1, -1, -1, 29, -1, -1, 32, -1, -1,
- -1, 71, 72, 3, 39, 75, -1, 42, 8, 9,
- -1, 11, 47, 48, 49, -1, -1, -1, 53, 54,
- -1, -1, -1, 58, -1, -1, -1, -1, -1, 29,
- -1, -1, 32, -1, -1, -1, 71, 72, 3, 39,
- 75, -1, 42, 8, 9, -1, 11, 47, 48, 49,
- -1, -1, -1, 53, 54, -1, -1, -1, 58, -1,
- -1, -1, -1, -1, 29, -1, -1, 32, -1, -1,
- -1, 71, 72, -1, 39, 75, -1, 42, -1, -1,
- -1, -1, 47, 48, 49, -1, -1, -1, 53, 54,
- -1, -1, -1, 58, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 71, 72, -1, -1,
- 75, 3, 4, 5, 6, 7, 8, 9, -1, 11,
- 12, 13, 14, 15, -1, 17, 18, 19, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, -1, -1,
- 32, -1, -1, -1, -1, -1, -1, 39, -1, -1,
- 42, -1, -1, -1, -1, 47, 48, 49, -1, -1,
- -1, 53, 54, -1, -1, -1, 58, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 69, -1, 71,
- 72, -1, 74, 3, 4, -1, -1, -1, 8, 9,
- -1, 11, -1, -1, -1, 15, -1, 17, 18, 19,
- 20, 21, 22, 23, 24, 25, 26, 27, -1, 29,
- -1, -1, 32, -1, -1, -1, -1, -1, -1, 39,
- -1, -1, 42, -1, -1, -1, -1, 47, 48, 49,
- -1, 3, -1, 53, 54, -1, 8, 9, 58, 11,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 69,
- -1, 71, 72, -1, 74, -1, -1, 29, -1, -1,
- 32, -1, -1, -1, -1, -1, -1, 39, -1, -1,
- 42, -1, -1, -1, -1, 47, 48, 49, -1, -1,
- -1, 53, 54, -1, 3, 4, 58, 6, 7, 8,
- 9, -1, 11, 12, 13, 14, -1, -1, -1, 71,
- 72, -1, 74, -1, -1, -1, -1, -1, -1, 28,
- 29, 3, -1, 32, -1, -1, 8, 9, -1, 11,
- 39, -1, -1, 42, -1, -1, -1, -1, 47, 48,
- 49, -1, -1, -1, 53, 54, -1, 29, -1, 58,
- 32, -1, -1, -1, -1, -1, -1, 39, -1, -1,
- 42, -1, 71, 72, -1, 47, 48, 49, -1, 3,
- -1, 53, 54, -1, 8, 9, 58, 11, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 69, -1, 71,
- 72, -1, -1, -1, -1, 29, 3, -1, 32, -1,
- -1, 8, 9, -1, 11, 39, -1, -1, 42, -1,
- -1, -1, -1, 47, 48, 49, -1, -1, -1, 53,
- 54, -1, 29, 3, 58, 32, -1, -1, 8, 9,
- -1, 11, 39, -1, -1, 42, -1, 71, 72, -1,
- 47, 48, 49, -1, -1, -1, 53, 54, -1, 29,
- -1, 58, 32, -1, -1, -1, -1, -1, -1, 39,
- -1, -1, 42, -1, 71, 72, -1, 47, 48, 49,
- -1, -1, -1, 53, 54, -1, -1, 1, 58, 3,
- 4, 5, 6, 7, -1, -1, -1, -1, 12, 13,
- 14, 71, 72, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 27, 28, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 10, -1,
- -1, -1, -1, -1, -1, 49, -1, -1, -1, -1,
- -1, -1, -1, -1, 58, -1, 10, -1, -1, -1,
- -1, -1, 34, 35, 36, 69, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
- 44, 45, 46, 47, 48, 49, 50, 51, 3, 4,
- 5, 6, 7, 75, -1, -1, -1, 12, 13, 14,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 75, -1, 28, 34, 35, 36, -1, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, -1, -1, 49, -1, -1, -1, -1, -1,
- -1, -1, -1, 58, 59, -1, -1, -1, -1, -1,
- -1, -1, 34, 35, 36, 75, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 31, -1, -1, 34, 35, 36, -1, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, -1, -1, 75, 34, 35, 36, -1, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51
- };
- /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
- #line 3 "/usr/lib/bison.simple"
-
- /* Skeleton output parser for bison,
- Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 1, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-
- #ifndef alloca
- #ifdef __GNUC__
- #define alloca __builtin_alloca
- #else /* not GNU C. */
- #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
- #include <alloca.h>
- #else /* not sparc */
- #if defined (MSDOS) && !defined (__TURBOC__)
- #include <malloc.h>
- #else /* not MSDOS, or __TURBOC__ */
- #if defined(_AIX)
- #include <malloc.h>
- #pragma alloca
- #else /* not MSDOS, __TURBOC__, or _AIX */
- #ifdef __hpux
- #ifdef __cplusplus
- extern "C" {
- void *alloca (unsigned int);
- };
- #else /* not __cplusplus */
- void *alloca ();
- #endif /* not __cplusplus */
- #endif /* __hpux */
- #endif /* not _AIX */
- #endif /* not MSDOS, or __TURBOC__ */
- #endif /* not sparc. */
- #endif /* not GNU C. */
- #endif /* alloca not defined. */
-
- /* This is the parser code that is written into each bison parser
- when the %semantic_parser declaration is not specified in the grammar.
- It was written by Richard Stallman by simplifying the hairy parser
- used when %semantic_parser is specified. */
-
- /* Note: there must be only one dollar sign in this file.
- It is replaced by the list of actions, each action
- as one case of the switch. */
-
- #define yyerrok (yyerrstatus = 0)
- #define yyclearin (yychar = YYEMPTY)
- #define YYEMPTY -2
- #define YYEOF 0
- #define YYACCEPT return(0)
- #define YYABORT return(1)
- #define YYERROR goto yyerrlab1
- /* Like YYERROR except do call yyerror.
- This remains here temporarily to ease the
- transition to the new meaning of YYERROR, for GCC.
- Once GCC version 2 has supplanted version 1, this can go. */
- #define YYFAIL goto yyerrlab
- #define YYRECOVERING() (!!yyerrstatus)
- #define YYBACKUP(token, value) \
- do \
- if (yychar == YYEMPTY && yylen == 1) \
- { yychar = (token), yylval = (value); \
- yychar1 = YYTRANSLATE (yychar); \
- YYPOPSTACK; \
- goto yybackup; \
- } \
- else \
- { yyerror ("syntax error: cannot back up"); YYERROR; } \
- while (0)
-
- #define YYTERROR 1
- #define YYERRCODE 256
-
- #ifndef YYPURE
- #define YYLEX yylex()
- #endif
-
- #ifdef YYPURE
- #ifdef YYLSP_NEEDED
- #define YYLEX yylex(&yylval, &yylloc)
- #else
- #define YYLEX yylex(&yylval)
- #endif
- #endif
-
- /* If nonreentrant, generate the variables here */
-
- #ifndef YYPURE
-
- int yychar; /* the lookahead symbol */
- YYSTYPE yylval; /* the semantic value of the */
- /* lookahead symbol */
-
- #ifdef YYLSP_NEEDED
- YYLTYPE yylloc; /* location data for the lookahead */
- /* symbol */
- #endif
-
- int yynerrs; /* number of parse errors so far */
- #endif /* not YYPURE */
-
- #if YYDEBUG != 0
- int yydebug; /* nonzero means print parse trace */
- /* Since this is uninitialized, it does not stop multiple parsers
- from coexisting. */
- #endif
-
- /* YYINITDEPTH indicates the initial size of the parser's stacks */
-
- #ifndef YYINITDEPTH
- #define YYINITDEPTH 200
- #endif
-
- /* YYMAXDEPTH is the maximum size the stacks can grow to
- (effective only if the built-in stack extension method is used). */
-
- #if YYMAXDEPTH == 0
- #undef YYMAXDEPTH
- #endif
-
- #ifndef YYMAXDEPTH
- #define YYMAXDEPTH 10000
- #endif
-
- /* Prevent warning if -Wstrict-prototypes. */
- #ifdef __GNUC__
- int yyparse (void);
- #endif
-
- #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
- #define __yy_bcopy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
- #else /* not GNU C or C++ */
- #ifndef __cplusplus
-
- /* This is the most reliable way to avoid incompatibilities
- in available built-in functions on various systems. */
- static void
- __yy_bcopy (from, to, count)
- char *from;
- char *to;
- int count;
- {
- register char *f = from;
- register char *t = to;
- register int i = count;
-
- while (i-- > 0)
- *t++ = *f++;
- }
-
- #else /* __cplusplus */
-
- /* This is the most reliable way to avoid incompatibilities
- in available built-in functions on various systems. */
- static void
- __yy_bcopy (char *from, char *to, int count)
- {
- register char *f = from;
- register char *t = to;
- register int i = count;
-
- while (i-- > 0)
- *t++ = *f++;
- }
-
- #endif
- #endif
-
- #line 184 "/usr/lib/bison.simple"
- int
- yyparse()
- {
- register int yystate;
- register int yyn;
- register short *yyssp;
- register YYSTYPE *yyvsp;
- int yyerrstatus; /* number of tokens to shift before error messages enabled */
- int yychar1 = 0; /* lookahead token as an internal (translated) token number */
-
- short yyssa[YYINITDEPTH]; /* the state stack */
- YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
-
- short *yyss = yyssa; /* refer to the stacks thru separate pointers */
- YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
-
- #ifdef YYLSP_NEEDED
- YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
- YYLTYPE *yyls = yylsa;
- YYLTYPE *yylsp;
-
- #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
- #else
- #define YYPOPSTACK (yyvsp--, yyssp--)
- #endif
-
- int yystacksize = YYINITDEPTH;
-
- #ifdef YYPURE
- int yychar;
- YYSTYPE yylval;
- int yynerrs;
- #ifdef YYLSP_NEEDED
- YYLTYPE yylloc;
- #endif
- #endif
-
- YYSTYPE yyval; /* the variable used to return */
- /* semantic values from the action */
- /* routines */
-
- int yylen;
-
- #if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Starting parse\n");
- #endif
-
- yystate = 0;
- yyerrstatus = 0;
- yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
-
- /* Initialize stack pointers.
- Waste one element of value and location stack
- so that they stay on the same level as the state stack.
- The wasted elements are never initialized. */
-
- yyssp = yyss - 1;
- yyvsp = yyvs;
- #ifdef YYLSP_NEEDED
- yylsp = yyls;
- #endif
-
- /* Push a new state, which is found in yystate . */
- /* In all cases, when you get here, the value and location stacks
- have just been pushed. so pushing a state here evens the stacks. */
- yynewstate:
-
- *++yyssp = yystate;
-
- if (yyssp >= yyss + yystacksize - 1)
- {
- /* Give user a chance to reallocate the stack */
- /* Use copies of these so that the &'s don't force the real ones into memory. */
- YYSTYPE *yyvs1 = yyvs;
- short *yyss1 = yyss;
- #ifdef YYLSP_NEEDED
- YYLTYPE *yyls1 = yyls;
- #endif
-
- /* Get the current used size of the three stacks, in elements. */
- int size = yyssp - yyss + 1;
-
- #ifdef yyoverflow
- /* Each stack pointer address is followed by the size of
- the data in use in that stack, in bytes. */
- #ifdef YYLSP_NEEDED
- /* This used to be a conditional around just the two extra args,
- but that might be undefined if yyoverflow is a macro. */
- yyoverflow("parser stack overflow",
- &yyss1, size * sizeof (*yyssp),
- &yyvs1, size * sizeof (*yyvsp),
- &yyls1, size * sizeof (*yylsp),
- &yystacksize);
- #else
- yyoverflow("parser stack overflow",
- &yyss1, size * sizeof (*yyssp),
- &yyvs1, size * sizeof (*yyvsp),
- &yystacksize);
- #endif
-
- yyss = yyss1; yyvs = yyvs1;
- #ifdef YYLSP_NEEDED
- yyls = yyls1;
- #endif
- #else /* no yyoverflow */
- /* Extend the stack our own way. */
- if (yystacksize >= YYMAXDEPTH)
- {
- yyerror("parser stack overflow");
- return 2;
- }
- yystacksize *= 2;
- if (yystacksize > YYMAXDEPTH)
- yystacksize = YYMAXDEPTH;
- yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
- __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
- yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
- __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
- #ifdef YYLSP_NEEDED
- yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
- __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
- #endif
- #endif /* no yyoverflow */
-
- yyssp = yyss + size - 1;
- yyvsp = yyvs + size - 1;
- #ifdef YYLSP_NEEDED
- yylsp = yyls + size - 1;
- #endif
-
- #if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Stack size increased to %d\n", yystacksize);
- #endif
-
- if (yyssp >= yyss + yystacksize - 1)
- YYABORT;
- }
-
- #if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Entering state %d\n", yystate);
- #endif
-
- goto yybackup;
- yybackup:
-
- /* Do appropriate processing given the current state. */
- /* Read a lookahead token if we need one and don't already have one. */
- /* yyresume: */
-
- /* First try to decide what to do without reference to lookahead token. */
-
- yyn = yypact[yystate];
- if (yyn == YYFLAG)
- goto yydefault;
-
- /* Not known => get a lookahead token if don't already have one. */
-
- /* yychar is either YYEMPTY or YYEOF
- or a valid token in external form. */
-
- if (yychar == YYEMPTY)
- {
- #if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Reading a token: ");
- #endif
- yychar = YYLEX;
- }
-
- /* Convert token to internal form (in yychar1) for indexing tables with */
-
- if (yychar <= 0) /* This means end of input. */
- {
- yychar1 = 0;
- yychar = YYEOF; /* Don't call YYLEX any more */
-
- #if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Now at end of input.\n");
- #endif
- }
- else
- {
- yychar1 = YYTRANSLATE(yychar);
-
- #if YYDEBUG != 0
- if (yydebug)
- {
- fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
- /* Give the individual parser a way to print the precise meaning
- of a token, for further debugging info. */
- #ifdef YYPRINT
- YYPRINT (stderr, yychar, yylval);
- #endif
- fprintf (stderr, ")\n");
- }
- #endif
- }
-
- yyn += yychar1;
- if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
- goto yydefault;
-
- yyn = yytable[yyn];
-
- /* yyn is what to do for this token type in this state.
- Negative => reduce, -yyn is rule number.
- Positive => shift, yyn is new state.
- New state is final state => don't bother to shift,
- just return success.
- 0, or most negative number => error. */
-
- if (yyn < 0)
- {
- if (yyn == YYFLAG)
- goto yyerrlab;
- yyn = -yyn;
- goto yyreduce;
- }
- else if (yyn == 0)
- goto yyerrlab;
-
- if (yyn == YYFINAL)
- YYACCEPT;
-
- /* Shift the lookahead token. */
-
- #if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
- #endif
-
- /* Discard the token being shifted unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
-
- *++yyvsp = yylval;
- #ifdef YYLSP_NEEDED
- *++yylsp = yylloc;
- #endif
-
- /* count tokens shifted since error; after three, turn off error status. */
- if (yyerrstatus) yyerrstatus--;
-
- yystate = yyn;
- goto yynewstate;
-
- /* Do the default action for the current state. */
- yydefault:
-
- yyn = yydefact[yystate];
- if (yyn == 0)
- goto yyerrlab;
-
- /* Do a reduction. yyn is the number of a rule to reduce with. */
- yyreduce:
- yylen = yyr2[yyn];
- if (yylen > 0)
- yyval = yyvsp[1-yylen]; /* implement default value of the action */
-
- #if YYDEBUG != 0
- if (yydebug)
- {
- int i;
-
- fprintf (stderr, "Reducing via rule %d (line %d), ",
- yyn, yyrline[yyn]);
-
- /* Print the symbols being reduced, and their result. */
- for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
- fprintf (stderr, "%s ", yytname[yyrhs[i]]);
- fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
- }
- #endif
-
-
- switch (yyn) {
-
- case 1:
- #line 210 "c-parse.y"
- { if (pedantic)
- pedwarn ("ANSI C forbids an empty source file");
- ;
- break;}
- case 2:
- #line 214 "c-parse.y"
- {
- ;
- break;}
- case 3:
- #line 223 "c-parse.y"
- {yyval.ttype = NULL_TREE; ;
- break;}
- case 5:
- #line 224 "c-parse.y"
- {yyval.ttype = NULL_TREE; ;
- break;}
- case 9:
- #line 231 "c-parse.y"
- { STRIP_NOPS (yyvsp[-2].ttype);
- if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
- && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
- || TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
- assemble_asm (yyvsp[-2].ttype);
- else
- error ("argument of `asm' is not a constant string"); ;
- break;}
- case 10:
- #line 242 "c-parse.y"
- { if (pedantic)
- error ("ANSI C forbids data definition with no type or storage class");
- else if (!flag_traditional)
- warning ("data definition has no type or storage class"); ;
- break;}
- case 11:
- #line 247 "c-parse.y"
- {;
- break;}
- case 12:
- #line 249 "c-parse.y"
- {;
- break;}
- case 13:
- #line 251 "c-parse.y"
- { pedwarn ("empty declaration"); ;
- break;}
- case 14:
- #line 253 "c-parse.y"
- { shadow_tag (yyvsp[-1].ttype); ;
- break;}
- case 17:
- #line 257 "c-parse.y"
- { if (pedantic)
- pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
- break;}
- case 18:
- #line 263 "c-parse.y"
- { if (! start_function (yyvsp[-2].ttype, yyvsp[0].ttype, 0))
- YYERROR1;
- reinit_parse_for_function (); ;
- break;}
- case 19:
- #line 267 "c-parse.y"
- { store_parm_decls (); ;
- break;}
- case 20:
- #line 269 "c-parse.y"
- { finish_function (0); ;
- break;}
- case 21:
- #line 271 "c-parse.y"
- { ;
- break;}
- case 22:
- #line 273 "c-parse.y"
- { if (! start_function (yyvsp[-2].ttype, yyvsp[0].ttype, 0))
- YYERROR1;
- reinit_parse_for_function (); ;
- break;}
- case 23:
- #line 277 "c-parse.y"
- { store_parm_decls (); ;
- break;}
- case 24:
- #line 279 "c-parse.y"
- { finish_function (0); ;
- break;}
- case 25:
- #line 281 "c-parse.y"
- { ;
- break;}
- case 26:
- #line 283 "c-parse.y"
- { if (! start_function (NULL_TREE, yyvsp[0].ttype, 0))
- YYERROR1;
- reinit_parse_for_function (); ;
- break;}
- case 27:
- #line 287 "c-parse.y"
- { store_parm_decls (); ;
- break;}
- case 28:
- #line 289 "c-parse.y"
- { finish_function (0); ;
- break;}
- case 29:
- #line 291 "c-parse.y"
- { ;
- break;}
- case 32:
- #line 300 "c-parse.y"
- { yyval.code = ADDR_EXPR; ;
- break;}
- case 33:
- #line 302 "c-parse.y"
- { yyval.code = NEGATE_EXPR; ;
- break;}
- case 34:
- #line 304 "c-parse.y"
- { yyval.code = CONVERT_EXPR; ;
- break;}
- case 35:
- #line 306 "c-parse.y"
- { yyval.code = PREINCREMENT_EXPR; ;
- break;}
- case 36:
- #line 308 "c-parse.y"
- { yyval.code = PREDECREMENT_EXPR; ;
- break;}
- case 37:
- #line 310 "c-parse.y"
- { yyval.code = BIT_NOT_EXPR; ;
- break;}
- case 38:
- #line 312 "c-parse.y"
- { yyval.code = TRUTH_NOT_EXPR; ;
- break;}
- case 39:
- #line 316 "c-parse.y"
- { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
- break;}
- case 40:
- #line 321 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;
- break;}
- case 42:
- #line 327 "c-parse.y"
- { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
- case 43:
- #line 329 "c-parse.y"
- { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
- case 45:
- #line 335 "c-parse.y"
- { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
- break;}
- case 46:
- #line 338 "c-parse.y"
- { yyvsp[0].itype = pedantic;
- pedantic = 0; ;
- break;}
- case 47:
- #line 341 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- pedantic = yyvsp[-2].itype; ;
- break;}
- case 48:
- #line 344 "c-parse.y"
- { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0); ;
- break;}
- case 49:
- #line 347 "c-parse.y"
- { tree label = lookup_label (yyvsp[0].ttype);
- TREE_USED (label) = 1;
- yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
- TREE_CONSTANT (yyval.ttype) = 1; ;
- break;}
- case 50:
- #line 367 "c-parse.y"
- { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
- && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
- error ("`sizeof' applied to a bit-field");
- yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
- break;}
- case 51:
- #line 372 "c-parse.y"
- { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
- break;}
- case 52:
- #line 374 "c-parse.y"
- { yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
- break;}
- case 53:
- #line 376 "c-parse.y"
- { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
- break;}
- case 55:
- #line 382 "c-parse.y"
- { tree type = groktypename (yyvsp[-2].ttype);
- yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
- break;}
- case 56:
- #line 385 "c-parse.y"
- { tree type = groktypename (yyvsp[-5].ttype);
- char *name;
- if (pedantic)
- pedwarn ("ANSI C forbids constructor expressions");
- if (TYPE_NAME (type) != 0)
- {
- if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
- name = IDENTIFIER_POINTER (TYPE_NAME (type));
- else
- name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
- }
- else
- name = "";
- yyval.ttype = digest_init (type, build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)),
- NULL_PTR, 0, 0, name);
- if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
- {
- int failure = complete_array_type (type, yyval.ttype, 1);
- if (failure)
- abort ();
- }
- ;
- break;}
- case 58:
- #line 412 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 59:
- #line 414 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 60:
- #line 416 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 61:
- #line 418 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 62:
- #line 420 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 63:
- #line 422 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 64:
- #line 424 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 65:
- #line 426 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 66:
- #line 428 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 67:
- #line 430 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 68:
- #line 432 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 69:
- #line 434 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 70:
- #line 436 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 71:
- #line 438 "c-parse.y"
- { yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 72:
- #line 440 "c-parse.y"
- { yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 73:
- #line 442 "c-parse.y"
- { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
- C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
- break;}
- case 74:
- #line 445 "c-parse.y"
- { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
- C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
- break;}
- case 75:
- #line 451 "c-parse.y"
- {
- tree context;
-
- yyval.ttype = lastiddecl;
- if (!yyval.ttype || yyval.ttype == error_mark_node)
- {
- if (yychar == YYEMPTY)
- yychar = YYLEX;
- if (yychar == '(')
- {
- {
- /* Ordinary implicit function declaration. */
- yyval.ttype = implicitly_declare (yyvsp[0].ttype);
- assemble_external (yyval.ttype);
- TREE_USED (yyval.ttype) = 1;
- }
- }
- else if (current_function_decl == 0)
- {
- error ("`%s' undeclared, outside of functions",
- IDENTIFIER_POINTER (yyvsp[0].ttype));
- yyval.ttype = error_mark_node;
- }
- else
- {
- {
- if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node
- || IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) != current_function_decl)
- {
- error ("`%s' undeclared (first use this function)",
- IDENTIFIER_POINTER (yyvsp[0].ttype));
-
- if (! undeclared_variable_notice)
- {
- error ("(Each undeclared identifier is reported only once");
- error ("for each function it appears in.)");
- undeclared_variable_notice = 1;
- }
- }
- yyval.ttype = error_mark_node;
- /* Prevent repeated error messages. */
- IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
- IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) = current_function_decl;
- }
- }
- }
- else if (TREE_TYPE (yyval.ttype) == error_mark_node)
- yyval.ttype = error_mark_node;
- else if (C_DECL_ANTICIPATED (yyval.ttype))
- {
- /* The first time we see a build-in function used,
- if it has not been declared. */
- C_DECL_ANTICIPATED (yyval.ttype) = 0;
- if (yychar == YYEMPTY)
- yychar = YYLEX;
- if (yychar == '(')
- {
- /* Omit the implicit declaration we
- would ordinarily do, so we don't lose
- the actual built in type.
- But print a diagnostic for the mismatch. */
- if (TREE_CODE (yyval.ttype) != FUNCTION_DECL)
- error ("`%s' implicitly declared as function",
- IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
- else if ((TYPE_MODE (TREE_TYPE (TREE_TYPE (yyval.ttype)))
- != TYPE_MODE (integer_type_node))
- && (TREE_TYPE (TREE_TYPE (yyval.ttype))
- != void_type_node))
- pedwarn ("type mismatch in implicit declaration for built-in function `%s'",
- IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
- /* If it really returns void, change that to int. */
- if (TREE_TYPE (TREE_TYPE (yyval.ttype)) == void_type_node)
- TREE_TYPE (yyval.ttype)
- = build_function_type (integer_type_node,
- TYPE_ARG_TYPES (TREE_TYPE (yyval.ttype)));
- }
- else
- pedwarn ("built-in function `%s' used without declaration",
- IDENTIFIER_POINTER (DECL_NAME (yyval.ttype)));
-
- /* Do what we would ordinarily do when a fn is used. */
- assemble_external (yyval.ttype);
- TREE_USED (yyval.ttype) = 1;
- }
- else
- {
- assemble_external (yyval.ttype);
- TREE_USED (yyval.ttype) = 1;
- }
-
- if (TREE_CODE (yyval.ttype) == CONST_DECL)
- {
- yyval.ttype = DECL_INITIAL (yyval.ttype);
- /* This is to prevent an enum whose value is 0
- from being considered a null pointer constant. */
- yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
- TREE_CONSTANT (yyval.ttype) = 1;
- }
- ;
- break;}
- case 77:
- #line 552 "c-parse.y"
- { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
- break;}
- case 78:
- #line 554 "c-parse.y"
- { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
- if (class == 'e' || class == '1'
- || class == '2' || class == '<')
- C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK);
- yyval.ttype = yyvsp[-1].ttype; ;
- break;}
- case 79:
- #line 560 "c-parse.y"
- { yyval.ttype = error_mark_node; ;
- break;}
- case 80:
- #line 562 "c-parse.y"
- { if (current_function_decl == 0)
- {
- error ("braced-group within expression allowed only inside a function");
- YYERROR;
- }
- /* We must force a BLOCK for this level
- so that, if it is not expanded later,
- there is a way to turn off the entire subtree of blocks
- that are contained in it. */
- keep_next_level ();
- push_label_level ();
- yyval.ttype = expand_start_stmt_expr (); ;
- break;}
- case 81:
- #line 575 "c-parse.y"
- { tree rtl_exp;
- if (pedantic)
- pedwarn ("ANSI C forbids braced-groups within expressions");
- pop_label_level ();
- rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
- /* The statements have side effects, so the group does. */
- TREE_SIDE_EFFECTS (rtl_exp) = 1;
-
- /* Make a BIND_EXPR for the BLOCK already made. */
- yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
- NULL_TREE, rtl_exp, yyvsp[-1].ttype);
- /* Remove the block from the tree at this point.
- It gets put back at the proper place
- when the BIND_EXPR is expanded. */
- delete_block (yyvsp[-1].ttype);
- ;
- break;}
- case 82:
- #line 592 "c-parse.y"
- { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
- case 83:
- #line 594 "c-parse.y"
- { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
- case 84:
- #line 596 "c-parse.y"
- {
- yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
- ;
- break;}
- case 85:
- #line 600 "c-parse.y"
- {
- tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
-
- yyval.ttype = build_component_ref (expr, yyvsp[0].ttype);
- ;
- break;}
- case 86:
- #line 606 "c-parse.y"
- { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
- break;}
- case 87:
- #line 608 "c-parse.y"
- { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
- break;}
- case 89:
- #line 615 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
- case 92:
- #line 623 "c-parse.y"
- { c_mark_varargs ();
- if (pedantic)
- pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
- break;}
- case 93:
- #line 633 "c-parse.y"
- { ;
- break;}
- case 98:
- #line 645 "c-parse.y"
- { current_declspecs = TREE_VALUE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack);
- resume_momentary (yyvsp[-2].itype); ;
- break;}
- case 99:
- #line 649 "c-parse.y"
- { current_declspecs = TREE_VALUE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack);
- resume_momentary (yyvsp[-2].itype); ;
- break;}
- case 100:
- #line 653 "c-parse.y"
- { shadow_tag_warned (yyvsp[-1].ttype, 1);
- pedwarn ("empty declaration"); ;
- break;}
- case 101:
- #line 656 "c-parse.y"
- { pedwarn ("empty declaration"); ;
- break;}
- case 102:
- #line 665 "c-parse.y"
- { ;
- break;}
- case 107:
- #line 680 "c-parse.y"
- { yyval.itype = suspend_momentary ();
- pending_xref_error ();
- declspec_stack = tree_cons (NULL_TREE, current_declspecs,
- declspec_stack);
- current_declspecs = yyvsp[0].ttype; ;
- break;}
- case 108:
- #line 689 "c-parse.y"
- { current_declspecs = TREE_VALUE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack);
- resume_momentary (yyvsp[-2].itype); ;
- break;}
- case 109:
- #line 693 "c-parse.y"
- { current_declspecs = TREE_VALUE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack);
- resume_momentary (yyvsp[-2].itype); ;
- break;}
- case 110:
- #line 697 "c-parse.y"
- { current_declspecs = TREE_VALUE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack);
- resume_momentary (yyvsp[-1].itype); ;
- break;}
- case 111:
- #line 701 "c-parse.y"
- { current_declspecs = TREE_VALUE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack);
- resume_momentary (yyvsp[-1].itype); ;
- break;}
- case 112:
- #line 705 "c-parse.y"
- { shadow_tag (yyvsp[-1].ttype); ;
- break;}
- case 113:
- #line 707 "c-parse.y"
- { pedwarn ("empty declaration"); ;
- break;}
- case 114:
- #line 716 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
- case 115:
- #line 718 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
- break;}
- case 116:
- #line 722 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;
- break;}
- case 117:
- #line 724 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
- case 118:
- #line 726 "c-parse.y"
- { if (extra_warnings)
- warning ("`%s' is not at beginning of declaration",
- IDENTIFIER_POINTER (yyvsp[0].ttype));
- yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
- case 119:
- #line 738 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
- TREE_STATIC (yyval.ttype) = 1; ;
- break;}
- case 120:
- #line 741 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
- break;}
- case 121:
- #line 743 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = 1; ;
- break;}
- case 122:
- #line 746 "c-parse.y"
- { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
- warning ("`%s' is not at beginning of declaration",
- IDENTIFIER_POINTER (yyvsp[0].ttype));
- yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
- TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
- break;}
- case 123:
- #line 760 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
- case 124:
- #line 762 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
- break;}
- case 125:
- #line 766 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;
- break;}
- case 126:
- #line 768 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
- case 129:
- #line 778 "c-parse.y"
- { /* For a typedef name, record the meaning, not the name.
- In case of `foo foo, bar;'. */
- yyval.ttype = lookup_name (yyvsp[0].ttype); ;
- break;}
- case 130:
- #line 782 "c-parse.y"
- { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
- break;}
- case 131:
- #line 784 "c-parse.y"
- { yyval.ttype = groktypename (yyvsp[-1].ttype); ;
- break;}
- case 139:
- #line 806 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;
- break;}
- case 140:
- #line 808 "c-parse.y"
- { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
- yyval.ttype = yyvsp[-1].ttype;
- ;
- break;}
- case 141:
- #line 815 "c-parse.y"
- { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1); ;
- break;}
- case 142:
- #line 818 "c-parse.y"
- { decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype);
- finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
- break;}
- case 143:
- #line 821 "c-parse.y"
- { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
- decl_attributes (d, yyvsp[0].ttype);
- finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
- case 144:
- #line 828 "c-parse.y"
- { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1); ;
- break;}
- case 145:
- #line 831 "c-parse.y"
- { decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype);
- finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
- break;}
- case 146:
- #line 834 "c-parse.y"
- { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
- decl_attributes (d, yyvsp[0].ttype);
- finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
- case 147:
- #line 842 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;
- break;}
- case 148:
- #line 844 "c-parse.y"
- { yyval.ttype = yyvsp[-2].ttype; ;
- break;}
- case 149:
- #line 849 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
- break;}
- case 150:
- #line 851 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
- break;}
- case 151:
- #line 856 "c-parse.y"
- {
- #ifdef HANDLE_ATTRIBUTE0
- /* give the function a chance to validate further attributes */
- if (HANDLE_ATTRIBUTE0 (IDENTIFIER_POINTER (yyvsp[0].ttype)) ||
- strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "packed"))
- #else
- if (strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "packed"))
- #endif
- warning ("`%s' attribute directive ignored",
- IDENTIFIER_POINTER (yyvsp[0].ttype));
- yyval.ttype = yyvsp[0].ttype; ;
- break;}
- case 152:
- #line 868 "c-parse.y"
- { /* If not "mode (m)", then issue warning. */
- if (strcmp (IDENTIFIER_POINTER (yyvsp[-3].ttype), "mode") != 0)
- {
- warning ("`%s' attribute directive ignored",
- IDENTIFIER_POINTER (yyvsp[-3].ttype));
- yyval.ttype = yyvsp[-3].ttype;
- }
- else
- yyval.ttype = tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); ;
- break;}
- case 153:
- #line 878 "c-parse.y"
- { /* if not "aligned(n)", then issue warning */
- if (strcmp (IDENTIFIER_POINTER (yyvsp[-3].ttype), "aligned") != 0
- || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
- {
- warning ("`%s' attribute directive ignored",
- IDENTIFIER_POINTER (yyvsp[-3].ttype));
- yyval.ttype = yyvsp[-3].ttype;
- }
- else
- yyval.ttype = tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); ;
- break;}
- case 154:
- #line 889 "c-parse.y"
- { /* if not "format(...)", then issue warning */
- if (strcmp (IDENTIFIER_POINTER (yyvsp[-7].ttype), "format") != 0
- || TREE_CODE (yyvsp[-3].ttype) != INTEGER_CST
- || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
- {
- warning ("`%s' attribute directive ignored",
- IDENTIFIER_POINTER (yyvsp[-7].ttype));
- yyval.ttype = yyvsp[-7].ttype;
- }
- else
- yyval.ttype = tree_cons (yyvsp[-7].ttype,
- tree_cons (yyvsp[-5].ttype,
- tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE),
- NULL_TREE),
- NULL_TREE); ;
- break;}
- case 156:
- #line 909 "c-parse.y"
- { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
- if (pedantic)
- pedwarn ("ANSI C forbids empty initializer braces"); ;
- break;}
- case 157:
- #line 913 "c-parse.y"
- { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype)); ;
- break;}
- case 158:
- #line 915 "c-parse.y"
- { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); ;
- break;}
- case 159:
- #line 917 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;
- break;}
- case 160:
- #line 924 "c-parse.y"
- { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
- case 161:
- #line 926 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
- break;}
- case 162:
- #line 929 "c-parse.y"
- { yyval.ttype = build_tree_list (tree_cons (yyvsp[-4].ttype, NULL_TREE,
- build_tree_list (yyvsp[-2].ttype, NULL_TREE)),
- yyvsp[0].ttype); ;
- break;}
- case 163:
- #line 933 "c-parse.y"
- { yyval.ttype = tree_cons (tree_cons (yyvsp[-4].ttype, NULL_TREE,
- build_tree_list (yyvsp[-2].ttype, NULL_TREE)),
- yyvsp[0].ttype,
- yyvsp[-7].ttype); ;
- break;}
- case 164:
- #line 938 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 165:
- #line 940 "c-parse.y"
- { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyvsp[-5].ttype); ;
- break;}
- case 166:
- #line 942 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 167:
- #line 944 "c-parse.y"
- { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
- break;}
- case 168:
- #line 949 "c-parse.y"
- { push_c_function_context ();
- if (! start_function (current_declspecs, yyvsp[0].ttype, 1))
- {
- pop_c_function_context ();
- YYERROR1;
- }
- reinit_parse_for_function ();
- store_parm_decls (); ;
- break;}
- case 169:
- #line 964 "c-parse.y"
- { finish_function (1);
- pop_c_function_context (); ;
- break;}
- case 170:
- #line 970 "c-parse.y"
- { push_c_function_context ();
- if (! start_function (current_declspecs, yyvsp[0].ttype, 1))
- {
- pop_c_function_context ();
- YYERROR1;
- }
- reinit_parse_for_function ();
- store_parm_decls (); ;
- break;}
- case 171:
- #line 985 "c-parse.y"
- { finish_function (1);
- pop_c_function_context (); ;
- break;}
- case 174:
- #line 1001 "c-parse.y"
- { yyval.ttype = yyvsp[-1].ttype; ;
- break;}
- case 175:
- #line 1003 "c-parse.y"
- { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
- break;}
- case 176:
- #line 1008 "c-parse.y"
- { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
- case 177:
- #line 1010 "c-parse.y"
- { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
- case 178:
- #line 1012 "c-parse.y"
- { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
- case 180:
- #line 1023 "c-parse.y"
- { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
- break;}
- case 181:
- #line 1028 "c-parse.y"
- { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
- case 182:
- #line 1030 "c-parse.y"
- { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
- case 183:
- #line 1032 "c-parse.y"
- { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
- case 185:
- #line 1041 "c-parse.y"
- { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
- break;}
- case 186:
- #line 1046 "c-parse.y"
- { yyval.ttype = yyvsp[-1].ttype; ;
- break;}
- case 187:
- #line 1048 "c-parse.y"
- { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
- case 188:
- #line 1050 "c-parse.y"
- { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
- case 189:
- #line 1052 "c-parse.y"
- { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
- case 191:
- #line 1058 "c-parse.y"
- { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
- /* Start scope of tag before parsing components. */
- ;
- break;}
- case 192:
- #line 1062 "c-parse.y"
- { yyval.ttype = finish_struct (yyvsp[-2].ttype, yyvsp[-1].ttype);
- /* Really define the structure. */
- ;
- break;}
- case 193:
- #line 1066 "c-parse.y"
- { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
- yyvsp[-1].ttype); ;
- break;}
- case 194:
- #line 1069 "c-parse.y"
- { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
- break;}
- case 195:
- #line 1071 "c-parse.y"
- { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
- break;}
- case 196:
- #line 1073 "c-parse.y"
- { yyval.ttype = finish_struct (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
- break;}
- case 197:
- #line 1075 "c-parse.y"
- { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
- yyvsp[-1].ttype); ;
- break;}
- case 198:
- #line 1078 "c-parse.y"
- { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
- break;}
- case 199:
- #line 1080 "c-parse.y"
- { yyvsp[0].itype = suspend_momentary ();
- yyval.ttype = start_enum (yyvsp[-1].ttype); ;
- break;}
- case 200:
- #line 1083 "c-parse.y"
- { yyval.ttype = finish_enum (yyvsp[-3].ttype, nreverse (yyvsp[-2].ttype));
- resume_momentary (yyvsp[-4].itype); ;
- break;}
- case 201:
- #line 1086 "c-parse.y"
- { yyvsp[0].itype = suspend_momentary ();
- yyval.ttype = start_enum (NULL_TREE); ;
- break;}
- case 202:
- #line 1089 "c-parse.y"
- { yyval.ttype = finish_enum (yyvsp[-3].ttype, nreverse (yyvsp[-2].ttype));
- resume_momentary (yyvsp[-4].itype); ;
- break;}
- case 203:
- #line 1092 "c-parse.y"
- { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
- break;}
- case 207:
- #line 1103 "c-parse.y"
- { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
- break;}
- case 208:
- #line 1108 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype; ;
- break;}
- case 209:
- #line 1110 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
- pedwarn ("no semicolon at end of struct or union"); ;
- break;}
- case 210:
- #line 1115 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;
- break;}
- case 211:
- #line 1117 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
- break;}
- case 212:
- #line 1119 "c-parse.y"
- { if (pedantic)
- pedwarn ("extra semicolon in struct or union specified"); ;
- break;}
- case 213:
- #line 1134 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- current_declspecs = TREE_VALUE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack);
- resume_momentary (yyvsp[-1].itype); ;
- break;}
- case 214:
- #line 1139 "c-parse.y"
- { if (pedantic)
- pedwarn ("ANSI C forbids member declarations with no members");
- shadow_tag(yyvsp[0].ttype);
- yyval.ttype = NULL_TREE; ;
- break;}
- case 215:
- #line 1144 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- current_declspecs = TREE_VALUE (declspec_stack);
- declspec_stack = TREE_CHAIN (declspec_stack);
- resume_momentary (yyvsp[-1].itype); ;
- break;}
- case 216:
- #line 1149 "c-parse.y"
- { if (pedantic)
- pedwarn ("ANSI C forbids member declarations with no members");
- shadow_tag(yyvsp[0].ttype);
- yyval.ttype = NULL_TREE; ;
- break;}
- case 217:
- #line 1154 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;
- break;}
- case 219:
- #line 1160 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 220:
- #line 1165 "c-parse.y"
- { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
- decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
- break;}
- case 221:
- #line 1169 "c-parse.y"
- { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
- decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
- break;}
- case 222:
- #line 1172 "c-parse.y"
- { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, NULL_TREE, current_declspecs, yyvsp[0].ttype); ;
- break;}
- case 224:
- #line 1183 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
- break;}
- case 225:
- #line 1189 "c-parse.y"
- { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
- break;}
- case 226:
- #line 1191 "c-parse.y"
- { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 227:
- #line 1196 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
- case 228:
- #line 1198 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
- case 229:
- #line 1203 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;
- break;}
- case 231:
- #line 1209 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
- break;}
- case 232:
- #line 1211 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
- case 233:
- #line 1216 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;
- break;}
- case 234:
- #line 1218 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
- break;}
- case 235:
- #line 1223 "c-parse.y"
- { yyval.ttype = yyvsp[-1].ttype; ;
- break;}
- case 236:
- #line 1226 "c-parse.y"
- { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
- case 237:
- #line 1228 "c-parse.y"
- { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
- break;}
- case 238:
- #line 1230 "c-parse.y"
- { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
- break;}
- case 239:
- #line 1232 "c-parse.y"
- { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
- case 240:
- #line 1234 "c-parse.y"
- { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
- break;}
- case 241:
- #line 1236 "c-parse.y"
- { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
- break;}
- case 242:
- #line 1238 "c-parse.y"
- { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
- case 243:
- #line 1240 "c-parse.y"
- { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
- break;}
- case 250:
- #line 1262 "c-parse.y"
- { emit_line_note (input_filename, lineno);
- pushlevel (0);
- clear_last_expr ();
- push_momentary ();
- expand_start_bindings (0);
- ;
- break;}
- case 252:
- #line 1275 "c-parse.y"
- { if (pedantic)
- pedwarn ("ANSI C forbids label declarations"); ;
- break;}
- case 255:
- #line 1286 "c-parse.y"
- { tree link;
- for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
- {
- tree label = shadow_label (TREE_VALUE (link));
- C_DECLARED_LABEL_FLAG (label) = 1;
- declare_nonlocal_label (label);
- }
- ;
- break;}
- case 256:
- #line 1300 "c-parse.y"
- {;
- break;}
- case 258:
- #line 1305 "c-parse.y"
- { yyval.ttype = convert (void_type_node, integer_zero_node); ;
- break;}
- case 259:
- #line 1307 "c-parse.y"
- { emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), 1, 0);
- yyval.ttype = poplevel (1, 1, 0);
- pop_momentary (); ;
- break;}
- case 260:
- #line 1312 "c-parse.y"
- { emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), kept_level_p (), 0);
- yyval.ttype = poplevel (kept_level_p (), 0, 0);
- pop_momentary (); ;
- break;}
- case 261:
- #line 1317 "c-parse.y"
- { emit_line_note (input_filename, lineno);
- expand_end_bindings (getdecls (), kept_level_p (), 0);
- yyval.ttype = poplevel (kept_level_p (), 0, 0);
- pop_momentary (); ;
- break;}
- case 264:
- #line 1334 "c-parse.y"
- { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
- expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0);
- yyvsp[-3].itype = stmt_count;
- if_stmt_file = yyvsp[-5].filename;
- if_stmt_line = yyvsp[-4].lineno;
- position_after_white_space (); ;
- break;}
- case 265:
- #line 1347 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
- /* See comment in `while' alternative, above. */
- emit_nop ();
- expand_start_loop_continue_elsewhere (1);
- position_after_white_space (); ;
- break;}
- case 266:
- #line 1354 "c-parse.y"
- { expand_loop_continue_here (); ;
- break;}
- case 267:
- #line 1358 "c-parse.y"
- { yyval.filename = input_filename; ;
- break;}
- case 268:
- #line 1362 "c-parse.y"
- { yyval.lineno = lineno; ;
- break;}
- case 269:
- #line 1367 "c-parse.y"
- { ;
- break;}
- case 270:
- #line 1372 "c-parse.y"
- { ;
- break;}
- case 271:
- #line 1377 "c-parse.y"
- { ;
- break;}
- case 273:
- #line 1383 "c-parse.y"
- { int next;
- position_after_white_space ();
- next = getc (finput);
- ungetc (next, finput);
- if (pedantic && next == '}')
- pedwarn ("ANSI C forbids label at end of compound statement");
- ;
- break;}
- case 274:
- #line 1395 "c-parse.y"
- { stmt_count++; ;
- break;}
- case 275:
- #line 1397 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
- c_expand_expr_stmt (yyvsp[-1].ttype);
- clear_momentary (); ;
- break;}
- case 276:
- #line 1402 "c-parse.y"
- { expand_start_else ();
- yyvsp[-1].itype = stmt_count;
- position_after_white_space (); ;
- break;}
- case 277:
- #line 1406 "c-parse.y"
- { expand_end_cond ();
- if (extra_warnings && stmt_count == yyvsp[-3].itype)
- warning ("empty body in an else-statement"); ;
- break;}
- case 278:
- #line 1410 "c-parse.y"
- { expand_end_cond ();
- if (extra_warnings && stmt_count == yyvsp[0].itype)
- warning_with_file_and_line (if_stmt_file, if_stmt_line,
- "empty body in an if-statement"); ;
- break;}
- case 279:
- #line 1418 "c-parse.y"
- { expand_end_cond (); ;
- break;}
- case 280:
- #line 1420 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
- /* The emit_nop used to come before emit_line_note,
- but that made the nop seem like part of the preceding line.
- And that was confusing when the preceding line was
- inside of an if statement and was not really executed.
- I think it ought to work to put the nop after the line number.
- We will see. --rms, July 15, 1991. */
- emit_nop (); ;
- break;}
- case 281:
- #line 1430 "c-parse.y"
- { /* Don't start the loop till we have succeeded
- in parsing the end test. This is to make sure
- that we end every loop we start. */
- expand_start_loop (1);
- emit_line_note (input_filename, lineno);
- expand_exit_loop_if_false (NULL_PTR,
- truthvalue_conversion (yyvsp[-1].ttype));
- position_after_white_space (); ;
- break;}
- case 282:
- #line 1439 "c-parse.y"
- { expand_end_loop (); ;
- break;}
- case 283:
- #line 1442 "c-parse.y"
- { emit_line_note (input_filename, lineno);
- expand_exit_loop_if_false (NULL_PTR,
- truthvalue_conversion (yyvsp[-2].ttype));
- expand_end_loop ();
- clear_momentary (); ;
- break;}
- case 284:
- #line 1449 "c-parse.y"
- { expand_end_loop ();
- clear_momentary (); ;
- break;}
- case 285:
- #line 1453 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
- /* See comment in `while' alternative, above. */
- emit_nop ();
- if (yyvsp[-1].ttype) c_expand_expr_stmt (yyvsp[-1].ttype);
- /* Next step is to call expand_start_loop_continue_elsewhere,
- but wait till after we parse the entire for (...).
- Otherwise, invalid input might cause us to call that
- fn without calling expand_end_loop. */
- ;
- break;}
- case 286:
- #line 1465 "c-parse.y"
- { yyvsp[0].lineno = lineno;
- yyval.filename = input_filename; ;
- break;}
- case 287:
- #line 1468 "c-parse.y"
- {
- /* Start the loop. Doing this after parsing
- all the expressions ensures we will end the loop. */
- expand_start_loop_continue_elsewhere (1);
- /* Emit the end-test, with a line number. */
- emit_line_note (yyvsp[-2].filename, yyvsp[-3].lineno);
- if (yyvsp[-4].ttype)
- expand_exit_loop_if_false (NULL_PTR,
- truthvalue_conversion (yyvsp[-4].ttype));
- /* Don't let the tree nodes for $9 be discarded by
- clear_momentary during the parsing of the next stmt. */
- push_momentary ();
- yyvsp[-3].lineno = lineno;
- yyvsp[-2].filename = input_filename; ;
- break;}
- case 288:
- #line 1483 "c-parse.y"
- { /* Emit the increment expression, with a line number. */
- emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno);
- expand_loop_continue_here ();
- if (yyvsp[-3].ttype)
- c_expand_expr_stmt (yyvsp[-3].ttype);
- pop_momentary ();
- expand_end_loop (); ;
- break;}
- case 289:
- #line 1491 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
- c_expand_start_case (yyvsp[-1].ttype);
- /* Don't let the tree nodes for $3 be discarded by
- clear_momentary during the parsing of the next stmt. */
- push_momentary ();
- position_after_white_space (); ;
- break;}
- case 290:
- #line 1499 "c-parse.y"
- { expand_end_case (yyvsp[-3].ttype);
- pop_momentary (); ;
- break;}
- case 291:
- #line 1502 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
- if ( ! expand_exit_something ())
- error ("break statement not within loop or switch"); ;
- break;}
- case 292:
- #line 1507 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
- if (! expand_continue_loop (NULL_PTR))
- error ("continue statement not within a loop"); ;
- break;}
- case 293:
- #line 1512 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
- c_expand_return (NULL_TREE); ;
- break;}
- case 294:
- #line 1516 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
- c_expand_return (yyvsp[-1].ttype); ;
- break;}
- case 295:
- #line 1520 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
- STRIP_NOPS (yyvsp[-2].ttype);
- if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
- && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
- || TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
- expand_asm (yyvsp[-2].ttype);
- else
- error ("argument of `asm' is not a constant string"); ;
- break;}
- case 296:
- #line 1531 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
- c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
- yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
- input_filename, lineno); ;
- break;}
- case 297:
- #line 1538 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
- c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
- yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
- input_filename, lineno); ;
- break;}
- case 298:
- #line 1546 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
- c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
- yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
- input_filename, lineno); ;
- break;}
- case 299:
- #line 1552 "c-parse.y"
- { tree decl;
- stmt_count++;
- emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
- decl = lookup_label (yyvsp[-1].ttype);
- if (decl != 0)
- {
- TREE_USED (decl) = 1;
- expand_goto (decl);
- }
- ;
- break;}
- case 300:
- #line 1563 "c-parse.y"
- { stmt_count++;
- emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
- expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
- break;}
- case 302:
- #line 1574 "c-parse.y"
- { register tree value = check_case_value (yyvsp[-1].ttype);
- register tree label
- = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
-
- stmt_count++;
-
- if (value != error_mark_node)
- {
- tree duplicate;
- int success = pushcase (value, label, &duplicate);
- if (success == 1)
- error ("case label not within a switch statement");
- else if (success == 2)
- {
- error ("duplicate case value");
- error_with_decl (duplicate, "this is the first entry for that value");
- }
- else if (success == 3)
- warning ("case value out of range");
- else if (success == 5)
- error ("case label within scope of cleanup or variable array");
- }
- position_after_white_space (); ;
- break;}
- case 303:
- #line 1598 "c-parse.y"
- { register tree value1 = check_case_value (yyvsp[-3].ttype);
- register tree value2 = check_case_value (yyvsp[-1].ttype);
- register tree label
- = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
-
- stmt_count++;
-
- if (value1 != error_mark_node && value2 != error_mark_node)
- {
- tree duplicate;
- int success = pushcase_range (value1, value2, label,
- &duplicate);
- if (success == 1)
- error ("case label not within a switch statement");
- else if (success == 2)
- {
- error ("duplicate case value");
- error_with_decl (duplicate, "this is the first entry for that value");
- }
- else if (success == 3)
- warning ("case value out of range");
- else if (success == 4)
- warning ("empty case range");
- else if (success == 5)
- error ("case label within scope of cleanup or variable array");
- }
- position_after_white_space (); ;
- break;}
- case 304:
- #line 1626 "c-parse.y"
- {
- tree duplicate;
- register tree label
- = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
- int success = pushcase (NULL_TREE, label, &duplicate);
- stmt_count++;
- if (success == 1)
- error ("default label not within a switch statement");
- else if (success == 2)
- {
- error ("multiple default labels in one switch");
- error_with_decl (duplicate, "this is the first default label");
- }
- position_after_white_space (); ;
- break;}
- case 305:
- #line 1641 "c-parse.y"
- { tree label = define_label (input_filename, lineno, yyvsp[-1].ttype);
- stmt_count++;
- emit_nop ();
- if (label)
- expand_label (label);
- position_after_white_space (); ;
- break;}
- case 306:
- #line 1653 "c-parse.y"
- { emit_line_note (input_filename, lineno); ;
- break;}
- case 307:
- #line 1655 "c-parse.y"
- { emit_line_note (input_filename, lineno); ;
- break;}
- case 308:
- #line 1660 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;
- break;}
- case 310:
- #line 1667 "c-parse.y"
- { yyval.ttype = NULL_TREE; ;
- break;}
- case 313:
- #line 1674 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
- break;}
- case 314:
- #line 1679 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
- break;}
- case 315:
- #line 1684 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
- break;}
- case 316:
- #line 1686 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
- break;}
- case 317:
- #line 1692 "c-parse.y"
- { pushlevel (0);
- clear_parm_order ();
- declare_parm_level (0); ;
- break;}
- case 318:
- #line 1696 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- parmlist_tags_warning ();
- poplevel (0, 0, 0); ;
- break;}
- case 320:
- #line 1704 "c-parse.y"
- { tree parm;
- if (pedantic)
- pedwarn ("ANSI C forbids forward parameter declarations");
- /* Mark the forward decls as such. */
- for (parm = getdecls (); parm; parm = TREE_CHAIN (parm))
- TREE_ASM_WRITTEN (parm) = 1;
- clear_parm_order (); ;
- break;}
- case 321:
- #line 1712 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype; ;
- break;}
- case 322:
- #line 1714 "c-parse.y"
- { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
- break;}
- case 323:
- #line 1720 "c-parse.y"
- { yyval.ttype = get_parm_info (0); ;
- break;}
- case 324:
- #line 1722 "c-parse.y"
- { yyval.ttype = get_parm_info (0);
- if (pedantic)
- pedwarn ("ANSI C requires a named argument before `...'");
- ;
- break;}
- case 325:
- #line 1727 "c-parse.y"
- { yyval.ttype = get_parm_info (1); ;
- break;}
- case 326:
- #line 1729 "c-parse.y"
- { yyval.ttype = get_parm_info (0); ;
- break;}
- case 327:
- #line 1734 "c-parse.y"
- { push_parm_decl (yyvsp[0].ttype); ;
- break;}
- case 328:
- #line 1736 "c-parse.y"
- { push_parm_decl (yyvsp[0].ttype); ;
- break;}
- case 329:
- #line 1743 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype) ; ;
- break;}
- case 330:
- #line 1745 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype) ; ;
- break;}
- case 331:
- #line 1747 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
- case 332:
- #line 1749 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype) ; ;
- break;}
- case 333:
- #line 1751 "c-parse.y"
- { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
- break;}
- case 334:
- #line 1758 "c-parse.y"
- { pushlevel (0);
- clear_parm_order ();
- declare_parm_level (1); ;
- break;}
- case 335:
- #line 1762 "c-parse.y"
- { yyval.ttype = yyvsp[0].ttype;
- parmlist_tags_warning ();
- poplevel (0, 0, 0); ;
- break;}
- case 337:
- #line 1770 "c-parse.y"
- { tree t;
- for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
- if (TREE_VALUE (t) == NULL_TREE)
- error ("`...' in old-style identifier list");
- yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
- break;}
- case 338:
- #line 1780 "c-parse.y"
- { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
- case 339:
- #line 1782 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
- case 340:
- #line 1788 "c-parse.y"
- { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
- break;}
- case 341:
- #line 1790 "c-parse.y"
- { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
- break;}
- }
- /* the action file gets copied in in place of this dollarsign */
- #line 465 "/usr/lib/bison.simple"
-
- yyvsp -= yylen;
- yyssp -= yylen;
- #ifdef YYLSP_NEEDED
- yylsp -= yylen;
- #endif
-
- #if YYDEBUG != 0
- if (yydebug)
- {
- short *ssp1 = yyss - 1;
- fprintf (stderr, "state stack now");
- while (ssp1 != yyssp)
- fprintf (stderr, " %d", *++ssp1);
- fprintf (stderr, "\n");
- }
- #endif
-
- *++yyvsp = yyval;
-
- #ifdef YYLSP_NEEDED
- yylsp++;
- if (yylen == 0)
- {
- yylsp->first_line = yylloc.first_line;
- yylsp->first_column = yylloc.first_column;
- yylsp->last_line = (yylsp-1)->last_line;
- yylsp->last_column = (yylsp-1)->last_column;
- yylsp->text = 0;
- }
- else
- {
- yylsp->last_line = (yylsp+yylen-1)->last_line;
- yylsp->last_column = (yylsp+yylen-1)->last_column;
- }
- #endif
-
- /* Now "shift" the result of the reduction.
- Determine what state that goes to,
- based on the state we popped back to
- and the rule number reduced by. */
-
- yyn = yyr1[yyn];
-
- yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
- if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
- yystate = yytable[yystate];
- else
- yystate = yydefgoto[yyn - YYNTBASE];
-
- goto yynewstate;
-
- yyerrlab: /* here on detecting error */
-
- if (! yyerrstatus)
- /* If not already recovering from an error, report this error. */
- {
- ++yynerrs;
-
- #ifdef YYERROR_VERBOSE
- yyn = yypact[yystate];
-
- if (yyn > YYFLAG && yyn < YYLAST)
- {
- int size = 0;
- char *msg;
- int x, count;
-
- count = 0;
- /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
- for (x = (yyn < 0 ? -yyn : 0);
- x < (sizeof(yytname) / sizeof(char *)); x++)
- if (yycheck[x + yyn] == x)
- size += strlen(yytname[x]) + 15, count++;
- msg = (char *) malloc(size + 15);
- if (msg != 0)
- {
- strcpy(msg, "parse error");
-
- if (count < 5)
- {
- count = 0;
- for (x = (yyn < 0 ? -yyn : 0);
- x < (sizeof(yytname) / sizeof(char *)); x++)
- if (yycheck[x + yyn] == x)
- {
- strcat(msg, count == 0 ? ", expecting `" : " or `");
- strcat(msg, yytname[x]);
- strcat(msg, "'");
- count++;
- }
- }
- yyerror(msg);
- free(msg);
- }
- else
- yyerror ("parse error; also virtual memory exceeded");
- }
- else
- #endif /* YYERROR_VERBOSE */
- yyerror("parse error");
- }
-
- goto yyerrlab1;
- yyerrlab1: /* here on error raised explicitly by an action */
-
- if (yyerrstatus == 3)
- {
- /* if just tried and failed to reuse lookahead token after an error, discard it. */
-
- /* return failure if at end of input */
- if (yychar == YYEOF)
- YYABORT;
-
- #if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
- #endif
-
- yychar = YYEMPTY;
- }
-
- /* Else will try to reuse lookahead token
- after shifting the error token. */
-
- yyerrstatus = 3; /* Each real token shifted decrements this */
-
- goto yyerrhandle;
-
- yyerrdefault: /* current state does not do anything special for the error token. */
-
- #if 0
- /* This is wrong; only states that explicitly want error tokens
- should shift them. */
- yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
- if (yyn) goto yydefault;
- #endif
-
- yyerrpop: /* pop the current state because it cannot handle the error token */
-
- if (yyssp == yyss) YYABORT;
- yyvsp--;
- yystate = *--yyssp;
- #ifdef YYLSP_NEEDED
- yylsp--;
- #endif
-
- #if YYDEBUG != 0
- if (yydebug)
- {
- short *ssp1 = yyss - 1;
- fprintf (stderr, "Error: state stack now");
- while (ssp1 != yyssp)
- fprintf (stderr, " %d", *++ssp1);
- fprintf (stderr, "\n");
- }
- #endif
-
- yyerrhandle:
-
- yyn = yypact[yystate];
- if (yyn == YYFLAG)
- goto yyerrdefault;
-
- yyn += YYTERROR;
- if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
- goto yyerrdefault;
-
- yyn = yytable[yyn];
- if (yyn < 0)
- {
- if (yyn == YYFLAG)
- goto yyerrpop;
- yyn = -yyn;
- goto yyreduce;
- }
- else if (yyn == 0)
- goto yyerrpop;
-
- if (yyn == YYFINAL)
- YYACCEPT;
-
- #if YYDEBUG != 0
- if (yydebug)
- fprintf(stderr, "Shifting error token, ");
- #endif
-
- *++yyvsp = yylval;
- #ifdef YYLSP_NEEDED
- *++yylsp = yylloc;
- #endif
-
- yystate = yyn;
- goto yynewstate;
- }
- #line 1793 "c-parse.y"
-
-